|
@@ -452,3 +452,91 @@ static struct regulator_consumer_supply wm8994_dcvdd_supply =
|
|
|
|
|
|
static struct regulator_init_data wm8994_ldo1_data = {
|
|
|
.constraints = {
|
|
|
+ .name = "AVDD1_3.0V",
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = 1,
|
|
|
+ .consumer_supplies = &wm8994_avdd1_supply,
|
|
|
+};
|
|
|
+
|
|
|
+static struct regulator_init_data wm8994_ldo2_data = {
|
|
|
+ .constraints = {
|
|
|
+ .name = "DCVDD_1.0V",
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = 1,
|
|
|
+ .consumer_supplies = &wm8994_dcvdd_supply,
|
|
|
+};
|
|
|
+
|
|
|
+static struct wm8994_pdata wm8994_platform_data = {
|
|
|
+ /* configure gpio1 function: 0x0001(Logic level input/output) */
|
|
|
+ .gpio_defaults[0] = 0x0001,
|
|
|
+ /* configure gpio3/4/5/7 function for AIF2 voice */
|
|
|
+ .gpio_defaults[2] = 0x8100,
|
|
|
+ .gpio_defaults[3] = 0x8100,
|
|
|
+ .gpio_defaults[4] = 0x8100,
|
|
|
+ .gpio_defaults[6] = 0x0100,
|
|
|
+ /* configure gpio8/9/10/11 function for AIF3 BT */
|
|
|
+ .gpio_defaults[7] = 0x8100,
|
|
|
+ .gpio_defaults[8] = 0x0100,
|
|
|
+ .gpio_defaults[9] = 0x0100,
|
|
|
+ .gpio_defaults[10] = 0x0100,
|
|
|
+ .ldo[0] = { S5PV210_MP03(6), &wm8994_ldo1_data }, /* XM0FRNB_2 */
|
|
|
+ .ldo[1] = { 0, &wm8994_ldo2_data },
|
|
|
+};
|
|
|
+
|
|
|
+/* GPIO I2C PMIC */
|
|
|
+#define AP_I2C_GPIO_PMIC_BUS_4 4
|
|
|
+static struct i2c_gpio_platform_data aquila_i2c_gpio_pmic_data = {
|
|
|
+ .sda_pin = S5PV210_GPJ4(0), /* XMSMCSN */
|
|
|
+ .scl_pin = S5PV210_GPJ4(3), /* XMSMIRQN */
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device aquila_i2c_gpio_pmic = {
|
|
|
+ .name = "i2c-gpio",
|
|
|
+ .id = AP_I2C_GPIO_PMIC_BUS_4,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &aquila_i2c_gpio_pmic_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct i2c_board_info i2c_gpio_pmic_devs[] __initdata = {
|
|
|
+#if defined(CONFIG_REGULATOR_MAX8998) || defined(CONFIG_REGULATOR_MAX8998_MODULE)
|
|
|
+ {
|
|
|
+ /* 0xCC when SRAD = 0 */
|
|
|
+ I2C_BOARD_INFO("max8998", 0xCC >> 1),
|
|
|
+ .platform_data = &aquila_max8998_pdata,
|
|
|
+ },
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
+/* GPIO I2C AP 1.8V */
|
|
|
+#define AP_I2C_GPIO_BUS_5 5
|
|
|
+static struct i2c_gpio_platform_data aquila_i2c_gpio5_data = {
|
|
|
+ .sda_pin = S5PV210_MP05(3), /* XM0ADDR_11 */
|
|
|
+ .scl_pin = S5PV210_MP05(2), /* XM0ADDR_10 */
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device aquila_i2c_gpio5 = {
|
|
|
+ .name = "i2c-gpio",
|
|
|
+ .id = AP_I2C_GPIO_BUS_5,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &aquila_i2c_gpio5_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct i2c_board_info i2c_gpio5_devs[] __initdata = {
|
|
|
+ {
|
|
|
+ /* CS/ADDR = low 0x34 (FYI: high = 0x36) */
|
|
|
+ I2C_BOARD_INFO("wm8994", 0x1a),
|
|
|
+ .platform_data = &wm8994_platform_data,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+/* PMIC Power button */
|
|
|
+static struct gpio_keys_button aquila_gpio_keys_table[] = {
|
|
|
+ {
|
|
|
+ .code = KEY_POWER,
|
|
|
+ .gpio = S5PV210_GPH2(6),
|
|
|
+ .desc = "gpio-keys: KEY_POWER",
|
|
|
+ .type = EV_KEY,
|
|
|
+ .active_low = 1,
|