.. | .. |
---|
4 | 4 | #include <dt-bindings/memory/tegra20-mc.h> |
---|
5 | 5 | #include <dt-bindings/pinctrl/pinctrl-tegra.h> |
---|
6 | 6 | #include <dt-bindings/interrupt-controller/arm-gic.h> |
---|
| 7 | +#include <dt-bindings/soc/tegra-pmc.h> |
---|
7 | 8 | |
---|
8 | 9 | / { |
---|
9 | 10 | compatible = "nvidia,tegra20"; |
---|
.. | .. |
---|
16 | 17 | reg = <0 0>; |
---|
17 | 18 | }; |
---|
18 | 19 | |
---|
19 | | - iram@40000000 { |
---|
| 20 | + sram@40000000 { |
---|
20 | 21 | compatible = "mmio-sram"; |
---|
21 | 22 | reg = <0x40000000 0x40000>; |
---|
22 | 23 | #address-cells = <1>; |
---|
23 | 24 | #size-cells = <1>; |
---|
24 | 25 | ranges = <0 0x40000000 0x40000>; |
---|
25 | 26 | |
---|
26 | | - vde_pool: vde@400 { |
---|
| 27 | + vde_pool: sram@400 { |
---|
27 | 28 | reg = <0x400 0x3fc00>; |
---|
28 | 29 | pool; |
---|
29 | 30 | }; |
---|
30 | 31 | }; |
---|
31 | 32 | |
---|
32 | 33 | host1x@50000000 { |
---|
33 | | - compatible = "nvidia,tegra20-host1x", "simple-bus"; |
---|
| 34 | + compatible = "nvidia,tegra20-host1x"; |
---|
34 | 35 | reg = <0x50000000 0x00024000>; |
---|
35 | 36 | interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ |
---|
36 | 37 | <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ |
---|
| 38 | + interrupt-names = "syncpt", "host1x"; |
---|
37 | 39 | clocks = <&tegra_car TEGRA20_CLK_HOST1X>; |
---|
| 40 | + clock-names = "host1x"; |
---|
38 | 41 | resets = <&tegra_car 28>; |
---|
39 | 42 | reset-names = "host1x"; |
---|
40 | 43 | |
---|
.. | .. |
---|
153 | 156 | dsi@54300000 { |
---|
154 | 157 | compatible = "nvidia,tegra20-dsi"; |
---|
155 | 158 | 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"; |
---|
157 | 162 | resets = <&tegra_car 48>; |
---|
158 | 163 | reset-names = "dsi"; |
---|
159 | 164 | status = "disabled"; |
---|
.. | .. |
---|
171 | 176 | |
---|
172 | 177 | intc: interrupt-controller@50041000 { |
---|
173 | 178 | compatible = "arm,cortex-a9-gic"; |
---|
174 | | - reg = <0x50041000 0x1000 |
---|
175 | | - 0x50040100 0x0100>; |
---|
| 179 | + reg = <0x50041000 0x1000>, |
---|
| 180 | + <0x50040100 0x0100>; |
---|
176 | 181 | interrupt-controller; |
---|
177 | 182 | #interrupt-cells = <3>; |
---|
178 | 183 | interrupt-parent = <&intc>; |
---|
.. | .. |
---|
271 | 276 | |
---|
272 | 277 | vde@6001a000 { |
---|
273 | 278 | 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 */ |
---|
283 | 288 | reg-names = "sxe", "bsev", "mbe", "ppe", "mce", |
---|
284 | 289 | "tfe", "ppb", "vdma", "frameid"; |
---|
285 | 290 | iram = <&vde_pool>; /* IRAM region */ |
---|
.. | .. |
---|
294 | 299 | |
---|
295 | 300 | apbmisc@70000800 { |
---|
296 | 301 | 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 */ |
---|
299 | 304 | }; |
---|
300 | 305 | |
---|
301 | 306 | pinmux: pinmux@70000014 { |
---|
302 | 307 | 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 */ |
---|
307 | 312 | }; |
---|
308 | 313 | |
---|
309 | 314 | das@70000c00 { |
---|
.. | .. |
---|
608 | 613 | status = "disabled"; |
---|
609 | 614 | }; |
---|
610 | 615 | |
---|
611 | | - pmc@7000e400 { |
---|
| 616 | + tegra_pmc: pmc@7000e400 { |
---|
612 | 617 | compatible = "nvidia,tegra20-pmc"; |
---|
613 | 618 | reg = <0x7000e400 0x400>; |
---|
614 | 619 | clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; |
---|
615 | 620 | clock-names = "pclk", "clk32k_in"; |
---|
| 621 | + #clock-cells = <1>; |
---|
616 | 622 | }; |
---|
617 | 623 | |
---|
618 | 624 | 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"; |
---|
622 | 630 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; |
---|
623 | 631 | #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>; |
---|
630 | 633 | }; |
---|
631 | 634 | |
---|
632 | 635 | memory-controller@7000f400 { |
---|
633 | 636 | compatible = "nvidia,tegra20-emc"; |
---|
634 | 637 | reg = <0x7000f400 0x200>; |
---|
| 638 | + interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 639 | + clocks = <&tegra_car TEGRA20_CLK_EMC>; |
---|
635 | 640 | #address-cells = <1>; |
---|
636 | 641 | #size-cells = <0>; |
---|
637 | 642 | }; |
---|
.. | .. |
---|
648 | 653 | pcie@80003000 { |
---|
649 | 654 | compatible = "nvidia,tegra20-pcie"; |
---|
650 | 655 | 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 */ |
---|
654 | 659 | 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 */ |
---|
657 | 662 | interrupt-names = "intr", "msi"; |
---|
658 | 663 | |
---|
659 | 664 | #interrupt-cells = <1>; |
---|
.. | .. |
---|
664 | 669 | #address-cells = <3>; |
---|
665 | 670 | #size-cells = <2>; |
---|
666 | 671 | |
---|
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 */ |
---|
672 | 677 | |
---|
673 | 678 | clocks = <&tegra_car TEGRA20_CLK_PEX>, |
---|
674 | 679 | <&tegra_car TEGRA20_CLK_AFI>, |
---|
.. | .. |
---|
725 | 730 | |
---|
726 | 731 | phy1: usb-phy@c5000000 { |
---|
727 | 732 | compatible = "nvidia,tegra20-usb-phy"; |
---|
728 | | - reg = <0xc5000000 0x4000 0xc5000000 0x4000>; |
---|
| 733 | + reg = <0xc5000000 0x4000>, |
---|
| 734 | + <0xc5000000 0x4000>; |
---|
729 | 735 | phy_type = "utmi"; |
---|
730 | 736 | clocks = <&tegra_car TEGRA20_CLK_USBD>, |
---|
731 | 737 | <&tegra_car TEGRA20_CLK_PLL_U>, |
---|
.. | .. |
---|
734 | 740 | clock-names = "reg", "pll_u", "timer", "utmi-pads"; |
---|
735 | 741 | resets = <&tegra_car 22>, <&tegra_car 22>; |
---|
736 | 742 | reset-names = "usb", "utmi-pads"; |
---|
| 743 | + #phy-cells = <0>; |
---|
737 | 744 | nvidia,has-legacy-mode; |
---|
738 | 745 | nvidia,hssync-start-delay = <9>; |
---|
739 | 746 | nvidia,idle-wait-delay = <17>; |
---|
.. | .. |
---|
768 | 775 | clock-names = "reg", "pll_u", "ulpi-link"; |
---|
769 | 776 | resets = <&tegra_car 58>, <&tegra_car 22>; |
---|
770 | 777 | reset-names = "usb", "utmi-pads"; |
---|
| 778 | + #phy-cells = <0>; |
---|
771 | 779 | status = "disabled"; |
---|
772 | 780 | }; |
---|
773 | 781 | |
---|
.. | .. |
---|
785 | 793 | |
---|
786 | 794 | phy3: usb-phy@c5008000 { |
---|
787 | 795 | compatible = "nvidia,tegra20-usb-phy"; |
---|
788 | | - reg = <0xc5008000 0x4000 0xc5000000 0x4000>; |
---|
| 796 | + reg = <0xc5008000 0x4000>, |
---|
| 797 | + <0xc5000000 0x4000>; |
---|
789 | 798 | phy_type = "utmi"; |
---|
790 | 799 | clocks = <&tegra_car TEGRA20_CLK_USB3>, |
---|
791 | 800 | <&tegra_car TEGRA20_CLK_PLL_U>, |
---|
.. | .. |
---|
794 | 803 | clock-names = "reg", "pll_u", "timer", "utmi-pads"; |
---|
795 | 804 | resets = <&tegra_car 59>, <&tegra_car 22>; |
---|
796 | 805 | reset-names = "usb", "utmi-pads"; |
---|
| 806 | + #phy-cells = <0>; |
---|
797 | 807 | nvidia,hssync-start-delay = <9>; |
---|
798 | 808 | nvidia,idle-wait-delay = <17>; |
---|
799 | 809 | nvidia,elastic-limit = <16>; |
---|
.. | .. |
---|
804 | 814 | status = "disabled"; |
---|
805 | 815 | }; |
---|
806 | 816 | |
---|
807 | | - sdhci@c8000000 { |
---|
| 817 | + mmc@c8000000 { |
---|
808 | 818 | compatible = "nvidia,tegra20-sdhci"; |
---|
809 | 819 | reg = <0xc8000000 0x200>; |
---|
810 | 820 | interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
---|
811 | 821 | clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; |
---|
| 822 | + clock-names = "sdhci"; |
---|
812 | 823 | resets = <&tegra_car 14>; |
---|
813 | 824 | reset-names = "sdhci"; |
---|
814 | 825 | status = "disabled"; |
---|
815 | 826 | }; |
---|
816 | 827 | |
---|
817 | | - sdhci@c8000200 { |
---|
| 828 | + mmc@c8000200 { |
---|
818 | 829 | compatible = "nvidia,tegra20-sdhci"; |
---|
819 | 830 | reg = <0xc8000200 0x200>; |
---|
820 | 831 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; |
---|
821 | 832 | clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; |
---|
| 833 | + clock-names = "sdhci"; |
---|
822 | 834 | resets = <&tegra_car 9>; |
---|
823 | 835 | reset-names = "sdhci"; |
---|
824 | 836 | status = "disabled"; |
---|
825 | 837 | }; |
---|
826 | 838 | |
---|
827 | | - sdhci@c8000400 { |
---|
| 839 | + mmc@c8000400 { |
---|
828 | 840 | compatible = "nvidia,tegra20-sdhci"; |
---|
829 | 841 | reg = <0xc8000400 0x200>; |
---|
830 | 842 | interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; |
---|
831 | 843 | clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; |
---|
| 844 | + clock-names = "sdhci"; |
---|
832 | 845 | resets = <&tegra_car 69>; |
---|
833 | 846 | reset-names = "sdhci"; |
---|
834 | 847 | status = "disabled"; |
---|
835 | 848 | }; |
---|
836 | 849 | |
---|
837 | | - sdhci@c8000600 { |
---|
| 850 | + mmc@c8000600 { |
---|
838 | 851 | compatible = "nvidia,tegra20-sdhci"; |
---|
839 | 852 | reg = <0xc8000600 0x200>; |
---|
840 | 853 | interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; |
---|
841 | 854 | clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; |
---|
| 855 | + clock-names = "sdhci"; |
---|
842 | 856 | resets = <&tegra_car 15>; |
---|
843 | 857 | reset-names = "sdhci"; |
---|
844 | 858 | status = "disabled"; |
---|
.. | .. |
---|
852 | 866 | device_type = "cpu"; |
---|
853 | 867 | compatible = "arm,cortex-a9"; |
---|
854 | 868 | reg = <0>; |
---|
| 869 | + clocks = <&tegra_car TEGRA20_CLK_CCLK>; |
---|
855 | 870 | }; |
---|
856 | 871 | |
---|
857 | 872 | cpu@1 { |
---|
858 | 873 | device_type = "cpu"; |
---|
859 | 874 | compatible = "arm,cortex-a9"; |
---|
860 | 875 | reg = <1>; |
---|
| 876 | + clocks = <&tegra_car TEGRA20_CLK_CCLK>; |
---|
861 | 877 | }; |
---|
862 | 878 | }; |
---|
863 | 879 | |
---|
.. | .. |
---|
865 | 881 | compatible = "arm,cortex-a9-pmu"; |
---|
866 | 882 | interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, |
---|
867 | 883 | <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; |
---|
| 884 | + interrupt-affinity = <&{/cpus/cpu@0}>, |
---|
| 885 | + <&{/cpus/cpu@1}>; |
---|
868 | 886 | }; |
---|
869 | 887 | }; |
---|