diff --git a/arch/arm64/boot/dts/nvidia/tegra210b01-nx.dtsi b/arch/arm64/boot/dts/nvidia/tegra210b01-nx.dtsi index df50d185eb1d..e98cc56647d9 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210b01-nx.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210b01-nx.dtsi @@ -1,4 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 +#include + #include "tegra210b01.dtsi" / { @@ -67,4 +69,297 @@ compatible = "arm,psci-1.0"; method = "smc"; }; + + i2c@7000d000 { + status = "okay"; + clock-frequency = <400000>; + + pmic: pmic@3c { + compatible = "maxim,max77620"; + reg = <0x3c>; + interrupts = ; + + #interrupt-cells = <2>; + interrupt-controller; + + gpio-controller; + #gpio-cells = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&max77620_default>; + + fps { + #address-cells = <1>; + #size-cells = <0>; + + fps0 { + reg = <0>; + maxim,shutdown-fps-time-period-us = <5120>; + maxim,fps-event-source = ; + }; + + fps1 { + reg = <1>; + maxim,shutdown-fps-time-period-us = <5120>; + maxim,fps-event-source = ; + maxim,device-state-on-disabled-event = ; + }; + + fps2 { + reg = <2>; + maxim,shutdown-fps-time-period-us = <5120>; + maxim,fps-event-source = ; + }; + }; + + // hog-0 { + // gpio-hog; + // output-high; + // gpios = <2 GPIO_ACTIVE_HIGH>, + // <7 GPIO_ACTIVE_HIGH>; + // }; + + max77620_default: pinmux { + gpio0 { + pins = "gpio0"; + function = "gpio"; + }; + + gpio1 { + pins = "gpio1"; + function = "fps-out"; + drive-open-drain = <1>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <5>; + maxim,active-fps-power-down-slot = <0>; + }; + + gpio2 { + pins = "gpio2"; + function = "fps-out"; + drive-open-drain = <1>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <6>; + maxim,active-fps-power-down-slot = <0>; + }; + + gpio3 { + pins = "gpio3"; + function = "fps-out"; + drive-open-drain = <1>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <3>; + maxim,active-fps-power-down-slot = <0>; + }; + + gpio4 { + pins = "gpio4"; + function = "32k-out1"; + }; + + gpio5_6_7 { + pins = "gpio5", "gpio6", "gpio7"; + function = "gpio"; + drive-open-drain = <1>; + }; + }; + + regulators { + in-ldo0-1-supply = <&max77620_sd2>; + in-ldo7-8-supply = <&max77620_sd2>; + + max77620_sd0: sd0 { + regulator-name = "vdd-core"; + regulator-min-microvolt = <625000>; + regulator-max-microvolt = <1400000>; + regulator-boot-on; + regulator-always-on; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <1>; + maxim,active-fps-power-down-slot = <7>; + // regulator-initial-mode = ; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <4080>; + maxim,ramp-rate-setting = <27500>; + regulator-ramp-delay = <27500>; + }; + + max77620_sd1: sd1 { + regulator-name = "vdd-ddr"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1175000>; + regulator-always-on; + regulator-boot-on; + /* regulator-init-microvolt = <1100000>; */ /* Controlled by bootloader */ + // regulator-initial-mode = ; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <5>; + maxim,active-fps-power-down-slot = <2>; + regulator-enable-ramp-delay = <60>; + regulator-disable-ramp-delay = <145800>; + maxim,ramp-rate-setting = <27500>; + regulator-ramp-delay = <27500>; + }; + + max77620_sd2: sd2 { + regulator-name = "vdd-pre-reg"; + regulator-min-microvolt = <1325000>; + regulator-max-microvolt = <1325000>; + regulator-always-on; + regulator-boot-on; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <40>; + regulator-disable-ramp-delay = <20000>; + maxim,ramp-rate-setting = <27500>; + regulator-ramp-delay = <27500>; + }; + + max77620_sd3: sd3 { + regulator-name = "vdd-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <2>; + maxim,active-fps-power-down-slot = <4>; + // regulator-initial-mode = ; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <118000>; + maxim,ramp-rate-setting = <27500>; + regulator-ramp-delay = <27500>; + }; + + max77620_ldo0: ldo0 { + regulator-name = "avdd-sys"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-boot-on; /* Must be set for seamless display */ + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <4000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + max77620_ldo1: ldo1 { + regulator-name = "vdd-pex"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <7000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + max77620_ldo2: ldo2 { + regulator-name = "vddio-sdmmc1"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <100>; + regulator-disable-ramp-delay = <6000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + max77620_ldo3: ldo3 { + regulator-name = "vdd-gc-3v1"; + regulator-min-microvolt = <3100000>; + regulator-max-microvolt = <3100000>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <100>; + regulator-disable-ramp-delay = <3000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + max77620_ldo4: ldo4 { + regulator-name = "vdd-rtc"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + regulator-always-on; + regulator-boot-on; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <7>; + maxim,active-fps-source = ; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <610>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + /* GC Card Vddio */ + max77620_ldo5: ldo5 { + regulator-name = "vdd-gc-1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <70>; + regulator-disable-ramp-delay = <3000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + /* Touch Panel, ALS. Powers LDO 1V8. */ + max77620_ldo6: ldo6 { + regulator-name = "vdd-tp-2v9"; + regulator-min-microvolt = <2900000>; + regulator-max-microvolt = <2900000>; + regulator-boot-on; /* Decrease por time for Touch Panel. */ + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <100>; + regulator-disable-ramp-delay = <3000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + /* Not used on T210B01 */ + max77620_ldo7: ldo7 { + regulator-name = "vdd-gen-pll-edp"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; /* 3100000 */ + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <2768>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + + /* Odin/Modin/Fric: DP. */ + /* Vali: Powers LDO 2V8 for Sio VDD + * Powers LDO 1V8 for I2C1 VDDQ and ALC5639. + */ + max77620_ldo8: ldo8 { + regulator-name = "vdd-hdmi-dp"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + maxim,active-fps-source = ; + maxim,active-fps-power-up-slot = <0>; + maxim,active-fps-power-down-slot = <0>; + regulator-enable-ramp-delay = <50>; + regulator-disable-ramp-delay = <4000>; + maxim,ramp-rate-setting = <50000>; + regulator-ramp-delay = <50000>; + }; + }; + }; + }; }; diff --git a/arch/arm64/boot/dts/nvidia/tegra210b01-vali.dts b/arch/arm64/boot/dts/nvidia/tegra210b01-vali.dts index fdab44553cdc..5e35af2942ef 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210b01-vali.dts +++ b/arch/arm64/boot/dts/nvidia/tegra210b01-vali.dts @@ -48,5 +48,20 @@ }; }; + i2c@7000d000 { + pmic: pmic@3c { + regulators { + /* Vali: Powers LDO 2V8 for Sio VDD + * Powers LDO 1V8 for I2C1 VDDQ and ALC5639. + */ + ldo8 { + regulator-name = "vdd-i2c1"; + regulator-max-microvolt = <2800000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; + }; };