Lines Matching +full:pmic +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0-only
113 .name = "mt6323-rtc",
116 .of_compatible = "mediatek,mt6323-rtc",
118 .name = "mt6323-regulator",
119 .of_compatible = "mediatek,mt6323-regulator"
121 .name = "mt6323-led",
122 .of_compatible = "mediatek,mt6323-led"
124 .name = "mtk-pmic-keys",
127 .of_compatible = "mediatek,mt6323-keys"
129 .name = "mt6323-pwrc",
132 .of_compatible = "mediatek,mt6323-pwrc"
138 .name = "mt6357-regulator",
140 .name = "mt6357-rtc",
143 .of_compatible = "mediatek,mt6357-rtc",
145 .name = "mtk-pmic-keys",
148 .of_compatible = "mediatek,mt6357-keys"
155 .name = "mt6331-rtc",
158 .of_compatible = "mediatek,mt6331-rtc",
160 .name = "mt6331-regulator",
161 .of_compatible = "mediatek,mt6331-regulator"
163 .name = "mt6332-regulator",
164 .of_compatible = "mediatek,mt6332-regulator"
166 .name = "mtk-pmic-keys",
169 .of_compatible = "mediatek,mt6331-keys"
175 .name = "mt6358-regulator",
176 .of_compatible = "mediatek,mt6358-regulator"
178 .name = "mt6358-rtc",
181 .of_compatible = "mediatek,mt6358-rtc",
183 .name = "mt6358-sound",
184 .of_compatible = "mediatek,mt6358-sound"
186 .name = "mt6358-keys",
189 .of_compatible = "mediatek,mt6358-keys"
194 { .name = "mt6359-regulator", },
196 .name = "mt6359-rtc",
199 .of_compatible = "mediatek,mt6358-rtc",
201 { .name = "mt6359-sound", },
203 .name = "mtk-pmic-keys",
206 .of_compatible = "mediatek,mt6359-keys"
212 .name = "mt6397-rtc",
215 .of_compatible = "mediatek,mt6397-rtc",
217 .name = "mt6397-regulator",
218 .of_compatible = "mediatek,mt6397-regulator",
220 .name = "mt6397-codec",
221 .of_compatible = "mediatek,mt6397-codec",
223 .name = "mt6397-clk",
224 .of_compatible = "mediatek,mt6397-clk",
226 .name = "mt6397-pinctrl",
227 .of_compatible = "mediatek,mt6397-pinctrl",
229 .name = "mtk-pmic-keys",
232 .of_compatible = "mediatek,mt6397-keys"
295 unsigned int id = 0; in mt6397_probe() local
296 struct mt6397_chip *pmic; in mt6397_probe() local
299 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in mt6397_probe()
300 if (!pmic) in mt6397_probe()
301 return -ENOMEM; in mt6397_probe()
303 pmic->dev = &pdev->dev; in mt6397_probe()
306 * mt6397 MFD is child device of soc pmic wrapper. in mt6397_probe()
309 pmic->regmap = dev_get_regmap(pdev->dev.parent, NULL); in mt6397_probe()
310 if (!pmic->regmap) in mt6397_probe()
311 return -ENODEV; in mt6397_probe()
313 pmic_core = of_device_get_match_data(&pdev->dev); in mt6397_probe()
315 return -ENODEV; in mt6397_probe()
317 ret = regmap_read(pmic->regmap, pmic_core->cid_addr, &id); in mt6397_probe()
319 dev_err(&pdev->dev, "Failed to read chip id: %d\n", ret); in mt6397_probe()
323 pmic->chip_id = (id >> pmic_core->cid_shift) & 0xff; in mt6397_probe()
325 platform_set_drvdata(pdev, pmic); in mt6397_probe()
327 pmic->irq = platform_get_irq(pdev, 0); in mt6397_probe()
328 if (pmic->irq <= 0) in mt6397_probe()
329 return pmic->irq; in mt6397_probe()
331 ret = pmic_core->irq_init(pmic); in mt6397_probe()
335 ret = devm_mfd_add_devices(&pdev->dev, PLATFORM_DEVID_NONE, in mt6397_probe()
336 pmic_core->cells, pmic_core->cell_size, in mt6397_probe()
337 NULL, 0, pmic->irq_domain); in mt6397_probe()
339 irq_domain_remove(pmic->irq_domain); in mt6397_probe()
340 dev_err(&pdev->dev, "failed to add child devices: %d\n", ret); in mt6397_probe()
389 MODULE_DESCRIPTION("Driver for MediaTek MT6397 PMIC");