diff options
author | Eric Miao <eric.y.miao@gmail.com> | 2010-01-04 04:00:13 -0500 |
---|---|---|
committer | Eric Miao <eric.y.miao@gmail.com> | 2010-03-01 18:40:48 -0500 |
commit | c11b6a420b092a576e003bbb520392268338d97b (patch) | |
tree | c181d2b1b4539db3240c63ab9d7bc5b31b3f33e4 | |
parent | fb1bf8cd13bfa7ed0364ab0d82f717fc020d35f6 (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.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e740.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e750.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/e800.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-pxa/lpd270.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/lubbock.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/mainstone.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/mioa701.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pcm990-baseboard.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/trizeps4.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/viper.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/zeus.c | 6 |
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 | ||
135 | static 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 | |||
135 | static void balloon3_backlight_power(int on) | 143 | static 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 | ||
38 | static 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 | |||
38 | static struct w100_gen_regs e800_lcd_regs = { | 46 | static 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 | ||
196 | static void __init e800_init(void) | 204 | static 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 | ||
708 | static mfp_cfg_t zeus_pin_config[] __initdata = { | 708 | static 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, |