PLDO("8038_l14", "8038_l14_pc", 0x0C8, 0x0C9, LDO_50), PLDO("8038_l15", "8038_l15_pc", 0x0CA, 0x0CB, LDO_150), NLDO1200("8038_l16", 0x0CC, 0x0CD, LDO_1200), PLDO("8038_l17", "8038_l17_pc", 0x0CE, 0x0CF, LDO_150), PLDO("8038_l18", "8038_l18_pc", 0x0D0, 0x0D1, LDO_50), NLDO1200("8038_l19", 0x0D2, 0x0D3, LDO_1200), NLDO1200("8038_l20", 0x0D4, 0x0D5, LDO_1200), PLDO("8038_l21", "8038_l21_pc", 0x0D6, 0x0D7, LDO_150), PLDO("8038_l22", "8038_l22_pc", 0x0D8, 0x0D9, LDO_50), PLDO("8038_l23", "8038_l23_pc", 0x0DA, 0x0DB, LDO_50), NLDO1200("8038_l24", 0x0DC, 0x0DD, LDO_1200), NLDO("8038_l26", "8038_l26_pc", 0x0E0, 0x0E1, LDO_150), NLDO1200("8038_l27", 0x0E2, 0x0E3, LDO_1200), /* name pc_name ctrl test2 clk sleep hpm_min */ SMPS("8038_s1", "8038_s1_pc", 0x1E0, 0x1E5, 0x009, 0x1E2, SMPS_1500), SMPS("8038_s2", "8038_s2_pc", 0x1D8, 0x1DD, 0x00A, 0x1DA, SMPS_1500), SMPS("8038_s3", "8038_s3_pc", 0x1D0, 0x1D5, 0x00B, 0x1D2, SMPS_1500), SMPS("8038_s4", "8038_s4_pc", 0x1E8, 0x1ED, 0x00C, 0x1EA, SMPS_1500), /* name ctrl fts_cnfg1 pfm pwr_cnfg hpm_min */ FTSMPS("8038_s5", 0x025, 0x02E, 0x026, 0x032, SMPS_2000), FTSMPS("8038_s6", 0x036, 0x03F, 0x037, 0x043, SMPS_2000), /* name pc_name ctrl test */ VS("8038_lvs1", "8038_lvs1_pc", 0x060, 0x061), VS("8038_lvs2", "8038_lvs2_pc", 0x062, 0x063), }; #define MAX_NAME_COMPARISON_LEN 32
static struct vreg vregs[] = { LDO(L2, "8018_l2", "8018_l2_pc", pldo, LDO_50, 0), LDO(L3, "8018_l3", "8018_l3_pc", pldo, LDO_50, 0), LDO(L4, "8018_l4", "8018_l4_pc", pldo, LDO_300, 0), LDO(L5, "8018_l5", "8018_l5_pc", pldo, LDO_150, 0), LDO(L6, "8018_l6", "8018_l6_pc", pldo, LDO_150, 0), LDO(L7, "8018_l7", "8018_l7_pc", pldo, LDO_300, 0), LDO(L8, "8018_l8", "8018_l8_pc", nldo, LDO_150, 1), LDO(L9, "8018_l9", NULL, nldo1200, LDO_1200, 0), LDO(L10, "8018_l10", NULL, nldo1200, LDO_1200, 0), LDO(L11, "8018_l11", NULL, nldo1200, LDO_1200, 0), LDO(L12, "8018_l12", NULL, nldo1200, LDO_1200, 0), LDO(L13, "8018_l13", "8018_l13_pc", pldo, LDO_50, 0), LDO(L14, "8018_l14", "8018_l14_pc", pldo, LDO_50, 0), SMPS(S1, "8018_s1", "8018_s1_pc", smps, SMPS_1500), SMPS(S2, "8018_s2", "8018_s2_pc", smps, SMPS_1500), SMPS(S3, "8018_s3", "8018_s3_pc", smps, SMPS_1500), SMPS(S4, "8018_s4", "8018_s4_pc", smps, SMPS_1500), SMPS(S5, "8018_s5", "8018_s5_pc", smps, SMPS_1500), LVS(LVS1, "8018_lvs1", "8018_lvs1_pc"), CORNER(VDD_DIG_CORNER, VOLTAGE_CORNER, "vdd_dig_corner", corner), }; static const char *pin_control_label[] = { " D1", " A0", " A1", " A2",
PLDO("8921_l15", "8921_l15_pc", 0x0CA, 0x0CB, LDO_150), PLDO("8921_l16", "8921_l16_pc", 0x0CC, 0x0CD, LDO_300), PLDO("8921_l17", "8921_l17_pc", 0x0CE, 0x0CF, LDO_150), NLDO("8921_l18", "8921_l18_pc", 0x0D0, 0x0D1, LDO_150), PLDO("8921_l21", "8921_l21_pc", 0x0D6, 0x0D7, LDO_150), PLDO("8921_l22", "8921_l22_pc", 0x0D8, 0x0D9, LDO_150), PLDO("8921_l23", "8921_l23_pc", 0x0DA, 0x0DB, LDO_150), NLDO1200("8921_l24", 0x0DC, 0x0DD, LDO_1200), NLDO1200("8921_l25", 0x0DE, 0x0DF, LDO_1200), NLDO1200("8921_l26", 0x0E0, 0x0E1, LDO_1200), NLDO1200("8921_l27", 0x0E2, 0x0E3, LDO_1200), NLDO1200("8921_l28", 0x0E4, 0x0E5, LDO_1200), PLDO("8921_l29", "8921_l29_pc", 0x0E6, 0x0E7, LDO_150), /* name pc_name ctrl test2 clk sleep hpm_min */ SMPS("8921_s1", "8921_s1_pc", 0x1D0, 0x1D5, 0x009, 0x1D2, SMPS_1500), SMPS("8921_s2", "8921_s2_pc", 0x1D8, 0x1DD, 0x00A, 0x1DA, SMPS_1500), SMPS("8921_s3", "8921_s3_pc", 0x1E0, 0x1E5, 0x00B, 0x1E2, SMPS_1500), SMPS("8921_s4", "8921_s4_pc", 0x1E8, 0x1ED, 0x011, 0x1EA, SMPS_1500), /* name ctrl fts_cnfg1 pfm pwr_cnfg hpm_min */ FTSMPS("8921_s5", 0x025, 0x02E, 0x026, 0x032, SMPS_2000), FTSMPS("8921_s6", 0x036, 0x03F, 0x037, 0x043, SMPS_2000), /* name pc_name ctrl test2 clk sleep hpm_min */ SMPS("8921_s7", "8921_s7_pc", 0x1F0, 0x1F5, 0x012, 0x1F2, SMPS_1500), SMPS("8921_s8", "8921_s8_pc", 0x1F8, 0x1FD, 0x013, 0x1FA, SMPS_1500), /* name pc_name ctrl */ VS("8921_lvs1", "8921_lvs1_pc", 0x060), VS300("8921_lvs2", 0x062),
LDO(8038_L14, "8038_l14", "8038_l14_pc", pldo, LDO_50, 0), LDO(8038_L15, "8038_l15", "8038_l15_pc", pldo, LDO_150, 0), LDO(8038_L16, "8038_l16", NULL, nldo1200, LDO_1200, 1), LDO(8038_L17, "8038_l17", "8038_l17_pc", pldo, LDO_150, 0), LDO(8038_L18, "8038_l18", "8038_l18_pc", pldo, LDO_50, 0), LDO(8038_L19, "8038_l19", NULL, nldo1200, LDO_1200, 1), LDO(8038_L20, "8038_l20", NULL, nldo1200, LDO_1200, 1), LDO(8038_L21, "8038_l21", "8038_l21_pc", pldo, LDO_150, 0), LDO(8038_L22, "8038_l22", "8038_l22_pc", pldo, LDO_50, 0), LDO(8038_L23, "8038_l23", "8038_l23_pc", pldo, LDO_50, 0), LDO(8038_L24, "8038_l24", NULL, nldo1200, LDO_1200, 1), LDO(8038_L25, "8038_l25", NULL, ln_ldo, LDO_5, 0), LDO(8038_L26, "8038_l26", "8038_l26_pc", nldo, LDO_150, 1), LDO(8038_L27, "8038_l27", NULL, nldo1200, LDO_1200, 1), SMPS(8038_S1, "8038_s1", "8038_s1_pc", smps, SMPS_1500), SMPS(8038_S2, "8038_s2", "8038_s2_pc", smps, SMPS_1500), SMPS(8038_S3, "8038_s3", "8038_s3_pc", smps, SMPS_1500), SMPS(8038_S4, "8038_s4", "8038_s4_pc", smps, SMPS_1500), SMPS(8038_S5, "8038_s5", NULL, ftsmps, SMPS_2000), SMPS(8038_S6, "8038_s6", NULL, ftsmps, SMPS_2000), LVS(8038_LVS1, "8038_lvs1", "8038_lvs1_pc"), LVS(8038_LVS2, "8038_lvs2", "8038_lvs2_pc"), CORNER(8038_VDD_DIG_CORNER, VOLTAGE_CORNER, "vdd_dig_corner", corner), }; static struct vreg vregs_msm8930_pm8917[] = { LDO(8917_L1, "8917_l1", "8917_l1_pc", nldo, LDO_150, 1), LDO(8917_L2, "8917_l2", "8917_l2_pc", nldo, LDO_150, 1),
LDO(PM8058_VREG_ID_L13, 0x016, 0x072, 0), LDO(PM8058_VREG_ID_L14, 0x017, 0x073, 0), LDO(PM8058_VREG_ID_L15, 0x089, 0x0E5, 0), LDO(PM8058_VREG_ID_L16, 0x08A, 0x0E6, 0), LDO(PM8058_VREG_ID_L17, 0x08B, 0x0E7, 0), LDO(PM8058_VREG_ID_L18, 0x11D, 0x125, 0), LDO(PM8058_VREG_ID_L19, 0x11E, 0x126, 0), LDO(PM8058_VREG_ID_L20, 0x11F, 0x127, 0), LDO(PM8058_VREG_ID_L21, 0x120, 0x128, 1), LDO(PM8058_VREG_ID_L22, 0x121, 0x129, 1), LDO(PM8058_VREG_ID_L23, 0x122, 0x12A, 1), LDO(PM8058_VREG_ID_L24, 0x123, 0x12B, 1), LDO(PM8058_VREG_ID_L25, 0x124, 0x12C, 1), /* id ctrl test2 clk_ctrl */ SMPS(PM8058_VREG_ID_S0, 0x004, 0x084, 0x1D1), SMPS(PM8058_VREG_ID_S1, 0x005, 0x085, 0x1D2), SMPS(PM8058_VREG_ID_S2, 0x110, 0x119, 0x1D3), SMPS(PM8058_VREG_ID_S3, 0x111, 0x11A, 0x1D4), SMPS(PM8058_VREG_ID_S4, 0x112, 0x11B, 0x1D5), /* id ctrl */ LVS(PM8058_VREG_ID_LVS0, 0x12D), LVS(PM8058_VREG_ID_LVS1, 0x12F), /* id ctrl */ NCP(PM8058_VREG_ID_NCP, 0x090), }; static int pm8058_vreg_write(struct pm8058_chip *chip, u16 addr, u8 val, u8 mask, u8 *reg_save)
LDO(L14, "8921_l14", "8921_l14_pc", pldo, LDO_50, 0), LDO(L15, "8921_l15", "8921_l15_pc", pldo, LDO_150, 0), LDO(L16, "8921_l16", "8921_l16_pc", pldo, LDO_300, 0), LDO(L17, "8921_l17", "8921_l17_pc", pldo, LDO_150, 0), LDO(L18, "8921_l18", "8921_l18_pc", nldo, LDO_150, 1), LDO(L21, "8921_l21", "8921_l21_pc", pldo, LDO_150, 0), LDO(L22, "8921_l22", "8921_l22_pc", pldo, LDO_150, 0), LDO(L23, "8921_l23", "8921_l23_pc", pldo, LDO_150, 0), LDO(L24, "8921_l24", NULL, nldo1200, LDO_1200, 0), LDO(L25, "8921_l25", NULL, nldo1200, LDO_1200, 0), LDO(L26, "8921_l26", NULL, nldo1200, LDO_1200, 0), LDO(L27, "8921_l27", NULL, nldo1200, LDO_1200, 0), LDO(L28, "8921_l28", NULL, nldo1200, LDO_1200, 0), LDO(L29, "8921_l29", "8921_l29_pc", pldo, LDO_150, 0), SMPS(S1, "8921_s1", "8921_s1_pc", smps, SMPS_1500), SMPS(S2, "8921_s2", "8921_s2_pc", smps, SMPS_1500), SMPS(S3, "8921_s3", "8921_s3_pc", smps, SMPS_1500), SMPS(S4, "8921_s4", "8921_s4_pc", smps, SMPS_1500), SMPS(S5, "8921_s5", NULL, ftsmps, SMPS_2000), SMPS(S6, "8921_s6", NULL, ftsmps, SMPS_2000), SMPS(S7, "8921_s7", "8921_s7_pc", smps, SMPS_1500), SMPS(S8, "8921_s8", "8921_s8_pc", smps, SMPS_1500), LVS(LVS1, "8921_lvs1", "8921_lvs1_pc"), LVS(LVS2, "8921_lvs2", NULL), LVS(LVS3, "8921_lvs3", "8921_lvs3_pc"), LVS(LVS4, "8921_lvs4", "8921_lvs4_pc"), LVS(LVS5, "8921_lvs5", "8921_lvs5_pc"), LVS(LVS6, "8921_lvs6", "8921_lvs6_pc"), LVS(LVS7, "8921_lvs7", "8921_lvs7_pc"),
LDO(PM8058_L16, LDO16, "8058_l16", "8058_l16_pc", pldo, LDO_300), LDO(PM8058_L17, LDO17, "8058_l17", "8058_l17_pc", pldo, LDO_150), LDO(PM8058_L18, LDO18, "8058_l18", "8058_l18_pc", pldo, LDO_150), #ifdef CONFIG_TOUCHSCREEN_CYTTSP_I2C LDO(PM8058_L19, LDO19, "8058_l19", "8058_l19_pc", pldo, LDO_150), #else LDO(PM8058_L19, LDO19, "8058_l19", "8058_l19_pc", pldo, LDO_150), #endif LDO(PM8058_L20, LDO20, "8058_l20", "8058_l20_pc", pldo, LDO_150), LDO(PM8058_L21, LDO21, "8058_l21", "8058_l21_pc", nldo, LDO_150), LDO(PM8058_L22, LDO22, "8058_l22", "8058_l22_pc", nldo, LDO_300), LDO(PM8058_L23, LDO23, "8058_l23", "8058_l23_pc", nldo, LDO_300), LDO(PM8058_L24, LDO24, "8058_l24", "8058_l24_pc", nldo, LDO_150), LDO(PM8058_L25, LDO25, "8058_l25", "8058_l25_pc", nldo, LDO_150), SMPS(PM8058_S0, SMPS0, "8058_s0", "8058_s0_pc", smps, SMPS), SMPS(PM8058_S1, SMPS1, "8058_s1", "8058_s1_pc", smps, SMPS), SMPS(PM8058_S2, SMPS2, "8058_s2", "8058_s2_pc", smps, SMPS), SMPS(PM8058_S3, SMPS3, "8058_s3", "8058_s3_pc", smps, SMPS), SMPS(PM8058_S4, SMPS4, "8058_s4", "8058_s4_pc", smps, SMPS), #ifdef CONFIG_TOUCHSCREEN_CYTTSP_I2C LVS(PM8058_LVS0, LVS0, "8058_lvs0", "8058_lvs0_pc"), #else LVS(PM8058_LVS0, LVS0, "8058_lvs0", "8058_lvs0_pc"), #endif // P12095 110301 added #ifdef CONFIG_SENSORS_MPU3050 LVS(PM8058_LVS1, LVS1, "8058_lvs1", "8058_lvs1_pc"), #else
.pmr_addr = _pmr_addr, \ .type = REGULATOR_TYPE_VS, \ } static struct pm8901_vreg pm8901_vreg[] = { /* id ctrl pmr tst n/p */ LDO(PM8901_VREG_ID_L0, 0x02F, 0x0AB, 0x030, 1), LDO(PM8901_VREG_ID_L1, 0x031, 0x0AC, 0x032, 0), LDO(PM8901_VREG_ID_L2, 0x033, 0x0AD, 0x034, 0), LDO(PM8901_VREG_ID_L3, 0x035, 0x0AE, 0x036, 0), LDO(PM8901_VREG_ID_L4, 0x037, 0x0AF, 0x038, 0), LDO(PM8901_VREG_ID_L5, 0x039, 0x0B0, 0x03A, 0), LDO(PM8901_VREG_ID_L6, 0x03B, 0x0B1, 0x03C, 0), /* id ctrl pmr */ SMPS(PM8901_VREG_ID_S0, 0x05B, 0x0A6), SMPS(PM8901_VREG_ID_S1, 0x06A, 0x0A7), SMPS(PM8901_VREG_ID_S2, 0x079, 0x0A8), SMPS(PM8901_VREG_ID_S3, 0x088, 0x0A9), SMPS(PM8901_VREG_ID_S4, 0x097, 0x0AA), /* id ctrl pmr */ VS(PM8901_VREG_ID_LVS0, 0x046, 0x0B2), VS(PM8901_VREG_ID_LVS1, 0x048, 0x0B3), VS(PM8901_VREG_ID_LVS2, 0x04A, 0x0B4), VS(PM8901_VREG_ID_LVS3, 0x04C, 0x0B5), VS(PM8901_VREG_ID_MVS0, 0x052, 0x0B6), VS(PM8901_VREG_ID_USB_OTG, 0x055, 0x0B7), VS(PM8901_VREG_ID_HDMI_MVS, 0x058, 0x0B8), };