// SPDX-License-Identifier: GPL-2.0 /dts-v1/; #include #include #include #include #include #include #include #include #include "tegra210.dtsi" / { aliases { i2c1 = "/i2c@7000c000"; i2c2 = "/i2c@7000c400"; i2c3 = "/i2c@7000c500"; i2c5 = "/i2c@7000d000"; rtc0 = "/i2c@7000d000/max77620@3c"; rtc1 = "/rtc@7000e000"; serial0 = &uarta; serial1 = &uartb; serial2 = &uartc; serial3 = &uartd; }; gpio-keys { compatible = "gpio-keys"; gpio-keys,name = "gpio-keys"; volume_down { label = "Volume Down"; gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <16>; }; volume_up { label = "Volume Up"; gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <16>; }; }; firmware { android { compatible = "android,firmware"; boot_devices = "700b0000.mmc"; hardware = "nx"; }; }; cpus { #address-cells = <1>; #size-cells = <0>; cpu@0 { vdd-cpu-supply = <&cpu_max_reg>; }; idle-states { cpu-sleep { status = "okay"; }; }; }; gpu@57000000 { status = "okay"; vdd-supply = <&gpu_max_reg>; }; pcie@1003000 { status = "okay"; avdd-pll-uerefe-supply = <&max77620_ldo1>; hvddio-pex-supply = <&max77620_sd3>; dvddio-pex-supply = <&max77620_ldo1>; dvdd-pex-pll-supply = <&max77620_ldo1>; hvdd-pex-pll-e-supply = <&max77620_sd3>; vddio-pex-ctl-supply = <&max77620_sd3>; pci@1,0 { phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>, /* Referred to plat config */ <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>; phy-names = "pcie-0", "pcie-1"; nvidia,num-lanes = <2>; status = "disabled"; }; pci@2,0 { phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; phy-names = "pcie-0"; status = "okay"; }; }; host1x@50000000 { dsia: dsi@54300000 { status = "okay"; panel@0 { compatible = "nintendo,panel-nx-dsi"; reset-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; backlight = <&backlight>; vdd1-supply = <&v_pavdd_5v0>; vdd2-supply = <&v_navdd_5v0>; }; }; /* tegradc.0: DSI */ dc@54200000 { status = "okay"; pavdd_lcd-supply = <&v_pavdd_5v0>; navdd_lcd-supply = <&v_navdd_5v0>; dvdd_lcd-supply = <&max77620_sd3>; vdd_lcd_bl_en-supply = <&lcd_bl_en>; nvidia,outputs = <&dsia>; }; /* tegradc.1: DP */ dc@54240000 { status = "okay"; avdd_hdmi-supply = <&max77620_ldo8>; /* 1V05 */ avdd_hdmi_pll-supply = <&max77620_sd3>; /* 1V8 */ // vdd_hdmi_5v0-supply = <&vdd_hdmi>; /* 5V0 GPIO_PCC7 fixed reg */ vdd-dp-pwr-supply = <&vdd_3v3>; avdd-dp-pll-supply = <&max77620_sd3>; vdd-dp-pad-supply = <&max77620_ldo8>; extcon-cables = <&bm92t 3>; extcon-cable-names = "typec1"; nvidia,outputs = <&sor1>; }; dpaux1: dpaux@54040000 { status = "okay"; vdd-supply = <&v_pavdd_5v0>; }; sor1: sor@54580000 { status = "okay"; nvidia,dpaux = <&dpaux1>; avdd-io-hdmi-dp-supply = <&max77620_ldo8>; vdd-hdmi-dp-pll-supply = <&max77620_sd3>; nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) GPIO_ACTIVE_LOW>; }; vi: i2c@546c0000 { status = "okay"; }; }; clock@70110000 { status = "okay"; nvidia,cf = <6>; nvidia,ci = <0>; nvidia,cg = <2>; nvidia,droop-ctrl = <0x00000f00>; nvidia,force-mode = <1>; nvidia,i2c-fs-rate = <400000>; nvidia,sample-rate = <12500>; vdd-cpu-supply = <&cpu_max_reg>; }; memory { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x80000000>; }; reserved-memory { /delete-node/ vpr-carveout; /delete-node/ iram-carveout; }; r2p { compatible = "tegra-r2p"; status = "okay"; }; /* debug port */ serial@70006000 { status = "disabled"; }; /* joycon ports: invert TXD and RTS via IRDA_CSR start @ 1000000 baud, switch to 3000000 when they are >= 3000000 baud, use 2 stop bits use flow control Note: hsuart driver is required for flow control */ /* right joycon */ serial@70006040 { status = "okay"; compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart"; nvidia,invert-txd; nvidia,invert-rts; reset-names = "serial"; joyconr { status = "okay"; compatible = "nintendo,joycon-serdev"; charger-supply = <&en_vdd_jcr_chgr>; detect-en-gpios = <&gpio TEGRA_GPIO(G, 0) GPIO_ACTIVE_HIGH>; detect-gpios = <&gpio TEGRA_GPIO(H, 6) GPIO_ACTIVE_LOW>; }; }; /* left joycon */ serial@70006200 { status = "okay"; compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart"; nvidia,invert-txd; nvidia,invert-rts; reset-names = "serial"; joyconl { status = "okay"; compatible = "nintendo,joycon-serdev"; charger-supply = <&en_vdd_jcl_chgr>; detect-en-gpios = <&gpio TEGRA_GPIO(D, 1) GPIO_ACTIVE_HIGH>; detect-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_LOW>; }; }; /* bluetooth */ serial@70006300 { dma-names = "tx"; status = "okay"; compatible = "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart"; reset-names = "serial"; bluetooth { compatible = "brcm,bcm43438-bt"; vbat-supply = <&battery_reg>; vddio-supply = <&battery_reg>; shutdown-gpios = <&gpio TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>; device-wakeup-gpios = <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_LOW>; max-speed = <3000000>; /* Max supported 4 MBaud */ sco-routing = <1>; /* Over HCI */ }; }; clk32k_in: clock-32k { compatible = "fixed-clock"; clock-frequency = <32768>; #clock-cells = <0>; }; backlight: backlight { compatible = "pwm-backlight"; pwms = <&pwm 0 33898>; pwm-names = "backlight"; brightness-levels = < 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 >; default-brightness-level = <50>; enable-gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>; power-supply = <&max77620_sd3>; }; /* Fixed regulators */ ts_dvdd: ts_dvdd { compatible = "regulator-fixed"; status = "okay"; regulator-name = "ts_dvdd"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_HIGH>; enable-active-high; regulator-enable-ramp-delay = <10000>; }; battery_reg: vdd-ac-bat { compatible = "regulator-fixed"; status = "okay"; regulator-name = "vdd-ac-bat"; regulator-min-microvolt = <4800000>; regulator-max-microvolt = <4800000>; regulator-always-on; regulator-boot-on; }; vdd_3v3: vdd-3v3 { compatible = "regulator-fixed"; regulator-name = "vdd-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; gpio = <&max77620 3 0>; enable-active-high; regulator-enable-ramp-delay = <160>; regulator-disable-ramp-delay = <10000>; }; max77620_gpio7: avdd-dsi-csi-1v2 { compatible = "regulator-fixed"; regulator-name = "max77620-gpio7"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-boot-on; /* Must be set for seamless display */ gpio = <&max77620 7 0>; enable-active-high; regulator-enable-ramp-delay = <240>; regulator-disable-ramp-delay = <11340>; vin-supply = <&max77620_ldo0>; }; lcd_bl_en: lcd-bl-en { compatible = "regulator-fixed"; regulator-name = "lcd-bl-en"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio TEGRA_GPIO(V, 1) 0>; regulator-boot-on; /* Must be set for seamless display */ enable-active-high; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; en_vdd_sd: en-vdd-sd { compatible = "regulator-fixed"; regulator-name = "en-vdd-sd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(E, 4) 0>; enable-active-high; regulator-enable-ramp-delay = <472>; regulator-disable-ramp-delay = <4880>; vin-supply = <&vdd_3v3>; }; /* LCD Power Enable +5V. Rohm BD8316GWL. */ v_pavdd_5v0: v-pavdd-5v0 { compatible = "regulator-fixed"; regulator-name = "v_pavdd_5v0"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio TEGRA_GPIO(I, 0) 0>; enable-active-high; regulator-boot-on; /* Must be set for seamless display */ regulator-enable-ramp-delay = <232>; }; /* LCD Power Enable -5V. Rohm BD8316GWL. */ v_navdd_5v0: v-navdd-5v0 { compatible = "regulator-fixed"; regulator-name = "v_navdd_5v0"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; gpio = <&gpio TEGRA_GPIO(I, 1) 0>; enable-active-high; regulator-boot-on; /* Must be set for seamless display */ regulator-enable-ramp-delay = <232>; }; /* Joycon/Fan power (battery). Maxim MAX8969EWL53+. */ v_vdd50_a: v-vdd50-a { compatible = "regulator-fixed"; regulator-name = "v_vdd50_a"; regulator-min-microvolt = <5300000>; regulator-max-microvolt = <5300000>; gpio = <&gpio TEGRA_GPIO(A, 5) 0>; enable-active-high; }; /* Joycon/Fan power (usb). DC0 on Odin. Maxim MAX8969EWL53+ on Modin. */ v_vdd50_b: v-vdd50-b { compatible = "regulator-fixed"; regulator-name = "v_vdd50_b"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&gpio TEGRA_GPIO(CC, 4) 0>; enable-active-high; }; v_vdd5v3: v-vdd5v3 { compatible = "regulator-fixed"; status = "okay"; /* Only enabled on Modin/Vali/Fric */ regulator-name = "v_vdd5v3"; regulator-min-microvolt = <5300000>; regulator-max-microvolt = <5300000>; gpio = <&gpio TEGRA_GPIO(X, 3) 0>; enable-active-high; regulator-enable-ramp-delay = <10000>; }; vdd3v3_gc: vdd3v3-gc { compatible = "regulator-fixed"; regulator-name = "vdd3v3_gc"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(E, 5) 0>; enable-active-high; regulator-enable-ramp-delay = <472>; regulator-disable-ramp-delay = <4880>; vin-supply = <&vdd_3v3>; }; /* TI TCR2EE48 4.8V */ en_vdd_jcl_chgr: left-joycon-charger { compatible = "regulator-fixed"; status = "okay"; regulator-name = "left-joycon-charger"; regulator-min-microvolt = <4800000>; regulator-max-microvolt = <4800000>; gpio = <&gpio TEGRA_GPIO(CC, 3) GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&v_vdd50_a>; regulator-state-mem { regulator-off-in-suspend; }; }; /* TI TCR2EE48 4.8V */ en_vdd_jcr_chgr: right-joycon-charger { compatible = "regulator-fixed"; status = "okay"; regulator-name = "right-joycon-charger"; regulator-min-microvolt = <4800000>; regulator-max-microvolt = <4800000>; gpio = <&gpio TEGRA_GPIO(K, 3) GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&v_vdd50_a>; regulator-state-mem { regulator-off-in-suspend; }; }; /* SDMMC4 for EMMC */ mmc@700b0600 { status = "disabled"; bus-width = <8>; max-frequency = <200000000>; cap-mmc-highspeed; mmc-ddr-1_8v; mmc-hs200-1_8v; mmc-hs400-1_8v; non-removable; vqmmc-supply = <&max77620_sd3>; vmmc-supply = <&vdd_3v3>; }; /* SDMMC3 Not Used */ mmc@700b0400 { status = "disabled"; vqmmc-supply = <&max77620_sd3>; vmmc-supply = <&vdd_3v3>; }; /* SDMMC2 for Gamecard */ mmc@700b0200 { status = "disabled"; bus-width = <8>; max-frequency = <200000000>; mmc-ddr-1_8v; mmc-hs400-1_8v; mmc-hs200-1_8v; cap-mmc-highspeed; cap-sd-highspeed; non-removable; vqmmc-supply = <&max77620_sd3>; vmmc-supply = <&vdd_3v3>; }; /* SDMMC1 for SD Card */ mmc@700b0000 { status = "okay"; bus-width = <4>; max-frequency = <200000000>; cap-sd-highspeed; sd-uhs-sdr12; sd-uhs-sdr50; sd-uhs-sdr104; cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>; vmmc-supply = <&en_vdd_sd>; vqmmc-supply = <&max77620_ldo2>; }; hda@70030000 { status = "okay"; }; /* i2c1 @ 100000hz 1c: realtek 5639 18: rohm usb-pd 4c: ti temperature sensor 6b: ti charger 36: maxim fuel gauge */ i2c@7000c000 { status = "okay"; clock-frequency = <100000>; bq24193@6b { compatible = "ti,bq24193"; reg = <0x6b>; interrupt-parent = <&gpio>; interrupts = ; monitored-battery = <&fuel_gauge>; #extcon-cells = <1>; omit-battery-class; battery_charger: charger { regulator-name = "batt_regulator"; regulator-max-microamp = <4500000>; }; usb0_vbus: usb-otg-vbus { regulator-name = "vbus_regulator"; }; }; fuel_gauge: fuel-gauge@36 { compatible = "maxim,max17050"; status = "okay"; reg = <0x36>; interrupt-parent = <&gpio>; interrupts = ; /* Actual is 5000 but driver does not account for CGAIN */ /* And does not take into account Rsense and CGAIN for capacity */ maxim,rsns-microohm = <10000>; maxim,over-heat-temp = <600>; maxim,dead-volt = <3000>; maxim,over-volt = <4208>; /* Actual: 4258 mV */ #thermal-sensor-cells = <0>; }; rt5639: audio-codec@1c { status = "okay"; compatible = "realtek,rt5639"; reg = <0x1c>; interrupt-parent = <&gpio>; interrupts = ; realtek,ldo1-en-gpios = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_HIGH>; realtek,over-current-threshold-microamp = <600>; realtek,over-current-scale-factor = <2>; realtek,jack-detect-is-jd1; }; /* PD Chip */ bm92t: bm92t@18 { compatible = "rohm,bm92t"; reg = <0x18>; interrupt-parent = <&gpio>; interrupts = ; #extcon-cells = <1>; pd_bat_chg-supply = <&battery_charger>; vbus-source-supply = <&v_vdd5v3>; vbus-supply = <&usb0_vbus>; rohm,dp-lanes = <2>; rohm,dp-signal-toggle-on-resume; /* Absolute max is 2.4A, constrained by BQ24193 ILIM */ rohm,pd-5v-current-limit-ma = <2000>; rohm,pd-9v-current-limit-ma = <2000>; rohm,pd-12v-current-limit-ma = <1500>; rohm,pd-15v-current-limit-ma = <1200>; port { usb_con_ep: endpoint { remote-endpoint = <&usb_port_0>; }; }; }; tmp451: temperature-sensor@4c { compatible = "ti,tmp451"; status = "okay"; reg = <0x4c>; interrupt-parent = <&gpio>; interrupts = ; vcc-supply = <&battery_reg>; #thermal-sensor-cells = <1>; }; }; /* i2c3 @ 400000hz 49: stm touchscreen controller */ i2c@7000c500 { status = "okay"; clock-frequency = <400000>; fts_touch: fts@49 { compatible = "stm,ftm4_fts"; status = "okay"; reg = <0x49>; interrupt-parent = <&gpio>; interrupts = ; stm,vio-gpio = <&gpio TEGRA_GPIO(J, 7) GPIO_ACTIVE_HIGH>; stm,irq_type = <0x2000>; /* IRQF_ONESHOT */ stm,regulator_avdd = "vdd-tp-2v9"; stm,max_coords = <1280 720>; stm,max-real-coords = <1264 704>; stm,edge-offset = <15 15>; stm,delayed-open; stm,delayed-open-time = <0>; }; }; /* i2c2 @ 400000hz 29: rohm ambient light sensor */ i2c@7000c400 { status = "okay"; clock-frequency = <400000>; bh1730fvc: bh1730fvc@29 { status = "disabled"; compatible = "rohm,bh1730fvc"; reg = <0x29>; als-vid-supply = <&max77620_ldo6>; als-vdd-supply = <&vdd_3v3>; rohm,integration-cycle = <38>; rohm,lux-multiplier = <3600>; rohm,opt-win-coeff = < 500 5002 7502 754 2250 2000 1029 1999 1667 1373 884 583 1879 309 165>; rohm,gain-coeff = < 2500 0 1600 7800 10 50000 0 1000>; }; }; spi@7000da00 { status = "disabled"; /* Disabled for Vali */ num-cs = <1>; #address-cells = <1>; #size-cells = <0>; // spi-cs-setup-delay-ns = <2>; // spi-cs-hold-delay-ns = <2>; // spi-cs-inactive-delay-ns = <2>; /* * Model WHOAMI: * LSM6DS3H 0x69, LSM6DSE 0x6A, LSM6DSO 0x6C, ICM40607 0x38. */ gyroscope: imu@0 { reg = <0>; status = "disabled"; compatible = "st,lsm6ds3h"; #address-cells = <1>; #size-cells = <0>; spi-max-frequency = <8000000>; /* SPI Mode-3 */ spi-cpha; spi-cpol; interrupt-parent = <&gpio>; interrupts = ; vdd-supply = <&battery_reg>; vddio-supply = <&battery_reg>; st,drdy-int-pin = <2>; nvidia,rx-clk-tap-delay = <0x1f>; nvidia,tx-clk-tap-delay = <0x0>; mount-matrix = "1", "0", "0", /* X: x */ "0", "1", "0", /* Y: y */ "0", "0", "1"; /* Z: z */ }; }; gpio-keys { compatible = "gpio-keys"; key-volume-down { label = "Volume Down"; gpios = <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <10>; }; key-volume-up { label = "Volume Up"; gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <10>; }; }; gpio@6000d000 { boot-default-output-high { gpio-hog; output-high; gpios = ; /* Wi-Fi Reset. Powered on by default. */ line-name = "boot-default-output-high"; }; }; pwm@7000a000 { status = "okay"; #pwm-cells = <2>; }; fan: pwm-fan { compatible = "pwm-fan"; cooling-min-state = <0>; cooling-max-state = <5>; #cooling-cells = <2>; pwms = <&pwm 1 33333>; fan-supply = <&v_vdd50_a>; enable-gpios = <&gpio TEGRA_GPIO(A, 5) GPIO_ACTIVE_HIGH>; /* cooling level (0, 1, 2, 3, 4, 5) - pwm inverted */ cooling-levels = <255 204 153 102 51 0>; }; sound { status = "okay"; compatible = "nvidia,tegra-audio-rt5640-tx1", "nvidia,tegra-audio-rt5640"; nvidia,model = "Nintendo Switch"; nvidia,audio-codec = <&rt5639>; nvidia,i2s-controller = <&tegra_i2s1>; // nvidia,hp-det-gpios = <&gpio 143 0>; clocks = <&tegra_car TEGRA210_CLK_PLL_A>, <&tegra_car TEGRA210_CLK_PLL_A_OUT0>, <&tegra_car TEGRA210_CLK_CLK_M>; clock-names = "pll_a", "plla_out0", "mclk"; assigned-clocks = <&tegra_car TEGRA210_CLK_PLL_A>, <&tegra_car TEGRA210_CLK_PLL_A_OUT0>, <&tegra_car TEGRA210_CLK_D_AUDIO>, <&tegra_car TEGRA210_CLK_EXTERN1>; assigned-clock-rates = <368640000>, <36864000>, <36864000>, <12288000>; nvidia,audio-routing = "Headphones", "HPOL", "Headphones", "HPOR", "Speakers", "SPORP", "Speakers", "SPORN", "Speakers", "SPOLP", "Speakers", "SPOLN", "IN1P", "Mic Jack", "IN1P", "Mic Jack"; }; thermal-zones { cpu { polling-delay-passive = <250>; polling-delay = <500>; status = "okay"; /* Based on Console profile SoC: 95% (100% at Handheld) */ coefficients = <95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0>; thermal-sensors = <&tmp451 1>; trips { cpu_critical: cpu-critical { temperature = <102500>; hysteresis = <0>; type = "critical"; }; cpu_heavy: cpu-heavy { temperature = <98500>; hysteresis = <1000>; type = "hot"; }; cpu_throttle: cpu-throttle { temperature = <89000>; hysteresis = <2000>; type = "passive"; }; cpu_cap_trip1: cpu-cap-trip1 { temperature = <58000>; hysteresis = <2000>; type = "active"; }; cpu_floor_trip1: cpu-floor-trip1 { temperature = <53000>; hysteresis = <2000>; type = "active"; }; cpu_cap_trip0: cpu-cap-trip0 { temperature = <48000>; hysteresis = <2000>; type = "active"; }; cpu_floor_trip0: cpu-floor-trip0 { temperature = <43000>; hysteresis = <2000>; type = "active"; }; }; cooling-maps { map0 { cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; trip = <&cpu_critical>; }; map1 { cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; trip = <&cpu_heavy>; }; map2 { cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; trip = <&cpu_throttle>; }; map3 { cooling-device = <&fan 1 1>; trip = <&cpu_cap_trip1>; }; map4 { cooling-device = <&fan 2 2>; trip = <&cpu_floor_trip1>; }; map5 { cooling-device = <&fan 3 3>; trip = <&cpu_cap_trip0>; }; map6 { cooling-device = <&fan 4 4>; trip = <&cpu_floor_trip0>; }; }; }; gpu { polling-delay-passive = <250>; polling-delay = <500>; status = "okay"; thermal-sensors = <&tmp451 1>; trips { gpu_critical: gpu-critical { temperature = <103000>; hysteresis = <0>; type = "critical"; }; gpu_heavy: gpu-heavy { temperature = <100000>; hysteresis = <1000>; type = "hot"; }; gpu_throttle: gpu-throttle { temperature = <90500>; hysteresis = <0>; type = "passive"; }; }; cooling-maps { map0 { trip = <&gpu_critical>; cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; map1 { trip = <&gpu_heavy>; cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; map2 { trip = <&gpu_throttle>; cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; pmic { status = "okay"; polling-delay-passive = <250>; polling-delay = <500>; thermal-sensors = <&max77620>; trips { pmic_die_warn_temp_thresh: hot-die { temperature = <120000>; type = "hot"; hysteresis = <0>; }; pmic_die_cirt_temp_thresh: critical-die { temperature = <140000>; type = "critical"; hysteresis = <0>; }; }; cooling-maps { map0 { trip = <&pmic_die_warn_temp_thresh>; cooling-device = <&throttle_heavy 1 1>; contribution = <100>; }; }; }; cpu_vreg { status = "okay"; polling-delay-passive = <250>; polling-delay = <500>; thermal-sensors = <&cpu_max_reg>; trips { cpu_vreg_die_warn_temp_thresh: hot-die { temperature = <120000>; type = "hot"; hysteresis = <0>; }; }; cooling-maps { map0 { trip = <&cpu_vreg_die_warn_temp_thresh>; cooling-device = <&throttle_heavy 1 1>; contribution = <100>; }; }; }; gpu_vreg { status = "okay"; polling-delay-passive = <250>; polling-delay = <500>; thermal-sensors = <&gpu_max_reg>; trips { gpu_vreg_die_warn_temp_thresh: hot-die { temperature = <120000>; type = "hot"; hysteresis = <0>; }; }; cooling-maps { /* * There are currently no cooling maps, * because there are no cooling devices. */ }; }; }; };