These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / arch / arm64 / boot / dts / apm / apm-storm.dtsi
index c8d3e0e..6c5ed11 100644 (file)
                clock-frequency = <50000000>;
        };
 
+       pmu {
+               compatible = "apm,potenza-pmu", "arm,armv8-pmuv3";
+               interrupts = <1 12 0xff04>;
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <2>;
                                clock-output-names = "xge0clk";
                        };
 
+                       xge1clk: xge1clk@1f62c000 {
+                               compatible = "apm,xgene-device-clock";
+                               status = "disabled";
+                               #clock-cells = <1>;
+                               clocks = <&socplldiv2 0>;
+                               reg = <0x0 0x1f62c000 0x0 0x1000>;
+                               reg-names = "csr-reg";
+                               csr-mask = <0x3>;
+                               clock-output-names = "xge1clk";
+                       };
+
                        sataphy1clk: sataphy1clk@1f21c000 {
                                compatible = "apm,xgene-device-clock";
                                #clock-cells = <1>;
                        };
                };
 
+               msi: msi@79000000 {
+                       compatible = "apm,xgene1-msi";
+                       msi-controller;
+                       reg = <0x00 0x79000000 0x0 0x900000>;
+                       interrupts = <  0x0 0x10 0x4
+                                       0x0 0x11 0x4
+                                       0x0 0x12 0x4
+                                       0x0 0x13 0x4
+                                       0x0 0x14 0x4
+                                       0x0 0x15 0x4
+                                       0x0 0x16 0x4
+                                       0x0 0x17 0x4
+                                       0x0 0x18 0x4
+                                       0x0 0x19 0x4
+                                       0x0 0x1a 0x4
+                                       0x0 0x1b 0x4
+                                       0x0 0x1c 0x4
+                                       0x0 0x1d 0x4
+                                       0x0 0x1e 0x4
+                                       0x0 0x1f 0x4>;
+               };
+
+               scu: system-clk-controller@17000000 {
+                       compatible = "apm,xgene-scu","syscon";
+                       reg = <0x0 0x17000000 0x0 0x400>;
+               };
+
+               reboot: reboot@17000014 {
+                       compatible = "syscon-reboot";
+                       regmap = <&scu>;
+                       offset = <0x14>;
+                       mask = <0x1>;
+               };
+
+               csw: csw@7e200000 {
+                       compatible = "apm,xgene-csw", "syscon";
+                       reg = <0x0 0x7e200000 0x0 0x1000>;
+               };
+
+               mcba: mcba@7e700000 {
+                       compatible = "apm,xgene-mcb", "syscon";
+                       reg = <0x0 0x7e700000 0x0 0x1000>;
+               };
+
+               mcbb: mcbb@7e720000 {
+                       compatible = "apm,xgene-mcb", "syscon";
+                       reg = <0x0 0x7e720000 0x0 0x1000>;
+               };
+
+               efuse: efuse@1054a000 {
+                       compatible = "apm,xgene-efuse", "syscon";
+                       reg = <0x0 0x1054a000 0x0 0x20>;
+               };
+
+               edac@78800000 {
+                       compatible = "apm,xgene-edac";
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       ranges;
+                       regmap-csw = <&csw>;
+                       regmap-mcba = <&mcba>;
+                       regmap-mcbb = <&mcbb>;
+                       regmap-efuse = <&efuse>;
+                       reg = <0x0 0x78800000 0x0 0x100>;
+                       interrupts = <0x0 0x20 0x4>,
+                                    <0x0 0x21 0x4>,
+                                    <0x0 0x27 0x4>;
+
+                       edacmc@7e800000 {
+                               compatible = "apm,xgene-edac-mc";
+                               reg = <0x0 0x7e800000 0x0 0x1000>;
+                               memory-controller = <0>;
+                       };
+
+                       edacmc@7e840000 {
+                               compatible = "apm,xgene-edac-mc";
+                               reg = <0x0 0x7e840000 0x0 0x1000>;
+                               memory-controller = <1>;
+                       };
+
+                       edacmc@7e880000 {
+                               compatible = "apm,xgene-edac-mc";
+                               reg = <0x0 0x7e880000 0x0 0x1000>;
+                               memory-controller = <2>;
+                       };
+
+                       edacmc@7e8c0000 {
+                               compatible = "apm,xgene-edac-mc";
+                               reg = <0x0 0x7e8c0000 0x0 0x1000>;
+                               memory-controller = <3>;
+                       };
+
+                       edacpmd@7c000000 {
+                               compatible = "apm,xgene-edac-pmd";
+                               reg = <0x0 0x7c000000 0x0 0x200000>;
+                               pmd-controller = <0>;
+                       };
+
+                       edacpmd@7c200000 {
+                               compatible = "apm,xgene-edac-pmd";
+                               reg = <0x0 0x7c200000 0x0 0x200000>;
+                               pmd-controller = <1>;
+                       };
+
+                       edacpmd@7c400000 {
+                               compatible = "apm,xgene-edac-pmd";
+                               reg = <0x0 0x7c400000 0x0 0x200000>;
+                               pmd-controller = <2>;
+                       };
+
+                       edacpmd@7c600000 {
+                               compatible = "apm,xgene-edac-pmd";
+                               reg = <0x0 0x7c600000 0x0 0x200000>;
+                               pmd-controller = <3>;
+                       };
+
+                       edacl3@7e600000 {
+                               compatible = "apm,xgene-edac-l3";
+                               reg = <0x0 0x7e600000 0x0 0x1000>;
+                       };
+
+                       edacsoc@7e930000 {
+                               compatible = "apm,xgene-edac-soc-v1";
+                               reg = <0x0 0x7e930000 0x0 0x1000>;
+                       };
+               };
+
                pcie0: pcie@1f2b0000 {
                        status = "disabled";
                        device_type = "pci";
                                0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */
                        reg-names = "csr", "cfg";
                        ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000   /* io */
-                                 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000>; /* mem */
+                                 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000   /* mem */
+                                 0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */
                        dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
                                      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
                        interrupt-map-mask = <0x0 0x0 0x0 0x7>;
                                         0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
                        dma-coherent;
                        clocks = <&pcie0clk 0>;
+                       msi-parent = <&msi>;
                };
 
                pcie1: pcie@1f2c0000 {
                        reg = < 0x00 0x1f2c0000 0x0 0x00010000   /* Controller registers */
                                0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */
                        reg-names = "csr", "cfg";
-                       ranges = <0x01000000 0x0 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
-                                 0x02000000 0x0 0x80000000 0xd1 0x80000000 0x00 0x80000000>; /* mem */
+                       ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000   /* io  */
+                                 0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000   /* mem */
+                                 0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */
                        dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
                                      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
                        interrupt-map-mask = <0x0 0x0 0x0 0x7>;
                                         0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
                        dma-coherent;
                        clocks = <&pcie1clk 0>;
+                       msi-parent = <&msi>;
                };
 
                pcie2: pcie@1f2d0000 {
                        reg =  < 0x00 0x1f2d0000 0x0 0x00010000   /* Controller registers */
                                 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */
                        reg-names = "csr", "cfg";
-                       ranges = <0x01000000 0x0 0x00000000 0x90 0x10000000 0x0 0x00010000   /* io  */
-                                 0x02000000 0x0 0x80000000 0x91 0x80000000 0x0 0x80000000>; /* mem */
+                       ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000   /* io  */
+                                 0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000   /* mem */
+                                 0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */
                        dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
                                      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
                        interrupt-map-mask = <0x0 0x0 0x0 0x7>;
                                         0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
                        dma-coherent;
                        clocks = <&pcie2clk 0>;
+                       msi-parent = <&msi>;
                };
 
                pcie3: pcie@1f500000 {
                        reg = < 0x00 0x1f500000 0x0 0x00010000   /* Controller registers */
                                0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */
                        reg-names = "csr", "cfg";
-                       ranges = <0x01000000 0x0 0x00000000 0xa0 0x10000000 0x0 0x00010000   /* io   */
-                                 0x02000000 0x0 0x80000000 0xa1 0x80000000 0x0 0x80000000>; /* mem  */
+                       ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000   /* io  */
+                                 0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000   /* mem */
+                                 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */
                        dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
                                      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
                        interrupt-map-mask = <0x0 0x0 0x0 0x7>;
                                         0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
                        dma-coherent;
                        clocks = <&pcie3clk 0>;
+                       msi-parent = <&msi>;
                };
 
                pcie4: pcie@1f510000 {
                        reg = < 0x00 0x1f510000 0x0 0x00010000   /* Controller registers */
                                0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */
                        reg-names = "csr", "cfg";
-                       ranges = <0x01000000 0x0 0x00000000 0xc0 0x10000000 0x0 0x00010000   /* io  */
-                                 0x02000000 0x0 0x80000000 0xc1 0x80000000 0x0 0x80000000>; /* mem */
+                       ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000   /* io  */
+                                 0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000   /* mem */
+                                 0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */
                        dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
                                      0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
                        interrupt-map-mask = <0x0 0x0 0x0 0x7>;
                                         0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
                        dma-coherent;
                        clocks = <&pcie4clk 0>;
+                       msi-parent = <&msi>;
                };
 
                serial0: serial@1c020000 {
                        phy-names = "sata-phy";
                };
 
