Skip to content

Commit a9c7f8d

Browse files
committed
Merge tag 'tegra-for-6.5-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt
arm64: tegra: Device tree changes for v6.5-rc1 This introduces support for the IGX Orin and Jetson Orin Nano devices and enables various additional features on the Jetson AGX Orin and Jetson Orin NX. This also enables some basic thermal support to prevent the devices from overheating. Support for the GPU on the Google Pixel C is enabled and various minor issues are fixed and cleaned up. * tag 'tegra-for-6.5-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Enable thermal support on Jetson Orin Nano arm64: tegra: Enable thermal support on Jetson Orin NX arm64: tegra: Enable thermal support on Jetson AGX Orin arm64: tegra: Add Tegra234 thermal support arm64: tegra: Add a few blank lines for better readability arm64: tegra: Sort properties more logically arm64: tegra: Enable GPU on Smaug arm64: tegra: Add GPU power rail regulator on Smaug arm64: tegra: Update USB phy-name for Jetson Orin NX arm64: tegra: Enable USB device for Jetson AGX Orin arm64: tegra: Add Tegra234 pin controllers arm64: tegra: Support Jetson Orin Nano Developer Kit arm64: tegra: Add missing cache properties on Tegra210 arm64: tegra: Fix PCIe regulator for Orin Jetson AGX arm64: tegra: Add CPU OPP tables and interconnects property arm64: tegra: Add support for IGX Orin Link: https://lore.kernel.org/r/20230609193620.2275240-6-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 79e4760 + 6312e57 commit a9c7f8d

16 files changed

Lines changed: 927 additions & 72 deletions

arch/arm64/boot/dts/nvidia/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ DTC_FLAGS_tegra194-p2972-0000 := -@
99
DTC_FLAGS_tegra194-p3509-0000+p3668-0000 := -@
1010
DTC_FLAGS_tegra194-p3509-0000+p3668-0001 := -@
1111
DTC_FLAGS_tegra234-p3737-0000+p3701-0000 := -@
12+
DTC_FLAGS_tegra234-p3740-0002+p3701-0008 := -@
1213
DTC_FLAGS_tegra234-p3768-0000+p3767-0000 := -@
14+
DTC_FLAGS_tegra234-p3768-0000+p3767-0005 := -@
1315

1416
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
1517
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
@@ -25,4 +27,6 @@ dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
2527
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
2628
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
2729
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
30+
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3740-0002+p3701-0008.dtb
2831
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0000.dtb
32+
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0005.dtb

arch/arm64/boot/dts/nvidia/tegra210-smaug.dts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@
3636
};
3737
};
3838

39+
gpu@57000000 {
40+
vdd-supply = <&max77621_gpu>;
41+
status = "okay";
42+
};
43+
3944
pinmux: pinmux@700008d4 {
4045
pinctrl-names = "boot";
4146
pinctrl-0 = <&state_boot>;
@@ -1370,11 +1375,27 @@
13701375
maxim,dvs-default-state = <1>;
13711376
maxim,enable-active-discharge;
13721377
maxim,enable-bias-control;
1373-
maxim,enable-etr;
13741378
maxim,enable-gpio = <&pmic 5 0>;
13751379
maxim,externally-enable;
13761380
};
13771381

1382+
max77621_gpu: regulator@1c {
1383+
compatible = "maxim,max77621";
1384+
reg = <0x1c>;
1385+
interrupt-parent = <&gpio>;
1386+
interrupts = <TEGRA_GPIO(A, 6) IRQ_TYPE_LEVEL_LOW>;
1387+
regulator-min-microvolt = <840000>;
1388+
regulator-max-microvolt = <1150000>;
1389+
regulator-name = "PPVAR_GPU";
1390+
regulator-ramp-delay = <12500>;
1391+
maxim,dvs-default-state = <1>;
1392+
maxim,enable-active-discharge;
1393+
maxim,enable-bias-control;
1394+
maxim,disable-etr;
1395+
maxim,enable-gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
1396+
maxim,externally-enable;
1397+
};
1398+
13781399
pmic: pmic@3c {
13791400
compatible = "maxim,max77620";
13801401
reg = <0x3c>;

arch/arm64/boot/dts/nvidia/tegra210.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2000,6 +2000,7 @@
20002000
L2: l2-cache {
20012001
compatible = "cache";
20022002
cache-level = <2>;
2003+
cache-unified;
20032004
};
20042005
};
20052006

