|
@@ -177,3 +177,98 @@ static const struct i2c_board_info wm1259_devs[] = {
|
|
|
.irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2,
|
|
|
},
|
|
|
};
|
|
|
+
|
|
|
+static struct regulator_init_data wm8994_ldo1 = {
|
|
|
+ .supply_regulator = "WALLVDD",
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data wm8994_ldo2 = {
|
|
|
+ .supply_regulator = "WALLVDD",
|
|
|
+};
|
|
|
+
|
|
|
+static struct wm8994_pdata wm8994_pdata = {
|
|
|
+ .gpio_base = CODEC_GPIO_BASE,
|
|
|
+ .micb2_delay = 150,
|
|
|
+ .gpio_defaults = {
|
|
|
+ 0x3, /* IRQ out, active high, CMOS */
|
|
|
+ },
|
|
|
+ .ldo = {
|
|
|
+ { .enable = S3C64XX_GPN(6), .init_data = &wm8994_ldo1, },
|
|
|
+ { .enable = S3C64XX_GPN(4), .init_data = &wm8994_ldo2, },
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static const struct i2c_board_info wm1277_devs[] = {
|
|
|
+ { I2C_BOARD_INFO("wm8958", 0x1a), /* WM8958 is the superset */
|
|
|
+ .platform_data = &wm8994_pdata,
|
|
|
+ .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct arizona_pdata wm5102_reva_pdata = {
|
|
|
+ .ldoena = S3C64XX_GPN(7),
|
|
|
+ .gpio_base = CODEC_GPIO_BASE,
|
|
|
+ .irq_active_high = true,
|
|
|
+ .micd_pol_gpio = CODEC_GPIO_BASE + 4,
|
|
|
+ .gpio_defaults = {
|
|
|
+ [2] = 0x10000, /* AIF3TXLRCLK */
|
|
|
+ [3] = 0x4, /* OPCLK */
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct s3c64xx_spi_csinfo codec_spi_csinfo = {
|
|
|
+ .line = S3C64XX_GPN(5),
|
|
|
+};
|
|
|
+
|
|
|
+static struct spi_board_info wm5102_reva_spi_devs[] = {
|
|
|
+ [0] = {
|
|
|
+ .modalias = "wm5102",
|
|
|
+ .max_speed_hz = 10 * 1000 * 1000,
|
|
|
+ .bus_num = 0,
|
|
|
+ .chip_select = 1,
|
|
|
+ .mode = SPI_MODE_0,
|
|
|
+ .irq = GLENFARCLAS_PMIC_IRQ_BASE +
|
|
|
+ WM831X_IRQ_GPIO_2,
|
|
|
+ .controller_data = &codec_spi_csinfo,
|
|
|
+ .platform_data = &wm5102_reva_pdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct arizona_pdata wm5102_pdata = {
|
|
|
+ .ldoena = S3C64XX_GPN(7),
|
|
|
+ .gpio_base = CODEC_GPIO_BASE,
|
|
|
+ .irq_active_high = true,
|
|
|
+ .micd_pol_gpio = CODEC_GPIO_BASE + 2,
|
|
|
+ .gpio_defaults = {
|
|
|
+ [2] = 0x10000, /* AIF3TXLRCLK */
|
|
|
+ [3] = 0x4, /* OPCLK */
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct spi_board_info wm5102_spi_devs[] = {
|
|
|
+ [0] = {
|
|
|
+ .modalias = "wm5102",
|
|
|
+ .max_speed_hz = 10 * 1000 * 1000,
|
|
|
+ .bus_num = 0,
|
|
|
+ .chip_select = 1,
|
|
|
+ .mode = SPI_MODE_0,
|
|
|
+ .irq = GLENFARCLAS_PMIC_IRQ_BASE +
|
|
|
+ WM831X_IRQ_GPIO_2,
|
|
|
+ .controller_data = &codec_spi_csinfo,
|
|
|
+ .platform_data = &wm5102_pdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct spi_board_info wm5110_spi_devs[] = {
|
|
|
+ [0] = {
|
|
|
+ .modalias = "wm5110",
|
|
|
+ .max_speed_hz = 10 * 1000 * 1000,
|
|
|
+ .bus_num = 0,
|
|
|
+ .chip_select = 1,
|
|
|
+ .mode = SPI_MODE_0,
|
|
|
+ .irq = GLENFARCLAS_PMIC_IRQ_BASE +
|
|
|
+ WM831X_IRQ_GPIO_2,
|
|
|
+ .controller_data = &codec_spi_csinfo,
|
|
|
+ .platform_data = &wm5102_reva_pdata,
|
|
|
+ },
|
|
|
+};
|