aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c64xx/mach-crag6410-module.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-s3c64xx/mach-crag6410-module.c')
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410-module.c36
1 files changed, 31 insertions, 5 deletions
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 9e382e7c77cb..7f4f9ebee25d 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -16,6 +16,7 @@
16#include <linux/mfd/wm831x/irq.h> 16#include <linux/mfd/wm831x/irq.h>
17#include <linux/mfd/wm831x/gpio.h> 17#include <linux/mfd/wm831x/gpio.h>
18#include <linux/mfd/wm8994/pdata.h> 18#include <linux/mfd/wm8994/pdata.h>
19#include <linux/mfd/arizona/pdata.h>
19 20
20#include <linux/regulator/machine.h> 21#include <linux/regulator/machine.h>
21 22
@@ -181,9 +182,33 @@ static const struct i2c_board_info wm1277_devs[] = {
181 }, 182 },
182}; 183};
183 184
184static const struct i2c_board_info wm5102_devs[] = { 185static struct arizona_pdata wm5102_pdata = {
185 { I2C_BOARD_INFO("wm5102", 0x1a), 186 .ldoena = S3C64XX_GPN(7),
186 .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, }, 187 .gpio_base = CODEC_GPIO_BASE,
188 .irq_active_high = true,
189 .micd_pol_gpio = CODEC_GPIO_BASE + 4,
190 .gpio_defaults = {
191 [2] = 0x10000, /* AIF3TXLRCLK */
192 [3] = 0x4, /* OPCLK */
193 },
194};
195
196static struct s3c64xx_spi_csinfo wm5102_spi_csinfo = {
197 .line = S3C64XX_GPN(5),
198};
199
200static struct spi_board_info wm5102_spi_devs[] = {
201 [0] = {
202 .modalias = "wm5102",
203 .max_speed_hz = 10 * 1000 * 1000,
204 .bus_num = 0,
205 .chip_select = 0,
206 .mode = SPI_MODE_0,
207 .irq = GLENFARCLAS_PMIC_IRQ_BASE +
208 WM831X_IRQ_GPIO_2,
209 .controller_data = &wm5102_spi_csinfo,
210 .platform_data = &wm5102_pdata,
211 },
187}; 212};
188 213
189static const struct i2c_board_info wm6230_i2c_devs[] = { 214static const struct i2c_board_info wm6230_i2c_devs[] = {
@@ -223,8 +248,9 @@ static __devinitdata const struct {
223 { .id = 0x3c, .name = "1273-EV1 Longmorn" }, 248 { .id = 0x3c, .name = "1273-EV1 Longmorn" },
224 { .id = 0x3d, .name = "1277-EV1 Littlemill", 249 { .id = 0x3d, .name = "1277-EV1 Littlemill",
225 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, 250 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) },
226 { .id = 0x3e, .name = "WM5102-6271-EV1-CS127", 251 { .id = 0x3e, .name = "WM5102-6271-EV1-CS127 Amrut",
227 .i2c_devs = wm5102_devs, .num_i2c_devs = ARRAY_SIZE(wm5102_devs) }, 252 .spi_devs = wm5102_spi_devs,
253 .num_spi_devs = ARRAY_SIZE(wm5102_spi_devs) },
228}; 254};
229 255
230static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, 256static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,