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