hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/arm/boot/dts/tegra20.dtsi
....@@ -4,6 +4,7 @@
44 #include <dt-bindings/memory/tegra20-mc.h>
55 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
66 #include <dt-bindings/interrupt-controller/arm-gic.h>
7
+#include <dt-bindings/soc/tegra-pmc.h>
78
89 / {
910 compatible = "nvidia,tegra20";
....@@ -16,25 +17,27 @@
1617 reg = <0 0>;
1718 };
1819
19
- iram@40000000 {
20
+ sram@40000000 {
2021 compatible = "mmio-sram";
2122 reg = <0x40000000 0x40000>;
2223 #address-cells = <1>;
2324 #size-cells = <1>;
2425 ranges = <0 0x40000000 0x40000>;
2526
26
- vde_pool: vde@400 {
27
+ vde_pool: sram@400 {
2728 reg = <0x400 0x3fc00>;
2829 pool;
2930 };
3031 };
3132
3233 host1x@50000000 {
33
- compatible = "nvidia,tegra20-host1x", "simple-bus";
34
+ compatible = "nvidia,tegra20-host1x";
3435 reg = <0x50000000 0x00024000>;
3536 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
3637 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
38
+ interrupt-names = "syncpt", "host1x";
3739 clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
40
+ clock-names = "host1x";
3841 resets = <&tegra_car 28>;
3942 reset-names = "host1x";
4043
....@@ -153,7 +156,9 @@
153156 dsi@54300000 {
154157 compatible = "nvidia,tegra20-dsi";
155158 reg = <0x54300000 0x00040000>;
156
- clocks = <&tegra_car TEGRA20_CLK_DSI>;
159
+ clocks = <&tegra_car TEGRA20_CLK_DSI>,
160
+ <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
161
+ clock-names = "dsi", "parent";
157162 resets = <&tegra_car 48>;
158163 reset-names = "dsi";
159164 status = "disabled";
....@@ -171,8 +176,8 @@
171176
172177 intc: interrupt-controller@50041000 {
173178 compatible = "arm,cortex-a9-gic";
174
- reg = <0x50041000 0x1000
175
- 0x50040100 0x0100>;
179
+ reg = <0x50041000 0x1000>,
180
+ <0x50040100 0x0100>;
176181 interrupt-controller;
177182 #interrupt-cells = <3>;
178183 interrupt-parent = <&intc>;
....@@ -271,15 +276,15 @@
271276
272277 vde@6001a000 {
273278 compatible = "nvidia,tegra20-vde";
274
- reg = <0x6001a000 0x1000 /* Syntax Engine */
275
- 0x6001b000 0x1000 /* Video Bitstream Engine */
276
- 0x6001c000 0x100 /* Macroblock Engine */
277
- 0x6001c200 0x100 /* Post-processing Engine */
278
- 0x6001c400 0x100 /* Motion Compensation Engine */
279
- 0x6001c600 0x100 /* Transform Engine */
280
- 0x6001c800 0x100 /* Pixel prediction block */
281
- 0x6001ca00 0x100 /* Video DMA */
282
- 0x6001d800 0x300>; /* Video frame controls */
279
+ reg = <0x6001a000 0x1000>, /* Syntax Engine */
280
+ <0x6001b000 0x1000>, /* Video Bitstream Engine */
281
+ <0x6001c000 0x100>, /* Macroblock Engine */
282
+ <0x6001c200 0x100>, /* Post-processing Engine */
283
+ <0x6001c400 0x100>, /* Motion Compensation Engine */
284
+ <0x6001c600 0x100>, /* Transform Engine */
285
+ <0x6001c800 0x100>, /* Pixel prediction block */
286
+ <0x6001ca00 0x100>, /* Video DMA */
287
+ <0x6001d800 0x300>; /* Video frame controls */
283288 reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
284289 "tfe", "ppb", "vdma", "frameid";
285290 iram = <&vde_pool>; /* IRAM region */
....@@ -294,16 +299,16 @@
294299
295300 apbmisc@70000800 {
296301 compatible = "nvidia,tegra20-apbmisc";
297
- reg = <0x70000800 0x64 /* Chip revision */
298
- 0x70000008 0x04>; /* Strapping options */
302
+ reg = <0x70000800 0x64>, /* Chip revision */
303
+ <0x70000008 0x04>; /* Strapping options */
299304 };
300305
301306 pinmux: pinmux@70000014 {
302307 compatible = "nvidia,tegra20-pinmux";
303
- reg = <0x70000014 0x10 /* Tri-state registers */
304
- 0x70000080 0x20 /* Mux registers */
305
- 0x700000a0 0x14 /* Pull-up/down registers */
306
- 0x70000868 0xa8>; /* Pad control registers */
308
+ reg = <0x70000014 0x10>, /* Tri-state registers */
309
+ <0x70000080 0x20>, /* Mux registers */
310
+ <0x700000a0 0x14>, /* Pull-up/down registers */
311
+ <0x70000868 0xa8>; /* Pad control registers */
307312 };
308313
309314 das@70000c00 {
....@@ -608,30 +613,30 @@
608613 status = "disabled";
609614 };
610615
611
- pmc@7000e400 {
616
+ tegra_pmc: pmc@7000e400 {
612617 compatible = "nvidia,tegra20-pmc";
613618 reg = <0x7000e400 0x400>;
614619 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
615620 clock-names = "pclk", "clk32k_in";
621
+ #clock-cells = <1>;
616622 };
617623
618624 mc: memory-controller@7000f000 {
619
- compatible = "nvidia,tegra20-mc";
620
- reg = <0x7000f000 0x024
621
- 0x7000f03c 0x3c4>;
625
+ compatible = "nvidia,tegra20-mc-gart";
626
+ reg = <0x7000f000 0x00000400>, /* controller registers */
627
+ <0x58000000 0x02000000>; /* GART aperture */
628
+ clocks = <&tegra_car TEGRA20_CLK_MC>;
629
+ clock-names = "mc";
622630 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
623631 #reset-cells = <1>;
624
- };
625
-
626
- iommu@7000f024 {
627
- compatible = "nvidia,tegra20-gart";
628
- reg = <0x7000f024 0x00000018 /* controller registers */
629
- 0x58000000 0x02000000>; /* GART aperture */
632
+ #iommu-cells = <0>;
630633 };
631634
632635 memory-controller@7000f400 {
633636 compatible = "nvidia,tegra20-emc";
634637 reg = <0x7000f400 0x200>;
638
+ interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
639
+ clocks = <&tegra_car TEGRA20_CLK_EMC>;
635640 #address-cells = <1>;
636641 #size-cells = <0>;
637642 };
....@@ -648,12 +653,12 @@
648653 pcie@80003000 {
649654 compatible = "nvidia,tegra20-pcie";
650655 device_type = "pci";
651
- reg = <0x80003000 0x00000800 /* PADS registers */
652
- 0x80003800 0x00000200 /* AFI registers */
653
- 0x90000000 0x10000000>; /* configuration space */
656
+ reg = <0x80003000 0x00000800>, /* PADS registers */
657
+ <0x80003800 0x00000200>, /* AFI registers */
658
+ <0x90000000 0x10000000>; /* configuration space */
654659 reg-names = "pads", "afi", "cs";
655
- interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH /* controller interrupt */
656
- GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
660
+ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
661
+ <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
657662 interrupt-names = "intr", "msi";
658663
659664 #interrupt-cells = <1>;
....@@ -664,11 +669,11 @@
664669 #address-cells = <3>;
665670 #size-cells = <2>;
666671
667
- ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000 /* port 0 registers */
668
- 0x82000000 0 0x80001000 0x80001000 0 0x00001000 /* port 1 registers */
669
- 0x81000000 0 0 0x82000000 0 0x00010000 /* downstream I/O */
670
- 0x82000000 0 0xa0000000 0xa0000000 0 0x08000000 /* non-prefetchable memory */
671
- 0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
672
+ ranges = <0x02000000 0 0x80000000 0x80000000 0 0x00001000>, /* port 0 registers */
673
+ <0x02000000 0 0x80001000 0x80001000 0 0x00001000>, /* port 1 registers */
674
+ <0x01000000 0 0 0x82000000 0 0x00010000>, /* downstream I/O */
675
+ <0x02000000 0 0xa0000000 0xa0000000 0 0x08000000>, /* non-prefetchable memory */
676
+ <0x42000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
672677
673678 clocks = <&tegra_car TEGRA20_CLK_PEX>,
674679 <&tegra_car TEGRA20_CLK_AFI>,
....@@ -725,7 +730,8 @@
725730
726731 phy1: usb-phy@c5000000 {
727732 compatible = "nvidia,tegra20-usb-phy";
728
- reg = <0xc5000000 0x4000 0xc5000000 0x4000>;
733
+ reg = <0xc5000000 0x4000>,
734
+ <0xc5000000 0x4000>;
729735 phy_type = "utmi";
730736 clocks = <&tegra_car TEGRA20_CLK_USBD>,
731737 <&tegra_car TEGRA20_CLK_PLL_U>,
....@@ -734,6 +740,7 @@
734740 clock-names = "reg", "pll_u", "timer", "utmi-pads";
735741 resets = <&tegra_car 22>, <&tegra_car 22>;
736742 reset-names = "usb", "utmi-pads";
743
+ #phy-cells = <0>;
737744 nvidia,has-legacy-mode;
738745 nvidia,hssync-start-delay = <9>;
739746 nvidia,idle-wait-delay = <17>;
....@@ -768,6 +775,7 @@
768775 clock-names = "reg", "pll_u", "ulpi-link";
769776 resets = <&tegra_car 58>, <&tegra_car 22>;
770777 reset-names = "usb", "utmi-pads";
778
+ #phy-cells = <0>;
771779 status = "disabled";
772780 };
773781
....@@ -785,7 +793,8 @@
785793
786794 phy3: usb-phy@c5008000 {
787795 compatible = "nvidia,tegra20-usb-phy";
788
- reg = <0xc5008000 0x4000 0xc5000000 0x4000>;
796
+ reg = <0xc5008000 0x4000>,
797
+ <0xc5000000 0x4000>;
789798 phy_type = "utmi";
790799 clocks = <&tegra_car TEGRA20_CLK_USB3>,
791800 <&tegra_car TEGRA20_CLK_PLL_U>,
....@@ -794,6 +803,7 @@
794803 clock-names = "reg", "pll_u", "timer", "utmi-pads";
795804 resets = <&tegra_car 59>, <&tegra_car 22>;
796805 reset-names = "usb", "utmi-pads";
806
+ #phy-cells = <0>;
797807 nvidia,hssync-start-delay = <9>;
798808 nvidia,idle-wait-delay = <17>;
799809 nvidia,elastic-limit = <16>;
....@@ -804,41 +814,45 @@
804814 status = "disabled";
805815 };
806816
807
- sdhci@c8000000 {
817
+ mmc@c8000000 {
808818 compatible = "nvidia,tegra20-sdhci";
809819 reg = <0xc8000000 0x200>;
810820 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
811821 clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
822
+ clock-names = "sdhci";
812823 resets = <&tegra_car 14>;
813824 reset-names = "sdhci";
814825 status = "disabled";
815826 };
816827
817
- sdhci@c8000200 {
828
+ mmc@c8000200 {
818829 compatible = "nvidia,tegra20-sdhci";
819830 reg = <0xc8000200 0x200>;
820831 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
821832 clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
833
+ clock-names = "sdhci";
822834 resets = <&tegra_car 9>;
823835 reset-names = "sdhci";
824836 status = "disabled";
825837 };
826838
827
- sdhci@c8000400 {
839
+ mmc@c8000400 {
828840 compatible = "nvidia,tegra20-sdhci";
829841 reg = <0xc8000400 0x200>;
830842 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
831843 clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
844
+ clock-names = "sdhci";
832845 resets = <&tegra_car 69>;
833846 reset-names = "sdhci";
834847 status = "disabled";
835848 };
836849
837
- sdhci@c8000600 {
850
+ mmc@c8000600 {
838851 compatible = "nvidia,tegra20-sdhci";
839852 reg = <0xc8000600 0x200>;
840853 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
841854 clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
855
+ clock-names = "sdhci";
842856 resets = <&tegra_car 15>;
843857 reset-names = "sdhci";
844858 status = "disabled";
....@@ -852,12 +866,14 @@
852866 device_type = "cpu";
853867 compatible = "arm,cortex-a9";
854868 reg = <0>;
869
+ clocks = <&tegra_car TEGRA20_CLK_CCLK>;
855870 };
856871
857872 cpu@1 {
858873 device_type = "cpu";
859874 compatible = "arm,cortex-a9";
860875 reg = <1>;
876
+ clocks = <&tegra_car TEGRA20_CLK_CCLK>;
861877 };
862878 };
863879
....@@ -865,5 +881,7 @@
865881 compatible = "arm,cortex-a9-pmu";
866882 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
867883 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
884
+ interrupt-affinity = <&{/cpus/cpu@0}>,
885
+ <&{/cpus/cpu@1}>;
868886 };
869887 };