[PATCH v3 9/9] arm64: dts: mt6392: add mt6392 PMIC dtsi

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Wed Mar 18 05:39:12 PDT 2026


Il 17/03/26 19:43, Luca Leonardo Scorcia ha scritto:
> From: Val Packett <val at packett.cool>
> 
> Add the dts to be included by all boards using the MT6392 PMIC.
> 
> Signed-off-by: Val Packett <val at packett.cool>
> Signed-off-by: Luca Leonardo Scorcia <l.scorcia at gmail.com>
> ---
>   arch/arm64/boot/dts/mediatek/mt6392.dtsi | 141 +++++++++++++++++++++++
>   1 file changed, 141 insertions(+)
>   create mode 100644 arch/arm64/boot/dts/mediatek/mt6392.dtsi
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt6392.dtsi b/arch/arm64/boot/dts/mediatek/mt6392.dtsi
> new file mode 100644
> index 000000000000..fbf6f671524c
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt6392.dtsi
> @@ -0,0 +1,141 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (c) 2019 MediaTek Inc.
> + * Copyright (c) 2024 Val Packett <val at packett.cool>
> + */
> +
> +#include <dt-bindings/input/input.h>
> +
> +&pwrap {
> +	pmic: pmic {
> +		compatible = "mediatek,mt6392", "mediatek,mt6323";
> +		interrupt-controller;
> +		#interrupt-cells = <2>;
> +
> +		keys {
> +			compatible = "mediatek,mt6392-keys";
> +
> +			key-power {
> +				linux,keycodes = <KEY_POWER>;
> +				wakeup-source;
> +			};
> +
> +			key-home {
> +				linux,keycodes = <KEY_HOME>;
> +				wakeup-source;
> +			};
> +		};
> +
> +		pio6392: pinctrl {
> +			compatible = "mediatek,mt6392-pinctrl";
> +
> +			gpio-controller;
> +			#gpio-cells = <2>;
> +		};
> +
> +		rtc {
> +			compatible = "mediatek,mt6392-rtc",
> +				"mediatek,mt6323-rtc";
> +		};
> +
> +		regulators {
> +			compatible = "mediatek,mt6392-regulator";
> +
> +			mt6392_vproc_reg: buck_vproc {

s/buck//g

Also, no min/max voltages?!

> +				regulator-name = "vproc";
> +			};
> +
> +			mt6392_vsys_reg: buck_vsys {
> +				regulator-name = "vsys";
> +			};
> +
> +			mt6392_vcore_reg: buck_vcore {
> +				regulator-name = "vcore";
> +			};
> +
> +			mt6392_vxo22_reg: ldo_vxo22 {

s/ldo//g

Also, same comment here, no min/max voltages?!

Most of those are easy too, because the regulator name actually tells you
the voltage it is supposed to output ;-)

Cheers,
Angelo

> +				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";
> +			};
> +		};
> +	};
> +};



More information about the Linux-mediatek mailing list