aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeng Zhaoming <b32542@freescale.com>2011-04-28 10:32:09 +0800
committerEric Miao <eric.miao@linaro.org>2011-08-16 12:36:54 +0800
commitae0c06a3e30c4ac704113c497f51bfcb507959e7 (patch)
treef77744b6a840751d47716164810522f4ac1fa5e4
parentc89046c02ef621a78a07ddcdb695fa53590ca7f2 (diff)
ENGR00142733 MX51: Add sgtl5000 support for babbage
BugLink: http://bugs.launchpad.net/bugs/805426 Add sgtl5000 support for imx51 babbage in 2.6.38 kernel Signed-off-by: Zeng Zhaoming <b32542@freescale.com> Signed-off-by: Richard Zhao <richard.zhao@freescale.com> Signed-off-by: Eric Miao <eric.miao@linaro.org>
-rw-r--r--arch/arm/mach-mx5/board-mx51_babbage.c13
-rw-r--r--arch/arm/mach-mx5/mx51_babbage_pmic_mc13892.c15
2 files changed, 16 insertions, 12 deletions
diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c
index 4d64b41bd7dc..fe2675aa75f2 100644
--- a/arch/arm/mach-mx5/board-mx51_babbage.c
+++ b/arch/arm/mach-mx5/board-mx51_babbage.c
@@ -221,6 +221,7 @@ static iomux_v3_cfg_t mx51babbage_pads[] = {
MX51_PAD_DI1_D1_CS__GPIO3_4,
#endif
+ MX51_PAD_EIM_LBA__GPIO3_1,
MX51_PAD_AUD3_BB_TXD__AUD3_TXD,
MX51_PAD_AUD3_BB_RXD__AUD3_RXD,
MX51_PAD_AUD3_BB_CK__AUD3_TXC,
@@ -508,7 +509,8 @@ static int bbg_sgtl5000_init(void)
/* Enable OSC_CKIH1_EN for audio */
gpio_request(BABBAGE_AUDIO_CLK_EN, "audio_clk");
- gpio_direction_output(BABBAGE_AUDIO_CLK_EN, 1);
+ gpio_direction_output(BABBAGE_AUDIO_CLK_EN, 0);
+ gpio_set_value(BABBAGE_AUDIO_CLK_EN, 0);
return 0;
}
@@ -518,7 +520,7 @@ static struct mxc_audio_platform_data bbg_audio_data = {
.src_port = 2,
.ext_port = 3,
.init = bbg_sgtl5000_init,
- .sysclk = 12288000,
+ .sysclk = 26000000,
.hp_gpio = BABBAGE_HEADPHONE_DET,
.hp_active_low = 1,
};
@@ -662,6 +664,13 @@ static void __init mx51_babbage_init(void)
gpio_request(BABBAGE_DVI_POWER, "dvi-power");
gpio_direction_output(BABBAGE_DVI_POWER, 1);
+ gpio_request(BABBAGE_26M_OSC_EN, "26M-OSC-CLK");
+ gpio_direction_output(BABBAGE_26M_OSC_EN, 1);
+
+ /* OSC_EN */
+ gpio_request(BABBAGE_OSC_EN_B, "osc-en");
+ gpio_direction_output(BABBAGE_OSC_EN_B, 1);
+
/* WVGA Reset */
gpio_set_value(BABBAGE_DISP_BRIGHTNESS_CTL, 1);
diff --git a/arch/arm/mach-mx5/mx51_babbage_pmic_mc13892.c b/arch/arm/mach-mx5/mx51_babbage_pmic_mc13892.c
index 20ee301ac172..9d680388a1fc 100644
--- a/arch/arm/mach-mx5/mx51_babbage_pmic_mc13892.c
+++ b/arch/arm/mach-mx5/mx51_babbage_pmic_mc13892.c
@@ -51,19 +51,14 @@ static struct regulator_consumer_supply sw1_consumers[] = {
};
static struct regulator_consumer_supply vdig_consumers[] = {
- {
- /* sgtl5000 */
- .supply = "VDDA",
- .dev_name = "1-000a",
- },
+ /* sgtl5000 */
+ REGULATOR_SUPPLY("VDDA", "1-000a"),
+ REGULATOR_SUPPLY("VDDD", "1-000a"),
};
static struct regulator_consumer_supply vvideo_consumers[] = {
- {
- /* sgtl5000 */
- .supply = "VDDIO",
- .dev_name = "1-000a",
- },
+ /* sgtl5000 */
+ REGULATOR_SUPPLY("VDDIO", "1-000a"),
};
struct mc13892;