arch/arm64/boot/dts/nvidia/tegra234-p3701-0000.dtsi

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
regulator-name = "VDD_3V3_PCIE";
127127
regulator-min-microvolt = <3300000>;
128128
regulator-max-microvolt = <3300000>;
129-
gpio = <&gpio TEGRA234_MAIN_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
129+
gpio = <&gpio TEGRA234_MAIN_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
130130
regulator-boot-on;
131131
enable-active-high;
132132
};
@@ -139,4 +139,26 @@
139139
gpio = <&gpio TEGRA234_MAIN_GPIO(A, 1) GPIO_ACTIVE_LOW>;
140140
regulator-boot-on;
141141
};
142+
143+
thermal-zones {
144+
tj-thermal {
145+
polling-delay = <1000>;
146+
polling-delay-passive = <1000>;
147+
status = "okay";
148+
149+
trips {
150+
tj_trip_active0: active-0 {
151+
temperature = <75000>;
152+
hysteresis = <4000>;
153+
type = "active";
154+
};
155+
156+
tj_trip_active1: active-1 {
157+
temperature = <95000>;
158+
hysteresis = <4000>;
159+
type = "active";
160+
};
161+
};
162+
};
163+
};
142164
};
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
3+
#include "tegra234.dtsi"
4+
5+
/ {
6+
compatible = "nvidia,p3701-0008", "nvidia,tegra234";
7+
8+
bus@0 {
9+
i2c@3160000 {
10+
status = "okay";
11+
12+
eeprom@50 {
13+
compatible = "atmel,24c02";
14+
reg = <0x50>;
15+
label = "module";
16+
vcc-supply = <&vdd_1v8_hs>;
17+
address-width = <8>;
18+
pagesize = <8>;
19+
size = <256>;
20+
read-only;
21+
};
22+
};
23+
24+
spi@3270000 {
25+
status = "okay";
26+
27+
flash@0 {
28+
compatible = "jedec,spi-nor";
29+
reg = <0>;
30+
spi-max-frequency = <102000000>;
31+
spi-tx-bus-width = <4>;
32+
spi-rx-bus-width = <4>;
33+
};
34+
};
35+
36+
mmc@3460000 {
37+
status = "okay";
38+
bus-width = <8>;
39+
non-removable;
40+
};
41+
42+
i2c@c240000 {
43+
status = "okay";
44+
};
45+
46+
rtc@c2a0000 {
47+
status = "okay";
48+
};
49+
50+
pmc@c360000 {
51+
nvidia,invert-interrupt;
52+
};
53+
};
54+
55+
bpmp {
56+
i2c {
57+
status = "okay";
58+
59+
thermal-sensor@4c {
60+
status = "okay";
61+
reg = <0x4c>;
62+
vcc-supply = <&vdd_1v8_ao>;
63+
};
64+
};
65+
66+
thermal {
67+
status = "okay";
68+
};
69+
};
70+
71+
vdd_1v8_ao: regulator-vdd-1v8-ao {
72+
compatible = "regulator-fixed";
73+
regulator-name = "VDD_1V8_AO";
74+
regulator-min-microvolt = <1800000>;
75+
regulator-max-microvolt = <1800000>;
76+
regulator-always-on;
77+
};
78+
79+
vdd_1v8_hs: regulator-vdd-1v8-hs {
80+
compatible = "regulator-fixed";
81+
regulator-name = "VDD_1V8_HS";
82+
regulator-min-microvolt = <1800000>;
83+
regulator-max-microvolt = <1800000>;
84+
regulator-always-on;
85+
};
86+
87+
vdd_1v8_ls: regulator-vdd-1v8-ls {
88+
compatible = "regulator-fixed";
89+
regulator-name = "VDD_1V8_LS";
90+
regulator-min-microvolt = <1800000>;
91+
regulator-max-microvolt = <1800000>;
92+
regulator-always-on;
93+
};
94+
95+
vdd_3v3_ao: regulator-vdd-3v3-ao {
96+
compatible = "regulator-fixed";
97+
regulator-name = "vdd-AO-3v3";
98+
regulator-min-microvolt = <3300000>;
99+
regulator-max-microvolt = <3300000>;
100+
regulator-always-on;
101+
};
102+
103+
vdd_5v0_sys: regulator-vdd-5v0-sys {
104+
compatible = "regulator-fixed";
105+
regulator-name = "VIN_SYS_5V0";
106+
regulator-min-microvolt = <5000000>;
107+
regulator-max-microvolt = <5000000>;
108+
regulator-always-on;
109+
regulator-boot-on;
110+
};
111+
};

arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2096,7 +2096,8 @@
20962096

20972097
ports {
20982098
usb2-0 {
2099-
mode = "host";
2099+
mode = "otg";
2100+
usb-role-switch;
21002101
status = "okay";
21012102
port {
21022103
hs_typec_p1: endpoint {
@@ -2152,6 +2153,14 @@
21522153
};
21532154
};
21542155

2156+
usb@3550000 {
2157+
status = "okay";
2158+
2159+
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
2160+
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
2161+
phy-names = "usb2-0", "usb3-0";
2162+
};
2163+
21552164
usb@3610000 {
21562165
status = "okay";
21572166

@@ -2238,29 +2247,35 @@
22382247

22392248
i2c@c240000 {
22402249
status = "okay";
2250+
22412251
typec@8 {
22422252
compatible = "cypress,cypd4226";
22432253
reg = <0x08>;
22442254
interrupt-parent = <&gpio>;
22452255
interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
22462256
firmware-name = "nvidia,jetson-agx-xavier";
22472257
status = "okay";
2258+
22482259
#address-cells = <1>;
22492260
#size-cells = <0>;
2261+
22502262
ccg_typec_con0: connector@0 {
22512263
compatible = "usb-c-connector";
22522264
reg = <0>;
22532265
label = "USB-C";
22542266
data-role = "host";
2267+
22552268
ports {
22562269
#address-cells = <1>;
22572270
#size-cells = <0>;
2271+
22582272
port@0 {
22592273
reg = <0>;
22602274
hs_ucsi_ccg_p0: endpoint {
22612275
remote-endpoint = <&hs_typec_p0>;
22622276
};
22632277
};
2278+
22642279
port@1 {
22652280
reg = <1>;
22662281
ss_ucsi_ccg_p0: endpoint {
@@ -2269,20 +2284,24 @@
22692284
};
22702285
};
22712286
};
2287+
22722288
ccg_typec_con1: connector@1 {
22732289
compatible = "usb-c-connector";
22742290
reg = <1>;
22752291
label = "USB-C";
22762292
data-role = "dual";
2293+
22772294
ports {
22782295
#address-cells = <1>;
22792296
#size-cells = <0>;
2297+
22802298
port@0 {
22812299
reg = <0>;
22822300
hs_ucsi_ccg_p1: endpoint {
22832301
remote-endpoint = <&hs_typec_p1>;
22842302
};
22852303
};
2304+
22862305
port@1 {
22872306
reg = <1>;
22882307
ss_ucsi_ccg_p1: endpoint {
@@ -2324,21 +2343,16 @@
23242343
};
23252344

23262345
pwm-fan {
2327-
compatible = "pwm-fan";
2328-
pwms = <&pwm3 0 45334>;
2329-
2330-
cooling-levels = <0 95 178 255>;
2331-
#cooling-cells = <2>;
2346+
cooling-levels = <66 215 255>;
23322347
};
23332348

23342349
serial {
23352350
status = "okay";
23362351
};
23372352

23382353
sound {
2339-
status = "okay";
2340-
23412354
compatible = "nvidia,tegra186-audio-graph-card";
2355+
status = "okay";
23422356

23432357
dais = /* ADMAIF (FE) Ports */
23442358
<&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
@@ -2415,4 +2429,20 @@
24152429
"CVB-RT DMIC1", "CVB-RT MIC",
24162430
"CVB-RT DMIC2", "CVB-RT MIC";
24172431
};
2432+
2433+
thermal-zones {
2434+
tj-thermal {
2435+
cooling-maps {
2436+
map-active-0 {
2437+
cooling-device = <&fan 0 1>;
2438+
trip = <&tj_trip_active0>;
2439+
};
2440+
2441+
map-active-1 {
2442+
cooling-device = <&fan 1 2>;
2443+
trip = <&tj_trip_active1>;
2444+
};
2445+
};
2446+
};
2447+
};
24182448
};

arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@
3333
};
3434
};
3535

36+
fan: pwm-fan {
37+
compatible = "pwm-fan";
38+
pwms = <&pwm3 0 45334>;
39+
#cooling-cells = <2>;
40+
};
41+
3642
vdd_1v8_sys: regulator-vdd-1v8-sys {
3743
compatible = "regulator-fixed";
3844
regulator-name = "VDD_1V8_SYS";

0 commit comments

Comments
 (0)