aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Miao <eric.y.miao@gmail.com>2010-01-04 04:00:13 -0500
committerEric Miao <eric.y.miao@gmail.com>2010-03-01 18:40:48 -0500
commitc11b6a420b092a576e003bbb520392268338d97b (patch)
treec181d2b1b4539db3240c63ab9d7bc5b31b3f33e4
parentfb1bf8cd13bfa7ed0364ab0d82f717fc020d35f6 (diff)
[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: Eric Miao <eric.y.miao@gmail.com>
-rw-r--r--arch/arm/mach-pxa/balloon3.c12
-rw-r--r--arch/arm/mach-pxa/e740.c6
-rw-r--r--arch/arm/mach-pxa/e750.c6
-rw-r--r--arch/arm/mach-pxa/e800.c9
-rw-r--r--arch/arm/mach-pxa/lpd270.c4
-rw-r--r--arch/arm/mach-pxa/lubbock.c6
-rw-r--r--arch/arm/mach-pxa/mainstone.c4
-rw-r--r--arch/arm/mach-pxa/mioa701.c4
-rw-r--r--arch/arm/mach-pxa/pcm990-baseboard.c6
-rw-r--r--arch/arm/mach-pxa/trizeps4.c6
-rw-r--r--arch/arm/mach-pxa/viper.c6
-rw-r--r--arch/arm/mach-pxa/zeus.c6
12 files changed, 74 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index 6f813aa4c79c..f3b5ace815e5 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -132,6 +132,14 @@ static void __init balloon3_init_irq(void)
132 "enabled\n", __func__, BALLOON3_AUX_NIRQ); 132 "enabled\n", __func__, BALLOON3_AUX_NIRQ);
133} 133}
134 134
135static unsigned long balloon3_ac97_pin_config[] = {
136 GPIO28_AC97_BITCLK,
137 GPIO29_AC97_SDATA_IN_0,
138 GPIO30_AC97_SDATA_OUT,
139 GPIO31_AC97_SYNC,
140 GPIO113_AC97_nRESET,
141};
142
135static void balloon3_backlight_power(int on) 143static void balloon3_backlight_power(int on)
136{ 144{
137 pr_debug("%s: power is %s\n", __func__, on ? "on" : "off"); 145 pr_debug("%s: power is %s\n", __func__, on ? "on" : "off");
@@ -292,8 +300,10 @@ static void __init balloon3_init(void)
292 pxa_set_stuart_info(NULL); 300 pxa_set_stuart_info(NULL);
293 301
294 pxa_set_i2c_info(NULL); 302 pxa_set_i2c_info(NULL);
295 if (balloon3_has(BALLOON3_FEATURE_AUDIO)) 303 if (balloon3_has(BALLOON3_FEATURE_AUDIO)) {
304 pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_ac97_pin_config));
296 pxa_set_ac97_info(NULL); 305 pxa_set_ac97_info(NULL);
306 }
297 307
298 if (balloon3_has(BALLOON3_FEATURE_TOPPOLY)) { 308 if (balloon3_has(BALLOON3_FEATURE_TOPPOLY)) {
299 pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config)); 309 pxa2xx_mfp_config(ARRAY_AND_SIZE(balloon3_lcd_pin_config));
diff --git a/arch/arm/mach-pxa/e740.c b/arch/arm/mach-pxa/e740.c
index 94b23a9e3877..d578021d1a10 100644
--- a/arch/arm/mach-pxa/e740.c
+++ b/arch/arm/mach-pxa/e740.c
@@ -134,6 +134,12 @@ static unsigned long e740_pin_config[] __initdata = {
134 /* IrDA */ 134 /* IrDA */
135 GPIO38_GPIO | MFP_LPM_DRIVE_HIGH, 135 GPIO38_GPIO | MFP_LPM_DRIVE_HIGH,
136 136
137 /* AC97 */
138 GPIO28_AC97_BITCLK,
139 GPIO29_AC97_SDATA_IN_0,
140 GPIO30_AC97_SDATA_OUT,
141 GPIO31_AC97_SYNC,
142
137 /* Audio power control */ 143 /* Audio power control */
138 GPIO16_GPIO, /* AC97 codec AVDD2 supply (analogue power) */ 144 GPIO16_GPIO, /* AC97 codec AVDD2 supply (analogue power) */
139 GPIO40_GPIO, /* Mic amp power */ 145 GPIO40_GPIO, /* Mic amp power */
diff --git a/arch/arm/mach-pxa/e750.c b/arch/arm/mach-pxa/e750.c
index 5eccbce73a33..af83caa52dd4 100644
--- a/arch/arm/mach-pxa/e750.c
+++ b/arch/arm/mach-pxa/e750.c
@@ -132,6 +132,12 @@ static unsigned long e750_pin_config[] __initdata = {
132 /* IrDA */ 132 /* IrDA */
133 GPIO38_GPIO | MFP_LPM_DRIVE_HIGH, 133 GPIO38_GPIO | MFP_LPM_DRIVE_HIGH,
134 134
135 /* AC97 */
136 GPIO28_AC97_BITCLK,
137 GPIO29_AC97_SDATA_IN_0,
138 GPIO30_AC97_SDATA_OUT,
139 GPIO31_AC97_SYNC,
140
135 /* Audio power control */ 141 /* Audio power control */
136 GPIO4_GPIO, /* Headphone amp power */ 142 GPIO4_GPIO, /* Headphone amp power */
137 GPIO7_GPIO, /* Speaker amp power */ 143 GPIO7_GPIO, /* Speaker amp power */
diff --git a/arch/arm/mach-pxa/e800.c b/arch/arm/mach-pxa/e800.c
index aad129bed199..8ea97bf53fe1 100644
--- a/arch/arm/mach-pxa/e800.c
+++ b/arch/arm/mach-pxa/e800.c
@@ -35,6 +35,14 @@
35 35
36/* ------------------------ e800 LCD definitions ------------------------- */ 36/* ------------------------ e800 LCD definitions ------------------------- */
37 37
38static unsigned long e800_pin_config[] __initdata = {
39 /* AC97 */
40 GPIO28_AC97_BITCLK,
41 GPIO29_AC97_SDATA_IN_0,
42 GPIO30_AC97_SDATA_OUT,
43 GPIO31_AC97_SYNC,
44};
45
38static struct w100_gen_regs e800_lcd_regs = { 46static struct w100_gen_regs e800_lcd_regs = {
39 .lcd_format = 0x00008003, 47 .lcd_format = 0x00008003,
40 .lcdd_cntl1 = 0x02a00000, 48 .lcdd_cntl1 = 0x02a00000,
@@ -195,6 +203,7 @@ static struct platform_device *devices[] __initdata = {
195 203
196static void __init e800_init(void) 204static void __init e800_init(void)
197{ 205{
206 pxa2xx_mfp_config(ARRAY_AND_SIZE(e800_pin_config));
198 pxa_set_ffuart_info(NULL); 207 pxa_set_ffuart_info(NULL);
199 pxa_set_btuart_info(NULL); 208 pxa_set_btuart_info(NULL);
200 pxa_set_stuart_info(NULL); 209 pxa_set_stuart_info(NULL);
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index c87abc3334cb..d279507fc748 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -83,6 +83,10 @@ static unsigned long lpd270_pin_config[] __initdata = {
83 GPIO89_USBH1_PEN, 83 GPIO89_USBH1_PEN,
84 84
85 /* AC97 */ 85 /* AC97 */
86 GPIO28_AC97_BITCLK,
87 GPIO29_AC97_SDATA_IN_0,
88 GPIO30_AC97_SDATA_OUT,
89 GPIO31_AC97_SYNC,
86 GPIO45_AC97_SYSCLK, 90 GPIO45_AC97_SYSCLK,
87 91
88 GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH, 92 GPIO1_GPIO | WAKEUP_ON_EDGE_BOTH,
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 56ae54ef44f3..2f5e45e08f5c 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -66,6 +66,12 @@ static unsigned long lubbock_pin_config[] __initdata = {
66 GPIO25_SSP1_TXD, 66 GPIO25_SSP1_TXD,
67 GPIO26_SSP1_RXD, 67 GPIO26_SSP1_RXD,
68 68
69 /* AC97 */
70 GPIO28_AC97_BITCLK,
71 GPIO29_AC97_SDATA_IN_0,
72 GPIO30_AC97_SDATA_OUT,
73 GPIO31_AC97_SYNC,
74
69 /* LCD - 16bpp DSTN */ 75 /* LCD - 16bpp DSTN */
70 GPIOxx_LCD_DSTN_16BPP, 76 GPIOxx_LCD_DSTN_16BPP,
71 77
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index 36370392abe1..5543c64da9ef 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -88,6 +88,10 @@ static unsigned long mainstone_pin_config[] = {
88 GPIO57_nIOIS16, 88 GPIO57_nIOIS16,
89 89
90 /* AC97 */ 90 /* AC97 */
91 GPIO28_AC97_BITCLK,
92 GPIO29_AC97_SDATA_IN_0,
93 GPIO30_AC97_SDATA_OUT,
94 GPIO31_AC97_SYNC,
91 GPIO45_AC97_SYSCLK, 95 GPIO45_AC97_SYSCLK,
92 96
93 /* Keypad */ 97 /* Keypad */
diff --git a/arch/arm/mach-pxa/mioa701.c b/arch/arm/mach-pxa/mioa701.c
index ca47ee19248b..843fcca76e26 100644
--- a/arch/arm/mach-pxa/mioa701.c
+++ b/arch/arm/mach-pxa/mioa701.c
@@ -137,6 +137,10 @@ static unsigned long mioa701_pin_config[] = {
137 GPIO41_FFUART_RTS, 137 GPIO41_FFUART_RTS,
138 138
139 /* Sound */ 139 /* Sound */
140 GPIO28_AC97_BITCLK,
141 GPIO29_AC97_SDATA_IN_0,
142 GPIO30_AC97_SDATA_OUT,
143 GPIO31_AC97_SYNC,
140 GPIO89_AC97_SYSCLK, 144 GPIO89_AC97_SYSCLK,
141 MIO_CFG_IN(GPIO12_HPJACK_INSERT, AF0), 145 MIO_CFG_IN(GPIO12_HPJACK_INSERT, AF0),
142 146
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index e74bdfc2551d..9d0ecea1760c 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -58,6 +58,12 @@ static unsigned long pcm990_pin_config[] __initdata = {
58 /* I2C */ 58 /* I2C */
59 GPIO117_I2C_SCL, 59 GPIO117_I2C_SCL,
60 GPIO118_I2C_SDA, 60 GPIO118_I2C_SDA,
61
62 /* AC97 */
63 GPIO28_AC97_BITCLK,
64 GPIO29_AC97_SDATA_IN_0,
65 GPIO30_AC97_SDATA_OUT,
66 GPIO31_AC97_SYNC,
61}; 67};
62 68
63/* 69/*
diff --git a/arch/arm/mach-pxa/trizeps4.c b/arch/arm/mach-pxa/trizeps4.c
index 441600845a72..797f2544d0ce 100644
--- a/arch/arm/mach-pxa/trizeps4.c
+++ b/arch/arm/mach-pxa/trizeps4.c
@@ -72,6 +72,12 @@ static unsigned long trizeps4_pin_config[] __initdata = {
72 GPIO79_nCS_3, /* Logic CS */ 72 GPIO79_nCS_3, /* Logic CS */
73 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, /* Logic irq */ 73 GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, /* Logic irq */
74 74
75 /* AC97 */
76 GPIO28_AC97_BITCLK,
77 GPIO29_AC97_SDATA_IN_0,
78 GPIO30_AC97_SDATA_OUT,
79 GPIO31_AC97_SYNC,
80
75 /* LCD - 16bpp Active TFT */ 81 /* LCD - 16bpp Active TFT */
76 GPIOxx_LCD_TFT_16BPP, 82 GPIOxx_LCD_TFT_16BPP,
77 83
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index 12d4ed338d03..1dd13346f977 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -711,6 +711,12 @@ static mfp_cfg_t viper_pin_config[] __initdata = {
711 GPIO80_nCS_4, 711 GPIO80_nCS_4,
712 GPIO33_nCS_5, 712 GPIO33_nCS_5,
713 713
714 /* AC97 */
715 GPIO28_AC97_BITCLK,
716 GPIO29_AC97_SDATA_IN_0,
717 GPIO30_AC97_SDATA_OUT,
718 GPIO31_AC97_SYNC,
719
714 /* FP Backlight */ 720 /* FP Backlight */
715 GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */ 721 GPIO9_GPIO, /* VIPER_BCKLIGHT_EN_GPIO */
716 GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */ 722 GPIO10_GPIO, /* VIPER_LCD_EN_GPIO */
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index 75f2a37f945d..9c2ec776f601 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -706,6 +706,12 @@ static struct i2c_board_info __initdata zeus_i2c_devices[] = {
706}; 706};
707 707
708static mfp_cfg_t zeus_pin_config[] __initdata = { 708static mfp_cfg_t zeus_pin_config[] __initdata = {
709 /* AC97 */
710 GPIO28_AC97_BITCLK,
711 GPIO29_AC97_SDATA_IN_0,
712 GPIO30_AC97_SDATA_OUT,
713 GPIO31_AC97_SYNC,
714
709 GPIO15_nCS_1, 715 GPIO15_nCS_1,
710 GPIO78_nCS_2, 716 GPIO78_nCS_2,
711 GPIO80_nCS_4, 717 GPIO80_nCS_4,