arm64: t210b01: add max77620 support

Signed-off-by: Thomas Makin <halorocker89@gmail.com>
This commit is contained in:
2025-07-13 12:35:07 -05:00
parent 6334568c2f
commit 81343aa1fd
2 changed files with 310 additions and 0 deletions

View File

@@ -1,4 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/mfd/max77620.h>
#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 = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
#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 = <MAX77620_FPS_EVENT_SRC_EN0>;
};
fps1 {
reg = <1>;
maxim,shutdown-fps-time-period-us = <5120>;
maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
};
fps2 {
reg = <2>;
maxim,shutdown-fps-time-period-us = <5120>;
maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
};
};
// 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 = <MAX77620_FPS_SRC_0>;
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 = <MAX77620_FPS_SRC_0>;
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 = <MAX77620_FPS_SRC_0>;
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 = <MAX77620_FPS_SRC_1>;
maxim,active-fps-power-up-slot = <1>;
maxim,active-fps-power-down-slot = <7>;
// regulator-initial-mode = <REGULATOR_MODE_NORMAL>;
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 = <REGULATOR_MODE_NORMAL>;
maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_0>;
maxim,active-fps-power-up-slot = <2>;
maxim,active-fps-power-down-slot = <4>;
// regulator-initial-mode = <REGULATOR_MODE_NORMAL>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_0>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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 = <MAX77620_FPS_SRC_NONE>;
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>;
};
};
};
};
};

View File

@@ -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;
};
};
};
};
};