Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / nvidia / tegra234-p3737-0000+p3701-0000.dts
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-p3701-0000.dtsi"
8 #include "tegra234-p3737-0000.dtsi"
9
10 / {
11         model = "NVIDIA Jetson AGX Orin Developer Kit";
12         compatible = "nvidia,p3737-0000+p3701-0000", "nvidia,p3701-0000", "nvidia,tegra234";
13
14         aliases {
15                 mmc3 = "/bus@0/mmc@3460000";
16                 serial0 = &tcu;
17                 serial1 = &uarta;
18         };
19
20         chosen {
21                 bootargs = "console=ttyTCU0,115200n8";
22                 stdout-path = "serial0:115200n8";
23         };
24
25         bus@0 {
26                 serial@3100000 {
27                         compatible = "nvidia,tegra194-hsuart";
28                         reset-names = "serial";
29                         status = "okay";
30                 };
31
32                 serial@31d0000 {
33                         current-speed = <115200>;
34                         status = "okay";
35                 };
36
37                 pwm@32a0000 {
38                         assigned-clocks = <&bpmp TEGRA234_CLK_PWM3>;
39                         assigned-clock-parents = <&bpmp TEGRA234_CLK_PLLP_OUT0>;
40                         status = "okay";
41                 };
42
43                 hda@3510000 {
44                         nvidia,model = "NVIDIA Jetson AGX Orin HDA";
45                         status = "okay";
46                 };
47
48                 padctl@3520000 {
49                         status = "okay";
50
51                         pads {
52                                 usb2 {
53                                         lanes {
54                                                 usb2-0 {
55                                                         status = "okay";
56                                                 };
57
58                                                 usb2-1 {
59                                                         status = "okay";
60                                                 };
61
62                                                 usb2-2 {
63                                                         status = "okay";
64                                                 };
65
66                                                 usb2-3 {
67                                                         status = "okay";
68                                                 };
69                                         };
70                                 };
71
72                                 usb3 {
73                                         lanes {
74                                                 usb3-0 {
75                                                         status = "okay";
76                                                 };
77
78                                                 usb3-1 {
79                                                         status = "okay";
80                                                 };
81
82                                                 usb3-2 {
83                                                         status = "okay";
84                                                 };
85                                         };
86                                 };
87                         };
88
89                         ports {
90                                 usb2-0 {
91                                         mode = "otg";
92                                         usb-role-switch;
93                                         status = "okay";
94
95                                         port {
96                                                 hs_typec_p1: endpoint {
97                                                         remote-endpoint = <&hs_ucsi_ccg_p1>;
98                                                 };
99                                         };
100                                 };
101
102                                 usb2-1 {
103                                         mode = "host";
104                                         status = "okay";
105
106                                         port {
107                                                 hs_typec_p0: endpoint {
108                                                         remote-endpoint = <&hs_ucsi_ccg_p0>;
109                                                 };
110                                         };
111                                 };
112
113                                 usb2-2 {
114                                         mode = "host";
115                                         status = "okay";
116                                 };
117
118                                 usb2-3 {
119                                         mode = "host";
120                                         status = "okay";
121                                 };
122
123                                 usb3-0 {
124                                         nvidia,usb2-companion = <1>;
125                                         status = "okay";
126
127                                         port {
128                                                 ss_typec_p0: endpoint {
129                                                         remote-endpoint = <&ss_ucsi_ccg_p0>;
130                                                 };
131                                         };
132                                 };
133
134                                 usb3-1 {
135                                         nvidia,usb2-companion = <0>;
136                                         status = "okay";
137
138                                         port {
139                                                 ss_typec_p1: endpoint {
140                                                         remote-endpoint = <&ss_ucsi_ccg_p1>;
141                                                 };
142                                         };
143                                 };
144
145                                 usb3-2 {
146                                         nvidia,usb2-companion = <3>;
147                                         status = "okay";
148                                 };
149                         };
150                 };
151
152                 usb@3550000 {
153                         status = "okay";
154
155                         phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
156                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>;
157                         phy-names = "usb2-0", "usb3-0";
158                 };
159
160                 usb@3610000 {
161                         status = "okay";
162
163                         phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>,
164                                <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>,
165                                <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>,
166                                <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>,
167                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>,
168                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>,
169                                <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>;
170                         phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3",
171                                     "usb3-0", "usb3-1", "usb3-2";
172                 };
173
174                 ethernet@6800000 {
175                         status = "okay";
176
177                         phy-handle = <&mgbe0_phy>;
178                         phy-mode = "usxgmii";
179
180                         mdio {
181                                 #address-cells = <1>;
182                                 #size-cells = <0>;
183
184                                 mgbe0_phy: phy@0 {
185                                         compatible = "ethernet-phy-ieee802.3-c45";
186                                         reg = <0x0>;
187
188                                         #phy-cells = <0>;
189                                 };
190                         };
191                 };
192
193                 i2c@c240000 {
194                         status = "okay";
195
196                         typec@8 {
197                                 compatible = "cypress,cypd4226";
198                                 reg = <0x08>;
199                                 interrupt-parent = <&gpio>;
200                                 interrupts = <TEGRA234_MAIN_GPIO(Y, 4) IRQ_TYPE_LEVEL_LOW>;
201                                 firmware-name = "nvidia,jetson-agx-xavier";
202                                 status = "okay";
203
204                                 #address-cells = <1>;
205                                 #size-cells = <0>;
206
207                                 ccg_typec_con0: connector@0 {
208                                         compatible = "usb-c-connector";
209                                         reg = <0>;
210                                         label = "USB-C";
211                                         data-role = "host";
212
213                                         ports {
214                                                 #address-cells = <1>;
215                                                 #size-cells = <0>;
216
217                                                 port@0 {
218                                                         reg = <0>;
219
220                                                         hs_ucsi_ccg_p0: endpoint {
221                                                                 remote-endpoint = <&hs_typec_p0>;
222                                                         };
223                                                 };
224
225                                                 port@1 {
226                                                         reg = <1>;
227
228                                                         ss_ucsi_ccg_p0: endpoint {
229                                                                 remote-endpoint = <&ss_typec_p0>;
230                                                         };
231                                                 };
232                                         };
233                                 };
234
235                                 ccg_typec_con1: connector@1 {
236                                         compatible = "usb-c-connector";
237                                         reg = <1>;
238                                         label = "USB-C";
239                                         data-role = "dual";
240
241                                         ports {
242                                                 #address-cells = <1>;
243                                                 #size-cells = <0>;
244
245                                                 port@0 {
246                                                         reg = <0>;
247
248                                                         hs_ucsi_ccg_p1: endpoint {
249                                                                 remote-endpoint = <&hs_typec_p1>;
250                                                         };
251                                                 };
252
253                                                 port@1 {
254                                                         reg = <1>;
255
256                                                         ss_ucsi_ccg_p1: endpoint {
257                                                                 remote-endpoint = <&ss_typec_p1>;
258                                                         };
259                                                 };
260                                         };
261                                 };
262                         };
263                 };
264
265                 pcie@14100000 {
266                         status = "okay";
267
268                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
269
270                         phys = <&p2u_hsio_3>;
271                         phy-names = "p2u-0";
272                 };
273
274                 pcie@14160000 {
275                         status = "okay";
276
277                         vddio-pex-ctl-supply = <&vdd_1v8_ao>;
278
279                         phys = <&p2u_hsio_4>, <&p2u_hsio_5>, <&p2u_hsio_6>,
280                                <&p2u_hsio_7>;
281                         phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
282                 };
283
284                 pcie@141a0000 {
285                         status = "okay";
286
287                         vddio-pex-ctl-supply = <&vdd_1v8_ls>;
288                         vpcie3v3-supply = <&vdd_3v3_pcie>;
289                         vpcie12v-supply = <&vdd_12v_pcie>;
290
291                         phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
292                                <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
293                                <&p2u_nvhs_6>, <&p2u_nvhs_7>;
294                         phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
295                                     "p2u-5", "p2u-6", "p2u-7";
296                 };
297
298                 pcie-ep@141a0000 {
299                         status = "disabled";
300
301                         vddio-pex-ctl-supply = <&vdd_1v8_ls>;
302
303                         reset-gpios = <&gpio TEGRA234_MAIN_GPIO(AF, 1) GPIO_ACTIVE_LOW>;
304
305                         nvidia,refclk-select-gpios = <&gpio_aon
306                                                       TEGRA234_AON_GPIO(AA, 4)
307                                                       GPIO_ACTIVE_HIGH>;
308
309                         phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
310                                <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
311                                <&p2u_nvhs_6>, <&p2u_nvhs_7>;
312                         phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
313                                     "p2u-5", "p2u-6", "p2u-7";
314                 };
315         };
316
317         gpio-keys {
318                 compatible = "gpio-keys";
319                 status = "okay";
320
321                 key-force-recovery {
322                         label = "Force Recovery";
323                         gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>;
324                         linux,input-type = <EV_KEY>;
325                         linux,code = <BTN_1>;
326                 };
327
328                 key-power {
329                         label = "Power";
330                         gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>;
331                         linux,input-type = <EV_KEY>;
332                         linux,code = <KEY_POWER>;
333                         wakeup-event-action = <EV_ACT_ASSERTED>;
334                         wakeup-source;
335                 };
336
337                 key-suspend {
338                         label = "Suspend";
339                         gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>;
340                         linux,input-type = <EV_KEY>;
341                         linux,code = <KEY_SLEEP>;
342                 };
343         };
344
345         pwm-fan {
346                 cooling-levels = <66 215 255>;
347         };
348
349         serial {
350                 status = "okay";
351         };
352
353         sound {
354                 compatible = "nvidia,tegra186-audio-graph-card";
355                 status = "okay";
356
357                 dais = /* ADMAIF (FE) Ports */
358                        <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>,
359                        <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>,
360                        <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>,
361                        <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>,
362                        <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>,
363                        /* XBAR Ports */
364                        <&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>,
365                        <&xbar_i2s6_port>, <&xbar_dmic3_port>,
366                        <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
367                        <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
368                        <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
369                        <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
370                        <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
371                        <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
372                        <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
373                        <&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
374                        <&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
375                        <&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
376                        <&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
377                        <&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
378                        <&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
379                        <&xbar_mix_in1_port>, <&xbar_mix_in2_port>,
380                        <&xbar_mix_in3_port>, <&xbar_mix_in4_port>,
381                        <&xbar_mix_in5_port>, <&xbar_mix_in6_port>,
382                        <&xbar_mix_in7_port>, <&xbar_mix_in8_port>,
383                        <&xbar_mix_in9_port>, <&xbar_mix_in10_port>,
384                        <&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
385                        <&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
386                        <&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
387                        <&xbar_asrc_in7_port>,
388                        <&xbar_ope1_in_port>,
389                        /* HW accelerators */
390                        <&sfc1_out_port>, <&sfc2_out_port>,
391                        <&sfc3_out_port>, <&sfc4_out_port>,
392                        <&mvc1_out_port>, <&mvc2_out_port>,
393                        <&amx1_out_port>, <&amx2_out_port>,
394                        <&amx3_out_port>, <&amx4_out_port>,
395                        <&adx1_out1_port>, <&adx1_out2_port>,
396                        <&adx1_out3_port>, <&adx1_out4_port>,
397                        <&adx2_out1_port>, <&adx2_out2_port>,
398                        <&adx2_out3_port>, <&adx2_out4_port>,
399                        <&adx3_out1_port>, <&adx3_out2_port>,
400                        <&adx3_out3_port>, <&adx3_out4_port>,
401                        <&adx4_out1_port>, <&adx4_out2_port>,
402                        <&adx4_out3_port>, <&adx4_out4_port>,
403                        <&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>,
404                        <&mix_out4_port>, <&mix_out5_port>,
405                        <&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
406                        <&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
407                        <&ope1_out_port>,
408                        /* BE I/O Ports */
409                        <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>,
410                        <&dmic3_port>;
411
412                 label = "NVIDIA Jetson AGX Orin APE";
413
414                 widgets = "Microphone", "CVB-RT MIC Jack",
415                           "Microphone", "CVB-RT MIC",
416                           "Headphone",  "CVB-RT HP Jack",
417                           "Speaker",    "CVB-RT SPK";
418
419                 routing = /* I2S1 <-> RT5640 */
420                           "CVB-RT AIF1 Playback",       "I2S1 DAP-Playback",
421                           "I2S1 DAP-Capture",           "CVB-RT AIF1 Capture",
422                           /* RT5640 codec controls */
423                           "CVB-RT HP Jack",             "CVB-RT HPOL",
424                           "CVB-RT HP Jack",             "CVB-RT HPOR",
425                           "CVB-RT IN1P",                "CVB-RT MIC Jack",
426                           "CVB-RT IN2P",                "CVB-RT MIC Jack",
427                           "CVB-RT SPK",                 "CVB-RT SPOLP",
428                           "CVB-RT SPK",                 "CVB-RT SPORP",
429                           "CVB-RT DMIC1",               "CVB-RT MIC",
430                           "CVB-RT DMIC2",               "CVB-RT MIC";
431         };
432
433         thermal-zones {
434                 tj-thermal {
435                         cooling-maps {
436                                 map-active-0 {
437                                         cooling-device = <&fan 0 1>;
438                                         trip = <&tj_trip_active0>;
439                                 };
440
441                                 map-active-1 {
442                                         cooling-device = <&fan 1 2>;
443                                         trip = <&tj_trip_active1>;
444                                 };
445                         };
446                 };
447         };
448 };