summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Kozlowski <krzk@kernel.org>2026-04-04 16:03:22 +0200
committerKrzysztof Kozlowski <krzk@kernel.org>2026-04-04 16:03:22 +0200
commit9c5a54409b6adbffcaedcaffa70521ee24441234 (patch)
treeaedc14105b6d473b8555a848817307e6ec42e55a
parent8366b60cbea2fbf4263e68da39dc848ea1793568 (diff)
parentce74a6c6d88ba9ee29a6b99ac97ffcded577c85d (diff)
downloadlwn-9c5a54409b6adbffcaedcaffa70521ee24441234.tar.gz
lwn-9c5a54409b6adbffcaedcaffa70521ee24441234.zip
Merge tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
ARM: tegra: Device tree changes for v7.1-rc1 Various improvements for Tegra114 boards, as well as some legacy cleanup for PAZ00 and Transformers devices. * tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: paz00: Configure WiFi rfkill switch through device tree ARM: tegra: transformers: Add connector node ARM: tegra: Add External Memory Controller node on Tegra114 ARM: tegra: Add ACTMON node to Tegra114 device tree ARM: tegra: lg-x3: Add node for capacitive buttons ARM: tegra: lg-x3: Add USB and power related nodes ARM: tegra: lg-x3: Add panel and bridge nodes ARM: tn7: Adjust panel node ARM: tegra: Add SOCTHERM support on Tegra114 Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
-rw-r--r--arch/arm/boot/dts/nvidia/tegra114-tn7.dts13
-rw-r--r--arch/arm/boot/dts/nvidia/tegra114.dtsi221
-rw-r--r--arch/arm/boot/dts/nvidia/tegra20-paz00.dts8
-rw-r--r--arch/arm/boot/dts/nvidia/tegra30-asus-tf600t.dts21
-rw-r--r--arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts23
-rw-r--r--arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts33
-rw-r--r--arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi174
-rw-r--r--arch/arm/mach-tegra/Makefile2
-rw-r--r--arch/arm/mach-tegra/board-paz00.c56
-rw-r--r--arch/arm/mach-tegra/board.h2
-rw-r--r--arch/arm/mach-tegra/tegra.c4
11 files changed, 482 insertions, 75 deletions
diff --git a/arch/arm/boot/dts/nvidia/tegra114-tn7.dts b/arch/arm/boot/dts/nvidia/tegra114-tn7.dts
index bfbdb345575a..75fbafb4a872 100644
--- a/arch/arm/boot/dts/nvidia/tegra114-tn7.dts
+++ b/arch/arm/boot/dts/nvidia/tegra114-tn7.dts
@@ -43,7 +43,9 @@
compatible = "lg,ld070wx3-sl01";
reg = <0>;
- power-supply = <&vdd_lcd>;
+ vdd-supply = <&avdd_lcd>;
+ vcc-supply = <&dvdd_lcd>;
+
backlight = <&backlight>;
};
};
@@ -101,11 +103,10 @@
regulator-boot-on;
};
- smps6 {
+ avdd_lcd: smps6 {
regulator-name = "va-lcd-hv";
- regulator-min-microvolt = <3000000>;
- regulator-max-microvolt = <3000000>;
- regulator-always-on;
+ regulator-min-microvolt = <3160000>;
+ regulator-max-microvolt = <3160000>;
regulator-boot-on;
};
@@ -325,7 +326,7 @@
regulator-boot-on;
};
- vdd_lcd: regulator-lcd {
+ dvdd_lcd: regulator-lcd {
compatible = "regulator-fixed";
regulator-name = "VD_LCD_1V8";
regulator-min-microvolt = <1800000>;
diff --git a/arch/arm/boot/dts/nvidia/tegra114.dtsi b/arch/arm/boot/dts/nvidia/tegra114.dtsi
index a98667641be2..7e8f90d33935 100644
--- a/arch/arm/boot/dts/nvidia/tegra114.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra114.dtsi
@@ -6,6 +6,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/reset/nvidia,tegra114-car.h>
#include <dt-bindings/soc/tegra-pmc.h>
+#include <dt-bindings/thermal/tegra114-soctherm.h>
/ {
compatible = "nvidia,tegra114";
@@ -258,6 +259,8 @@
reg = <0x60006000 0x1000>;
#clock-cells = <1>;
#reset-cells = <1>;
+
+ nvidia,external-memory-controller = <&emc>;
};
flow-controller@60007000 {
@@ -311,6 +314,18 @@
reg = <0x6000c000 0x150>;
};
+ actmon: actmon@6000c800 {
+ compatible = "nvidia,tegra114-actmon";
+ reg = <0x6000c800 0x400>;
+ interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&tegra_car TEGRA114_CLK_ACTMON>,
+ <&tegra_car TEGRA114_CLK_EMC>;
+ clock-names = "actmon", "emc";
+ resets = <&tegra_car TEGRA114_CLK_ACTMON>;
+ reset-names = "actmon";
+ #cooling-cells = <2>;
+ };
+
gpio: gpio@6000d000 {
compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
reg = <0x6000d000 0x1000>;
@@ -642,6 +657,16 @@
#iommu-cells = <1>;
};
+ emc: external-memory-controller@7001b000 {
+ compatible = "nvidia,tegra114-emc";
+ reg = <0x7001b000 0x800>;
+ interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&tegra_car TEGRA114_CLK_EMC>;
+ clock-names = "emc";
+
+ nvidia,memory-controller = <&mc>;
+ };
+
hda@70030000 {
compatible = "nvidia,tegra114-hda", "nvidia,tegra30-hda";
reg = <0x70030000 0x10000>;
@@ -751,6 +776,46 @@
};
};
+ soctherm: thermal-sensor@700e2000 {
+ compatible = "nvidia,tegra114-soctherm";
+ reg = <0x700e2000 0x600>, /* SOC_THERM reg_base */
+ <0x60006000 0x400>; /* CAR reg_base */
+ reg-names = "soctherm-reg", "car-reg";
+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "thermal", "edp";
+ clocks = <&tegra_car TEGRA114_CLK_TSENSOR>,
+ <&tegra_car TEGRA114_CLK_SOC_THERM>;
+ clock-names = "tsensor", "soctherm";
+ resets = <&tegra_car 78>;
+ reset-names = "soctherm";
+
+ assigned-clocks = <&tegra_car TEGRA114_CLK_TSENSOR>,
+ <&tegra_car TEGRA114_CLK_SOC_THERM>;
+ assigned-clock-rates = <500000>, <51000000>;
+
+ assigned-clock-parents = <&tegra_car TEGRA114_CLK_CLK_M>,
+ <&tegra_car TEGRA114_CLK_PLL_P>;
+
+ #thermal-sensor-cells = <1>;
+
+ throttle-cfgs {
+ throttle_heavy: heavy {
+ nvidia,priority = <100>;
+ nvidia,cpu-throt-percent = <80>;
+ nvidia,gpu-throt-level = <TEGRA114_SOCTHERM_THROT_LEVEL_HIGH>;
+ #cooling-cells = <2>;
+ };
+
+ throttle_light: light {
+ nvidia,priority = <80>;
+ nvidia,cpu-throt-percent = <50>;
+ nvidia,gpu-throt-level = <TEGRA114_SOCTHERM_THROT_LEVEL_MED>;
+ #cooling-cells = <2>;
+ };
+ };
+ };
+
mipi: mipi@700e3000 {
compatible = "nvidia,tegra114-mipi";
reg = <0x700e3000 0x100>;
@@ -921,24 +986,28 @@
clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
/* FIXME: what's the actual transition time? */
clock-latency = <300000>;
+ #cooling-cells = <2>;
};
cpu1: cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <1>;
+ #cooling-cells = <2>;
};
cpu2: cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <2>;
+ #cooling-cells = <2>;
};
cpu3: cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <3>;
+ #cooling-cells = <2>;
};
};
@@ -951,6 +1020,158 @@
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
};
+ thermal-zones {
+ cpu-thermal {
+ polling-delay-passive = <1000>;
+ polling-delay = <1000>;
+
+ thermal-sensors =
+ <&soctherm TEGRA114_SOCTHERM_SENSOR_CPU>;
+
+ trips {
+ cpu-shutdown-trip {
+ temperature = <102000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ cpu_throttle_trip: cpu-throttle-trip {
+ temperature = <100000>;
+ hysteresis = <1000>;
+ type = "hot";
+ };
+
+ cpu_balanced_trip: cpu-balanced-trip {
+ temperature = <90000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&cpu_throttle_trip>;
+ cooling-device = <&throttle_heavy 1 1>;
+ };
+
+ map1 {
+ trip = <&cpu_balanced_trip>;
+ cooling-device = <&throttle_light 1 1>;
+ };
+ };
+ };
+
+ mem-thermal {
+ polling-delay-passive = <1000>;
+ polling-delay = <1000>;
+
+ thermal-sensors =
+ <&soctherm TEGRA114_SOCTHERM_SENSOR_MEM>;
+
+ trips {
+ mem-shutdown-trip {
+ temperature = <102000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ mem_throttle_trip: mem-throttle-trip {
+ temperature = <100000>;
+ hysteresis = <1000>;
+ type = "hot";
+ };
+
+ mem_balanced_trip: mem-balanced-trip {
+ temperature = <90000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ /*
+ * There are currently no cooling maps,
+ * because there are no cooling devices.
+ */
+ };
+ };
+
+ gpu-thermal {
+ polling-delay-passive = <1000>;
+ polling-delay = <1000>;
+
+ thermal-sensors =
+ <&soctherm TEGRA114_SOCTHERM_SENSOR_GPU>;
+
+ trips {
+ gpu-shutdown-trip {
+ temperature = <102000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ gpu_throttle_trip: gpu-throttle-trip {
+ temperature = <100000>;
+ hysteresis = <1000>;
+ type = "hot";
+ };
+
+ gpu_balanced_trip: gpu-balanced-trip {
+ temperature = <90000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ map0 {
+ trip = <&gpu_throttle_trip>;
+ cooling-device = <&throttle_heavy 1 1>;
+ };
+
+ map1 {
+ trip = <&gpu_balanced_trip>;
+ cooling-device = <&throttle_light 1 1>;
+ };
+ };
+ };
+
+ pllx-thermal {
+ polling-delay-passive = <1000>;
+ polling-delay = <1000>;
+
+ thermal-sensors =
+ <&soctherm TEGRA114_SOCTHERM_SENSOR_PLLX>;
+
+ trips {
+ pllx-shutdown-trip {
+ temperature = <102000>;
+ hysteresis = <0>;
+ type = "critical";
+ };
+
+ pllx_throttle_trip: pllx-throttle-trip {
+ temperature = <100000>;
+ hysteresis = <1000>;
+ type = "hot";
+ };
+
+ pllx_balanced_trip: pllx-balanced-trip {
+ temperature = <90000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ /*
+ * There are currently no cooling maps,
+ * because there are no cooling devices.
+ */
+ };
+ };
+ };
+
timer {
compatible = "arm,armv7-timer";
interrupts =
diff --git a/arch/arm/boot/dts/nvidia/tegra20-paz00.dts b/arch/arm/boot/dts/nvidia/tegra20-paz00.dts
index 1408e1e00759..d1093ad569e6 100644
--- a/arch/arm/boot/dts/nvidia/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/nvidia/tegra20-paz00.dts
@@ -706,6 +706,14 @@
enable-active-high;
};
+ rfkill {
+ compatible = "rfkill-gpio";
+ label = "wifi_rfkill";
+ radio-type = "wlan";
+ reset-gpios = <&gpio TEGRA_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
+ shutdown-gpios = <&gpio TEGRA_GPIO(K, 5) GPIO_ACTIVE_HIGH>;
+ };
+
sound {
compatible = "nvidia,tegra-audio-alc5632-paz00",
"nvidia,tegra-audio-alc5632";
diff --git a/arch/arm/boot/dts/nvidia/tegra30-asus-tf600t.dts b/arch/arm/boot/dts/nvidia/tegra30-asus-tf600t.dts
index 5d9e23a43820..9296e7970ce4 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-asus-tf600t.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-asus-tf600t.dts
@@ -62,8 +62,11 @@
pll-supply = <&vdd_1v8_vio>;
vdd-supply = <&vdd_3v3_sys>;
- nvidia,hpd-gpio = <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
- nvidia,ddc-i2c-bus = <&hdmi_ddc>;
+ port {
+ hdmi_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
};
};
@@ -2174,6 +2177,20 @@
clock-output-names = "pmic-oscillator";
};
+ hdmi-connector {
+ compatible = "hdmi-connector";
+ type = "d";
+
+ hpd-gpios = <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
+ ddc-i2c-bus = <&hdmi_ddc>;
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi_out>;
+ };
+ };
+ };
+
cpus {
cpu0: cpu@0 {
cpu-supply = <&vdd_cpu>;
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
index c6ef0a20c19f..cc14e6dca770 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p880.dts
@@ -116,6 +116,29 @@
};
};
+ spi@7000dc00 {
+ dsi@2 {
+ /*
+ * JDI 4.57" 720x1280 DX12D100VM0EAA MIPI DSI panel
+ */
+ panel@1 {
+ compatible = "jdi,dx12d100vm0eaa", "renesas,r69328";
+ reg = <1>;
+
+ reset-gpios = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_LOW>;
+
+ vdd-supply = <&vcc_3v0_lcd>;
+ vddio-supply = <&iovcc_1v8_lcd>;
+
+ port {
+ panel_input: endpoint {
+ remote-endpoint = <&bridge_output>;
+ };
+ };
+ };
+ };
+ };
+
memory-controller@7000f000 {
emc-timings-0 {
/* SAMSUNG 1GB K4P8G304EB FGC1 533MHz */
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
index e32fafc7f5e0..414117fd4382 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-p895.dts
@@ -109,6 +109,39 @@
syna,clip-x-high = <1535>;
syna,clip-y-high = <2047>;
};
+
+ rmi4-f1a@1a {
+ reg = <0x1a>;
+
+ linux,keycodes = <KEY_BACK KEY_HOME KEY_MENU KEY_SEARCH>;
+ };
+ };
+ };
+
+ spi@7000dc00 {
+ dsi@2 {
+ /*
+ * HITACHI/KOE 5" 768x1024 TX13D100VM0EAA MIPI DSI panel
+ */
+ panel@1 {
+ compatible = "koe,tx13d100vm0eaa", "renesas,r61307";
+ reg = <1>;
+
+ reset-gpios = <&gpio TEGRA_GPIO(W, 0) GPIO_ACTIVE_LOW>;
+
+ renesas,gamma = <3>;
+ renesas,column-inversion;
+ renesas,contrast;
+
+ vcc-supply = <&vcc_3v0_lcd>;
+ iovcc-supply = <&iovcc_1v8_lcd>;
+
+ port {
+ panel_input: endpoint {
+ remote-endpoint = <&bridge_output>;
+ };
+ };
+ };
};
};
diff --git a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
index 909260a5d0fb..768e201456d8 100644
--- a/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
+++ b/arch/arm/boot/dts/nvidia/tegra30-lg-x3.dtsi
@@ -20,6 +20,8 @@
rtc0 = &pmic;
rtc1 = "/rtc@7000e000";
+ display0 = &lcd;
+
serial0 = &uartd; /* Console */
serial1 = &uartc; /* Bluetooth */
serial2 = &uartb; /* GPS */
@@ -71,6 +73,21 @@
};
};
+ host1x@50000000 {
+ lcd: dc@54200000 {
+ rgb {
+ status = "okay";
+
+ port {
+ dpi_output: endpoint {
+ remote-endpoint = <&bridge_input>;
+ bus-width = <24>;
+ };
+ };
+ };
+ };
+ };
+
vde@6001a000 {
assigned-clocks = <&tegra_car TEGRA30_CLK_VDE>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_P>;
@@ -1053,6 +1070,38 @@
syna,clip-y-low = <0>;
};
};
+
+ max14526: muic@44 {
+ compatible = "maxim,max14526";
+ reg = <0x44>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(J, 0) IRQ_TYPE_EDGE_FALLING>;
+
+ muic_con: connector {
+ compatible = "usb-b-connector";
+ label = "micro-USB";
+ type = "micro";
+ };
+
+ port {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ muic_to_charger: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&charger_input>;
+ };
+ };
+ };
+
+ tsc2007: adc@48 {
+ compatible = "ti,tsc2007";
+ reg = <0x48>;
+
+ ti,x-plate-ohms = <1>;
+ #io-channel-cells = <1>;
+ };
};
cam_i2c: i2c@7000c500 {
@@ -1309,6 +1358,22 @@
};
};
+ max8971: charger@35 {
+ compatible = "maxim,max8971";
+ reg = <0x35>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(J, 2) IRQ_TYPE_LEVEL_LOW>;
+
+ monitored-battery = <&battery>;
+
+ port {
+ charger_input: endpoint {
+ remote-endpoint = <&muic_to_charger>;
+ };
+ };
+ };
+
fuel-gauge@36 {
compatible = "maxim,max17043";
reg = <0x36>;
@@ -1317,6 +1382,10 @@
interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_FALLING>;
monitored-battery = <&battery>;
+ power-supplies = <&max8971>;
+
+ io-channels = <&tbattery 0>;
+ io-channel-names = "temp";
maxim,alert-low-soc-level = <10>;
wakeup-source;
@@ -1357,7 +1426,58 @@
status = "okay";
spi-max-frequency = <25000000>;
- /* DSI bridge */
+ dsi@2 {
+ compatible = "solomon,ssd2825";
+ reg = <2>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ spi-max-frequency = <1000000>;
+
+ spi-cpha;
+ spi-cpol;
+
+ reset-gpios = <&gpio TEGRA_GPIO(O, 2) GPIO_ACTIVE_LOW>;
+
+ dvdd-supply = <&vdd_1v2_rgb>;
+ avdd-supply = <&vdd_1v2_rgb>;
+ vddio-supply = <&vdd_1v8_vio>;
+
+ solomon,hs-zero-delay-ns = <300>;
+ solomon,hs-prep-delay-ns = <65>;
+
+ clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_3>;
+
+ assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN3>,
+ <&tegra_pmc TEGRA_PMC_CLK_OUT_3>;
+ assigned-clock-rates = <24000000>;
+
+ assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_P>,
+ <&tegra_car TEGRA30_CLK_EXTERN3>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ bridge_input: endpoint {
+ remote-endpoint = <&dpi_output>;
+ bus-width = <24>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ bridge_output: endpoint {
+ remote-endpoint = <&panel_input>;
+ };
+ };
+ };
+ };
};
pmc@7000e400 {
@@ -1446,12 +1566,13 @@
usb@7d000000 {
compatible = "nvidia,tegra30-udc";
status = "okay";
- dr_mode = "peripheral";
+ dr_mode = "otg";
+ extcon = <&max14526>, <&max14526>;
};
usb-phy@7d000000 {
status = "okay";
- dr_mode = "peripheral";
+ dr_mode = "otg";
nvidia,hssync-start-delay = <0>;
nvidia,xcvr-lsfslew = <2>;
nvidia,xcvr-lsrslew = <2>;
@@ -1617,6 +1738,17 @@
vin-supply = <&vdd_3v3_vbat>;
};
+ vdd_1v2_rgb: regulator-rgb1v2 {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_1v2_rgb";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-boot-on;
+ gpio = <&gpio TEGRA_GPIO(B, 1) GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ vin-supply = <&vdd_3v3_vbat>;
+ };
+
vcc_3v0_lcd: regulator-lcd3v {
compatible = "regulator-fixed";
regulator-name = "vcc_3v0_lcd";
@@ -1724,7 +1856,43 @@
<&tegra_car TEGRA30_CLK_EXTERN1>;
};
+ tbattery: thermal-sensor-battery {
+ compatible = "generic-adc-thermal";
+ #thermal-sensor-cells = <0>;
+
+ io-channels = <&tsc2007 4>;
+ io-channel-names = "sensor-channel";
+ #io-channel-cells = <1>;
+
+ temperature-lookup-table = <
+ (-50000) 4100 (-40000) 3980 (-30000) 3815 (-20000) 3610
+ (-10000) 3285 0 2880 10000 2445 20000 1955
+ 30000 1440 40000 1125 50000 840 60000 665
+ 70000 465 80000 350 90000 230 100000 185 >;
+ };
+
thermal-zones {
+ battery-thermal {
+ polling-delay-passive = <0>; /* milliseconds */
+ polling-delay = <20000>; /* milliseconds */
+
+ thermal-sensors = <&tbattery>;
+
+ trips {
+ battery-alert {
+ temperature = <55000>;
+ hysteresis = <2000>;
+ type = "hot";
+ };
+
+ battery-crit {
+ temperature = <60000>;
+ hysteresis = <2000>;
+ type = "critical";
+ };
+ };
+ };
+
/*
* NCT72 has two sensors:
*
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile
index a2bb55bc0081..9e3abb14fbc1 100644
--- a/arch/arm/mach-tegra/Makefile
+++ b/arch/arm/mach-tegra/Makefile
@@ -15,5 +15,3 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
obj-$(CONFIG_ARCH_TEGRA_114_SOC) += pm-tegra30.o
obj-$(CONFIG_ARCH_TEGRA_124_SOC) += pm-tegra30.o
-
-obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += board-paz00.o
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
deleted file mode 100644
index 3ec810b6f1a7..000000000000
--- a/arch/arm/mach-tegra/board-paz00.c
+++ /dev/null
@@ -1,56 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * arch/arm/mach-tegra/board-paz00.c
- *
- * Copyright (C) 2011 Marc Dietrich <marvin24@gmx.de>
- *
- * Based on board-harmony.c
- * Copyright (C) 2010 Google, Inc.
- */
-
-#include <linux/err.h>
-#include <linux/gpio/machine.h>
-#include <linux/gpio/property.h>
-#include <linux/platform_device.h>
-#include <linux/printk.h>
-#include <linux/property.h>
-
-#include "board.h"
-
-static const struct software_node tegra_gpiochip_node = {
- .name = "tegra-gpio",
-};
-
-static const struct property_entry wifi_rfkill_prop[] __initconst = {
- PROPERTY_ENTRY_STRING("name", "wifi_rfkill"),
- PROPERTY_ENTRY_STRING("type", "wlan"),
- PROPERTY_ENTRY_GPIO("reset-gpios",
- &tegra_gpiochip_node, 25, GPIO_ACTIVE_HIGH),
- PROPERTY_ENTRY_GPIO("shutdown-gpios",
- &tegra_gpiochip_node, 85, GPIO_ACTIVE_HIGH),
- { }
-};
-
-static const struct platform_device_info wifi_rfkill_info __initconst = {
- .name = "rfkill_gpio",
- .id = PLATFORM_DEVID_NONE,
- .properties = wifi_rfkill_prop,
-};
-
-void __init tegra_paz00_wifikill_init(void)
-{
- struct platform_device *pd;
- int err;
-
- err = software_node_register(&tegra_gpiochip_node);
- if (err) {
- pr_err("failed to register %s node: %d\n",
- tegra_gpiochip_node.name, err);
- return;
- }
-
- pd = platform_device_register_full(&wifi_rfkill_info);
- err = PTR_ERR_OR_ZERO(pd);
- if (err)
- pr_err("failed to register WiFi rfkill device: %d\n", err);
-}
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index 7b3ef0dc9be1..86c3ea0d6b30 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -19,6 +19,4 @@
void __init tegra_map_common_io(void);
void __init tegra_init_irq(void);
-void __init tegra_paz00_wifikill_init(void);
-
#endif
diff --git a/arch/arm/mach-tegra/tegra.c b/arch/arm/mach-tegra/tegra.c
index 9ef1dfa7b926..f324a7e491d8 100644
--- a/arch/arm/mach-tegra/tegra.c
+++ b/arch/arm/mach-tegra/tegra.c
@@ -84,10 +84,6 @@ static void __init tegra_dt_init(void)
static void __init tegra_dt_init_late(void)
{
if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
- of_machine_is_compatible("compal,paz00"))
- tegra_paz00_wifikill_init();
-
- if (IS_ENABLED(CONFIG_ARCH_TEGRA_2x_SOC) &&
of_machine_is_compatible("nvidia,tegra20"))
platform_device_register_simple("tegra20-cpufreq", -1, NULL, 0);