From e66b2ec45071f810f84991d3035ef21b6ecdb509 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Thu, 5 Oct 2006 12:40:13 +0000 Subject: Implement region setting for the fm tuner. The region setting affects deemphasis, band limits and step size. Fixes FS#5929, FS#5928. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11133 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/tuner.h | 4 ++++ firmware/tuner_philips.c | 8 ++++++++ 2 files changed, 12 insertions(+) (limited to 'firmware') diff --git a/firmware/export/tuner.h b/firmware/export/tuner.h index a6a7e8ee0e..48d9bc97d1 100644 --- a/firmware/export/tuner.h +++ b/firmware/export/tuner.h @@ -27,6 +27,10 @@ #define RADIO_IF_MEASUREMENT 3 #define RADIO_SENSITIVITY 4 #define RADIO_FORCE_MONO 5 +#if (CONFIG_TUNER & TEA5767) +#define RADIO_SET_DEEMPHASIS 6 +#define RADIO_SET_BAND 7 +#endif /* readback from the tuner layer */ #define RADIO_PRESENT 0 #define RADIO_TUNED 1 diff --git a/firmware/tuner_philips.c b/firmware/tuner_philips.c index 2958e9e829..89c7dd11c7 100644 --- a/firmware/tuner_philips.c +++ b/firmware/tuner_philips.c @@ -73,6 +73,14 @@ void philips_set(int setting, int value) fmradio_i2c_write(I2C_ADR, write_bytes, sizeof(write_bytes)); break; + case RADIO_SET_DEEMPHASIS: + write_bytes[4] = (write_bytes[4] & ~(1<<6)) | (value ? (1<<6) : 0); + fmradio_i2c_write(I2C_ADR, write_bytes, sizeof(write_bytes)); + break; + + case RADIO_SET_BAND: + write_bytes[3] = (write_bytes[3] & ~(1<<5)) | (value ? (1<<5) : 0); + fmradio_i2c_write(I2C_ADR, write_bytes, sizeof(write_bytes)); default: return; } -- cgit v1.2.3