[PATCH v9 9/9] arm64: dts: mediatek: Add MediaTek MT6392 PMIC dtsi
Luca Leonardo Scorcia <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Val Packett <[email protected]> Add the dtsi to be included by all boards using the MT6392 PMIC, providing support for regulator, keys, pinctrl and RTC. Import the new file in the shared device tree for the Pumpkin boards. Signed-off-by: Val Packett <[email protected]> Signed-off-by: Luca Leonardo Scorcia <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> --- arch/arm64/boot/dts/mediatek/mt6392.dtsi | 145 ++++++++++++++++++ .../boot/dts/mediatek/pumpkin-common.dtsi | 7 + 2 files changed, 152 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..69d63c153d9e --- /dev/null +++ b/arch/arm64/boot/dts/mediatek/mt6392.dtsi @@ -0,0 +1,145 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2019 MediaTek Inc. + * Copyright (c) 2024 Val Packett <[email protected]> + * Copyright (c) 2026 Luca Leonardo Scorcia <[email protected]> + */ + +#include <dt-bindings/input/input.h> +#include <dt-bindings/regulator/mediatek,mt6392-regulator.h> + +&pwrap { + pmic: pmic { + compatible = "mediatek,mt6392", "mediatek,mt6323"; + interrupt-controller; + #interrupt-cells = <2>; + + mt6392keys: keys { + compatible = "mediatek,mt6392-keys"; + + key-power { + linux,keycodes = <KEY_POWER>; + wakeup-source; + }; + + key-home { + linux,keycodes = <KEY_HOME>; + wakeup-source; + }; + }; + + mt6392pio: pinctrl { + compatible = "mediatek,mt6392-pinctrl"; + + gpio-controller; + #gpio-cells = <2>; + }; + + mt6392regulators: regulators { + compatible = "mediatek,mt6392-regulator"; + + /* Fixed supply defined in the data sheet */ + avddldo-supply = <&mt6392_vsys_reg>; + + mt6392_vcore_reg: vcore { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_BUCK_MODE_FORCE_PWM>; + }; + mt6392_vproc_reg: vproc { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_BUCK_MODE_FORCE_PWM>; + }; + mt6392_vsys_reg: vsys { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_BUCK_MODE_FORCE_PWM>; + }; + mt6392_vaud28_reg: vaud28 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vxo22_reg: vxo22 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vaud22_reg: vaud22 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vadc18_reg: vadc18 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vcama_reg: vcama { }; + mt6392_vcn35_reg: vcn35 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vio28_reg: vio28 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vusb_reg: vusb { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vmc_reg: vmc { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vmch_reg: vmch { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vemc3v3_reg: vemc3v3 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vcamaf_reg: vcamaf { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vgp1_reg: vgp1 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vgp2_reg: vgp2 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vefuse_reg: vefuse { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vm25_reg: vm25 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vdig18_reg: vdig18 { }; + mt6392_vm_reg: vm { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vio18_reg: vio18 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vcn18_reg: vcn18 { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vcamd_reg: vcamd { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vcamio_reg: vcamio { + regulator-allowed-modes = <MT6392_REGULATOR_MODE_NORMAL + MT6392_LDO_MODE_LP>; + }; + mt6392_vrtc_reg: vrtc { }; + }; + + mt6392rtc: rtc { + compatible = "mediatek,mt6392-rtc", "mediatek,mt6323-rtc"; + }; + }; +}; diff --git a/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi b/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi index 805fb82138a8..b19d5792bd89 100644 --- a/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi +++ b/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi @@ -6,6 +6,8 @@ #include <dt-bindings/gpio/gpio.h> +#include "mt6392.dtsi" + / { aliases { serial0 = &uart0; @@ -160,6 +162,11 @@ &i2c2 { status = "okay"; }; +&pmic { + interrupt-parent = <&pio>; + interrupts = <28 IRQ_TYPE_LEVEL_HIGH>; +}; + &uart0 { status = "okay"; }; -- 2.43.0