forked from len0rd/rockbox
Radio support and detection for Samsung YH92X [FOR TESTING].
Status: - tested on: Samsung YH920 - it uses this detection too, it always should have the radio. Samsung YH925 with the radio. - untested on: Samsung YH925 without the radio. Change-Id: I68b39c09d6b7e26a4c373fbd8bf9401a97e86123
This commit is contained in:
parent
8f75b29aed
commit
f7a3b4dfa3
3 changed files with 21 additions and 4 deletions
|
@ -1799,6 +1799,7 @@ target/arm/samsung/yh925/backlight-yh925.c
|
||||||
target/arm/samsung/yh925/lcd-yh925.c
|
target/arm/samsung/yh925/lcd-yh925.c
|
||||||
target/arm/samsung/yh925/lcd-as-yh925.S
|
target/arm/samsung/yh925/lcd-as-yh925.S
|
||||||
target/arm/samsung/yh925/powermgmt-yh925.c
|
target/arm/samsung/yh925/powermgmt-yh925.c
|
||||||
|
target/arm/samsung/fmradio-yh92x.c
|
||||||
#endif /* SAMSUNG_YH925 */
|
#endif /* SAMSUNG_YH925 */
|
||||||
|
|
||||||
#ifdef SAMSUNG_YPS3
|
#ifdef SAMSUNG_YPS3
|
||||||
|
|
|
@ -171,17 +171,26 @@ int tea5767_get(int setting)
|
||||||
void tea5767_init(void)
|
void tea5767_init(void)
|
||||||
{
|
{
|
||||||
/* save binsize by only detecting presence for targets where it may be absent */
|
/* save binsize by only detecting presence for targets where it may be absent */
|
||||||
#if defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330)
|
#if defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) ||\
|
||||||
|
defined(SAMSUNG_YH920) || defined(SAMSUNG_YH925)
|
||||||
unsigned char buf[5];
|
unsigned char buf[5];
|
||||||
unsigned char chipid;
|
unsigned char chipid;
|
||||||
|
|
||||||
/* init chipid register with 0xFF in case fmradio_i2c_read fails silently */
|
|
||||||
buf[3] = 0xFF;
|
|
||||||
tuner_power(true);
|
tuner_power(true);
|
||||||
|
|
||||||
#if defined(CONFIG_TUNER_3WIRE)
|
#if defined(CONFIG_TUNER_3WIRE)
|
||||||
|
/* We don't have any control over the bus protocol, the only way to detect
|
||||||
|
presence of the tuner is to write something to it and then read bytes */
|
||||||
|
tea5767_set(RADIO_MUTE, 1);
|
||||||
int res = fmradio_3wire_read(buf);
|
int res = fmradio_3wire_read(buf);
|
||||||
|
res = ((buf[0] == 0) && (buf[1] == 0) && (buf[2] == 0) && (buf[3] == 0)
|
||||||
|
&& (buf[4] == 0) && (buf[5] == 0)) ? -1 : 1;
|
||||||
|
/* clear chipid byte - we don't use it here for detection, so it should be */
|
||||||
|
/* set to zero, to fulfill the condition in "else" block */
|
||||||
|
buf[3] = 0;
|
||||||
#else
|
#else
|
||||||
|
/* init chipid register with 0xFF in case fmradio_i2c_read fails silently */
|
||||||
|
buf[3] = 0xFF;
|
||||||
int res = fmradio_i2c_read(I2C_ADR, buf, sizeof(buf));
|
int res = fmradio_i2c_read(I2C_ADR, buf, sizeof(buf));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
|
|
||||||
/* Define bitmask of input sources - recordable bitmask can be defined
|
/* Define bitmask of input sources - recordable bitmask can be defined
|
||||||
explicitly if different */
|
explicitly if different */
|
||||||
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN )
|
#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
|
||||||
|
|
||||||
|
|
||||||
/* define the bitmask of hardware sample rates */
|
/* define the bitmask of hardware sample rates */
|
||||||
#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
|
#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
|
||||||
|
@ -133,6 +134,12 @@
|
||||||
/* AK4537 has no tone controls, so we use the software ones */
|
/* AK4537 has no tone controls, so we use the software ones */
|
||||||
#define HAVE_SW_TONE_CONTROLS
|
#define HAVE_SW_TONE_CONTROLS
|
||||||
|
|
||||||
|
/* FM Tuner */
|
||||||
|
#define CONFIG_TUNER TEA5767
|
||||||
|
#define CONFIG_TUNER_XTAL 32768
|
||||||
|
/* Define this if the tuner uses 3-wire bus instead of classic i2c */
|
||||||
|
#define CONFIG_TUNER_3WIRE
|
||||||
|
|
||||||
#define AB_REPEAT_ENABLE
|
#define AB_REPEAT_ENABLE
|
||||||
|
|
||||||
#define BATTERY_CAPACITY_DEFAULT 900 /* default battery capacity */
|
#define BATTERY_CAPACITY_DEFAULT 900 /* default battery capacity */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue