Lines Matching +full:s2mpg10 +full:- +full:pmic

1 // SPDX-License-Identifier: GPL-2.0+
24 #include "sec-core.h"
27 MFD_CELL_NAME("s5m8767-pmic"),
28 MFD_CELL_NAME("s5m-rtc"),
29 MFD_CELL_OF("s5m8767-clk", NULL, NULL, 0, 0, "samsung,s5m8767-clk"),
33 MFD_CELL_NAME("s2dos05-regulator"),
37 MFD_CELL_NAME("s2mpg10-meter"),
38 MFD_CELL_NAME("s2mpg10-regulator"),
39 MFD_CELL_NAME("s2mpg10-rtc"),
40 MFD_CELL_OF("s2mpg10-clk", NULL, NULL, 0, 0, "samsung,s2mpg10-clk"),
41 MFD_CELL_OF("s2mpg10-gpio", NULL, NULL, 0, 0, "samsung,s2mpg10-gpio"),
45 MFD_CELL_NAME("s2mps11-regulator"),
46 MFD_CELL_NAME("s2mps14-rtc"),
47 MFD_CELL_OF("s2mps11-clk", NULL, NULL, 0, 0, "samsung,s2mps11-clk"),
51 MFD_CELL_NAME("s2mps13-regulator"),
52 MFD_CELL_NAME("s2mps13-rtc"),
53 MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"),
57 MFD_CELL_NAME("s2mps14-regulator"),
58 MFD_CELL_NAME("s2mps14-rtc"),
59 MFD_CELL_OF("s2mps14-clk", NULL, NULL, 0, 0, "samsung,s2mps14-clk"),
63 MFD_CELL_NAME("s2mps15-regulator"),
64 MFD_CELL_NAME("s2mps15-rtc"),
65 MFD_CELL_OF("s2mps13-clk", NULL, NULL, 0, 0, "samsung,s2mps13-clk"),
69 MFD_CELL_NAME("s2mpa01-pmic"),
70 MFD_CELL_NAME("s2mps14-rtc"),
74 MFD_CELL_NAME("s2mpu02-regulator"),
78 MFD_CELL_NAME("s2mpu05-regulator"),
79 MFD_CELL_NAME("s2mps15-rtc"),
87 if (sec_pmic->device_type == S2MPG10) in sec_pmic_dump_rev()
91 if (!regmap_read(sec_pmic->regmap_pmic, S2MPS11_REG_ID, &val)) in sec_pmic_dump_rev()
92 dev_dbg(sec_pmic->dev, "Revision: 0x%x\n", val); in sec_pmic_dump_rev()
99 if (sec_pmic->device_type != S2MPS13X) in sec_pmic_configure()
102 if (sec_pmic->pdata->disable_wrstbi) { in sec_pmic_configure()
108 err = regmap_update_bits(sec_pmic->regmap_pmic, in sec_pmic_configure()
112 dev_warn(sec_pmic->dev, in sec_pmic_configure()
120 * device tree. Other sub-modules of s5m8767 such as pmic, rtc , charger and
124 * the sub-modules need not instantiate another instance while parsing their
134 return ERR_PTR(-ENOMEM); in sec_pmic_parse_dt_pdata()
136 pd->manual_poweroff = of_property_read_bool(dev->of_node, in sec_pmic_parse_dt_pdata()
137 "samsung,s2mps11-acokb-ground"); in sec_pmic_parse_dt_pdata()
138 pd->disable_wrstbi = of_property_read_bool(dev->of_node, in sec_pmic_parse_dt_pdata()
139 "samsung,s2mps11-wrstbi-ground"); in sec_pmic_parse_dt_pdata()
153 return -ENOMEM; in sec_pmic_probe()
156 sec_pmic->dev = dev; in sec_pmic_probe()
157 sec_pmic->device_type = device_type; in sec_pmic_probe()
158 sec_pmic->i2c = client; in sec_pmic_probe()
159 sec_pmic->irq = irq; in sec_pmic_probe()
160 sec_pmic->regmap_pmic = regmap; in sec_pmic_probe()
162 pdata = sec_pmic_parse_dt_pdata(sec_pmic->dev); in sec_pmic_probe()
168 sec_pmic->pdata = pdata; in sec_pmic_probe()
174 pm_runtime_set_active(sec_pmic->dev); in sec_pmic_probe()
176 switch (sec_pmic->device_type) { in sec_pmic_probe()
189 case S2MPG10: in sec_pmic_probe()
218 return dev_err_probe(sec_pmic->dev, -EINVAL, in sec_pmic_probe()
220 sec_pmic->device_type); in sec_pmic_probe()
222 ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, in sec_pmic_probe()
239 if (!sec_pmic->pdata->manual_poweroff) in sec_pmic_shutdown()
242 switch (sec_pmic->device_type) { in sec_pmic_shutdown()
252 dev_warn(sec_pmic->dev, in sec_pmic_shutdown()
254 sec_pmic->device_type); in sec_pmic_shutdown()
258 regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0); in sec_pmic_shutdown()
267 enable_irq_wake(sec_pmic->irq); in sec_pmic_suspend()
269 * PMIC IRQ must be disabled during suspend for RTC alarm in sec_pmic_suspend()
277 disable_irq(sec_pmic->irq); in sec_pmic_suspend()
287 disable_irq_wake(sec_pmic->irq); in sec_pmic_resume()
288 enable_irq(sec_pmic->irq); in sec_pmic_resume()