提交 c11b6a42 编写于 作者: E Eric Miao

[ARM] pxa: add the missing AC97 pin configurations

Missing AC97 pin configurations are added where pxa_set_ac97_info() are
called for all pxa25x/pxa27x platforms. Where no exact configuration is
provided, use the default as in sound/arm/pxa2xx-ac97-lib.c

Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
上级 fb1bf8cd
...@@ -132,6 +132,14 @@ static void __init balloon3_init_irq(void) ...@@ -132,6 +132,14 @@ static void __init balloon3_init_irq(void)
"enabled\n", __func__, BALLOON3_AUX_NIRQ); "enabled\n", __func__, BALLOON3_AUX_NIRQ);
} }
static unsigned long balloon3_ac97_pin_config[] = {
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
GPIO113_AC97_nRESET,
};
static void balloon3_backlight_power(int on) static void balloon3_backlight_power(int on)
{ {
pr_debug("%s: power is %s\n", __func__, on ? "on" : "off"); pr_debug("%s: power is %s\n", __func__, on ? "on" : "off");
...@@ -292,8 +300,10 @@ static void __init balloon3_init(void) ...@@ -292,8 +300,10 @@ static void __init balloon3_init(void)
pxa_set_stuart_info(NULL); pxa_set_stuart_info(NULL);
pxa_set_i2c_info(NULL); pxa_set_i2c_info(NULL);
if (balloon3_has(BALLOON3_FEATURE_AUDIO)) if (balloon3_has(BALLOON3_FEATURE_AUDIO)) {
pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_ac97_pin_config));
pxa_set_ac97_info(NULL); pxa_set_ac97_info(NULL);
}
if (balloon3_has(BALLOON3_FEATURE_TOPPOLY)) { if (balloon3_has(BALLOON3_FEATURE_TOPPOLY)) {
pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config));
......
...@@ -134,6 +134,12 @@ static unsigned long e740_pin_config[] __initdata = { ...@@ -134,6 +134,12 @@ static unsigned long e740_pin_config[] __initdata = {
/* IrDA */ /* IrDA */
GPIO38_GPIO | MFP_LPM_DRIVE_HIGH, GPIO38_GPIO | MFP_LPM_DRIVE_HIGH,
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
/* Audio power control */ /* Audio power control */
GPIO16_GPIO, /* AC97 codec AVDD2 supply (analogue power) */ GPIO16_GPIO, /* AC97 codec AVDD2 supply (analogue power) */
GPIO40_GPIO, /* Mic amp power */ GPIO40_GPIO, /* Mic amp power */
......
...@@ -132,6 +132,12 @@ static unsigned long e750_pin_config[] __initdata = { ...@@ -132,6 +132,12 @@ static unsigned long e750_pin_config[] __initdata = {
/* IrDA */ /* IrDA */
GPIO38_GPIO | MFP_LPM_DRIVE_HIGH, GPIO38_GPIO | MFP_LPM_DRIVE_HIGH,
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
/* Audio power control */ /* Audio power control */
GPIO4_GPIO, /* Headphone amp power */ GPIO4_GPIO, /* Headphone amp power */
GPIO7_GPIO, /* Speaker amp power */ GPIO7_GPIO, /* Speaker amp power */
......
...@@ -35,6 +35,14 @@ ...@@ -35,6 +35,14 @@
/* ------------------------ e800 LCD definitions ------------------------- */ /* ------------------------ e800 LCD definitions ------------------------- */
static unsigned long e800_pin_config[] __initdata = {
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
};
static struct w100_gen_regs e800_lcd_regs = { static struct w100_gen_regs e800_lcd_regs = {
.lcd_format = 0x00008003, .lcd_format = 0x00008003,
.lcdd_cntl1 = 0x02a00000, .lcdd_cntl1 = 0x02a00000,
...@@ -195,6 +203,7 @@ static struct platform_device *devices[] __initdata = { ...@@ -195,6 +203,7 @@ static struct platform_device *devices[] __initdata = {
static void __init e800_init(void) static void __init e800_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(e800_pin_config));
pxa_set_ffuart_info(NULL); pxa_set_ffuart_info(NULL);
pxa_set_btuart_info(NULL); pxa_set_btuart_info(NULL);
pxa_set_stuart_info(NULL); pxa_set_stuart_info(NULL);
......
...@@ -83,6 +83,10 @@ static unsigned long lpd270_pin_config[] __initdata = { ...@@ -83,6 +83,10 @@ static unsigned long lpd270_pin_config[] __initdata = {
GPIO89_USBH1_PEN, GPIO89_USBH1_PEN,
/* AC97 */ /* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
GPIO45_AC97_SYSCLK, GPIO45_AC97_SYSCLK,
GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH, GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH,
......
...@@ -66,6 +66,12 @@ static unsigned long lubbock_pin_config[] __initdata = { ...@@ -66,6 +66,12 @@ static unsigned long lubbock_pin_config[] __initdata = {
GPIO25_SSP1_TXD, GPIO25_SSP1_TXD,
GPIO26_SSP1_RXD, GPIO26_SSP1_RXD,
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
/* LCD - 16bpp DSTN */ /* LCD - 16bpp DSTN */
GPIOxx_LCD_DSTN_16BPP, GPIOxx_LCD_DSTN_16BPP,
......
...@@ -88,6 +88,10 @@ static unsigned long mainstone_pin_config[] = { ...@@ -88,6 +88,10 @@ static unsigned long mainstone_pin_config[] = {
GPIO57_nIOIS16, GPIO57_nIOIS16,
/* AC97 */ /* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
GPIO45_AC97_SYSCLK, GPIO45_AC97_SYSCLK,
/* Keypad */ /* Keypad */
......
...@@ -137,6 +137,10 @@ static unsigned long mioa701_pin_config[] = { ...@@ -137,6 +137,10 @@ static unsigned long mioa701_pin_config[] = {
GPIO41_FFUART_RTS, GPIO41_FFUART_RTS,
/* Sound */ /* Sound */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
GPIO89_AC97_SYSCLK, GPIO89_AC97_SYSCLK,
MIO_CFG_IN(GPIO12_HPJACK_INSERT, AF0), MIO_CFG_IN(GPIO12_HPJACK_INSERT, AF0),
......
...@@ -58,6 +58,12 @@ static unsigned long pcm990_pin_config[] __initdata = { ...@@ -58,6 +58,12 @@ static unsigned long pcm990_pin_config[] __initdata = {
/* I2C */ /* I2C */
GPIO117_I2C_SCL, GPIO117_I2C_SCL,
GPIO118_I2C_SDA, GPIO118_I2C_SDA,
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
}; };
/* /*
......
...@@ -72,6 +72,12 @@ static unsigned long trizeps4_pin_config[] __initdata = { ...@@ -72,6 +72,12 @@ static unsigned long trizeps4_pin_config[] __initdata = {
GPIO79_nCS_3, /* Logic CS */ GPIO79_nCS_3, /* Logic CS */
GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, /* Logic irq */ GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, /* Logic irq */
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
/* LCD - 16bpp Active TFT */ /* LCD - 16bpp Active TFT */
GPIOxx_LCD_TFT_16BPP, GPIOxx_LCD_TFT_16BPP,
......
...@@ -711,6 +711,12 @@ static mfp_cfg_t viper_pin_config[] __initdata = { ...@@ -711,6 +711,12 @@ static mfp_cfg_t viper_pin_config[] __initdata = {
GPIO80_nCS_4, GPIO80_nCS_4,
GPIO33_nCS_5, GPIO33_nCS_5,
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
/* FP Backlight */ /* FP Backlight */
GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */ GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */
GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */ GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */
......
...@@ -706,6 +706,12 @@ static struct i2c_board_info __initdata zeus_i2c_devices[] = { ...@@ -706,6 +706,12 @@ static struct i2c_board_info __initdata zeus_i2c_devices[] = {
}; };
static mfp_cfg_t zeus_pin_config[] __initdata = { static mfp_cfg_t zeus_pin_config[] __initdata = {
/* AC97 */
GPIO28_AC97_BITCLK,
GPIO29_AC97_SDATA_IN_0,
GPIO30_AC97_SDATA_OUT,
GPIO31_AC97_SYNC,
GPIO15_nCS_1, GPIO15_nCS_1,
GPIO78_nCS_2, GPIO78_nCS_2,
GPIO80_nCS_4, GPIO80_nCS_4,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册