ARM: dts: stm32mp15: use DDR3 files generated by STM32CubeMX
[oweals/u-boot.git] / arch / arm / dts / zynq-7000.dtsi
index 2d786f0fd15d0845a9ebd1dbff35208bc53a60dd..c35eb2344fa8944f81acbc5c6488d7d4571ad09c 100644 (file)
@@ -1,21 +1,21 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Xilinx Zynq 7000 DTSI
  * Describes the hardware common to all Zynq 7000-based boards.
  *
  *  Copyright (C) 2011 - 2015 Xilinx
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
-/include/ "skeleton.dtsi"
 
 / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        compatible = "xlnx,zynq-7000";
 
        cpus {
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@0 {
+               cpu0: cpu@0 {
                        compatible = "arm,cortex-a9";
                        device_type = "cpu";
                        reg = <0>;
@@ -29,7 +29,7 @@
                        >;
                };
 
-               cpu@1 {
+               cpu1: cpu@1 {
                        compatible = "arm,cortex-a9";
                        device_type = "cpu";
                        reg = <1>;
                };
        };
 
-       pmu {
+       fpga_full: fpga-full {
+               compatible = "fpga-region";
+               fpga-mgr = <&devcfg>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+       };
+
+       pmu@f8891000 {
                compatible = "arm,cortex-a9-pmu";
                interrupts = <0 5 4>, <0 6 4>;
                interrupt-parent = <&intc>;
-               reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
+               reg = <0xf8891000 0x1000>,
+                     <0xf8893000 0x1000>;
        };
 
-       regulator_vccpint: fixedregulator@0 {
+       regulator_vccpint: fixedregulator {
                compatible = "regulator-fixed";
                regulator-name = "VCCPINT";
                regulator-min-microvolt = <1000000>;
                regulator-always-on;
        };
 
+       replicator {
+               compatible = "arm,coresight-static-replicator";
+               clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+               clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+
+               out-ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       /* replicator output ports */
+                       port@0 {
+                               reg = <0>;
+                               replicator_out_port0: endpoint {
+                                       remote-endpoint = <&tpiu_in_port>;
+                               };
+                       };
+                       port@1 {
+                               reg = <1>;
+                               replicator_out_port1: endpoint {
+                                       remote-endpoint = <&etb_in_port>;
+                               };
+                       };
+               };
+               in-ports {
+                       /* replicator input port */
+                       port {
+                               replicator_in_port0: endpoint {
+                                       remote-endpoint = <&funnel_out_port>;
+                               };
+                       };
+               };
+       };
+
        amba: amba {
                u-boot,dm-pre-reloc;
                compatible = "simple-bus";
                        #gpio-cells = <2>;
                        clocks = <&clkc 42>;
                        gpio-controller;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                        interrupt-parent = <&intc>;
                        interrupts = <0 20 4>;
                        reg = <0xe000a000 0x1000>;
                        interrupts = <0 26 4>;
                        clocks = <&clkc 25>, <&clkc 34>;
                        clock-names = "ref_clk", "pclk";
-                       spi-max-frequency = <166666700>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <0 49 4>;
                        clocks = <&clkc 26>, <&clkc 35>;
                        clock-names = "ref_clk", "pclk";
-                       spi-max-frequency = <166666700>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        #size-cells = <0>;
                };
 
+               smcc: memory-controller@e000e000 {
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       status = "disabled";
+                       clock-names = "memclk", "apb_pclk";
+                       clocks = <&clkc 11>, <&clkc 44>;
+                       compatible = "arm,pl353-smc-r2p1", "arm,primecell";
+                       interrupt-parent = <&intc>;
+                       interrupts = <0 18 4>;
+                       ranges ;
+                       reg = <0xe000e000 0x1000>;
+                       nand0: flash@e1000000 {
+                               status = "disabled";
+                               compatible = "arm,pl353-nand-r2p1";
+                               reg = <0xe1000000 0x1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                       };
+                       nor0: flash@e2000000 {
+                               status = "disabled";
+                               compatible = "cfi-flash";
+                               reg = <0xe2000000 0x2000000>;
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                       };
+               };
+
                gem0: ethernet@e000b000 {
                        compatible = "cdns,zynq-gem", "cdns,gem";
                        reg = <0xe000b000 0x1000>;
                        #size-cells = <0>;
                };
 
-               sdhci0: sdhci@e0100000 {
+               sdhci0: mmc@e0100000 {
                        compatible = "arasan,sdhci-8.9a";
                        status = "disabled";
                        clock-names = "clk_xin", "clk_ahb";
                        reg = <0xe0100000 0x1000>;
                };
 
-               sdhci1: sdhci@e0101000 {
+               sdhci1: mmc@e0101000 {
                        compatible = "arasan,sdhci-8.9a";
                        status = "disabled";
                        clock-names = "clk_xin", "clk_ahb";
                };
 
                slcr: slcr@f8000000 {
+                       u-boot,dm-pre-reloc;
                        #address-cells = <1>;
                        #size-cells = <1>;
-                       compatible = "xlnx,zynq-slcr", "syscon", "simple-bus";
+                       compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";
                        reg = <0xF8000000 0x1000>;
                        ranges;
                        clkc: clkc@100 {
+                               u-boot,dm-pre-reloc;
                                #clock-cells = <1>;
                                compatible = "xlnx,ps7-clkc";
                                fclk-enable = <0>;
                                reg = <0x100 0x100>;
                        };
 
+                       rstc: rstc@200 {
+                               compatible = "xlnx,zynq-reset";
+                               reg = <0x200 0x48>;
+                               #reset-cells = <1>;
+                               syscon = <&slcr>;
+                       };
+
                        pinctrl0: pinctrl@700 {
                                compatible = "xlnx,pinctrl-zynq";
                                reg = <0x700 0x200>;
 
                devcfg: devcfg@f8007000 {
                        compatible = "xlnx,zynq-devcfg-1.0";
+                       interrupt-parent = <&intc>;
+                       interrupts = <0 8 4>;
                        reg = <0xf8007000 0x100>;
+                       clocks = <&clkc 12>, <&clkc 15>, <&clkc 16>, <&clkc 17>, <&clkc 18>;
+                       clock-names = "ref_clk", "fclk0", "fclk1", "fclk2", "fclk3";
+                       syscon = <&slcr>;
+               };
+
+               efuse: efuse@f800d000 {
+                       compatible = "xlnx,zynq-efuse";
+                       reg = <0xf800d000 0x20>;
                };
 
                global_timer: timer@f8f00200 {
                        reg = <0xf8005000 0x1000>;
                        timeout-sec = <10>;
                };
+
+               etb@f8801000 {
+                       compatible = "arm,coresight-etb10", "arm,primecell";
+                       reg = <0xf8801000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       in-ports {
+                               port {
+                                       etb_in_port: endpoint {
+                                               remote-endpoint = <&replicator_out_port1>;
+                                       };
+                               };
+                       };
+               };
+
+               tpiu@f8803000 {
+                       compatible = "arm,coresight-tpiu", "arm,primecell";
+                       reg = <0xf8803000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       in-ports {
+                               port {
+                                       tpiu_in_port: endpoint {
+                                               remote-endpoint = <&replicator_out_port0>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@f8804000 {
+                       compatible = "arm,coresight-static-funnel", "arm,primecell";
+                       reg = <0xf8804000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+
+                       /* funnel output ports */
+                       out-ports {
+                               port {
+                                       funnel_out_port: endpoint {
+                                               remote-endpoint =
+                                                       <&replicator_in_port0>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               /* funnel input ports */
+                               port@0 {
+                                       reg = <0>;
+                                       funnel0_in_port0: endpoint {
+                                               remote-endpoint = <&ptm0_out_port>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       funnel0_in_port1: endpoint {
+                                               remote-endpoint = <&ptm1_out_port>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       funnel0_in_port2: endpoint {
+                                       };
+                               };
+                               /* The other input ports are not connect to anything */
+                       };
+               };
+
+               ptm@f889c000 {
+                       compatible = "arm,coresight-etm3x", "arm,primecell";
+                       reg = <0xf889c000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       cpu = <&cpu0>;
+                       out-ports {
+                               port {
+                                       ptm0_out_port: endpoint {
+                                               remote-endpoint = <&funnel0_in_port0>;
+                                       };
+                               };
+                       };
+               };
+
+               ptm@f889d000 {
+                       compatible = "arm,coresight-etm3x", "arm,primecell";
+                       reg = <0xf889d000 0x1000>;
+                       clocks = <&clkc 27>, <&clkc 46>, <&clkc 47>;
+                       clock-names = "apb_pclk", "dbg_trc", "dbg_apb";
+                       cpu = <&cpu1>;
+                       out-ports {
+                               port {
+                                       ptm1_out_port: endpoint {
+                                               remote-endpoint = <&funnel0_in_port1>;
+                                       };
+                               };
+                       };
+               };
        };
 };