Skip to content

Commit e63472e

Browse files
committed
arm64: tegra: Support Jetson Orin NX reference platform
Add support for the combination of the NVIDIA Jetson Orin NX (P3767, SKU 0) module and the P3768 carrier board. Signed-off-by: Thierry Reding <treding@nvidia.com>
1 parent 13b0aca commit e63472e

3 files changed

Lines changed: 381 additions & 0 deletions

File tree

arch/arm64/boot/dts/nvidia/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ 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-p3768-0000+p3767-0000 := -@
1213

1314
dtb-$(CONFIG_ARCH_TEGRA_132_SOC) += tegra132-norrin.dtb
1415
dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-0000.dtb
@@ -24,3 +25,4 @@ dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0000.dtb
2425
dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p3509-0000+p3668-0001.dtb
2526
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-sim-vdk.dtb
2627
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3737-0000+p3701-0000.dtb
28+
dtb-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra234-p3768-0000+p3767-0000.dtb
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
/dts-v1/;
3+
4+
#include <dt-bindings/input/linux-event-codes.h>
5+
#include <dt-bindings/input/gpio-keys.h>
6+
7+
#include "tegra234-p3767-0000.dtsi"
8+
#include "tegra234-p3768-0000.dtsi"
9+
10+
/ {
11+
compatible = "nvidia,p3768-0000+p3767-0000", "nvidia,p3767-0000", "nvidia,tegra234";
12+
model = "NVIDIA Jetson Orin NX Engineering Reference Developer Kit";
13+
14+
aliases {
15+
serial0 = &tcu;
16+
};
17+
18+
chosen {
19+
stdout-path = "serial0:115200n8";
20+
};
21+
22+
bus@0 {
23+
serial@31d0000 {
24+
current-speed = <115200>;
25+
status = "okay";
26+
};
27+
28+
pwm@32a0000 {
29+
assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
30+
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
31+
status = "okay";
32+
};
33+
34+
hda@3510000 {
35+
nvidia,model = "NVIDIA Jetson Orin NX HDA";
36+
status = "okay";
37+
};
38+
39+
padctl@3520000 {
40+
status = "okay";
41+
};
42+
43+
/* C1 - M.2 Key-E */
44+
pcie@14100000 {
45+
status = "okay";
46+
47+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
48+
49+
phys = <&p2u_hsio_3>;
50+
phy-names = "p2u-0";
51+
};
52+
53+
/* C4 - M.2 Key-M */
54+
pcie@14160000 {
55+
status = "okay";
56+
57+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
58+
59+
phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
60+
<&p2u_hsio_7>;
61+
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
62+
};
63+
64+
/* C8 - Ethernet */
65+
pcie@140a0000 {
66+
status = "okay";
67+
68+
num-lanes = <2>;
69+
70+
phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
71+
phy-names = "p2u-0", "p2u-1";
72+
73+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
74+
vpcie3v3-supply = <&vdd_3v3_pcie>;
75+
};
76+
77+
/* C7 - M.2 Key-M */
78+
pcie@141e0000 {
79+
status = "okay";
80+
81+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
82+
83+
phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
84+
phy-names = "p2u-0", "p2u-1";
85+
};
86+
};
87+
88+
gpio-keys {
89+
compatible = "gpio-keys";
90+
91+
key-force-recovery {
92+
label = "Force Recovery";
93+
gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
94+
linux,input-type = <EV_KEY>;
95+
linux,code = <BTN_1>;
96+
};
97+
98+
key-power {
99+
label = "Power";
100+
gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
101+
linux,input-type = <EV_KEY>;
102+
linux,code = <KEY_POWER>;
103+
wakeup-event-action = <EV_ACT_ASSERTED>;
104+
wakeup-source;
105+
};
106+
107+
key-suspend {
108+
label = "Suspend";
109+
gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
110+
linux,input-type = <EV_KEY>;
111+
linux,code = <KEY_SLEEP>;
112+
};
113+
};
114+
115+
fan: pwm-fan {
116+
compatible = "pwm-fan";
117+
pwms = <&pwm3 0 45334>;
118+
cooling-levels = <0 95 178 255>;
119+
#cooling-cells = <2>;
120+
};
121+
122+
vdd_3v3_pcie: regulator-vdd-3v3-pcie {
123+
compatible = "regulator-fixed";
124+
regulator-name = "VDD_3V3_PCIE";
125+
regulator-min-microvolt = <3300000>;
126+
regulator-max-microvolt = <3300000>;
127+
gpio = <&gpio_aon TEGRA234_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
128+
enable-active-high;
129+
};
130+
131+
serial {
132+
status = "okay";
133+
};
134+
};
Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
3+
/ {
4+
compatible = "nvidia,p3768-0000";
5+
6+
aliases {
7+
serial0 = &tcu;
8+
};
9+
10+
chosen {
11+
stdout-path = "serial0:115200n8";
12+
};
13+
14+
bus@0 {
15+
i2c@3160000 {
16+
status = "okay";
17+
18+
eeprom@57 {
19+
compatible = "atmel,24c02";
20+
reg = <0x57>;
21+
22+
label = "system";
23+
vcc-supply = <&vdd_1v8_sys>;
24+
address-width = <8>;
25+
pagesize = <8>;
26+
size = <256>;
27+
read-only;
28+
};
29+
};
30+
31+
serial@31d0000 {
32+
current-speed = <115200>;
33+
status = "okay";
34+
};
35+
36+
pwm@32a0000 {
37+
assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
38+
assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
39+
status = "okay";
40+
};
41+
42+
padctl@3520000 {
43+
status = "okay";
44+
45+
pads {
46+
usb2 {
47+
lanes {
48+
usb2-0 {
49+
nvidia,function = "xusb";
50+
status = "okay";
51+
};
52+
53+
usb2-1 {
54+
nvidia,function = "xusb";
55+
status = "okay";
56+
};
57+
58+
usb2-2 {
59+
nvidia,function = "xusb";
60+
status = "okay";
61+
};
62+
};
63+
};
64+
65+
usb3 {
66+
lanes {
67+
usb3-0 {
68+
nvidia,function = "xusb";
69+
status = "okay";
70+
};
71+
72+
usb3-1 {
73+
nvidia,function = "xusb";
74+
status = "okay";
75+
};
76+
};
77+
};
78+
};
79+
80+
ports {
81+
/* recovery port */
82+
usb2-0 {
83+
mode = "otg";
84+
vbus-supply = <&vdd_5v0_sys>;
85+
status = "okay";
86+
usb-role-switch;
87+
};
88+
89+
/* hub */
90+
usb2-1 {
91+
mode = "host";
92+
vbus-supply = <&vdd_1v1_hub>;
93+
status = "okay";
94+
};
95+
96+
/* M.2 Key-E */
97+
usb2-2 {
98+
mode = "host";
99+
vbus-supply = <&vdd_5v0_sys>;
100+
status = "okay";
101+
};
102+
103+
/* hub */
104+
usb3-0 {
105+
nvidia,usb2-companion = <1>;
106+
status = "okay";
107+
};
108+
109+
/* J5 */
110+
usb3-1 {
111+
nvidia,usb2-companion = <0>;
112+
status = "okay";
113+
};
114+
};
115+
};
116+
117+
usb@3550000 {
118+
status = "okay";
119+
120+
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
121+
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
122+
phy-names = "usb2-0", "usb3-1";
123+
};
124+
125+
usb@3610000 {
126+
status = "okay";
127+
128+
phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
129+
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
130+
<&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
131+
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
132+
<&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
133+
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0",
134+
"usb3-1";
135+
};
136+
137+
/* C1 - M.2 Key-E */
138+
pcie@14100000 {
139+
status = "okay";
140+
141+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
142+
143+
phys = <&p2u_hsio_3>;
144+
phy-names = "p2u-0";
145+
};
146+
147+
/* C4 - M.2 Key-M */
148+
pcie@14160000 {
149+
status = "okay";
150+
151+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
152+
153+
phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
154+
<&p2u_hsio_7>;
155+
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
156+
};
157+
158+
/* C8 - Ethernet */
159+
pcie@140a0000 {
160+
status = "okay";
161+
162+
num-lanes = <2>;
163+
164+
phys = <&p2u_gbe_2>, <&p2u_gbe_3>;
165+
phy-names = "p2u-0", "p2u-1";
166+
167+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
168+
vpcie3v3-supply = <&vdd_3v3_pcie>;
169+
};
170+
171+
/* C7 - M.2 Key-M */
172+
pcie@141e0000 {
173+
status = "okay";
174+
175+
vddio-pex-ctl-supply = <&vdd_1v8_ao>;
176+
177+
phys = <&p2u_gbe_0>, <&p2u_gbe_1>;
178+
phy-names = "p2u-0", "p2u-1";
179+
};
180+
};
181+
182+
gpio-keys {
183+
compatible = "gpio-keys";
184+
185+
key-force-recovery {
186+
label = "Force Recovery";
187+
gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
188+
linux,input-type = <EV_KEY>;
189+
linux,code = <BTN_1>;
190+
};
191+
192+
key-power {
193+
label = "Power";
194+
gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
195+
linux,input-type = <EV_KEY>;
196+
linux,code = <KEY_POWER>;
197+
wakeup-event-action = <EV_ACT_ASSERTED>;
198+
wakeup-source;
199+
};
200+
201+
key-suspend {
202+
label = "Suspend";
203+
gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
204+
linux,input-type = <EV_KEY>;
205+
linux,code = <KEY_SLEEP>;
206+
};
207+
};
208+
209+
fan: pwm-fan {
210+
compatible = "pwm-fan";
211+
pwms = <&pwm3 0 45334>;
212+
cooling-levels = <0 95 178 255>;
213+
#cooling-cells = <2>;
214+
};
215+
216+
vdd_1v8_sys: regulator-vdd-1v8-sys {
217+
compatible = "regulator-fixed";
218+
regulator-name = "VDD_1V8_SYS";
219+
regulator-min-microvolt = <1800000>;
220+
regulator-max-microvolt = <1800000>;
221+
regulator-always-on;
222+
};
223+
224+
vdd_1v1_hub: regulator-vdd-1v1-hub {
225+
compatible = "regulator-fixed";
226+
regulator-name = "VDD_AV10_HUB";
227+
regulator-min-microvolt = <1100000>;
228+
regulator-max-microvolt = <1100000>;
229+
vin-supply = <&vdd_5v0_sys>;
230+
regulator-always-on;
231+
};
232+
233+
vdd_3v3_pcie: regulator-vdd-3v3-pcie {
234+
compatible = "regulator-fixed";
235+
regulator-name = "VDD_3V3_PCIE";
236+
regulator-min-microvolt = <3300000>;
237+
regulator-max-microvolt = <3300000>;
238+
gpio = <&gpio_aon TEGRA234_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>;
239+
enable-active-high;
240+
};
241+
242+
serial {
243+
status = "okay";
244+
};
245+
};

0 commit comments

Comments
 (0)