1 #include <linux/regulator/machine.h>
2 #include <linux/mfd/wm831x/pdata.h>
3 #include <linux/mfd/wm831x/core.h>
4 #include <linux/mfd/wm831x/gpio.h>
7 #if defined(CONFIG_GPIO_WM831X)
8 static struct rk29_gpio_expander_info wm831x_gpio_settinginfo[] = {
10 .gpio_num = WM831X_P01, // tp3
14 .gpio_num = WM831X_P02, //tp4
18 .gpio_num = WM831X_P03, //tp2
20 .pin_value = GPIO_HIGH,
23 .gpio_num = WM831X_P04, //tp1
27 .gpio_num = WM831X_P05, //tp1
31 .gpio_num = WM831X_P06, //tp1
33 .pin_value = GPIO_HIGH,
36 .gpio_num = WM831X_P07, //tp1
40 .gpio_num = WM831X_P08, //tp1
42 .pin_value = GPIO_HIGH,
45 .gpio_num = WM831X_P09, //tp1
47 .pin_value = GPIO_HIGH,
50 .gpio_num = WM831X_P10, //tp1
54 .gpio_num = WM831X_P11, //tp1
56 .pin_value = GPIO_HIGH,
59 .gpio_num = WM831X_P12,
61 .pin_value = GPIO_HIGH,
66 #if defined(CONFIG_MFD_WM831X)
68 #define UNLOCK_SECURITY_KEY ~(0x1<<5)
69 #define LOCK_SECURITY_KEY 0x00
70 #define PMU_POWER_SLEEP RK30_PIN6_PB1
71 static struct wm831x *Wm831x;
73 static int wm831x_pre_init(struct wm831x *parm)
77 // printk("%s\n", __func__);
78 gpio_request(PMU_POWER_SLEEP, "NULL");
79 gpio_direction_output(PMU_POWER_SLEEP, GPIO_HIGH);
81 ret = wm831x_reg_read(parm, WM831X_POWER_STATE) & 0xffff;
82 wm831x_reg_write(parm, WM831X_POWER_STATE, (ret & 0xfff8) | 0x04);
85 wm831x_reg_write(parm, WM831X_SECURITY_KEY, 0x9716); // unlock security key
86 wm831x_set_bits(parm, WM831X_RESET_CONTROL, 0x1000, 0x1000);
87 ret = wm831x_reg_read(parm, WM831X_RESET_CONTROL) & 0xffff & UNLOCK_SECURITY_KEY; // enternal reset active in sleep
88 // printk("%s:WM831X_RESET_CONTROL=0x%x\n", __func__, ret);
89 wm831x_reg_write(parm, WM831X_RESET_CONTROL, ret);
91 wm831x_set_bits(parm,WM831X_DC1_ON_CONFIG ,0x0300,0x0000); //set dcdc mode is FCCM
92 wm831x_set_bits(parm,WM831X_DC2_ON_CONFIG ,0x0300,0x0000);
93 wm831x_set_bits(parm,WM831X_DC3_ON_CONFIG ,0x0300,0x0000);
94 // wm831x_set_bits(parm,0x4066,0x0300,0x0000);
96 // wm831x_set_bits(parm,WM831X_LDO10_CONTROL ,0x0040,0x0040);// set ldo10 in switch mode
98 wm831x_set_bits(parm,WM831X_STATUS_LED_1 ,0xc300,0xc100);// set led1 on(in manual mode)
99 wm831x_set_bits(parm,WM831X_STATUS_LED_2 ,0xc300,0xc000);//set led2 off(in manual mode)
101 wm831x_reg_write(parm, WM831X_SECURITY_KEY, LOCK_SECURITY_KEY); // lock security key
106 int wm831x_post_init(struct wm831x *Wm831x)
108 struct regulator *dcdc;
109 struct regulator *ldo;
112 ldo = regulator_get(NULL, "ldo8"); //vcca33
113 regulator_set_voltage(ldo, 3300000, 3300000);
114 regulator_set_suspend_voltage(ldo, 3300000);
115 regulator_enable(ldo);
116 // printk("%s set ldo8 vcca33=%dmV end\n", __func__, regulator_get_voltage(ldo));
120 ldo = regulator_get(NULL, "ldo3"); // vdd_11
121 regulator_set_voltage(ldo, 1100000, 1100000);
122 regulator_set_suspend_voltage(ldo, 1100000);
123 regulator_enable(ldo);
124 // printk("%s set ldo3 vdd_11=%dmV end\n", __func__, regulator_get_voltage(ldo));
128 dcdc = regulator_get(NULL, "dcdc3"); // vcc_io
129 regulator_set_voltage(dcdc, 3000000, 3000000);
130 regulator_set_suspend_voltage(dcdc, 3000000);
131 regulator_enable(dcdc);
132 // printk("%s set dcdc3 vcc_io=%dmV end\n", __func__, regulator_get_voltage(dcdc));
136 ldo = regulator_get(NULL, "ldo4"); //vdd_usb11
137 regulator_set_voltage(ldo, 1100000, 1100000);
138 regulator_set_suspend_voltage(ldo, 1100000);
139 regulator_enable(ldo);
140 // printk("%s set ldo4 vdd_usb11=%dmV end\n", __func__, regulator_get_voltage(ldo));
143 ldo = regulator_get(NULL, "ldo5"); //vcc_25
144 regulator_set_voltage(ldo, 2500000, 2500000);
145 regulator_set_suspend_voltage(ldo, 2500000);
146 regulator_enable(ldo);
147 // printk("%s set ldo5 vcc_25=%dmV end\n", __func__, regulator_get_voltage(ldo));
151 ldo = regulator_get(NULL, "ldo10"); //vcc_usb33
152 regulator_set_voltage(ldo, 3300000, 3300000);
153 regulator_set_suspend_voltage(ldo, 3300000);
154 regulator_enable(ldo);
155 // printk("%s set ldo10 vcc_usb33=%dmV end\n", __func__, regulator_get_voltage(ldo));
158 dcdc = regulator_get(NULL, "dcdc1"); // vcc_lpddr2_1v8
159 regulator_set_voltage(dcdc, 1800000, 1800000);
160 regulator_set_suspend_voltage(dcdc, 1800000);
161 regulator_enable(dcdc);
162 printk("%s set dcdc1 vcc_lpddr2_1v8=%dmV end\n", __func__, regulator_get_voltage(dcdc));
166 dcdc = regulator_get(NULL, "dcdc2"); // vcc_lpddr2_1v2
167 regulator_set_voltage(dcdc, 1200000, 1200000);
168 regulator_set_suspend_voltage(dcdc, 1200000);
169 regulator_enable(dcdc);
170 printk("%s set dcdc2 vcc_lpddr2_1v2=%dmV end\n", __func__, regulator_get_voltage(dcdc));
174 ldo = regulator_get(NULL, "ldo2"); // vcc_emmc3v3
175 regulator_set_voltage(ldo, 3000000, 3000000);
176 regulator_set_suspend_voltage(ldo, 3000000);
177 regulator_enable(ldo);
178 // printk("%s set ldo2 vcc_emmc3v3=%dmV end\n", __func__, regulator_get_voltage(ldo));
182 ldo = regulator_get(NULL, "ldo6"); // vcc_codec18
183 regulator_set_voltage(ldo, 1800000, 1800000);
184 regulator_set_suspend_voltage(ldo, 1800000);
185 regulator_enable(ldo);
186 // printk("%s set ldo6 vcc_codec18=%dmV end\n", __func__, regulator_get_voltage(ldo));
190 ldo = regulator_get(NULL, "ldo1"); // vcc_lcd
191 regulator_set_voltage(ldo, 3000000, 3000000);
192 regulator_set_suspend_voltage(ldo, 3000000);
193 regulator_enable(ldo);
194 // printk("%s set ldo1 vcc_lcd=%dmV end\n", __func__, regulator_get_voltage(ldo));
199 ldo = regulator_get(NULL, "ldo7"); //vdd_mtv_1v2
200 regulator_set_voltage(ldo, 1200000, 1200000);
201 regulator_set_suspend_voltage(ldo, 1200000);
202 regulator_enable(ldo);
203 // printk("%s set ldo7 vdd_mtv_1v2=%dmV end\n", __func__, regulator_get_voltage(ldo));
207 ldo = regulator_get(NULL, "ldo9"); //vdd_mtv_3v
208 regulator_set_voltage(ldo, 3000000, 3000000);
209 regulator_set_suspend_voltage(ldo, 3000000);
210 regulator_enable(ldo);
211 // printk("%s set ldo9 vdd_mtv_3v=%dmV end\n", __func__, regulator_get_voltage(ldo));
216 //discrete dcdc device
217 #ifdef CONFIG_RK30_PWM_REGULATOR
218 dcdc = regulator_get(NULL, "vdd_core"); // vdd_log
219 regulator_set_voltage(dcdc, 1050000, 1050000);
220 regulator_enable(dcdc);
221 printk("%s set vdd_core=%dmV end\n", __func__, regulator_get_voltage(dcdc));
225 dcdc = regulator_get(NULL, "vdd_cpu"); // vdd_arm
226 regulator_set_voltage(dcdc, 1100000, 1100000);
227 regulator_enable(dcdc);
228 printk("%s set vdd_cpu=%dmV end\n", __func__, regulator_get_voltage(dcdc));
232 printk("wm831x_post_init end");
236 static int wm831x_last_deinit(struct wm831x *Wm831x)
238 struct regulator *ldo;
240 printk("%s\n", __func__);
241 ldo = regulator_get(NULL, "ldo1");
242 regulator_disable(ldo);
245 ldo = regulator_get(NULL, "ldo2");
246 regulator_disable(ldo);
249 ldo = regulator_get(NULL, "ldo3");
250 //regulator_disable(ldo);
253 ldo = regulator_get(NULL, "ldo4");
254 regulator_disable(ldo);
257 ldo = regulator_get(NULL, "ldo5");
258 //regulator_disable(ldo);
261 ldo = regulator_get(NULL, "ldo6");
262 regulator_disable(ldo);
265 ldo = regulator_get(NULL, "ldo7");
266 regulator_disable(ldo);
269 ldo = regulator_get(NULL, "ldo8");
270 //regulator_disable(ldo);
273 ldo = regulator_get(NULL, "ldo9");
274 regulator_disable(ldo);
277 ldo = regulator_get(NULL, "ldo10");
278 regulator_disable(ldo);
284 struct wm831x_backlight_pdata wm831x_backlight_platdata = {
285 .isink = 1, /** ISINK to use, 1 or 2 */
286 .max_uA = 19484, /** Maximum current to allow */
289 struct wm831x_backup_pdata wm831x_backup_platdata = {
291 .no_constant_voltage = 0, /** Disable constant voltage charging */
292 .vlim = 3100, /** Voltage limit in milivolts */
293 .ilim = 300, /** Current limit in microamps */
296 struct wm831x_battery_pdata wm831x_battery_platdata = {
297 .enable = 1, /** Enable charging */
298 .fast_enable = 1, /** Enable fast charging */
299 .off_mask = 1, /** Mask OFF while charging */
300 .trickle_ilim = 200, /** Trickle charge current limit, in mA */
301 .vsel = 4200, /** Target voltage, in mV */
302 .eoc_iterm = 50, /** End of trickle charge current, in mA */
303 .fast_ilim = 500, /** Fast charge current limit, in mA */
304 .timeout = 480, /** Charge cycle timeout, in minutes */
305 .syslo = 3300, /* syslo threshold, in mV*/
306 .sysok = 3500, /* sysko threshold, in mV*/
309 struct wm831x_status_pdata wm831x_status_platdata[WM831X_MAX_STATUS] = {
311 .default_src = WM831X_STATUS_OTP,
312 .name = "wm831x_status0",
313 .default_trigger = "wm831x_otp",
316 .default_src = WM831X_STATUS_POWER,
317 .name = "wm831x_status1",
318 .default_trigger = "wm831x_power",
322 static struct regulator_consumer_supply dcdc1_consumers[] = {
328 static struct regulator_consumer_supply dcdc2_consumers[] = {
335 static struct regulator_consumer_supply dcdc3_consumers[] = {
341 static struct regulator_consumer_supply dcdc4_consumers[] = {
348 static struct regulator_consumer_supply epe1_consumers[] = {
354 static struct regulator_consumer_supply epe2_consumers[] = {
361 static struct regulator_consumer_supply ldo1_consumers[] = {
367 static struct regulator_consumer_supply ldo2_consumers[] = {
373 static struct regulator_consumer_supply ldo3_consumers[] = {
379 static struct regulator_consumer_supply ldo4_consumers[] = {
385 static struct regulator_consumer_supply ldo5_consumers[] = {
391 static struct regulator_consumer_supply ldo6_consumers[] = {
397 static struct regulator_consumer_supply ldo7_consumers[] = {
403 static struct regulator_consumer_supply ldo8_consumers[] = {
409 static struct regulator_consumer_supply ldo9_consumers[] = {
415 static struct regulator_consumer_supply ldo10_consumers[] = {
421 static struct regulator_consumer_supply ldo11_consumers[] = {
427 static struct regulator_consumer_supply isink1_consumers[] = {
432 static struct regulator_consumer_supply isink2_consumers[] = {
437 struct regulator_init_data wm831x_regulator_init_dcdc[WM831X_MAX_DCDC] = {
442 .max_uV = 1800000, //0.6-1.8V
444 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
446 .num_consumer_supplies = ARRAY_SIZE(dcdc1_consumers),
447 .consumer_supplies = dcdc1_consumers,
453 .max_uV = 1800000, //0.6-1.8V
455 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
457 .num_consumer_supplies = ARRAY_SIZE(dcdc2_consumers),
458 .consumer_supplies = dcdc2_consumers,
464 .max_uV = 3400000, //0.85-3.4V
466 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
468 .num_consumer_supplies = ARRAY_SIZE(dcdc3_consumers),
469 .consumer_supplies = dcdc3_consumers,
475 .max_uV = 30000000,//30V/40mA
477 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
479 .num_consumer_supplies = ARRAY_SIZE(dcdc4_consumers),
480 .consumer_supplies = dcdc4_consumers,
484 struct regulator_init_data wm831x_regulator_init_epe[WM831X_MAX_EPE] = {
491 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
493 .num_consumer_supplies = ARRAY_SIZE(epe1_consumers),
494 .consumer_supplies = epe1_consumers,
502 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
504 .num_consumer_supplies = ARRAY_SIZE(epe2_consumers),
505 .consumer_supplies = epe2_consumers,
510 struct regulator_init_data wm831x_regulator_init_ldo[WM831X_MAX_LDO] = {
517 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
519 .num_consumer_supplies = ARRAY_SIZE(ldo1_consumers),
520 .consumer_supplies = ldo1_consumers,
528 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
530 .num_consumer_supplies = ARRAY_SIZE(ldo2_consumers),
531 .consumer_supplies = ldo2_consumers,
539 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
541 .num_consumer_supplies = ARRAY_SIZE(ldo3_consumers),
542 .consumer_supplies = ldo3_consumers,
550 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
552 .num_consumer_supplies = ARRAY_SIZE(ldo4_consumers),
553 .consumer_supplies = ldo4_consumers,
561 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
563 .num_consumer_supplies = ARRAY_SIZE(ldo5_consumers),
564 .consumer_supplies = ldo5_consumers,
572 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
574 .num_consumer_supplies = ARRAY_SIZE(ldo6_consumers),
575 .consumer_supplies = ldo6_consumers,
583 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
585 .num_consumer_supplies = ARRAY_SIZE(ldo7_consumers),
586 .consumer_supplies = ldo7_consumers,
594 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
596 .num_consumer_supplies = ARRAY_SIZE(ldo8_consumers),
597 .consumer_supplies = ldo8_consumers,
605 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
607 .num_consumer_supplies = ARRAY_SIZE(ldo9_consumers),
608 .consumer_supplies = ldo9_consumers,
616 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
618 .num_consumer_supplies = ARRAY_SIZE(ldo10_consumers),
619 .consumer_supplies = ldo10_consumers,
627 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_VOLTAGE,
629 .num_consumer_supplies = ARRAY_SIZE(ldo11_consumers),
630 .consumer_supplies = ldo11_consumers,
633 struct regulator_init_data wm831x_regulator_init_isink[WM831X_MAX_ISINK] = {
641 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_CURRENT,
643 .num_consumer_supplies = ARRAY_SIZE(isink1_consumers),
644 .consumer_supplies = isink1_consumers,
652 .valid_ops_mask = REGULATOR_CHANGE_STATUS | REGULATOR_CHANGE_CURRENT,
654 .num_consumer_supplies = ARRAY_SIZE(isink2_consumers),
655 .consumer_supplies = isink2_consumers,
658 static int wm831x_checkrange(int start,int num,int val)
660 if((val<(start+num))&&(val>=start))
665 static int wm831x_init_pin_type(struct wm831x *wm831x)
667 struct wm831x_pdata *pdata;
668 struct rk29_gpio_expander_info *wm831x_gpio_settinginfo;
669 uint16_t wm831x_settingpin_num;
672 if (!wm831x || !wm831x->dev)
675 pdata = wm831x->dev->platform_data;
679 wm831x_gpio_settinginfo = pdata->settinginfo;
680 if (!wm831x_gpio_settinginfo)
683 wm831x_settingpin_num = pdata->settinginfolen;
684 for (i = 0; i < wm831x_settingpin_num; i++) {
685 if (wm831x_gpio_settinginfo[i].pin_type == GPIO_IN) {
686 wm831x_set_bits(wm831x,
687 WM831X_GPIO1_CONTROL + i,
688 WM831X_GPN_DIR_MASK | WM831X_GPN_TRI_MASK,
689 1 << WM831X_GPN_DIR_SHIFT | 1 << WM831X_GPN_TRI_SHIFT);
691 wm831x_set_bits(wm831x,
692 WM831X_GPIO1_CONTROL + i,
693 WM831X_GPN_PULL_MASK, 1 << WM831X_GPN_PULL_SHIFT); //pull down
695 wm831x_set_bits(wm831x,
696 WM831X_GPIO1_CONTROL + i,
697 WM831X_GPN_PWR_DOM_MASK,
699 } // set gpiox power domain
701 wm831x_set_bits(wm831x,
702 WM831X_GPIO1_CONTROL + i,
703 WM831X_GPN_PWR_DOM_MASK,
704 ~WM831X_GPN_PWR_DOM);
707 wm831x_set_bits(wm831x,
708 WM831X_GPIO1_CONTROL + i,
711 wm831x_set_bits(wm831x,
712 WM831X_GPIO1_CONTROL + i,
715 } // set gpio2 sleep/wakeup
718 wm831x_set_bits(wm831x,
719 WM831X_GPIO1_CONTROL + i,
720 WM831X_GPN_DIR_MASK | WM831X_GPN_TRI_MASK,
721 1 << WM831X_GPN_TRI_SHIFT);
722 if (wm831x_gpio_settinginfo[i].pin_value == GPIO_HIGH) {
723 wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << i, 1 << i);
725 wm831x_set_bits(wm831x, WM831X_GPIO_LEVEL, 1 << i, 0 << i);
728 wm831x_set_bits(wm831x,
729 WM831X_GPIO1_CONTROL + i,
730 WM831X_GPN_PWR_DOM_MASK | WM831X_GPN_POL_MASK |WM831X_GPN_FN_MASK,
731 1 << WM831X_GPN_POL_SHIFT | 1 << WM831X_GPN_PWR_DOM_SHIFT | 1 << 0);
733 } // set gpio3 as clkout output 32.768K
735 wm831x_set_bits(wm831x,
736 WM831X_GPIO1_CONTROL + i,
737 WM831X_GPN_PWR_DOM_MASK,
738 ~WM831X_GPN_PWR_DOM);
744 for (i = 0; i < pdata->gpio_pin_num; i++) {
745 wm831x_set_bits(wm831x,
746 WM831X_GPIO1_CONTROL + i,
747 WM831X_GPN_PULL_MASK | WM831X_GPN_POL_MASK | WM831X_GPN_OD_MASK | WM831X_GPN_TRI_MASK,
748 1 << WM831X_GPN_POL_SHIFT | 1 << WM831X_GPN_TRI_SHIFT);
750 ret = wm831x_reg_read(wm831x, WM831X_GPIO1_CONTROL + i);
751 printk("Gpio%d Pin Configuration = %x\n", i, ret);
758 #if defined(CONFIG_KEYBOARD_WM831X_GPIO)
759 static struct wm831x_gpio_keys_button wm831x_gpio_buttons[] = {
766 .debounce_interval = 120,
783 .code= KEY_VOLUMEDOWN,
786 .desc= "volume_down",
819 struct wm831x_gpio_keys_pdata wm831x_gpio_keys_platdata = {
820 .buttons = wm831x_gpio_buttons,
821 .nbuttons = ARRAY_SIZE(wm831x_gpio_buttons),
826 static struct wm831x_pdata wm831x_platdata = {
828 /** Called before subdevices are set up */
829 .pre_init = wm831x_pre_init,
830 /** Called after subdevices are set up */
831 .post_init = wm831x_post_init,
832 /** Called before subdevices are power down */
833 .last_deinit = wm831x_last_deinit,
835 #if defined(CONFIG_GPIO_WM831X)
836 .gpio_base = WM831X_GPIO_EXPANDER_BASE,
837 .gpio_pin_num = WM831X_TOTOL_GPIO_NUM,
838 .settinginfo = wm831x_gpio_settinginfo,
839 .settinginfolen = ARRAY_SIZE(wm831x_gpio_settinginfo),
840 .pin_type_init = wm831x_init_pin_type,
841 .irq_base = IRQ_BOARD_BASE,
843 .backlight = &wm831x_backlight_platdata,
845 .backup = &wm831x_backup_platdata,
847 .battery = &wm831x_battery_platdata,
848 //.wm831x_touch_pdata = NULL,
851 #if defined(CONFIG_KEYBOARD_WM831X_GPIO)
852 .gpio_keys = &wm831x_gpio_keys_platdata,
854 /** LED1 = 0 and so on */
855 .status = { &wm831x_status_platdata[0], &wm831x_status_platdata[1] },
857 /** DCDC1 = 0 and so on */
859 &wm831x_regulator_init_dcdc[0],
860 &wm831x_regulator_init_dcdc[1],
861 &wm831x_regulator_init_dcdc[2],
862 &wm831x_regulator_init_dcdc[3],
865 /** EPE1 = 0 and so on */
866 .epe = { &wm831x_regulator_init_epe[0], &wm831x_regulator_init_epe[1] },
868 /** LDO1 = 0 and so on */
870 &wm831x_regulator_init_ldo[0],
871 &wm831x_regulator_init_ldo[1],
872 &wm831x_regulator_init_ldo[2],
873 &wm831x_regulator_init_ldo[3],
874 &wm831x_regulator_init_ldo[4],
875 &wm831x_regulator_init_ldo[5],
876 &wm831x_regulator_init_ldo[6],
877 &wm831x_regulator_init_ldo[7],
878 &wm831x_regulator_init_ldo[8],
879 &wm831x_regulator_init_ldo[9],
880 &wm831x_regulator_init_ldo[10],
882 /** ISINK1 = 0 and so on*/
883 //.isink = {&wm831x_regulator_init_isink[0], &wm831x_regulator_init_isink[1]},