summaryrefslogtreecommitdiffstats
path: root/firmware/target/mips/ingenic_jz47xx/codec-jz4740.c
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-03-09 22:17:37 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-03-09 22:17:37 +0000
commit70ab3fca0d5bc9a2cffdef50db0b2fb152cb1892 (patch)
treef2990213a230c884a5d4409d904b8b2867615584 /firmware/target/mips/ingenic_jz47xx/codec-jz4740.c
parentb1983d21c2dc19c2c3aa4904bfaeabb3ca20092e (diff)
downloadrockbox-70ab3fca0d5bc9a2cffdef50db0b2fb152cb1892.tar.gz
rockbox-70ab3fca0d5bc9a2cffdef50db0b2fb152cb1892.zip
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
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/codec-jz4740.c')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/codec-jz4740.c92
1 files changed, 47 insertions, 45 deletions
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)