aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/wm8350-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd/wm8350-core.c')
-rw-r--r--drivers/mfd/wm8350-core.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index 56c363c240a9..e03fe60b55bf 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -1169,6 +1169,36 @@ static int wm8350_create_cache(struct wm8350 *wm8350, int type, int mode)
1169 return -EINVAL; 1169 return -EINVAL;
1170 } 1170 }
1171 1171
1172 case 1:
1173 switch (mode) {
1174#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_0
1175 case 0:
1176 reg_map = wm8351_mode0_defaults;
1177 break;
1178#endif
1179#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_1
1180 case 1:
1181 reg_map = wm8351_mode1_defaults;
1182 break;
1183#endif
1184#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_2
1185 case 2:
1186 reg_map = wm8351_mode2_defaults;
1187 break;
1188#endif
1189#ifdef CONFIG_MFD_WM8351_CONFIG_MODE_3
1190 case 3:
1191 reg_map = wm8351_mode3_defaults;
1192 break;
1193#endif
1194 default:
1195 dev_err(wm8350->dev,
1196 "WM8351 configuration mode %d not supported\n",
1197 mode);
1198 return -EINVAL;
1199 }
1200 break;
1201
1172 case 2: 1202 case 2:
1173 switch (mode) { 1203 switch (mode) {
1174#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_0 1204#ifdef CONFIG_MFD_WM8352_CONFIG_MODE_0
@@ -1327,6 +1357,23 @@ int wm8350_device_init(struct wm8350 *wm8350, int irq,
1327 } 1357 }
1328 break; 1358 break;
1329 1359
1360 case 1:
1361 wm8350->pmic.max_dcdc = WM8350_DCDC_4;
1362 wm8350->pmic.max_isink = WM8350_ISINK_A;
1363
1364 switch (chip_rev) {
1365 case 0:
1366 dev_info(wm8350->dev, "WM8351 Rev A\n");
1367 wm8350->power.rev_g_coeff = 1;
1368 break;
1369
1370 default:
1371 dev_err(wm8350->dev, "Unknown WM8351 CHIP_REV\n");
1372 ret = -ENODEV;
1373 goto err;
1374 }
1375 break;
1376
1330 case 2: 1377 case 2:
1331 wm8350->pmic.max_dcdc = WM8350_DCDC_6; 1378 wm8350->pmic.max_dcdc = WM8350_DCDC_6;
1332 wm8350->pmic.max_isink = WM8350_ISINK_B; 1379 wm8350->pmic.max_isink = WM8350_ISINK_B;