Add support for mt6392 PMIC
Subsystems (10)
cover Add support for mt6392 PMIC
The MediaTek mt6392 PMIC is usually found on devices powered by the mt8516/mt8167 SoC, and is yet another mt6397 variant.
This series is mostly based around patches submitted a couple years ago by Fabien Parent and not merged and from Val Packett's submission from Jan 2025 that included extra cleanups, fixes, and a new dtsi file similar to ones that exist for other PMICs. Some comments weren't addressed and the series was ultimately not merged.
This series only enables three functions: regulators, keys, and RTC.
I have added a handful of device tree improvements to fix some dtbs_check errors and addressed the comments from last year's reviews. The series has been tested on Xiaomi Mi Smart Clock x04g.
Fabien Parent (5):
dt-bindings: mfd: mt6397: Add bindings for MT6392 PMIC
dt-bindings: regulator: add support for MT6392
dt-bindings: input: mtk-pmic-keys: add MT6392 binding definition
mfd: mt6397: Add support for MT6392 pmic
regulator: mt6392: Add support for MT6392 regulator
Val Packett (4):
soc: mediatek: mtk-pmic-wrap: add compatible for MT6392 PMIC
input: keyboard: mtk-pmic-keys: add MT6392 support
rtc: mt6397: add compatible for MT6392 PMIC
arm64: dts: mt6392: add mt6392 PMIC dtsi
.../bindings/input/mediatek,pmic-keys.yaml | 1 + .../bindings/mfd/mediatek,mt6397.yaml | 3 + arch/arm64/boot/dts/mediatek/mt6392.dtsi | 133 +++++ drivers/input/keyboard/mtk-pmic-keys.c | 15 + drivers/mfd/mt6397-core.c | 43 ++ drivers/mfd/mt6397-irq.c | 8 + drivers/regulator/Kconfig | 9 + drivers/regulator/Makefile | 1 + drivers/regulator/mt6392-regulator.c | 491 ++++++++++++++++++ drivers/rtc/rtc-mt6397.c | 1 + drivers/soc/mediatek/mtk-pmic-wrap.c | 1 + include/linux/mfd/mt6392/core.h | 42 ++ include/linux/mfd/mt6392/registers.h | 487 +++++++++++++++++ include/linux/mfd/mt6397/core.h | 1 + include/linux/regulator/mt6392-regulator.h | 40 ++ 15 files changed, 1276 insertions(+) create mode 100644 arch/arm64/boot/dts/mediatek/mt6392.dtsi create mode 100644 drivers/regulator/mt6392-regulator.c create mode 100644 include/linux/mfd/mt6392/core.h create mode 100644 include/linux/mfd/mt6392/registers.h create mode 100644 include/linux/regulator/mt6392-regulator.h
Signature · 1 line
2.43.0
PATCH 1/9 dt-bindings: mfd: mt6397: Add bindings for MT6392 PMIC
From: Fabien Parent <[email protected]>
Add the currently supported bindings for the MT6392 PMIC.
--- Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +2 -0
@@ -39,6 +39,7 @@ properties: - mediatek,mt6328 - mediatek,mt6358 - mediatek,mt6359 + - mediatek,mt6392 - mediatek,mt6397 - items: - enum:
@@ -67,6 +68,7 @@ properties: - mediatek,mt6323-rtc - mediatek,mt6331-rtc - mediatek,mt6358-rtc + - mediatek,mt6392-rtc - mediatek,mt6397-rtc - items: - enum:
Signature · 1 line
2.43.0
Alexandre Belloni
maintainerRe: [PATCH 1/9] dt-bindings: mfd: mt6397: Add bindings for MT6392 PMIC
Quoted 24 lines · Luca Leonardo Scorcia
From: Fabien Parent <[email protected]>
Add the currently supported bindings for the MT6392 PMIC.
Signed-off-by Fabien Parent <[email protected]>Signed-off-by Val Packett <[email protected]>Signed-off-by Luca Leonardo Scorcia <[email protected]>--- Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml | 2 ++ 1 file changed, 2 insertions(+)Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +1
-0@@ -39,6 +39,7 @@ properties: - mediatek,mt6328 - mediatek,mt6358 - mediatek,mt6359 + - mediatek,mt6392 - mediatek,mt6397 - items: - enum:
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml properties: · line 71
Quoted 4 lines
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +1
-0@@ -67,6 +68,7 @@ properties: - mediatek,mt6323-rtc - mediatek,mt6331-rtc - mediatek,mt6358-rtc + - mediatek,mt6392-rtc
Shouldn't you rather use "mediatek,mt6392-rtc", "mediatek,mt6397-rtc" as the compatible so you don't have to change anything in the driver?
Quoted 6 lines
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +0
-0- mediatek,mt6397-rtc - items: - enum:Signature · 1 line
2.43.0
Signature · 3 lines
Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
PATCH 2/9 dt-bindings: regulator: add support for MT6392
In reply to Luca Leonardo ScorciaFrom: Fabien Parent <[email protected]>
Add binding documentation of the regulator for MT6392 SoCs.
--- Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml +1 -0
@@ -94,6 +94,7 @@ properties: - mediatek,mt6328-regulator - mediatek,mt6358-regulator - mediatek,mt6359-regulator + - mediatek,mt6392-regulator - mediatek,mt6397-regulator - items: - enum:
Signature · 1 line
2.43.0
Re: [PATCH 2/9] dt-bindings: regulator: add support for MT6392
Quoted 11 lines · Luca Leonardo Scorcia
From: Fabien Parent <[email protected]>
Add binding documentation of the regulator for MT6392 SoCs.
Signed-off-by Fabien Parent <[email protected]>Signed-off-by Val Packett <[email protected]>Signed-off-by Luca Leonardo Scorcia <[email protected]>--- Documentation/devicetree/bindings/mfd/mediatek,mt6397.yaml | 1 + 1 file changed, 1 insertion(+)
PATCH 3/9 dt-bindings: input: mtk-pmic-keys: add MT6392 binding definition
In reply to Luca Leonardo ScorciaFrom: Fabien Parent <[email protected]>
Add the binding documentation of the mtk-pmic-keys for the MT6392 PMICs.
--- Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml +1 -0
@@ -30,6 +30,7 @@ properties: - mediatek,mt6357-keys - mediatek,mt6358-keys - mediatek,mt6359-keys + - mediatek,mt6392-keys - mediatek,mt6397-keys power-off-time-sec: true
Signature · 1 line
2.43.0
Re: [PATCH 3/9] dt-bindings: input: mtk-pmic-keys: add MT6392 binding definition
Quoted 7 lines · Luca Leonardo Scorcia
From: Fabien Parent <[email protected]>
Add the binding documentation of the mtk-pmic-keys for the MT6392 PMICs.
Signed-off-by Fabien Parent <[email protected]>Signed-off-by Val Packett <[email protected]>Signed-off-by Luca Leonardo Scorcia <[email protected]>
Please merge with the rest of the series.
Quoted 9 lines
--- Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml +0
-0
Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml properties: · line 36
Quoted 7 lines
Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml +1
-0@@ -30,6 +30,7 @@ properties: - mediatek,mt6357-keys - mediatek,mt6358-keys - mediatek,mt6359-keys + - mediatek,mt6392-keys - mediatek,mt6397-keys power-off-time-sec: true
Thanks.
Signature · 1 line
Dmitry
Re: [PATCH 3/9] dt-bindings: input: mtk-pmic-keys: add MT6392 binding definition
In reply to Luca Leonardo ScorciaQuoted 11 lines · Luca Leonardo Scorcia
From: Fabien Parent <[email protected]>
Add the binding documentation of the mtk-pmic-keys for the MT6392 PMICs.
Signed-off-by Fabien Parent <[email protected]>Signed-off-by Val Packett <[email protected]>Signed-off-by Luca Leonardo Scorcia <[email protected]>--- Documentation/devicetree/bindings/input/mediatek,pmic-keys.yaml | 1 + 1 file changed, 1 insertion(+)
PATCH 4/9 mfd: mt6397: Add support for MT6392 pmic
In reply to Luca Leonardo ScorciaFrom: Fabien Parent <[email protected]>
Update the MT6397 MFD driver to support the MT6392 PMIC.
--- drivers/mfd/mt6397-core.c | 43 +++ drivers/mfd/mt6397-irq.c | 8 + include/linux/mfd/mt6392/core.h | 42 +++ include/linux/mfd/mt6392/registers.h | 487 +++++++++++++++++++++++++++ include/linux/mfd/mt6397/core.h | 1 + 5 files changed, 581 insertions(+) create mode 100644 include/linux/mfd/mt6392/core.h create mode 100644 include/linux/mfd/mt6392/registers.h
drivers/mfd/mt6397-core.c +43 -0
@@ -18,6 +18,7 @@#include <linux/mfd/mt6357/core.h> #include <linux/mfd/mt6358/core.h> #include <linux/mfd/mt6359/core.h> +#include <linux/mfd/mt6392/core.h> #include <linux/mfd/mt6397/core.h> #include <linux/mfd/mt6323/registers.h> #include <linux/mfd/mt6328/registers.h>
@@ -25,6 +26,7 @@#include <linux/mfd/mt6357/registers.h> #include <linux/mfd/mt6358/registers.h> #include <linux/mfd/mt6359/registers.h> +#include <linux/mfd/mt6392/registers.h> #include <linux/mfd/mt6397/registers.h> #define MT6323_RTC_BASE 0x8000
@@ -39,6 +41,9 @@#define MT6358_RTC_BASE 0x0588#define MT6358_RTC_SIZE 0x3c +#define MT6392_RTC_BASE 0x8000 +#define MT6392_RTC_SIZE 0x3e +#define MT6397_RTC_BASE 0xe000#define MT6397_RTC_SIZE 0x3e
@@ -65,6 +70,11 @@ static const struct resource mt6358_rtc_resources[] = { DEFINE_RES_IRQ(MT6358_IRQ_RTC), }; +static const struct resource mt6392_rtc_resources[] = { +DEFINE_RES_MEM (MT6392_RTC_BASE ,MT6392_RTC_SIZE ), +DEFINE_RES_IRQ (MT6392_IRQ_RTC ), +}; +static const struct resource mt6397_rtc_resources[] = {DEFINE_RES_MEM (MT6397_RTC_BASE ,MT6397_RTC_SIZE ),DEFINE_RES_IRQ (MT6397_IRQ_RTC ),
@@ -114,6 +124,11 @@ static const struct resource mt6331_keys_resources[] = { DEFINE_RES_IRQ_NAMED(MT6331_IRQ_STATUS_HOMEKEY, "homekey"), }; +static const struct resource mt6392_keys_resources[] = { +DEFINE_RES_IRQ_NAMED (MT6392_IRQ_PWRKEY ,"powerkey" ), +DEFINE_RES_IRQ_NAMED (MT6392_IRQ_FCHRKEY ,"homekey" ), +}; +static const struct resource mt6397_keys_resources[] = {DEFINE_RES_IRQ_NAMED (MT6397_IRQ_PWRKEY ,"powerkey" ),DEFINE_RES_IRQ_NAMED (MT6397_IRQ_HOMEKEY ,"homekey" ),
@@ -253,6 +268,23 @@ static const struct mfd_cell mt6359_devs[] = { }, }; +static const struct mfd_cell mt6392_devs[] = { + { + .name ="mt6397-rtc" , + .num_resources =ARRAY_SIZE (mt6392_rtc_resources), + .resources = mt6392_rtc_resources, + .of_compatible ="mediatek,mt6392-rtc" , + }, { + .name ="mt6392-regulator" , + .of_compatible ="mediatek,mt6392-regulator" , + }, { + .name ="mtk-pmic-keys" , + .num_resources =ARRAY_SIZE (mt6392_keys_resources), + .resources = mt6392_keys_resources, + .of_compatible ="mediatek,mt6392-keys" + }, +}; +static const struct mfd_cell mt6397_devs[] = { { .name ="mt6397-rtc" ,
@@ -335,6 +367,14 @@ static const struct chip_data mt6359_core = { .irq_init = mt6358_irq_init, }; +static const struct chip_data mt6392_core = { + .cid_addr =MT6392_CID , + .cid_shift =0 , + .cells = mt6392_devs, + .cell_size =ARRAY_SIZE (mt6392_devs), + .irq_init = mt6397_irq_init, +}; +static const struct chip_data mt6397_core = { .cid_addr =MT6397_CID , .cid_shift =0 ,
@@ -416,6 +456,9 @@ static const struct of_device_id mt6397_of_match[] = { }, { .compatible = "mediatek,mt6359", .data = &mt6359_core, + }, { + .compatible = "mediatek,mt6392", + .data = &mt6392_core, }, { .compatible = "mediatek,mt6397", .data = &mt6397_core,
drivers/mfd/mt6397-irq.c +8 -0
@@ -15,6 +15,8 @@#include <linux/mfd/mt6328/registers.h> #include <linux/mfd/mt6331/core.h> #include <linux/mfd/mt6331/registers.h> +#include <linux/mfd/mt6392/core.h> +#include <linux/mfd/mt6392/registers.h> #include <linux/mfd/mt6397/core.h> #include <linux/mfd/mt6397/registers.h>
@@ -203,6 +205,12 @@ int mt6397_irq_init(struct mt6397_chip *chip) chip->int_status[0 ] =MT6397_INT_STATUS0 ; chip->int_status[1 ] =MT6397_INT_STATUS1 ;break ; +case MT6392_CHIP_ID : + chip->int_con[0 ] =MT6392_INT_CON0 ; + chip->int_con[1 ] =MT6392_INT_CON1 ; + chip->int_status[0 ] =MT6392_INT_STATUS0 ; + chip->int_status[1 ] =MT6392_INT_STATUS1 ; +break ;default :dev_err (chip->dev,"unsupported chip: 0x%x\n" , chip->chip_id);
include/linux/mfd/mt6392/core.h new file +42 -0
42 lines not on this page · raw message
include/linux/mfd/mt6392/registers.h new file +487 -0
487 lines not on this page · raw message
include/linux/mfd/mt6397/core.h +1 -0
@@ -20,6 +20,7 @@ enum chip_id {MT6359_CHIP_ID =0x59 ,MT6366_CHIP_ID =0x66 ,MT6391_CHIP_ID =0x91 , +MT6392_CHIP_ID =0x92 , MT6397_CHIP_ID = 0x97, };
Signature · 1 line
2.43.0
PATCH 5/9 soc: mediatek: mtk-pmic-wrap: add compatible for MT6392 PMIC
In reply to Luca Leonardo ScorciaFrom: Val Packett <[email protected]>
The MT6392 PMIC is equivalent to the MT6323 in terms of pwrap. Add the compatible to use the same configuration.
--- drivers/soc/mediatek/mtk-pmic-wrap.c | 1 + 1 file changed, 1 insertion(+)
drivers/soc/mediatek/mtk-pmic-wrap.c +1 -0
@@ -2249,6 +2249,7 @@ static const struct pwrap_slv_type pmic_mt6397 = {static const struct of_device_id of_slave_match_tbl[] = { { .compatible ="mediatek,mt6323" , .data = &pmic_mt6323 }, + { .compatible ="mediatek,mt6392" , .data = &pmic_mt6323 }, { .compatible ="mediatek,mt6331" , .data = &pmic_mt6331 }, { .compatible ="mediatek,mt6351" , .data = &pmic_mt6351 }, { .compatible ="mediatek,mt6357" , .data = &pmic_mt6357 },
Signature · 1 line
2.43.0
PATCH 6/9 regulator: mt6392: Add support for MT6392 regulator
In reply to Luca Leonardo ScorciaFrom: Fabien Parent <[email protected]>
The MT6392 is a regulator found on boards based on the MediaTek MT8167, MT8516, and probably other SoCs. It is a so called PMIC and connects as a slave to a SoC using SPI, wrapped inside PWRAP.
--- drivers/regulator/Kconfig | 9 + drivers/regulator/Makefile | 1 + drivers/regulator/mt6392-regulator.c | 491 +++++++++++++++++++++ include/linux/regulator/mt6392-regulator.h | 40 ++ 4 files changed, 541 insertions(+) create mode 100644 drivers/regulator/mt6392-regulator.c create mode 100644 include/linux/regulator/mt6392-regulator.h
drivers/regulator/Kconfig +9 -0
@@ -991,6 +991,15 @@ config REGULATOR_MT6380 This driver supports the control of different power rails of device through regulator interface. +config REGULATOR_MT6392 + tristate "MediaTek MT6392 PMIC" + depends on MFD_MT6397 + help + Say y here to select this option to enable the power regulator of + MediaTek MT6392 PMIC. + This driver supports the control of different power rails of device + through regulator interface. + config REGULATOR_MT6397 tristate "MediaTek MT6397 PMIC" depends on MFD_MT6397
drivers/regulator/Makefile +1 -0
@@ -117,6 +117,7 @@ obj-$(CONFIG_REGULATOR_MT6360) += mt6360-regulator.o obj-$(CONFIG_REGULATOR_MT6363) += mt6363-regulator.o obj-$(CONFIG_REGULATOR_MT6370) += mt6370-regulator.o obj-$(CONFIG_REGULATOR_MT6380) += mt6380-regulator.o +obj-$(CONFIG_REGULATOR_MT6392) += mt6392-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_MTK_DVFSRC) += mtk-dvfsrc-regulator.o obj-$(CONFIG_REGULATOR_QCOM_LABIBB) += qcom-labibb-regulator.o
drivers/regulator/mt6392-regulator.c new file +491 -0
491 lines not on this page · raw message
include/linux/regulator/mt6392-regulator.h new file +40 -0
@@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* +* Copyright (c) 2019 MediaTek Inc. +* Author: Chen Zhong <[email protected]> +*/ + +#ifndef __LINUX_REGULATOR_MT6392_H +#define __LINUX_REGULATOR_MT6392_H + +enum { +MT6392_ID_VPROC =0 , +MT6392_ID_VSYS , +MT6392_ID_VCORE , +MT6392_ID_VXO22 , +MT6392_ID_VAUD22 , +MT6392_ID_VCAMA , +MT6392_ID_VAUD28 , +MT6392_ID_VADC18 , +MT6392_ID_VCN35 , +MT6392_ID_VIO28 , +MT6392_ID_VUSB =10 , +MT6392_ID_VMC , +MT6392_ID_VMCH , +MT6392_ID_VEMC3V3 , +MT6392_ID_VGP1 , +MT6392_ID_VGP2 , +MT6392_ID_VCN18 , +MT6392_ID_VCAMAF , +MT6392_ID_VM , +MT6392_ID_VIO18 , +MT6392_ID_VCAMD , +MT6392_ID_VCAMIO , +MT6392_ID_VM25 , +MT6392_ID_VEFUSE , +MT6392_ID_RG_MAX , +}; + +#define MT6392_MAX_REGULATOR MT6392_ID_RG_MAX + +#endif /* __LINUX_REGULATOR_MT6392_H */
Signature · 1 line
2.43.0
PATCH 7/9 input: keyboard: mtk-pmic-keys: add MT6392 support
In reply to Luca Leonardo ScorciaFrom: Val Packett <[email protected]>
Add support for the MT6392 PMIC to the keys driver.
--- drivers/input/keyboard/mtk-pmic-keys.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
drivers/input/keyboard/mtk-pmic-keys.c +15 -0
@@ -13,6 +13,7 @@#include <linux/mfd/mt6357/registers.h> #include <linux/mfd/mt6358/registers.h> #include <linux/mfd/mt6359/registers.h> +#include <linux/mfd/mt6392/registers.h> #include <linux/mfd/mt6397/core.h> #include <linux/mfd/mt6397/registers.h> #include <linux/module.h>
@@ -69,6 +70,17 @@ static const struct mtk_pmic_regs mt6397_regs = { .rst_lprst_mask = MTK_PMIC_RST_DU_MASK, }; +static const struct mtk_pmic_regs mt6392_regs = { + .keys_regs[MTK_PMIC_PWRKEY_INDEX ] = +MTK_PMIC_KEYS_REGS (MT6392_CHRSTATUS , +0x2 ,MT6392_INT_MISC_CON ,0x10 ,MTK_PMIC_PWRKEY_RST ), + .keys_regs[MTK_PMIC_HOMEKEY_INDEX ] = +MTK_PMIC_KEYS_REGS (MT6392_CHRSTATUS , +0x4 ,MT6392_INT_MISC_CON ,0x8 ,MTK_PMIC_HOMEKEY_RST ), + .pmic_rst_reg =MT6392_TOP_RST_MISC , + .rst_lprst_mask =MTK_PMIC_RST_DU_MASK , +}; +static const struct mtk_pmic_regs mt6323_regs = { .keys_regs[MTK_PMIC_PWRKEY_INDEX ] = MTK_PMIC_KEYS_REGS(MT6323_CHRSTATUS,
@@ -301,6 +313,9 @@ static const struct of_device_id of_mtk_pmic_keys_match_tbl[] = { { .compatible = "mediatek,mt6397-keys", .data = &mt6397_regs, + }, { + .compatible = "mediatek,mt6392-keys", + .data = &mt6392_regs, }, { .compatible = "mediatek,mt6323-keys", .data = &mt6323_regs,
Signature · 1 line
2.43.0
Re: [PATCH 7/9] input: keyboard: mtk-pmic-keys: add MT6392 support
Quoted 6 lines · Luca Leonardo Scorcia
From: Val Packett <[email protected]>
Add support for the MT6392 PMIC to the keys driver.
Signed-off-by Val Packett <[email protected]>Signed-off-by Luca Leonardo Scorcia <[email protected]>
Please feel free to merge with the rest of the series.
Thanks.
Signature · 1 line
Dmitry
PATCH 8/9 rtc: mt6397: add compatible for MT6392 PMIC
In reply to Luca Leonardo ScorciaFrom: Val Packett <[email protected]>
Add a compatible, using the same data as the MT6397.
--- drivers/rtc/rtc-mt6397.c | 1 + 1 file changed, 1 insertion(+)
drivers/rtc/rtc-mt6397.c +1 -0
@@ -334,6 +334,7 @@ static const struct of_device_id mt6397_rtc_of_match[] = { { .compatible = "mediatek,mt6323-rtc", .data = &mt6397_rtc_data }, { .compatible = "mediatek,mt6357-rtc", .data = &mt6358_rtc_data }, { .compatible = "mediatek,mt6358-rtc", .data = &mt6358_rtc_data }, + { .compatible = "mediatek,mt6392-rtc", .data = &mt6397_rtc_data }, { .compatible = "mediatek,mt6397-rtc", .data = &mt6397_rtc_data }, { } };
Signature · 1 line
2.43.0
PATCH 9/9 arm64: dts: mt6392: add mt6392 PMIC dtsi
In reply to Luca Leonardo ScorciaFrom: Val Packett <[email protected]>
Add the dts to be included by all boards using the MT6392 PMIC.
--- arch/arm64/boot/dts/mediatek/mt6392.dtsi | 133 +++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 arch/arm64/boot/dts/mediatek/mt6392.dtsi
arch/arm64/boot/dts/mediatek/mt6392.dtsi new file +133 -0
@@ -0,0 +1,133 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2019 MediaTek Inc. + * Copyright (c) 2024 Val Packett <[email protected]> + */ + +#include <dt-bindings/input/input.h> + +&pwrap { + pmic: pmic { + compatible = "mediatek,mt6392"; + interrupt-controller; + #interrupt-cells = <2>; + + regulators { + compatible = "mediatek,mt6392-regulator"; + + mt6392_vproc_reg: buck_vproc { + regulator-name = "vproc"; + }; + + mt6392_vsys_reg: buck_vsys { + regulator-name = "vsys"; + }; + + mt6392_vcore_reg: buck_vcore { + regulator-name = "vcore"; + }; + + mt6392_vxo22_reg: ldo_vxo22 { + regulator-name = "vxo22"; + }; + + mt6392_vaud22_reg: ldo_vaud22 { + regulator-name = "vaud22"; + }; + + mt6392_vcama_reg: ldo_vcama { + regulator-name = "vcama"; + }; + + mt6392_vaud28_reg: ldo_vaud28 { + regulator-name = "vaud28"; + }; + + mt6392_vadc18_reg: ldo_vadc18 { + regulator-name = "vadc18"; + }; + + mt6392_vcn35_reg: ldo_vcn35 { + regulator-name = "vcn35"; + }; + + mt6392_vio28_reg: ldo_vio28 { + regulator-name = "vio28"; + }; + + mt6392_vusb_reg: ldo_vusb { + regulator-name = "vusb"; + }; + + mt6392_vmc_reg: ldo_vmc { + regulator-name = "vmc"; + }; + + mt6392_vmch_reg: ldo_vmch { + regulator-name = "vmch"; + }; + + mt6392_vemc3v3_reg: ldo_vemc3v3 { + regulator-name = "vemc3v3"; + }; + + mt6392_vgp1_reg: ldo_vgp1 { + regulator-name = "vgp1"; + }; + + mt6392_vgp2_reg: ldo_vgp2 { + regulator-name = "vgp2"; + }; + + mt6392_vcn18_reg: ldo_vcn18 { + regulator-name = "vcn18"; + }; + + mt6392_vcamaf_reg: ldo_vcamaf { + regulator-name = "vcamaf"; + }; + + mt6392_vm_reg: ldo_vm { + regulator-name = "vm"; + }; + + mt6392_vio18_reg: ldo_vio18 { + regulator-name = "vio18"; + }; + + mt6392_vcamd_reg: ldo_vcamd { + regulator-name = "vcamd"; + }; + + mt6392_vcamio_reg: ldo_vcamio { + regulator-name = "vcamio"; + }; + + mt6392_vm25_reg: ldo_vm25 { + regulator-name = "vm25"; + }; + + mt6392_vefuse_reg: ldo_vefuse { + regulator-name = "vefuse"; + }; + }; + + rtc { + compatible = "mediatek,mt6392-rtc"; + }; + + keys { + compatible = "mediatek,mt6392-keys"; + + key-power { + linux,keycodes = <KEY_POWER>; + wakeup-source; + }; + + key-home { + linux,keycodes = <KEY_HOME>; + wakeup-source; + }; + }; + }; +};
Signature · 1 line
2.43.0