]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/nvidia/tegra210-p3450-0000.dts
MFV 354917, 354918, 354919
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm64 / nvidia / tegra210-p3450-0000.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3
4 #include <dt-bindings/input/gpio-keys.h>
5 #include <dt-bindings/input/linux-event-codes.h>
6 #include <dt-bindings/mfd/max77620.h>
7
8 #include "tegra210.dtsi"
9
10 / {
11         model = "NVIDIA Jetson Nano Developer Kit";
12         compatible = "nvidia,p3450-0000", "nvidia,tegra210";
13
14         aliases {
15                 ethernet = "/pcie@1003000/pci@2,0/ethernet@0,0";
16                 rtc0 = "/i2c@7000d000/pmic@3c";
17                 rtc1 = "/rtc@7000e000";
18                 serial0 = &uarta;
19         };
20
21         chosen {
22                 stdout-path = "serial0:115200n8";
23         };
24
25         memory {
26                 device_type = "memory";
27                 reg = <0x0 0x80000000 0x1 0x0>;
28         };
29
30         pcie@1003000 {
31                 status = "okay";
32
33                 avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
34                 hvddio-pex-supply = <&vdd_1v8>;
35                 dvddio-pex-supply = <&vdd_pex_1v05>;
36                 dvdd-pex-pll-supply = <&vdd_pex_1v05>;
37                 hvdd-pex-pll-e-supply = <&vdd_1v8>;
38                 vddio-pex-ctl-supply = <&vdd_1v8>;
39
40                 pci@1,0 {
41                         phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
42                                <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>,
43                                <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>,
44                                <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>;
45                         phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3";
46                         nvidia,num-lanes = <4>;
47                         status = "okay";
48                 };
49
50                 pci@2,0 {
51                         phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
52                         phy-names = "pcie-0";
53                         status = "okay";
54
55                         ethernet@0,0 {
56                                 reg = <0x000000 0 0 0 0>;
57                                 local-mac-address = [ 00 00 00 00 00 00 ];
58                         };
59                 };
60         };
61
62         host1x@50000000 {
63                 dpaux@54040000 {
64                         status = "okay";
65                 };
66
67                 sor@54580000 {
68                         status = "okay";
69
70                         avdd-io-supply = <&avdd_1v05>;
71                         vdd-pll-supply = <&vdd_1v8>;
72                         hdmi-supply = <&vdd_hdmi>;
73
74                         nvidia,ddc-i2c-bus = <&hdmi_ddc>;
75                         nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1)
76                                            GPIO_ACTIVE_LOW>;
77                         nvidia,xbar-cfg = <0 1 2 3 4>;
78                 };
79         };
80
81         gpu@57000000 {
82                 vdd-supply = <&vdd_gpu>;
83                 status = "okay";
84         };
85
86         /* debug port */
87         serial@70006000 {
88                 status = "okay";
89         };
90
91         pwm@7000a000 {
92                 status = "okay";
93         };
94
95         i2c@7000c500 {
96                 status = "okay";
97                 clock-frequency = <100000>;
98
99                 eeprom@50 {
100                         compatible = "atmel,24c02";
101                         reg = <0x50>;
102
103                         address-bits = <8>;
104                         page-size = <8>;
105                         size = <256>;
106                         read-only;
107                 };
108
109                 eeprom@57 {
110                         compatible = "atmel,24c02";
111                         reg = <0x57>;
112
113                         address-bits = <8>;
114                         page-size = <8>;
115                         size = <256>;
116                         read-only;
117                 };
118         };
119
120         hdmi_ddc: i2c@7000c700 {
121                 status = "okay";
122                 clock-frequency = <100000>;
123         };
124
125         i2c@7000d000 {
126                 status = "okay";
127                 clock-frequency = <400000>;
128
129                 pmic: pmic@3c {
130                         compatible = "maxim,max77620";
131                         reg = <0x3c>;
132                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
133
134                         #interrupt-cells = <2>;
135                         interrupt-controller;
136
137                         #gpio-cells = <2>;
138                         gpio-controller;
139
140                         pinctrl-names = "default";
141                         pinctrl-0 = <&max77620_default>;
142
143                         max77620_default: pinmux {
144                                 gpio0 {
145                                         pins = "gpio0";
146                                         function = "gpio";
147                                 };
148
149                                 gpio1 {
150                                         pins = "gpio1";
151                                         function = "fps-out";
152                                         drive-push-pull = <1>;
153                                         maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
154                                         maxim,active-fps-power-up-slot = <0>;
155                                         maxim,active-fps-power-down-slot = <7>;
156                                 };
157
158                                 gpio2 {
159                                         pins = "gpio2";
160                                         function = "fps-out";
161                                         drive-open-drain = <1>;
162                                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
163                                         maxim,active-fps-power-up-slot = <0>;
164                                         maxim,active-fps-power-down-slot = <7>;
165                                 };
166
167                                 gpio3 {
168                                         pins = "gpio3";
169                                         function = "fps-out";
170                                         drive-open-drain = <1>;
171                                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
172                                         maxim,active-fps-power-up-slot = <4>;
173                                         maxim,active-fps-power-down-slot = <3>;
174                                 };
175
176                                 gpio4 {
177                                         pins = "gpio4";
178                                         function = "32k-out1";
179                                 };
180
181                                 gpio5_6_7 {
182                                         pins = "gpio5", "gpio6", "gpio7";
183                                         function = "gpio";
184                                         drive-push-pull = <1>;
185                                 };
186                         };
187
188                         fps {
189                                 fps0 {
190                                         maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
191                                         maxim,suspend-fps-time-period-us = <5120>;
192                                 };
193
194                                 fps1 {
195                                         maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
196                                         maxim,suspend-fps-time-period-us = <5120>;
197                                 };
198
199                                 fps2 {
200                                         maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
201                                 };
202                         };
203
204                         regulators {
205                                 in-ldo0-1-supply = <&vdd_pre>;
206                                 in-ldo2-supply = <&vdd_3v3_sys>;
207                                 in-ldo3-5-supply = <&vdd_1v8>;
208                                 in-ldo4-6-supply = <&vdd_5v0_sys>;
209                                 in-ldo7-8-supply = <&vdd_pre>;
210                                 in-sd0-supply = <&vdd_5v0_sys>;
211                                 in-sd1-supply = <&vdd_5v0_sys>;
212                                 in-sd2-supply = <&vdd_5v0_sys>;
213                                 in-sd3-supply = <&vdd_5v0_sys>;
214
215                                 vdd_soc: sd0 {
216                                         regulator-name = "VDD_SOC";
217                                         regulator-min-microvolt = <1000000>;
218                                         regulator-max-microvolt = <1170000>;
219                                         regulator-enable-ramp-delay = <146>;
220                                         regulator-disable-ramp-delay = <4080>;
221                                         regulator-ramp-delay = <27500>;
222                                         regulator-ramp-delay-scale = <300>;
223                                         regulator-always-on;
224                                         regulator-boot-on;
225
226                                         maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
227                                         maxim,active-fps-power-up-slot = <1>;
228                                         maxim,active-fps-power-down-slot = <6>;
229                                 };
230
231                                 vdd_ddr: sd1 {
232                                         regulator-name = "VDD_DDR_1V1_PMIC";
233                                         regulator-min-microvolt = <1150000>;
234                                         regulator-max-microvolt = <1150000>;
235                                         regulator-enable-ramp-delay = <176>;
236                                         regulator-disable-ramp-delay = <145800>;
237                                         regulator-ramp-delay = <27500>;
238                                         regulator-ramp-delay-scale = <300>;
239                                         regulator-always-on;
240                                         regulator-boot-on;
241
242                                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
243                                         maxim,active-fps-power-up-slot = <5>;
244                                         maxim,active-fps-power-down-slot = <2>;
245                                 };
246
247                                 vdd_pre: sd2 {
248                                         regulator-name = "VDD_PRE_REG_1V35";
249                                         regulator-min-microvolt = <1350000>;
250                                         regulator-max-microvolt = <1350000>;
251                                         regulator-enable-ramp-delay = <176>;
252                                         regulator-disable-ramp-delay = <32000>;
253                                         regulator-ramp-delay = <27500>;
254                                         regulator-ramp-delay-scale = <350>;
255                                         regulator-always-on;
256                                         regulator-boot-on;
257
258                                         maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
259                                         maxim,active-fps-power-up-slot = <2>;
260                                         maxim,active-fps-power-down-slot = <5>;
261                                 };
262
263                                 vdd_1v8: sd3 {
264                                         regulator-name = "VDD_1V8";
265                                         regulator-min-microvolt = <1800000>;
266                                         regulator-max-microvolt = <1800000>;
267                                         regulator-enable-ramp-delay = <242>;
268                                         regulator-disable-ramp-delay = <118000>;
269                                         regulator-ramp-delay = <27500>;
270                                         regulator-ramp-delay-scale = <360>;
271                                         regulator-always-on;
272                                         regulator-boot-on;
273
274                                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
275                                         maxim,active-fps-power-up-slot = <3>;
276                                         maxim,active-fps-power-down-slot = <4>;
277                                 };
278
279                                 vdd_sys_1v2: ldo0 {
280                                         regulator-name = "AVDD_SYS_1V2";
281                                         regulator-min-microvolt = <1200000>;
282                                         regulator-max-microvolt = <1200000>;
283                                         regulator-enable-ramp-delay = <26>;
284                                         regulator-disable-ramp-delay = <626>;
285                                         regulator-ramp-delay = <100000>;
286                                         regulator-ramp-delay-scale = <200>;
287                                         regulator-always-on;
288                                         regulator-boot-on;
289
290                                         maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
291                                         maxim,active-fps-power-up-slot = <0>;
292                                         maxim,active-fps-power-down-slot = <7>;
293                                 };
294
295                                 vdd_pex_1v05: ldo1 {
296                                         regulator-name = "VDD_PEX_1V05";
297                                         regulator-min-microvolt = <1050000>;
298                                         regulator-max-microvolt = <1050000>;
299                                         regulator-enable-ramp-delay = <22>;
300                                         regulator-disable-ramp-delay = <650>;
301                                         regulator-ramp-delay = <100000>;
302                                         regulator-ramp-delay-scale = <200>;
303
304                                         maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
305                                         maxim,active-fps-power-up-slot = <0>;
306                                         maxim,active-fps-power-down-slot = <7>;
307                                 };
308
309                                 vddio_sdmmc: ldo2 {
310                                         regulator-name = "VDDIO_SDMMC";
311                                         regulator-min-microvolt = <1800000>;
312                                         regulator-max-microvolt = <3300000>;
313                                         regulator-enable-ramp-delay = <62>;
314                                         regulator-disable-ramp-delay = <650>;
315                                         regulator-ramp-delay = <100000>;
316                                         regulator-ramp-delay-scale = <200>;
317
318                                         maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>;
319                                         maxim,active-fps-power-up-slot = <0>;
320                                         maxim,active-fps-power-down-slot = <7>;
321                                 };
322
323                                 ldo3 {
324                                         status = "disabled";
325                                 };
326
327                                 vdd_rtc: ldo4 {
328                                         regulator-name = "VDD_RTC";
329                                         regulator-min-microvolt = <850000>;
330                                         regulator-max-microvolt = <1100000>;
331                                         regulator-enable-ramp-delay = <22>;
332                                         regulator-disable-ramp-delay = <610>;
333                                         regulator-ramp-delay = <100000>;
334                                         regulator-ramp-delay-scale = <200>;
335                                         regulator-disable-active-discharge;
336                                         regulator-always-on;
337                                         regulator-boot-on;
338
339                                         maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
340                                         maxim,active-fps-power-up-slot = <1>;
341                                         maxim,active-fps-power-down-slot = <6>;
342                                 };
343
344                                 ldo5 {
345                                         status = "disabled";
346                                 };
347
348                                 ldo6 {
349                                         status = "disabled";
350                                 };
351
352                                 avdd_1v05_pll: ldo7 {
353                                         regulator-name = "AVDD_1V05_PLL";
354                                         regulator-min-microvolt = <1050000>;
355                                         regulator-max-microvolt = <1050000>;
356                                         regulator-enable-ramp-delay = <24>;
357                                         regulator-disable-ramp-delay = <2768>;
358                                         regulator-ramp-delay = <100000>;
359                                         regulator-ramp-delay-scale = <200>;
360
361                                         maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
362                                         maxim,active-fps-power-up-slot = <3>;
363                                         maxim,active-fps-power-down-slot = <4>;
364                                 };
365
366                                 avdd_1v05: ldo8 {
367                                         regulator-name = "AVDD_SATA_HDMI_DP_1V05";
368                                         regulator-min-microvolt = <1050000>;
369                                         regulator-max-microvolt = <1050000>;
370                                         regulator-enable-ramp-delay = <22>;
371                                         regulator-disable-ramp-delay = <1160>;
372                                         regulator-ramp-delay = <100000>;
373                                         regulator-ramp-delay-scale = <200>;
374
375                                         maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
376                                         maxim,active-fps-power-up-slot = <6>;
377                                         maxim,active-fps-power-down-slot = <1>;
378                                 };
379                         };
380                 };
381         };
382
383         pmc@7000e400 {
384                 nvidia,invert-interrupt;
385         };
386
387         hda@70030000 {
388                 nvidia,model = "jetson-nano-hda";
389
390                 status = "okay";
391         };
392
393         usb@70090000 {
394                 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
395                        <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
396                        <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
397                        <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>;
398                 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";
399
400                 avdd-usb-supply = <&vdd_3v3_sys>;
401                 dvddio-pex-supply = <&vdd_pex_1v05>;
402                 hvddio-pex-supply = <&vdd_1v8>;
403                 /* these really belong to the XUSB pad controller */
404                 avdd-pll-utmip-supply = <&vdd_1v8>;
405                 avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
406                 dvdd-usb-ss-pll-supply = <&vdd_pex_1v05>;
407                 hvdd-usb-ss-pll-e-supply = <&vdd_1v8>;
408
409                 status = "okay";
410         };
411
412         padctl@7009f000 {
413                 status = "okay";
414
415                 avdd-pll-utmip-supply = <&vdd_1v8>;
416                 avdd-pll-uerefe-supply = <&vdd_pex_1v05>;
417                 dvdd-pex-pll-supply = <&vdd_pex_1v05>;
418                 hvdd-pex-pll-e-supply = <&vdd_1v8>;
419
420                 pads {
421                         usb2 {
422                                 status = "okay";
423
424                                 lanes {
425                                         usb2-0 {
426                                                 nvidia,function = "xusb";
427                                                 status = "okay";
428                                         };
429
430                                         usb2-1 {
431                                                 nvidia,function = "xusb";
432                                                 status = "okay";
433                                         };
434
435                                         usb2-2 {
436                                                 nvidia,function = "xusb";
437                                                 status = "okay";
438                                         };
439                                 };
440                         };
441
442                         pcie {
443                                 status = "okay";
444
445                                 lanes {
446                                         pcie-0 {
447                                                 nvidia,function = "pcie-x1";
448                                                 status = "okay";
449                                         };
450
451                                         pcie-1 {
452                                                 nvidia,function = "pcie-x4";
453                                                 status = "okay";
454                                         };
455
456                                         pcie-2 {
457                                                 nvidia,function = "pcie-x4";
458                                                 status = "okay";
459                                         };
460
461                                         pcie-3 {
462                                                 nvidia,function = "pcie-x4";
463                                                 status = "okay";
464                                         };
465
466                                         pcie-4 {
467                                                 nvidia,function = "pcie-x4";
468                                                 status = "okay";
469                                         };
470
471                                         pcie-5 {
472                                                 nvidia,function = "usb3-ss";
473                                                 status = "okay";
474                                         };
475
476                                         pcie-6 {
477                                                 nvidia,function = "usb3-ss";
478                                                 status = "okay";
479                                         };
480                                 };
481                         };
482                 };
483
484                 ports {
485                         usb2-0 {
486                                 status = "okay";
487                                 mode = "otg";
488                         };
489
490                         usb2-1 {
491                                 status = "okay";
492                                 mode = "host";
493                         };
494
495                         usb2-2 {
496                                 status = "okay";
497                                 mode = "host";
498                         };
499
500                         usb3-0 {
501                                 status = "okay";
502                                 nvidia,usb2-companion = <1>;
503                                 vbus-supply = <&vdd_hub_3v3>;
504                         };
505                 };
506         };
507
508         sdhci@700b0000 {
509                 status = "okay";
510                 bus-width = <4>;
511
512                 cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>;
513
514                 vqmmc-supply = <&vddio_sdmmc>;
515                 vmmc-supply = <&vdd_3v3_sd>;
516         };
517
518         clocks {
519                 compatible = "simple-bus";
520                 #address-cells = <1>;
521                 #size-cells = <0>;
522
523                 clk32k_in: clock@0 {
524                         compatible = "fixed-clock";
525                         reg = <0>;
526                         #clock-cells = <0>;
527                         clock-frequency = <32768>;
528                 };
529         };
530
531         cpus {
532                 cpu@0 {
533                         enable-method = "psci";
534                 };
535
536                 cpu@1 {
537                         enable-method = "psci";
538                 };
539
540                 cpu@2 {
541                         enable-method = "psci";
542                 };
543
544                 cpu@3 {
545                         enable-method = "psci";
546                 };
547
548                 idle-states {
549                         cpu-sleep {
550                                 status = "okay";
551                         };
552                 };
553         };
554
555         gpio-keys {
556                 compatible = "gpio-keys";
557
558                 power {
559                         label = "Power";
560                         gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>;
561                         linux,input-type = <EV_KEY>;
562                         linux,code = <KEY_POWER>;
563                         debounce-interval = <30>;
564                         wakeup-event-action = <EV_ACT_ASSERTED>;
565                         wakeup-source;
566                 };
567
568                 force-recovery {
569                         label = "Force Recovery";
570                         gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>;
571                         linux,input-type = <EV_KEY>;
572                         linux,code = <BTN_1>;
573                         debounce-interval = <30>;
574                 };
575         };
576
577         psci {
578                 compatible = "arm,psci-1.0";
579                 method = "smc";
580         };
581
582         regulators {
583                 compatible = "simple-bus";
584                 #address-cells = <1>;
585                 #size-cells = <0>;
586
587                 vdd_5v0_sys: regulator@0 {
588                         compatible = "regulator-fixed";
589                         reg = <0>;
590
591                         regulator-name = "VDD_5V0_SYS";
592                         regulator-min-microvolt = <5000000>;
593                         regulator-max-microvolt = <5000000>;
594                         regulator-always-on;
595                         regulator-boot-on;
596                 };
597
598                 vdd_3v3_sys: regulator@1 {
599                         compatible = "regulator-fixed";
600                         reg = <1>;
601                         regulator-name = "VDD_3V3_SYS";
602                         regulator-min-microvolt = <3300000>;
603                         regulator-max-microvolt = <3300000>;
604                         regulator-enable-ramp-delay = <240>;
605                         regulator-disable-ramp-delay = <11340>;
606                         regulator-always-on;
607                         regulator-boot-on;
608
609                         gpio = <&pmic 3 GPIO_ACTIVE_HIGH>;
610                         enable-active-high;
611
612                         vin-supply = <&vdd_5v0_sys>;
613                 };
614
615                 vdd_3v3_sd: regulator@2 {
616                         compatible = "regulator-fixed";
617                         reg = <2>;
618
619                         regulator-name = "VDD_3V3_SD";
620                         regulator-min-microvolt = <3300000>;
621                         regulator-max-microvolt = <3300000>;
622
623                         gpio = <&gpio TEGRA_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
624                         enable-active-high;
625
626                         vin-supply = <&vdd_3v3_sys>;
627                 };
628
629                 vdd_hdmi: regulator@3 {
630                         compatible = "regulator-fixed";
631                         reg = <3>;
632
633                         regulator-name = "VDD_HDMI_5V0";
634                         regulator-min-microvolt = <5000000>;
635                         regulator-max-microvolt = <5000000>;
636
637                         vin-supply = <&vdd_5v0_sys>;
638                 };
639
640                 vdd_hub_3v3: regulator@4 {
641                         compatible = "regulator-fixed";
642                         reg = <4>;
643
644                         regulator-name = "VDD_HUB_3V3";
645                         regulator-min-microvolt = <3300000>;
646                         regulator-max-microvolt = <3300000>;
647
648                         gpio = <&gpio TEGRA_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
649                         enable-active-high;
650
651                         vin-supply = <&vdd_5v0_sys>;
652                 };
653
654                 vdd_cpu: regulator@5 {
655                         compatible = "regulator-fixed";
656                         reg = <5>;
657
658                         regulator-name = "VDD_CPU";
659                         regulator-min-microvolt = <5000000>;
660                         regulator-max-microvolt = <5000000>;
661                         regulator-always-on;
662                         regulator-boot-on;
663
664                         gpio = <&pmic 5 GPIO_ACTIVE_HIGH>;
665                         enable-active-high;
666
667                         vin-supply = <&vdd_5v0_sys>;
668                 };
669
670                 vdd_gpu: regulator@6 {
671                         compatible = "pwm-regulator";
672                         reg = <6>;
673                         pwms = <&pwm 1 4880>;
674                         regulator-name = "VDD_GPU";
675                         regulator-min-microvolt = <710000>;
676                         regulator-max-microvolt = <1320000>;
677                         regulator-ramp-delay = <80>;
678                         regulator-enable-ramp-delay = <2000>;
679                         regulator-settling-time-us = <160>;
680                         enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
681                         vin-supply = <&vdd_5v0_sys>;
682                 };
683         };
684 };