+               sbgpio: sbgpio@17001000{
+                       compatible = "apm,xgene-gpio-sb";
+                       reg = <0x0 0x17001000 0x0 0x400>;
+                       #gpio-cells = <2>;
+                       gpio-controller;
+                       interrupts =    <0x0 0x28 0x1>,
+                                       <0x0 0x29 0x1>,
+                                       <0x0 0x2a 0x1>,
+                                       <0x0 0x2b 0x1>,
+                                       <0x0 0x2c 0x1>,
+                                       <0x0 0x2d 0x1>;
+               };
+
                rtc: rtc@10510000 {
                        compatible = "apm,xgene-rtc";
                        reg = <0x0 0x10510000 0x0 0x400>;
                        phy-connection-type = "xgmii";
                };
 
+               xgenet1: ethernet@1f620000 {
+                       compatible = "apm,xgene1-xgenet";
+                       status = "disabled";
+                       reg = <0x0 0x1f620000 0x0 0xd100>,
+                             <0x0 0x1f600000 0x0 0Xc300>,
+                             <0x0 0x18000000 0x0 0X8000>;
+                       reg-names = "enet_csr", "ring_csr", "ring_cmd";
+                       interrupts = <0x0 0x6C 0x4>,
+                                    <0x0 0x6D 0x4>;
+                       port-id = <1>;
+                       dma-coherent;
+                       clocks = <&xge1clk 0>;
+                       /* mac address will be overwritten by the bootloader */
+                       local-mac-address = [00 00 00 00 00 00];
+                       phy-connection-type = "xgmii";
+               };
+
                rng: rng@10520000 {
                        compatible = "apm,xgene-rng";
                        reg = <0x0 0x10520000 0x0 0x100>;
                        device_type = "dma";
                        reg = <0x0 0x1f270000 0x0 0x10000>,
                              <0x0 0x1f200000 0x0 0x10000>,
-                             <0x0 0x1b008000 0x0 0x2000>,
+                             <0x0 0x1b000000 0x0 0x400000>,
                              <0x0 0x1054a000 0x0 0x100>;
                        interrupts = <0x0 0x82 0x4>,
                                     <0x0 0xb8 0x4>,