Skip to content

Commit 13b0aca

Browse files
committed
arm64: tegra: Support Jetson Orin NX
This adds a device tree for the Jetson Orin NX module, which is Jetson AGX Orin's little sibling with 6 or 8 ARM Cortex-A78AE cores, an Ampere GPU (1024 GPU and 32 tensor cores) and a number of accelerators for machine learning, image processing and more. The Jetson Orin NX comes with either 8 or 16 GiB of 128-bit LPDDR5 and supports NVME for mass storage. Signed-off-by: Thierry Reding <treding@nvidia.com>
1 parent d89baa5 commit 13b0aca

2 files changed

Lines changed: 186 additions & 0 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
3+
#include "tegra234-p3767.dtsi"
4+
5+
/ {
6+
compatible = "nvidia,p3767-0000", "nvidia,tegra234";
7+
model = "NVIDIA Jetson Orin NX";
8+
9+
bus@0 {
10+
hda@3510000 {
11+
nvidia,model = "NVIDIA Jetson Orin NX HDA";
12+
};
13+
};
14+
};
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
3+
#include "tegra234.dtsi"
4+
5+
/ {
6+
compatible = "nvidia,p3767", "nvidia,tegra234";
7+
8+
bus@0 {
9+
i2c@3160000 {
10+
status = "okay";
11+
12+
eeprom@50 {
13+
compatible = "atmel,24c02";
14+
reg = <0x50>;
15+
16+
label = "module";
17+
vcc-supply = <&vdd_1v8_hs>;
18+
address-width = <8>;
19+
pagesize = <8>;
20+
size = <256>;
21+
read-only;
22+
};
23+
};
24+
25+
spi@3270000 {
26+
status = "okay";
27+
28+
flash@0 {
29+
compatible = "jedec,spi-nor";
30+
reg = <0>;
31+
spi-max-frequency = <136000000>;
32+
spi-tx-bus-width = <4>;
33+
spi-rx-bus-width = <4>;
34+
};
35+
};
36+
37+
/*
38+
* This only exists on Jetson Orin Nano Developer Kit (SKU 5)
39+
* but UEFI needs this and will remove it on devices where it
40+
* doesn't exist.
41+
*/
42+
mmc@3400000 {
43+
status = "okay";
44+
bus-width = <4>;
45+
cd-gpios = <&gpio TEGRA234_MAIN_GPIO(G, 7) GPIO_ACTIVE_HIGH>;
46+
disable-wp;
47+
};
48+
49+
hda@3510000 {
50+
status = "okay";
51+
};
52+
53+
padctl@3520000 {
54+
vclamp-usb-supply = <&vdd_1v8_ao>;
55+
avdd-usb-supply = <&vdd_3v3_ao>;
56+
};
57+
58+
rtc@c2a0000 {
59+
status = "okay";
60+
};
61+
62+
pmc@c360000 {
63+
nvidia,invert-interrupt;
64+
};
65+
};
66+
67+
vdd_5v0_sys: regulator-vdd-5v0-sys {
68+
compatible = "regulator-fixed";
69+
regulator-name = "VDD_5V0_SYS";
70+
regulator-min-microvolt = <5000000>;
71+
regulator-max-microvolt = <5000000>;
72+
regulator-always-on;
73+
};
74+
75+
vdd_1v8_hs: regulator-vdd-1v8-hs {
76+
compatible = "regulator-fixed";
77+
regulator-name = "VDD_1V8_HS";
78+
regulator-min-microvolt = <1800000>;
79+
regulator-max-microvolt = <1800000>;
80+
regulator-always-on;
81+
};
82+
83+
vdd_1v8_ao: regulator-vdd-1v8-ao {
84+
compatible = "regulator-fixed";
85+
regulator-name = "VDD_1V8_AO";
86+
regulator-min-microvolt = <1800000>;
87+
regulator-max-microvolt = <1800000>;
88+
regulator-always-on;
89+
vin-supply = <&vdd_5v0_sys>;
90+
};
91+
92+
vdd_3v3_ao: regulator-vdd-3v3-ao {
93+
compatible = "regulator-fixed";
94+
regulator-name = "VDD_3V3_AO";
95+
regulator-min-microvolt = <33000000>;
96+
regulator-max-microvolt = <33000000>;
97+
regulator-always-on;
98+
vin-supply = <&vdd_5v0_sys>;
99+
};
100+
101+
thermal-zones {
102+
/*
103+
* This monitoring is far from optimal, but it's good enough
104+
* at this stage.
105+
*/
106+
cpu-thermal {
107+
polling-delay = <1000>;
108+
polling-delay-passive = <1000>;
109+
status = "okay";
110+
111+
trips {
112+
critical {
113+
temperature = <104500>;
114+
hysteresis = <0>;
115+
type = "critical";
116+
};
117+
118+
hot {
119+
temperature = <99000>;
120+
hysteresis = <1000>;
121+
type = "hot";
122+
};
123+
124+
board_trip_passive: passive {
125+
temperature = <95000>;
126+
hysteresis = <2000>;
127+
type = "passive";
128+
};
129+
130+
board_trip_active2: active-2 {
131+
temperature = <80000>;
132+
hysteresis = <4000>;
133+
type = "active";
134+
};
135+
136+
board_trip_active1: active-1 {
137+
temperature = <65000>;
138+
hysteresis = <4000>;
139+
type = "active";
140+
};
141+
142+
board_trip_active0: active-0 {
143+
temperature = <50000>;
144+
hysteresis = <4000>;
145+
type = "active";
146+
};
147+
};
148+
149+
cooling-maps {
150+
passive {
151+
cooling-device = <&fan 3 3>;
152+
trip = <&board_trip_passive>;
153+
};
154+
155+
active2 {
156+
cooling-device = <&fan 2 3>;
157+
trip = <&board_trip_active2>;
158+
};
159+
160+
active1 {
161+
cooling-device = <&fan 1 2>;
162+
trip = <&board_trip_active1>;
163+
};
164+
165+
active0 {
166+
cooling-device = <&fan 0 1>;
167+
trip = <&board_trip_active0>;
168+
};
169+
};
170+
};
171+
};
172+
};

0 commit comments

Comments
 (0)