diff options
author | Olof Johansson <olof@lixom.net> | 2012-11-21 13:26:01 -0500 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-11-21 13:26:13 -0500 |
commit | 01ba6dbf485c54e2c205961bddc39770d23b4bc0 (patch) | |
tree | add101fd7b75978e33e5e3ebe1243678e4c47c0e | |
parent | 3f6f1cd6ffb473f426858692e8e1cb82aea137eb (diff) | |
parent | 5a7eb8e4fedc03b5c511a61986bff6f6d31c693f (diff) |
Merge branch 'next/board-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/boards
From Kukjin Kim:
Here is Samsung boards update for v3.8 and most of them are updates
for S3C64XX Cragganmore board.
* 'next/board-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: S3C64XX: Add missing device selects for Cragganmore
ARM: EXYNOS: Add missing USB regulators for origen
ARM: S3C64XX: Fix up IRQ mapping for balblair on Cragganmore
ARM: S3C64XX: Add handset module to probed Glenfarclas modules
ARM: S3C64XX: Add WM2200 module for Cragganmore
ARM: S3C64XX: Add hookup for Deanston module on Cragganmore
ARM: S3C64XX: Handle new Amrut modules on Cragganmore
ARM: S3C64XX: Handle revision-specific differences in Cragganmore modules
ARM: S3C64XX: Provide platform data for Tomatin/Balblair on Cragganmore
ARM: S3C64XX: Update hookup for Arizona class devices
ARM: S3C64XX: Add more Glenfarclas module ID strings
Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r-- | arch/arm/mach-exynos/mach-origen.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410-module.c | 141 | ||||
-rw-r--r-- | arch/arm/mach-s3c64xx/mach-crag6410.c | 29 |
4 files changed, 148 insertions, 26 deletions
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index 9adf491674ea..23be71a9dfd3 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
@@ -100,6 +100,7 @@ static struct regulator_consumer_supply __initdata ldo3_consumer[] = { | |||
100 | REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"), /* MIPI */ | 100 | REGULATOR_SUPPLY("vddcore", "s5p-mipi-csis.0"), /* MIPI */ |
101 | REGULATOR_SUPPLY("vdd", "exynos4-hdmi"), /* HDMI */ | 101 | REGULATOR_SUPPLY("vdd", "exynos4-hdmi"), /* HDMI */ |
102 | REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"), /* HDMI */ | 102 | REGULATOR_SUPPLY("vdd_pll", "exynos4-hdmi"), /* HDMI */ |
103 | REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* OTG */ | ||
103 | }; | 104 | }; |
104 | static struct regulator_consumer_supply __initdata ldo6_consumer[] = { | 105 | static struct regulator_consumer_supply __initdata ldo6_consumer[] = { |
105 | REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"), /* MIPI */ | 106 | REGULATOR_SUPPLY("vddio", "s5p-mipi-csis.0"), /* MIPI */ |
@@ -110,6 +111,7 @@ static struct regulator_consumer_supply __initdata ldo7_consumer[] = { | |||
110 | static struct regulator_consumer_supply __initdata ldo8_consumer[] = { | 111 | static struct regulator_consumer_supply __initdata ldo8_consumer[] = { |
111 | REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */ | 112 | REGULATOR_SUPPLY("vdd", "s5p-adc"), /* ADC */ |
112 | REGULATOR_SUPPLY("vdd_osc", "exynos4-hdmi"), /* HDMI */ | 113 | REGULATOR_SUPPLY("vdd_osc", "exynos4-hdmi"), /* HDMI */ |
114 | REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* OTG */ | ||
113 | }; | 115 | }; |
114 | static struct regulator_consumer_supply __initdata ldo9_consumer[] = { | 116 | static struct regulator_consumer_supply __initdata ldo9_consumer[] = { |
115 | REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */ | 117 | REGULATOR_SUPPLY("dvdd", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */ |
diff --git a/arch/arm/mach-s3c64xx/Kconfig b/arch/arm/mach-s3c64xx/Kconfig index 63e7ae3ee9e6..131c86284711 100644 --- a/arch/arm/mach-s3c64xx/Kconfig +++ b/arch/arm/mach-s3c64xx/Kconfig | |||
@@ -294,6 +294,7 @@ config MACH_WLF_CRAGG_6410 | |||
294 | select S3C64XX_SETUP_SDHCI | 294 | select S3C64XX_SETUP_SDHCI |
295 | select S3C64XX_SETUP_SPI | 295 | select S3C64XX_SETUP_SPI |
296 | select S3C64XX_SETUP_USB_PHY | 296 | select S3C64XX_SETUP_USB_PHY |
297 | select S3C_DEV_FB | ||
297 | select S3C_DEV_HSMMC | 298 | select S3C_DEV_HSMMC |
298 | select S3C_DEV_HSMMC1 | 299 | select S3C_DEV_HSMMC1 |
299 | select S3C_DEV_HSMMC2 | 300 | select S3C_DEV_HSMMC2 |
@@ -304,6 +305,7 @@ config MACH_WLF_CRAGG_6410 | |||
304 | select S3C_DEV_WDT | 305 | select S3C_DEV_WDT |
305 | select SAMSUNG_DEV_ADC | 306 | select SAMSUNG_DEV_ADC |
306 | select SAMSUNG_DEV_KEYPAD | 307 | select SAMSUNG_DEV_KEYPAD |
308 | select SAMSUNG_DEV_PWM | ||
307 | select SAMSUNG_GPIO_EXTRA128 | 309 | select SAMSUNG_GPIO_EXTRA128 |
308 | help | 310 | help |
309 | Machine support for the Wolfson Cragganmore S3C6410 variant. | 311 | Machine support for the Wolfson Cragganmore S3C6410 variant. |
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c index 4e3fe57674c8..c6d8dba90623 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c | |||
@@ -20,6 +20,8 @@ | |||
20 | 20 | ||
21 | #include <linux/regulator/machine.h> | 21 | #include <linux/regulator/machine.h> |
22 | 22 | ||
23 | #include <sound/wm0010.h> | ||
24 | #include <sound/wm2200.h> | ||
23 | #include <sound/wm5100.h> | 25 | #include <sound/wm5100.h> |
24 | #include <sound/wm8996.h> | 26 | #include <sound/wm8996.h> |
25 | #include <sound/wm8962.h> | 27 | #include <sound/wm8962.h> |
@@ -33,14 +35,34 @@ static struct s3c64xx_spi_csinfo wm0010_spi_csinfo = { | |||
33 | .line = S3C64XX_GPC(3), | 35 | .line = S3C64XX_GPC(3), |
34 | }; | 36 | }; |
35 | 37 | ||
38 | static struct wm0010_pdata wm0010_pdata = { | ||
39 | .gpio_reset = S3C64XX_GPN(6), | ||
40 | .reset_active_high = 1, /* Active high for Glenfarclas Rev 2 */ | ||
41 | }; | ||
42 | |||
36 | static struct spi_board_info wm1253_devs[] = { | 43 | static struct spi_board_info wm1253_devs[] = { |
37 | [0] = { | 44 | [0] = { |
38 | .modalias = "wm0010", | 45 | .modalias = "wm0010", |
46 | .max_speed_hz = 26 * 1000 * 1000, | ||
39 | .bus_num = 0, | 47 | .bus_num = 0, |
40 | .chip_select = 0, | 48 | .chip_select = 0, |
41 | .mode = SPI_MODE_0, | 49 | .mode = SPI_MODE_0, |
42 | .irq = S3C_EINT(5), | 50 | .irq = S3C_EINT(5), |
43 | .controller_data = &wm0010_spi_csinfo, | 51 | .controller_data = &wm0010_spi_csinfo, |
52 | .platform_data = &wm0010_pdata, | ||
53 | }, | ||
54 | }; | ||
55 | |||
56 | static struct spi_board_info balblair_devs[] = { | ||
57 | [0] = { | ||
58 | .modalias = "wm0010", | ||
59 | .max_speed_hz = 26 * 1000 * 1000, | ||
60 | .bus_num = 0, | ||
61 | .chip_select = 0, | ||
62 | .mode = SPI_MODE_0, | ||
63 | .irq = S3C_EINT(4), | ||
64 | .controller_data = &wm0010_spi_csinfo, | ||
65 | .platform_data = &wm0010_pdata, | ||
44 | }, | 66 | }, |
45 | }; | 67 | }; |
46 | 68 | ||
@@ -166,12 +188,13 @@ static struct regulator_init_data wm8994_ldo2 = { | |||
166 | 188 | ||
167 | static struct wm8994_pdata wm8994_pdata = { | 189 | static struct wm8994_pdata wm8994_pdata = { |
168 | .gpio_base = CODEC_GPIO_BASE, | 190 | .gpio_base = CODEC_GPIO_BASE, |
191 | .micb2_delay = 150, | ||
169 | .gpio_defaults = { | 192 | .gpio_defaults = { |
170 | 0x3, /* IRQ out, active high, CMOS */ | 193 | 0x3, /* IRQ out, active high, CMOS */ |
171 | }, | 194 | }, |
172 | .ldo = { | 195 | .ldo = { |
173 | { .init_data = &wm8994_ldo1, }, | 196 | { .enable = S3C64XX_GPN(6), .init_data = &wm8994_ldo1, }, |
174 | { .init_data = &wm8994_ldo2, }, | 197 | { .enable = S3C64XX_GPN(4), .init_data = &wm8994_ldo2, }, |
175 | }, | 198 | }, |
176 | }; | 199 | }; |
177 | 200 | ||
@@ -182,7 +205,7 @@ static const struct i2c_board_info wm1277_devs[] = { | |||
182 | }, | 205 | }, |
183 | }; | 206 | }; |
184 | 207 | ||
185 | static struct arizona_pdata wm5102_pdata = { | 208 | static struct arizona_pdata wm5102_reva_pdata = { |
186 | .ldoena = S3C64XX_GPN(7), | 209 | .ldoena = S3C64XX_GPN(7), |
187 | .gpio_base = CODEC_GPIO_BASE, | 210 | .gpio_base = CODEC_GPIO_BASE, |
188 | .irq_active_high = true, | 211 | .irq_active_high = true, |
@@ -193,64 +216,131 @@ static struct arizona_pdata wm5102_pdata = { | |||
193 | }, | 216 | }, |
194 | }; | 217 | }; |
195 | 218 | ||
196 | static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = { | 219 | static struct s3c64xx_spi_csinfo codec_spi_csinfo = { |
197 | .line = S3C64XX_GPN(5), | 220 | .line = S3C64XX_GPN(5), |
198 | }; | 221 | }; |
199 | 222 | ||
223 | static struct spi_board_info wm5102_reva_spi_devs[] = { | ||
224 | [0] = { | ||
225 | .modalias = "wm5102", | ||
226 | .max_speed_hz = 10 * 1000 * 1000, | ||
227 | .bus_num = 0, | ||
228 | .chip_select = 1, | ||
229 | .mode = SPI_MODE_0, | ||
230 | .irq = GLENFARCLAS_PMIC_IRQ_BASE + | ||
231 | WM831X_IRQ_GPIO_2, | ||
232 | .controller_data = &codec_spi_csinfo, | ||
233 | .platform_data = &wm5102_reva_pdata, | ||
234 | }, | ||
235 | }; | ||
236 | |||
237 | static struct arizona_pdata wm5102_pdata = { | ||
238 | .ldoena = S3C64XX_GPN(7), | ||
239 | .gpio_base = CODEC_GPIO_BASE, | ||
240 | .irq_active_high = true, | ||
241 | .micd_pol_gpio = CODEC_GPIO_BASE + 2, | ||
242 | .gpio_defaults = { | ||
243 | [2] = 0x10000, /* AIF3TXLRCLK */ | ||
244 | [3] = 0x4, /* OPCLK */ | ||
245 | }, | ||
246 | }; | ||
247 | |||
200 | static struct spi_board_info wm5102_spi_devs[] = { | 248 | static struct spi_board_info wm5102_spi_devs[] = { |
201 | [0] = { | 249 | [0] = { |
202 | .modalias = "wm5102", | 250 | .modalias = "wm5102", |
203 | .max_speed_hz = 10 * 1000 * 1000, | 251 | .max_speed_hz = 10 * 1000 * 1000, |
204 | .bus_num = 0, | 252 | .bus_num = 0, |
205 | .chip_select = 0, | 253 | .chip_select = 1, |
206 | .mode = SPI_MODE_0, | 254 | .mode = SPI_MODE_0, |
207 | .irq = GLENFARCLAS_PMIC_IRQ_BASE + | 255 | .irq = GLENFARCLAS_PMIC_IRQ_BASE + |
208 | WM831X_IRQ_GPIO_2, | 256 | WM831X_IRQ_GPIO_2, |
209 | .controller_data = &wm5102_spi_csinfo, | 257 | .controller_data = &codec_spi_csinfo, |
210 | .platform_data = &wm5102_pdata, | 258 | .platform_data = &wm5102_pdata, |
211 | }, | 259 | }, |
212 | }; | 260 | }; |
213 | 261 | ||
262 | static struct spi_board_info wm5110_spi_devs[] = { | ||
263 | [0] = { | ||
264 | .modalias = "wm5110", | ||
265 | .max_speed_hz = 10 * 1000 * 1000, | ||
266 | .bus_num = 0, | ||
267 | .chip_select = 1, | ||
268 | .mode = SPI_MODE_0, | ||
269 | .irq = GLENFARCLAS_PMIC_IRQ_BASE + | ||
270 | WM831X_IRQ_GPIO_2, | ||
271 | .controller_data = &codec_spi_csinfo, | ||
272 | .platform_data = &wm5102_reva_pdata, | ||
273 | }, | ||
274 | }; | ||
275 | |||
214 | static const struct i2c_board_info wm6230_i2c_devs[] = { | 276 | static const struct i2c_board_info wm6230_i2c_devs[] = { |
215 | { I2C_BOARD_INFO("wm9081", 0x6c), | 277 | { I2C_BOARD_INFO("wm9081", 0x6c), |
216 | .platform_data = &wm9081_pdata, }, | 278 | .platform_data = &wm9081_pdata, }, |
217 | }; | 279 | }; |
218 | 280 | ||
281 | static struct wm2200_pdata wm2200_pdata = { | ||
282 | .ldo_ena = S3C64XX_GPN(7), | ||
283 | .gpio_defaults = { | ||
284 | [2] = 0x0005, /* GPIO3 24.576MHz output clock */ | ||
285 | }, | ||
286 | }; | ||
287 | |||
288 | static const struct i2c_board_info wm2200_i2c[] = { | ||
289 | { I2C_BOARD_INFO("wm2200", 0x3a), | ||
290 | .platform_data = &wm2200_pdata, }, | ||
291 | }; | ||
292 | |||
219 | static __devinitdata const struct { | 293 | static __devinitdata const struct { |
220 | u8 id; | 294 | u8 id; |
295 | u8 rev; | ||
221 | const char *name; | 296 | const char *name; |
222 | const struct i2c_board_info *i2c_devs; | 297 | const struct i2c_board_info *i2c_devs; |
223 | int num_i2c_devs; | 298 | int num_i2c_devs; |
224 | const struct spi_board_info *spi_devs; | 299 | const struct spi_board_info *spi_devs; |
225 | int num_spi_devs; | 300 | int num_spi_devs; |
226 | } gf_mods[] = { | 301 | } gf_mods[] = { |
227 | { .id = 0x01, .name = "1250-EV1 Springbank" }, | 302 | { .id = 0x01, .rev = 0xff, .name = "1250-EV1 Springbank" }, |
228 | { .id = 0x02, .name = "1251-EV1 Jura" }, | 303 | { .id = 0x02, .rev = 0xff, .name = "1251-EV1 Jura" }, |
229 | { .id = 0x03, .name = "1252-EV1 Glenlivet" }, | 304 | { .id = 0x03, .rev = 0xff, .name = "1252-EV1 Glenlivet" }, |
230 | { .id = 0x11, .name = "6249-EV2 Glenfarclas", }, | 305 | { .id = 0x06, .rev = 0xff, .name = "WM8997-6721-CS96-EV1 Lapraoig" }, |
231 | { .id = 0x14, .name = "6271-EV1 Lochnagar" }, | 306 | { .id = 0x07, .rev = 0xff, .name = "WM5110-6271 Deanston", |
232 | { .id = 0x15, .name = "6320-EV1 Bells", | 307 | .spi_devs = wm5110_spi_devs, |
308 | .num_spi_devs = ARRAY_SIZE(wm5110_spi_devs) }, | ||
309 | { .id = 0x08, .rev = 0xff, .name = "WM8903-6102 Tamdhu" }, | ||
310 | { .id = 0x09, .rev = 0xff, .name = "WM1811A-6305 Adelphi" }, | ||
311 | { .id = 0x0a, .rev = 0xff, .name = "WM8996-6272 Blackadder" }, | ||
312 | { .id = 0x0b, .rev = 0xff, .name = "WM8994-6235 Benromach" }, | ||
313 | { .id = 0x11, .rev = 0xff, .name = "6249-EV2 Glenfarclas", }, | ||
314 | { .id = 0x14, .rev = 0xff, .name = "6271-EV1 Lochnagar" }, | ||
315 | { .id = 0x15, .rev = 0xff, .name = "6320-EV1 Bells", | ||
233 | .i2c_devs = wm6230_i2c_devs, | 316 | .i2c_devs = wm6230_i2c_devs, |
234 | .num_i2c_devs = ARRAY_SIZE(wm6230_i2c_devs) }, | 317 | .num_i2c_devs = ARRAY_SIZE(wm6230_i2c_devs) }, |
235 | { .id = 0x21, .name = "1275-EV1 Mortlach" }, | 318 | { .id = 0x21, .rev = 0xff, .name = "1275-EV1 Mortlach" }, |
236 | { .id = 0x25, .name = "1274-EV1 Glencadam" }, | 319 | { .id = 0x25, .rev = 0xff, .name = "1274-EV1 Glencadam" }, |
237 | { .id = 0x31, .name = "1253-EV1 Tomatin", | 320 | { .id = 0x31, .rev = 0xff, .name = "1253-EV1 Tomatin", |
238 | .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) }, | 321 | .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) }, |
239 | { .id = 0x32, .name = "XXXX-EV1 Caol Illa" }, | 322 | { .id = 0x32, .rev = 0xff, .name = "XXXX-EV1 Caol Illa" }, |
240 | { .id = 0x33, .name = "XXXX-EV1 Oban" }, | 323 | { .id = 0x33, .rev = 0xff, .name = "XXXX-EV1 Oban" }, |
241 | { .id = 0x34, .name = "WM0010-6320-CS42 Balblair" }, | 324 | { .id = 0x34, .rev = 0xff, .name = "WM0010-6320-CS42 Balblair", |
242 | { .id = 0x39, .name = "1254-EV1 Dallas Dhu", | 325 | .spi_devs = balblair_devs, |
326 | .num_spi_devs = ARRAY_SIZE(balblair_devs) }, | ||
327 | { .id = 0x39, .rev = 0xff, .name = "1254-EV1 Dallas Dhu", | ||
243 | .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) }, | 328 | .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) }, |
244 | { .id = 0x3a, .name = "1259-EV1 Tobermory", | 329 | { .id = 0x3a, .rev = 0xff, .name = "1259-EV1 Tobermory", |
245 | .i2c_devs = wm1259_devs, .num_i2c_devs = ARRAY_SIZE(wm1259_devs) }, | 330 | .i2c_devs = wm1259_devs, .num_i2c_devs = ARRAY_SIZE(wm1259_devs) }, |
246 | { .id = 0x3b, .name = "1255-EV1 Kilchoman", | 331 | { .id = 0x3b, .rev = 0xff, .name = "1255-EV1 Kilchoman", |
247 | .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) }, | 332 | .i2c_devs = wm1255_devs, .num_i2c_devs = ARRAY_SIZE(wm1255_devs) }, |
248 | { .id = 0x3c, .name = "1273-EV1 Longmorn" }, | 333 | { .id = 0x3c, .rev = 0xff, .name = "1273-EV1 Longmorn" }, |
249 | { .id = 0x3d, .name = "1277-EV1 Littlemill", | 334 | { .id = 0x3d, .rev = 0xff, .name = "1277-EV1 Littlemill", |
250 | .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, | 335 | .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, |
251 | { .id = 0x3e, .name = "WM5102-6271-EV1-CS127 Amrut", | 336 | { .id = 0x3e, .rev = 0, .name = "WM5102-6271-EV1-CS127 Amrut", |
337 | .spi_devs = wm5102_reva_spi_devs, | ||
338 | .num_spi_devs = ARRAY_SIZE(wm5102_reva_spi_devs) }, | ||
339 | { .id = 0x3e, .rev = -1, .name = "WM5102-6271-EV1-CS127 Amrut", | ||
252 | .spi_devs = wm5102_spi_devs, | 340 | .spi_devs = wm5102_spi_devs, |
253 | .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) }, | 341 | .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) }, |
342 | { .id = 0x3f, .rev = -1, .name = "WM2200-6271-CS90-M-REV1", | ||
343 | .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) }, | ||
254 | }; | 344 | }; |
255 | 345 | ||
256 | static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, | 346 | static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, |
@@ -267,7 +357,8 @@ static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, | |||
267 | id = (ret & 0xfe) >> 2; | 357 | id = (ret & 0xfe) >> 2; |
268 | rev = ret & 0x3; | 358 | rev = ret & 0x3; |
269 | for (i = 0; i < ARRAY_SIZE(gf_mods); i++) | 359 | for (i = 0; i < ARRAY_SIZE(gf_mods); i++) |
270 | if (id == gf_mods[i].id) | 360 | if (id == gf_mods[i].id && (gf_mods[i].rev == 0xff || |
361 | rev == gf_mods[i].rev)) | ||
271 | break; | 362 | break; |
272 | 363 | ||
273 | if (i < ARRAY_SIZE(gf_mods)) { | 364 | if (i < ARRAY_SIZE(gf_mods)) { |
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c index 13b7eaa45fd0..2abe95d0401f 100644 --- a/arch/arm/mach-s3c64xx/mach-crag6410.c +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c | |||
@@ -304,6 +304,13 @@ static struct regulator_consumer_supply wallvdd_consumers[] = { | |||
304 | REGULATOR_SUPPLY("SPKVDDL", "1-001a"), | 304 | REGULATOR_SUPPLY("SPKVDDL", "1-001a"), |
305 | REGULATOR_SUPPLY("SPKVDDR", "1-001a"), | 305 | REGULATOR_SUPPLY("SPKVDDR", "1-001a"), |
306 | 306 | ||
307 | REGULATOR_SUPPLY("SPKVDDL", "spi0.1"), | ||
308 | REGULATOR_SUPPLY("SPKVDDR", "spi0.1"), | ||
309 | REGULATOR_SUPPLY("SPKVDDL", "wm5102-codec"), | ||
310 | REGULATOR_SUPPLY("SPKVDDR", "wm5102-codec"), | ||
311 | REGULATOR_SUPPLY("SPKVDDL", "wm5110-codec"), | ||
312 | REGULATOR_SUPPLY("SPKVDDR", "wm5110-codec"), | ||
313 | |||
307 | REGULATOR_SUPPLY("DC1VDD", "0-0034"), | 314 | REGULATOR_SUPPLY("DC1VDD", "0-0034"), |
308 | REGULATOR_SUPPLY("DC2VDD", "0-0034"), | 315 | REGULATOR_SUPPLY("DC2VDD", "0-0034"), |
309 | REGULATOR_SUPPLY("DC3VDD", "0-0034"), | 316 | REGULATOR_SUPPLY("DC3VDD", "0-0034"), |
@@ -597,6 +604,7 @@ static struct s3c2410_platform_i2c i2c0_pdata = { | |||
597 | static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = { | 604 | static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = { |
598 | REGULATOR_SUPPLY("DCVDD", "spi0.0"), | 605 | REGULATOR_SUPPLY("DCVDD", "spi0.0"), |
599 | REGULATOR_SUPPLY("AVDD", "spi0.0"), | 606 | REGULATOR_SUPPLY("AVDD", "spi0.0"), |
607 | REGULATOR_SUPPLY("AVDD", "spi0.1"), | ||
600 | }; | 608 | }; |
601 | 609 | ||
602 | static struct regulator_init_data pvdd_1v2 __devinitdata = { | 610 | static struct regulator_init_data pvdd_1v2 __devinitdata = { |
@@ -621,6 +629,24 @@ static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = { | |||
621 | REGULATOR_SUPPLY("DCVDD", "1-001a"), | 629 | REGULATOR_SUPPLY("DCVDD", "1-001a"), |
622 | REGULATOR_SUPPLY("AVDD", "1-001a"), | 630 | REGULATOR_SUPPLY("AVDD", "1-001a"), |
623 | REGULATOR_SUPPLY("DBVDD", "spi0.0"), | 631 | REGULATOR_SUPPLY("DBVDD", "spi0.0"), |
632 | |||
633 | REGULATOR_SUPPLY("DBVDD", "1-003a"), | ||
634 | REGULATOR_SUPPLY("LDOVDD", "1-003a"), | ||
635 | REGULATOR_SUPPLY("CPVDD", "1-003a"), | ||
636 | REGULATOR_SUPPLY("AVDD", "1-003a"), | ||
637 | REGULATOR_SUPPLY("DBVDD1", "spi0.1"), | ||
638 | REGULATOR_SUPPLY("DBVDD2", "spi0.1"), | ||
639 | REGULATOR_SUPPLY("DBVDD3", "spi0.1"), | ||
640 | REGULATOR_SUPPLY("LDOVDD", "spi0.1"), | ||
641 | REGULATOR_SUPPLY("CPVDD", "spi0.1"), | ||
642 | |||
643 | REGULATOR_SUPPLY("DBVDD2", "wm5102-codec"), | ||
644 | REGULATOR_SUPPLY("DBVDD3", "wm5102-codec"), | ||
645 | REGULATOR_SUPPLY("CPVDD", "wm5102-codec"), | ||
646 | |||
647 | REGULATOR_SUPPLY("DBVDD2", "wm5110-codec"), | ||
648 | REGULATOR_SUPPLY("DBVDD3", "wm5110-codec"), | ||
649 | REGULATOR_SUPPLY("CPVDD", "wm5110-codec"), | ||
624 | }; | 650 | }; |
625 | 651 | ||
626 | static struct regulator_init_data pvdd_1v8 __devinitdata = { | 652 | static struct regulator_init_data pvdd_1v8 __devinitdata = { |
@@ -685,6 +711,7 @@ static struct i2c_board_info i2c_devs1[] __devinitdata = { | |||
685 | .irq = S3C_EINT(0), | 711 | .irq = S3C_EINT(0), |
686 | .platform_data = &glenfarclas_pmic_pdata }, | 712 | .platform_data = &glenfarclas_pmic_pdata }, |
687 | 713 | ||
714 | { I2C_BOARD_INFO("wlf-gf-module", 0x20) }, | ||
688 | { I2C_BOARD_INFO("wlf-gf-module", 0x22) }, | 715 | { I2C_BOARD_INFO("wlf-gf-module", 0x22) }, |
689 | { I2C_BOARD_INFO("wlf-gf-module", 0x24) }, | 716 | { I2C_BOARD_INFO("wlf-gf-module", 0x24) }, |
690 | { I2C_BOARD_INFO("wlf-gf-module", 0x25) }, | 717 | { I2C_BOARD_INFO("wlf-gf-module", 0x25) }, |
@@ -810,7 +837,7 @@ static void __init crag6410_machine_init(void) | |||
810 | i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); | 837 | i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); |
811 | 838 | ||
812 | samsung_keypad_set_platdata(&crag6410_keypad_data); | 839 | samsung_keypad_set_platdata(&crag6410_keypad_data); |
813 | s3c64xx_spi0_set_platdata(NULL, 0, 1); | 840 | s3c64xx_spi0_set_platdata(NULL, 0, 2); |
814 | 841 | ||
815 | platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices)); | 842 | platform_add_devices(crag6410_devices, ARRAY_SIZE(crag6410_devices)); |
816 | 843 | ||