summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/SOURCES1
-rw-r--r--firmware/drivers/tuner/tea5767.c15
-rw-r--r--firmware/export/config/samsungyh925.h9
3 files changed, 21 insertions, 4 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index 87cadfd55f..e827f964f5 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -1799,6 +1799,7 @@ target/arm/samsung/yh925/backlight-yh925.c
1799target/arm/samsung/yh925/lcd-yh925.c 1799target/arm/samsung/yh925/lcd-yh925.c
1800target/arm/samsung/yh925/lcd-as-yh925.S 1800target/arm/samsung/yh925/lcd-as-yh925.S
1801target/arm/samsung/yh925/powermgmt-yh925.c 1801target/arm/samsung/yh925/powermgmt-yh925.c
1802target/arm/samsung/fmradio-yh92x.c
1802#endif /* SAMSUNG_YH925 */ 1803#endif /* SAMSUNG_YH925 */
1803 1804
1804#ifdef SAMSUNG_YPS3 1805#ifdef SAMSUNG_YPS3
diff --git a/firmware/drivers/tuner/tea5767.c b/firmware/drivers/tuner/tea5767.c
index a502e79802..143cb0576b 100644
--- a/firmware/drivers/tuner/tea5767.c
+++ b/firmware/drivers/tuner/tea5767.c
@@ -171,17 +171,26 @@ int tea5767_get(int setting)
171void tea5767_init(void) 171void tea5767_init(void)
172{ 172{
173/* save binsize by only detecting presence for targets where it may be absent */ 173/* save binsize by only detecting presence for targets where it may be absent */
174#if defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) 174#if defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) ||\
175 defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925)
175 unsigned char buf[5]; 176 unsigned char buf[5];
176 unsigned char chipid; 177 unsigned char chipid;
177 178
178 /* init chipid register with 0xFF in case fmradio_i2c_read fails silently */
179 buf[3] = 0xFF;
180 tuner_power(true); 179 tuner_power(true);
181 180
182#if defined(CONFIG_TUNER_3WIRE) 181#if defined(CONFIG_TUNER_3WIRE)
182 /* We don't have any control over the bus protocol, the only way to detect
183 presence of the tuner is to write something to it and then read bytes */
184 tea5767_set(RADIO_MUTE, 1);
183 int res = fmradio_3wire_read(buf); 185 int res = fmradio_3wire_read(buf);
186 res = ((buf[0] == 0) && (buf[1] == 0) && (buf[2] == 0) && (buf[3] == 0)
187 && (buf[4] == 0) && (buf[5] == 0)) ? -1 : 1;
188 /* clear chipid byte - we don't use it here for detection, so it should be */
189 /* set to zero, to fulfill the condition in "else" block */
190 buf[3] = 0;
184#else 191#else
192 /* init chipid register with 0xFF in case fmradio_i2c_read fails silently */
193 buf[3] = 0xFF;
185 int res = fmradio_i2c_read(I2C_ADR, buf, sizeof(buf)); 194 int res = fmradio_i2c_read(I2C_ADR, buf, sizeof(buf));
186#endif 195#endif
187 196
diff --git a/firmware/export/config/samsungyh925.h b/firmware/export/config/samsungyh925.h
index cb6f185014..45bae720f1 100644
--- a/firmware/export/config/samsungyh925.h
+++ b/firmware/export/config/samsungyh925.h
@@ -11,7 +11,8 @@
11 11
12/* Define bitmask of input sources - recordable bitmask can be defined 12/* Define bitmask of input sources - recordable bitmask can be defined
13 explicitly if different */ 13 explicitly if different */
14#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN ) 14#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
15
15 16
16/* define the bitmask of hardware sample rates */ 17/* define the bitmask of hardware sample rates */
17#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \ 18#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
@@ -133,6 +134,12 @@
133/* AK4537 has no tone controls, so we use the software ones */ 134/* AK4537 has no tone controls, so we use the software ones */
134#define HAVE_SW_TONE_CONTROLS 135#define HAVE_SW_TONE_CONTROLS
135 136
137/* FM Tuner */
138#define CONFIG_TUNER TEA5767
139#define CONFIG_TUNER_XTAL 32768
140/* Define this if the tuner uses 3-wire bus instead of classic i2c */
141#define CONFIG_TUNER_3WIRE
142
136#define AB_REPEAT_ENABLE 143#define AB_REPEAT_ENABLE
137 144
138#define BATTERY_CAPACITY_DEFAULT 900 /* default battery capacity */ 145#define BATTERY_CAPACITY_DEFAULT 900 /* default battery capacity */