From 70ab3fca0d5bc9a2cffdef50db0b2fb152cb1892 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Mon, 9 Mar 2009 22:17:37 +0000 Subject: Onda VX747: * Fix warnings * Add fake battery level information to make sure Rockbox doesn't shutdown * Enable switching between touch modes by pressing (VOL_DOWN|VOL_UP) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20269 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/mips/ingenic_jz47xx/codec-jz4740.c | 92 +++++++++++----------- 1 file changed, 47 insertions(+), 45 deletions(-) (limited to 'firmware/target/mips/ingenic_jz47xx/codec-jz4740.c') diff --git a/firmware/target/mips/ingenic_jz47xx/codec-jz4740.c b/firmware/target/mips/ingenic_jz47xx/codec-jz4740.c index 0b187be1cc..05ca2d02d4 100644 --- a/firmware/target/mips/ingenic_jz47xx/codec-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/codec-jz4740.c @@ -40,11 +40,13 @@ const struct sound_settings_info audiohw_settings[] = { #endif }; +#if 0 static unsigned short codec_volume; static unsigned short codec_base_gain; static unsigned short codec_mic_gain; +static int HP_register_value; +#endif static bool HP_on_off_flag; -static int HP_register_value; static void i2s_codec_set_samplerate(unsigned short rate); @@ -77,7 +79,7 @@ static void i2s_codec_init(void) i2s_codec_reset(); //REG_ICDC_CDCCR2 = (ICDC_CDCCR2_AINVOL(ICDC_CDCCR2_AINVOL_DB(0)) | ICDC_CDCCR2_SMPR(ICDC_CDCCR2_SMPR_48) - REG_ICDC_CDCCR2 = ( ICDC_CDCCR2_AINVOL(23) | ICDC_CDCCR2_SMPR(ICDC_CDCCR2_SMPR_44) + REG_ICDC_CDCCR2 = ( ICDC_CDCCR2_AINVOL(14) | ICDC_CDCCR2_SMPR(ICDC_CDCCR2_SMPR_44) | ICDC_CDCCR2_HPVOL(ICDC_CDCCR2_HPVOL_6)); REG_ICDC_CDCCR1 &= ~(ICDC_CDCCR1_SUSPD | ICDC_CDCCR1_RST); @@ -101,6 +103,7 @@ static void i2s_codec_init(void) HP_on_off_flag = 1; /* HP is on */ } +#if 0 static void i2s_codec_set_mic(unsigned short v) /* 0 <= v <= 100 */ { v &= 0xff; @@ -201,48 +204,6 @@ static unsigned short i2s_codec_get_volume(void) return val; } -static void i2s_codec_set_samplerate(unsigned short rate) -{ - unsigned short speed = 0; - - switch (rate) - { - case 8000: - speed = 0 << 8; - break; - case 11025: - speed = 1 << 8; - break; - case 12000: - speed = 2 << 8; - break; - case 16000: - speed = 3 << 8; - break; - case 22050: - speed = 4 << 8; - break; - case 24000: - speed = 5 << 8; - break; - case 32000: - speed = 6 << 8; - break; - case 44100: - speed = 7 << 8; - break; - case 48000: - speed = 8 << 8; - break; - default: - break; - } - REG_ICDC_CDCCR2 |= 0x00000f00; - - speed |= 0xfffff0ff; - REG_ICDC_CDCCR2 &= speed; -} - static void HP_turn_on(void) { //see 1.3.4.1 @@ -274,7 +235,6 @@ static void HP_turn_on(void) HP_register_value = REG_ICDC_CDCCR1;*/ //see 1.3.4.3 - } @@ -302,7 +262,49 @@ static void HP_turn_off(void) REG_ICDC_CDCCR1 |= 0x00000002;*/ //see 1.3.4.3 +} +#endif +static void i2s_codec_set_samplerate(unsigned short rate) +{ + unsigned short speed = 0; + + switch (rate) + { + case 8000: + speed = 0 << 8; + break; + case 11025: + speed = 1 << 8; + break; + case 12000: + speed = 2 << 8; + break; + case 16000: + speed = 3 << 8; + break; + case 22050: + speed = 4 << 8; + break; + case 24000: + speed = 5 << 8; + break; + case 32000: + speed = 6 << 8; + break; + case 44100: + speed = 7 << 8; + break; + case 48000: + speed = 8 << 8; + break; + default: + break; + } + REG_ICDC_CDCCR2 |= 0x00000f00; + + speed |= 0xfffff0ff; + REG_ICDC_CDCCR2 &= speed; } void audiohw_mute(bool mute) -- cgit v1.2.3