diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-17 04:41:08 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2012-10-17 04:41:08 -0400 |
commit | b23bc66c394844ec6e64b3df070573db2cf898e8 (patch) | |
tree | e7a3376d92e1d3b4fe29b533b60f9682081f9ead /arch/arm/mach-s3c64xx | |
parent | 64aecb4a14f084f4c74cc1a0e0a3d223232e630a (diff) |
ARM: S3C64XX: Handle new Amrut modules on Cragganmore
These use a different GPIO for the jack polarity selection.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Diffstat (limited to 'arch/arm/mach-s3c64xx')
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410-module.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c index 15e0c13dad5a..a6c156def7cc 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c | |||
@@ -187,12 +187,13 @@ static struct regulator_init_data wm8994_ldo2 = { | |||
187 | 187 | ||
188 | static struct wm8994_pdata wm8994_pdata = { | 188 | static struct wm8994_pdata wm8994_pdata = { |
189 | .gpio_base = CODEC_GPIO_BASE, | 189 | .gpio_base = CODEC_GPIO_BASE, |
190 | .micb2_delay = 150, | ||
190 | .gpio_defaults = { | 191 | .gpio_defaults = { |
191 | 0x3, /* IRQ out, active high, CMOS */ | 192 | 0x3, /* IRQ out, active high, CMOS */ |
192 | }, | 193 | }, |
193 | .ldo = { | 194 | .ldo = { |
194 | { .init_data = &wm8994_ldo1, }, | 195 | { .enable = S3C64XX_GPN(6), .init_data = &wm8994_ldo1, }, |
195 | { .init_data = &wm8994_ldo2, }, | 196 | { .enable = S3C64XX_GPN(4), .init_data = &wm8994_ldo2, }, |
196 | }, | 197 | }, |
197 | }; | 198 | }; |
198 | 199 | ||
@@ -203,7 +204,7 @@ static const struct i2c_board_info wm1277_devs[] = { | |||
203 | }, | 204 | }, |
204 | }; | 205 | }; |
205 | 206 | ||
206 | static struct arizona_pdata wm5102_pdata = { | 207 | static struct arizona_pdata wm5102_reva_pdata = { |
207 | .ldoena = S3C64XX_GPN(7), | 208 | .ldoena = S3C64XX_GPN(7), |
208 | .gpio_base = CODEC_GPIO_BASE, | 209 | .gpio_base = CODEC_GPIO_BASE, |
209 | .irq_active_high = true, | 210 | .irq_active_high = true, |
@@ -218,6 +219,31 @@ static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = { | |||
218 | .line = S3C64XX_GPN(5), | 219 | .line = S3C64XX_GPN(5), |
219 | }; | 220 | }; |
220 | 221 | ||
222 | static struct spi_board_info wm5102_reva_spi_devs[] = { | ||
223 | [0] = { | ||
224 | .modalias = "wm5102", | ||
225 | .max_speed_hz = 10 * 1000 * 1000, | ||
226 | .bus_num = 0, | ||
227 | .chip_select = 1, | ||
228 | .mode = SPI_MODE_0, | ||
229 | .irq = GLENFARCLAS_PMIC_IRQ_BASE + | ||
230 | WM831X_IRQ_GPIO_2, | ||
231 | .controller_data = &wm5102_spi_csinfo, | ||
232 | .platform_data = &wm5102_reva_pdata, | ||
233 | }, | ||
234 | }; | ||
235 | |||
236 | static struct arizona_pdata wm5102_pdata = { | ||
237 | .ldoena = S3C64XX_GPN(7), | ||
238 | .gpio_base = CODEC_GPIO_BASE, | ||
239 | .irq_active_high = true, | ||
240 | .micd_pol_gpio = CODEC_GPIO_BASE + 2, | ||
241 | .gpio_defaults = { | ||
242 | [2] = 0x10000, /* AIF3TXLRCLK */ | ||
243 | [3] = 0x4, /* OPCLK */ | ||
244 | }, | ||
245 | }; | ||
246 | |||
221 | static struct spi_board_info wm5102_spi_devs[] = { | 247 | static struct spi_board_info wm5102_spi_devs[] = { |
222 | [0] = { | 248 | [0] = { |
223 | .modalias = "wm5102", | 249 | .modalias = "wm5102", |
@@ -278,6 +304,9 @@ static __devinitdata const struct { | |||
278 | { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" }, | 304 | { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" }, |
279 | { .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill", | 305 | { .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill", |
280 | .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, | 306 | .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, |
307 | { .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut", | ||
308 | .spi_devs = wm5102_reva_spi_devs, | ||
309 | .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs) }, | ||
281 | { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut", | 310 | { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut", |
282 | .spi_devs = wm5102_spi_devs, | 311 | .spi_devs = wm5102_spi_devs, |
283 | .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) }, | 312 | .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) }, |