diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2012-12-02 11:51:17 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2012-12-02 11:51:51 +0100 |
commit | d119fb1fc5b917e430b23a28bebf6ec5db35b34e (patch) | |
tree | 6d7c6afb422d8f462ff3c9272f1d4c0901f26880 /firmware/target | |
parent | 4dd2c5277b6da35ceb200d814c39a581e69c5258 (diff) | |
download | rockbox-d119fb1fc5b917e430b23a28bebf6ec5db35b34e.tar.gz rockbox-d119fb1fc5b917e430b23a28bebf6ec5db35b34e.zip |
imx233: try to improve audio quality
Change-Id: Idaee93fae8d407e5968f8571c54957b7b87da3bb
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx233/audioout-imx233.c | 7 | ||||
-rw-r--r-- | firmware/target/arm/imx233/audioout-imx233.h | 16 |
2 files changed, 22 insertions, 1 deletions
diff --git a/firmware/target/arm/imx233/audioout-imx233.c b/firmware/target/arm/imx233/audioout-imx233.c index e5e1e37264..e9b368c9b6 100644 --- a/firmware/target/arm/imx233/audioout-imx233.c +++ b/firmware/target/arm/imx233/audioout-imx233.c @@ -53,6 +53,13 @@ void imx233_audioout_preinit(void) __REG_CLR(HW_AUDIOOUT_PWRDN) = HW_AUDIOOUT_PWRDN__HEADPHONE; /* Set HP mode to AB */ __REG_SET(HW_AUDIOOUT_ANACTRL) = HW_AUDIOOUT_ANACTRL__HP_CLASSAB; + /* change biais to -50% */ + __REG_CLR(HW_AUDIOOUT_TEST) = HW_AUDIOOUT_TEST__HP_I1_ADJ_BM; + __REG_SET(HW_AUDIOOUT_TEST) = HW_AUDIOOUT_TEST__HP_I1_ADJ_M_50; + __REG_CLR(HW_AUDIOOUT_REFCTRL) = HW_AUDIOOUT_REFCTRL__BIAS_CTRL_BM; + __REG_SET(HW_AUDIOOUT_REFCTRL) = 1 << HW_AUDIOOUT_REFCTRL__BIAS_CTRL_BP; + __REG_SET(HW_AUDIOOUT_REFCTRL) = HW_AUDIOOUT_REFCTRL__RAISE_REF; + __REG_SET(HW_AUDIOOUT_REFCTRL) = HW_AUDIOOUT_REFCTRL__XTAL_BGR_BIAS; /* Stop holding to ground */ __REG_CLR(HW_AUDIOOUT_ANACTRL) = HW_AUDIOOUT_ANACTRL__HP_HOLD_GND; /* Set dmawait count to 31 (see errata, workaround random stop) */ diff --git a/firmware/target/arm/imx233/audioout-imx233.h b/firmware/target/arm/imx233/audioout-imx233.h index acfb56138f..fbc0827be2 100644 --- a/firmware/target/arm/imx233/audioout-imx233.h +++ b/firmware/target/arm/imx233/audioout-imx233.h @@ -86,7 +86,13 @@ #define HW_AUDIOOUT_PWRDN__SPEAKER (1 << 24) #define HW_AUDIOOUT_REFCTRL (*(volatile uint32_t *)(HW_AUDIOOUT_BASE + 0x80)) -#define HW_AUDIOOUT_REFCTRL__LOW_PWR (1 << 19) +#define HW_AUDIOOUT_REFCTRL__BIAS_CTRL_BP 16 +#define HW_AUDIOOUT_REFCTRL__BIAS_CTRL_BM (3 << 16) +#define HW_AUDIOOUT_REFCTRL__LOW_PWR (1 << 19) +#define HW_AUDIOOUT_REFCTRL__VBG_ADJ_BP 20 +#define HW_AUDIOOUT_REFCTRL__VBG_ADJ_BM (3 << 20) +#define HW_AUDIOOUT_REFCTRL__XTAL_BGR_BIAS (1 << 24) +#define HW_AUDIOOUT_REFCTRL__RAISE_REF (1 << 25) #define HW_AUDIOOUT_ANACTRL (*(volatile uint32_t *)(HW_AUDIOOUT_BASE + 0x90)) #define HW_AUDIOOUT_ANACTRL__HP_CLASSAB (1 << 4) @@ -98,6 +104,14 @@ #define HW_AUDIOOUT_ANACTRL__SHORT_LR_STS (1 << 24) #define HW_AUDIOOUT_ANACTRL__SHORT_CM_STS (1 << 28) +#define HW_AUDIOOUT_TEST (*(volatile uint32_t *)(HW_AUDIOOUT_BASE + 0xa0)) +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_BM (3 << 22) +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_BP 22 +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_NOMINAL (0 << 22) +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_M_50 (1 << 22) +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_P_100 (2 << 22) +#define HW_AUDIOOUT_TEST__HP_I1_ADJ_P_50 (3 << 22) + #define HW_AUDIOOUT_ANACLKCTRL (*(volatile uint32_t *)(HW_AUDIOOUT_BASE + 0xe0)) #define HW_AUDIOOUT_ANACLKCTRL__DACDIV_BP 0 #define HW_AUDIOOUT_ANACLKCTRL__DACDIV_BM (7 << 0) |