1ca5b3410SRobert Richter/* 2ca5b3410SRobert Richter * dts file for AppliedMicro (APM) X-Gene Storm SOC 3ca5b3410SRobert Richter * 4ca5b3410SRobert Richter * Copyright (C) 2013, Applied Micro Circuits Corporation 5ca5b3410SRobert Richter * 6ca5b3410SRobert Richter * This program is free software; you can redistribute it and/or 7ca5b3410SRobert Richter * modify it under the terms of the GNU General Public License as 8ca5b3410SRobert Richter * published by the Free Software Foundation; either version 2 of 9ca5b3410SRobert Richter * the License, or (at your option) any later version. 10ca5b3410SRobert Richter */ 11ca5b3410SRobert Richter 12ca5b3410SRobert Richter/ { 13ca5b3410SRobert Richter compatible = "apm,xgene-storm"; 14ca5b3410SRobert Richter interrupt-parent = <&gic>; 15ca5b3410SRobert Richter #address-cells = <2>; 16ca5b3410SRobert Richter #size-cells = <2>; 17ca5b3410SRobert Richter 18ca5b3410SRobert Richter cpus { 19ca5b3410SRobert Richter #address-cells = <2>; 20ca5b3410SRobert Richter #size-cells = <0>; 21ca5b3410SRobert Richter 22ca5b3410SRobert Richter cpu@000 { 23ca5b3410SRobert Richter device_type = "cpu"; 24ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 25ca5b3410SRobert Richter reg = <0x0 0x000>; 26ca5b3410SRobert Richter enable-method = "spin-table"; 27ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 28ca5b3410SRobert Richter }; 29ca5b3410SRobert Richter cpu@001 { 30ca5b3410SRobert Richter device_type = "cpu"; 31ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 32ca5b3410SRobert Richter reg = <0x0 0x001>; 33ca5b3410SRobert Richter enable-method = "spin-table"; 34ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 35ca5b3410SRobert Richter }; 36ca5b3410SRobert Richter cpu@100 { 37ca5b3410SRobert Richter device_type = "cpu"; 38ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 39ca5b3410SRobert Richter reg = <0x0 0x100>; 40ca5b3410SRobert Richter enable-method = "spin-table"; 41ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 42ca5b3410SRobert Richter }; 43ca5b3410SRobert Richter cpu@101 { 44ca5b3410SRobert Richter device_type = "cpu"; 45ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 46ca5b3410SRobert Richter reg = <0x0 0x101>; 47ca5b3410SRobert Richter enable-method = "spin-table"; 48ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 49ca5b3410SRobert Richter }; 50ca5b3410SRobert Richter cpu@200 { 51ca5b3410SRobert Richter device_type = "cpu"; 52ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 53ca5b3410SRobert Richter reg = <0x0 0x200>; 54ca5b3410SRobert Richter enable-method = "spin-table"; 55ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 56ca5b3410SRobert Richter }; 57ca5b3410SRobert Richter cpu@201 { 58ca5b3410SRobert Richter device_type = "cpu"; 59ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 60ca5b3410SRobert Richter reg = <0x0 0x201>; 61ca5b3410SRobert Richter enable-method = "spin-table"; 62ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 63ca5b3410SRobert Richter }; 64ca5b3410SRobert Richter cpu@300 { 65ca5b3410SRobert Richter device_type = "cpu"; 66ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 67ca5b3410SRobert Richter reg = <0x0 0x300>; 68ca5b3410SRobert Richter enable-method = "spin-table"; 69ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 70ca5b3410SRobert Richter }; 71ca5b3410SRobert Richter cpu@301 { 72ca5b3410SRobert Richter device_type = "cpu"; 73ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 74ca5b3410SRobert Richter reg = <0x0 0x301>; 75ca5b3410SRobert Richter enable-method = "spin-table"; 76ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 77ca5b3410SRobert Richter }; 78ca5b3410SRobert Richter }; 79ca5b3410SRobert Richter 80ca5b3410SRobert Richter gic: interrupt-controller@78010000 { 81ca5b3410SRobert Richter compatible = "arm,cortex-a15-gic"; 82ca5b3410SRobert Richter #interrupt-cells = <3>; 83ca5b3410SRobert Richter interrupt-controller; 84ca5b3410SRobert Richter reg = <0x0 0x78010000 0x0 0x1000>, /* GIC Dist */ 85ca5b3410SRobert Richter <0x0 0x78020000 0x0 0x1000>, /* GIC CPU */ 86ca5b3410SRobert Richter <0x0 0x78040000 0x0 0x2000>, /* GIC VCPU Control */ 87ca5b3410SRobert Richter <0x0 0x78060000 0x0 0x2000>; /* GIC VCPU */ 88ca5b3410SRobert Richter interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */ 89ca5b3410SRobert Richter }; 90ca5b3410SRobert Richter 91ca5b3410SRobert Richter timer { 92ca5b3410SRobert Richter compatible = "arm,armv8-timer"; 93ca5b3410SRobert Richter interrupts = <1 0 0xff01>, /* Secure Phys IRQ */ 94ca5b3410SRobert Richter <1 13 0xff01>, /* Non-secure Phys IRQ */ 95ca5b3410SRobert Richter <1 14 0xff01>, /* Virt IRQ */ 96ca5b3410SRobert Richter <1 15 0xff01>; /* Hyp IRQ */ 97ca5b3410SRobert Richter clock-frequency = <50000000>; 98ca5b3410SRobert Richter }; 99ca5b3410SRobert Richter 1007434f42bSFeng Kan pmu { 1017434f42bSFeng Kan compatible = "apm,potenza-pmu", "arm,armv8-pmuv3"; 1027434f42bSFeng Kan interrupts = <1 12 0xff04>; 1037434f42bSFeng Kan }; 1047434f42bSFeng Kan 105ca5b3410SRobert Richter soc { 106ca5b3410SRobert Richter compatible = "simple-bus"; 107ca5b3410SRobert Richter #address-cells = <2>; 108ca5b3410SRobert Richter #size-cells = <2>; 109ca5b3410SRobert Richter ranges; 11074e353e1SRameshwar Prasad Sahu dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>; 111ca5b3410SRobert Richter 112ca5b3410SRobert Richter clocks { 113ca5b3410SRobert Richter #address-cells = <2>; 114ca5b3410SRobert Richter #size-cells = <2>; 115ca5b3410SRobert Richter ranges; 116ca5b3410SRobert Richter refclk: refclk { 117ca5b3410SRobert Richter compatible = "fixed-clock"; 118ca5b3410SRobert Richter #clock-cells = <1>; 119ca5b3410SRobert Richter clock-frequency = <100000000>; 120ca5b3410SRobert Richter clock-output-names = "refclk"; 121ca5b3410SRobert Richter }; 122ca5b3410SRobert Richter 123ca5b3410SRobert Richter pcppll: pcppll@17000100 { 124ca5b3410SRobert Richter compatible = "apm,xgene-pcppll-clock"; 125ca5b3410SRobert Richter #clock-cells = <1>; 126ca5b3410SRobert Richter clocks = <&refclk 0>; 127ca5b3410SRobert Richter clock-names = "pcppll"; 128ca5b3410SRobert Richter reg = <0x0 0x17000100 0x0 0x1000>; 129ca5b3410SRobert Richter clock-output-names = "pcppll"; 130ca5b3410SRobert Richter type = <0>; 131ca5b3410SRobert Richter }; 132ca5b3410SRobert Richter 133ca5b3410SRobert Richter socpll: socpll@17000120 { 134ca5b3410SRobert Richter compatible = "apm,xgene-socpll-clock"; 135ca5b3410SRobert Richter #clock-cells = <1>; 136ca5b3410SRobert Richter clocks = <&refclk 0>; 137ca5b3410SRobert Richter clock-names = "socpll"; 138ca5b3410SRobert Richter reg = <0x0 0x17000120 0x0 0x1000>; 139ca5b3410SRobert Richter clock-output-names = "socpll"; 140ca5b3410SRobert Richter type = <1>; 141ca5b3410SRobert Richter }; 142ca5b3410SRobert Richter 143ca5b3410SRobert Richter socplldiv2: socplldiv2 { 144ca5b3410SRobert Richter compatible = "fixed-factor-clock"; 145ca5b3410SRobert Richter #clock-cells = <1>; 146ca5b3410SRobert Richter clocks = <&socpll 0>; 147ca5b3410SRobert Richter clock-names = "socplldiv2"; 148ca5b3410SRobert Richter clock-mult = <1>; 149ca5b3410SRobert Richter clock-div = <2>; 150ca5b3410SRobert Richter clock-output-names = "socplldiv2"; 151ca5b3410SRobert Richter }; 152ca5b3410SRobert Richter 153b0e7a85aSDuc Dang ahbclk: ahbclk@17000000 { 1548f74e861SSuman Tripathi compatible = "apm,xgene-device-clock"; 1558f74e861SSuman Tripathi #clock-cells = <1>; 1568f74e861SSuman Tripathi clocks = <&socplldiv2 0>; 157b0e7a85aSDuc Dang reg = <0x0 0x17000000 0x0 0x2000>; 158b0e7a85aSDuc Dang reg-names = "div-reg"; 1598f74e861SSuman Tripathi divider-offset = <0x164>; 1608f74e861SSuman Tripathi divider-width = <0x5>; 1618f74e861SSuman Tripathi divider-shift = <0x0>; 1628f74e861SSuman Tripathi clock-output-names = "ahbclk"; 1638f74e861SSuman Tripathi }; 1648f74e861SSuman Tripathi 1658f74e861SSuman Tripathi sdioclk: sdioclk@1f2ac000 { 1668f74e861SSuman Tripathi compatible = "apm,xgene-device-clock"; 1678f74e861SSuman Tripathi #clock-cells = <1>; 1688f74e861SSuman Tripathi clocks = <&socplldiv2 0>; 1698f74e861SSuman Tripathi reg = <0x0 0x1f2ac000 0x0 0x1000 1708f74e861SSuman Tripathi 0x0 0x17000000 0x0 0x2000>; 1718f74e861SSuman Tripathi reg-names = "csr-reg", "div-reg"; 1728f74e861SSuman Tripathi csr-offset = <0x0>; 1738f74e861SSuman Tripathi csr-mask = <0x2>; 1748f74e861SSuman Tripathi enable-offset = <0x8>; 1758f74e861SSuman Tripathi enable-mask = <0x2>; 1768f74e861SSuman Tripathi divider-offset = <0x178>; 1778f74e861SSuman Tripathi divider-width = <0x8>; 1788f74e861SSuman Tripathi divider-shift = <0x0>; 1798f74e861SSuman Tripathi clock-output-names = "sdioclk"; 1808f74e861SSuman Tripathi }; 1818f74e861SSuman Tripathi 182ca5b3410SRobert Richter qmlclk: qmlclk { 183ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 184ca5b3410SRobert Richter #clock-cells = <1>; 185ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 186ca5b3410SRobert Richter clock-names = "qmlclk"; 187ca5b3410SRobert Richter reg = <0x0 0x1703C000 0x0 0x1000>; 188ca5b3410SRobert Richter reg-names = "csr-reg"; 189ca5b3410SRobert Richter clock-output-names = "qmlclk"; 190ca5b3410SRobert Richter }; 191ca5b3410SRobert Richter 192ca5b3410SRobert Richter ethclk: ethclk { 193ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 194ca5b3410SRobert Richter #clock-cells = <1>; 195ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 196ca5b3410SRobert Richter clock-names = "ethclk"; 197ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x1000>; 198ca5b3410SRobert Richter reg-names = "div-reg"; 199ca5b3410SRobert Richter divider-offset = <0x238>; 200ca5b3410SRobert Richter divider-width = <0x9>; 201ca5b3410SRobert Richter divider-shift = <0x0>; 202ca5b3410SRobert Richter clock-output-names = "ethclk"; 203ca5b3410SRobert Richter }; 204ca5b3410SRobert Richter 205ca5b3410SRobert Richter menetclk: menetclk { 206ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 207ca5b3410SRobert Richter #clock-cells = <1>; 208ca5b3410SRobert Richter clocks = <ðclk 0>; 209ca5b3410SRobert Richter reg = <0x0 0x1702C000 0x0 0x1000>; 210ca5b3410SRobert Richter reg-names = "csr-reg"; 211ca5b3410SRobert Richter clock-output-names = "menetclk"; 212ca5b3410SRobert Richter }; 213ca5b3410SRobert Richter 214ca5b3410SRobert Richter sge0clk: sge0clk@1f21c000 { 215ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 216ca5b3410SRobert Richter #clock-cells = <1>; 217ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 218ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 219ca5b3410SRobert Richter reg-names = "csr-reg"; 220ca5b3410SRobert Richter csr-mask = <0x3>; 221ca5b3410SRobert Richter clock-output-names = "sge0clk"; 222ca5b3410SRobert Richter }; 223ca5b3410SRobert Richter 2242d33394eSKeyur Chudgar sge1clk: sge1clk@1f21c000 { 2252d33394eSKeyur Chudgar compatible = "apm,xgene-device-clock"; 2262d33394eSKeyur Chudgar #clock-cells = <1>; 2272d33394eSKeyur Chudgar clocks = <&socplldiv2 0>; 2282d33394eSKeyur Chudgar reg = <0x0 0x1f21c000 0x0 0x1000>; 2292d33394eSKeyur Chudgar reg-names = "csr-reg"; 2302d33394eSKeyur Chudgar csr-mask = <0xc>; 2312d33394eSKeyur Chudgar clock-output-names = "sge1clk"; 2322d33394eSKeyur Chudgar }; 2332d33394eSKeyur Chudgar 234ca5b3410SRobert Richter xge0clk: xge0clk@1f61c000 { 235ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 236ca5b3410SRobert Richter #clock-cells = <1>; 237ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 238ca5b3410SRobert Richter reg = <0x0 0x1f61c000 0x0 0x1000>; 239ca5b3410SRobert Richter reg-names = "csr-reg"; 240ca5b3410SRobert Richter csr-mask = <0x3>; 241ca5b3410SRobert Richter clock-output-names = "xge0clk"; 242ca5b3410SRobert Richter }; 243ca5b3410SRobert Richter 244e63c7a09SIyappan Subramanian xge1clk: xge1clk@1f62c000 { 245e63c7a09SIyappan Subramanian compatible = "apm,xgene-device-clock"; 246e63c7a09SIyappan Subramanian status = "disabled"; 247e63c7a09SIyappan Subramanian #clock-cells = <1>; 248e63c7a09SIyappan Subramanian clocks = <&socplldiv2 0>; 249e63c7a09SIyappan Subramanian reg = <0x0 0x1f62c000 0x0 0x1000>; 250e63c7a09SIyappan Subramanian reg-names = "csr-reg"; 251e63c7a09SIyappan Subramanian csr-mask = <0x3>; 252e63c7a09SIyappan Subramanian clock-output-names = "xge1clk"; 253e63c7a09SIyappan Subramanian }; 254e63c7a09SIyappan Subramanian 255ca5b3410SRobert Richter sataphy1clk: sataphy1clk@1f21c000 { 256ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 257ca5b3410SRobert Richter #clock-cells = <1>; 258ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 259ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 260ca5b3410SRobert Richter reg-names = "csr-reg"; 261ca5b3410SRobert Richter clock-output-names = "sataphy1clk"; 262ca5b3410SRobert Richter status = "disabled"; 263ca5b3410SRobert Richter csr-offset = <0x4>; 264ca5b3410SRobert Richter csr-mask = <0x00>; 265ca5b3410SRobert Richter enable-offset = <0x0>; 266ca5b3410SRobert Richter enable-mask = <0x06>; 267ca5b3410SRobert Richter }; 268ca5b3410SRobert Richter 269ca5b3410SRobert Richter sataphy2clk: sataphy1clk@1f22c000 { 270ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 271ca5b3410SRobert Richter #clock-cells = <1>; 272ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 273ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 274ca5b3410SRobert Richter reg-names = "csr-reg"; 275ca5b3410SRobert Richter clock-output-names = "sataphy2clk"; 276ca5b3410SRobert Richter status = "ok"; 277ca5b3410SRobert Richter csr-offset = <0x4>; 278ca5b3410SRobert Richter csr-mask = <0x3a>; 279ca5b3410SRobert Richter enable-offset = <0x0>; 280ca5b3410SRobert Richter enable-mask = <0x06>; 281ca5b3410SRobert Richter }; 282ca5b3410SRobert Richter 283ca5b3410SRobert Richter sataphy3clk: sataphy1clk@1f23c000 { 284ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 285ca5b3410SRobert Richter #clock-cells = <1>; 286ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 287ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 288ca5b3410SRobert Richter reg-names = "csr-reg"; 289ca5b3410SRobert Richter clock-output-names = "sataphy3clk"; 290ca5b3410SRobert Richter status = "ok"; 291ca5b3410SRobert Richter csr-offset = <0x4>; 292ca5b3410SRobert Richter csr-mask = <0x3a>; 293ca5b3410SRobert Richter enable-offset = <0x0>; 294ca5b3410SRobert Richter enable-mask = <0x06>; 295ca5b3410SRobert Richter }; 296ca5b3410SRobert Richter 297ca5b3410SRobert Richter sata01clk: sata01clk@1f21c000 { 298ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 299ca5b3410SRobert Richter #clock-cells = <1>; 300ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 301ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 302ca5b3410SRobert Richter reg-names = "csr-reg"; 303ca5b3410SRobert Richter clock-output-names = "sata01clk"; 304ca5b3410SRobert Richter csr-offset = <0x4>; 305ca5b3410SRobert Richter csr-mask = <0x05>; 306ca5b3410SRobert Richter enable-offset = <0x0>; 307ca5b3410SRobert Richter enable-mask = <0x39>; 308ca5b3410SRobert Richter }; 309ca5b3410SRobert Richter 310ca5b3410SRobert Richter sata23clk: sata23clk@1f22c000 { 311ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 312ca5b3410SRobert Richter #clock-cells = <1>; 313ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 314ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 315ca5b3410SRobert Richter reg-names = "csr-reg"; 316ca5b3410SRobert Richter clock-output-names = "sata23clk"; 317ca5b3410SRobert Richter csr-offset = <0x4>; 318ca5b3410SRobert Richter csr-mask = <0x05>; 319ca5b3410SRobert Richter enable-offset = <0x0>; 320ca5b3410SRobert Richter enable-mask = <0x39>; 321ca5b3410SRobert Richter }; 322ca5b3410SRobert Richter 323ca5b3410SRobert Richter sata45clk: sata45clk@1f23c000 { 324ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 325ca5b3410SRobert Richter #clock-cells = <1>; 326ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 327ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 328ca5b3410SRobert Richter reg-names = "csr-reg"; 329ca5b3410SRobert Richter clock-output-names = "sata45clk"; 330ca5b3410SRobert Richter csr-offset = <0x4>; 331ca5b3410SRobert Richter csr-mask = <0x05>; 332ca5b3410SRobert Richter enable-offset = <0x0>; 333ca5b3410SRobert Richter enable-mask = <0x39>; 334ca5b3410SRobert Richter }; 335ca5b3410SRobert Richter 336ca5b3410SRobert Richter rtcclk: rtcclk@17000000 { 337ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 338ca5b3410SRobert Richter #clock-cells = <1>; 339ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 340ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 341ca5b3410SRobert Richter reg-names = "csr-reg"; 342ca5b3410SRobert Richter csr-offset = <0xc>; 343ca5b3410SRobert Richter csr-mask = <0x2>; 344ca5b3410SRobert Richter enable-offset = <0x10>; 345ca5b3410SRobert Richter enable-mask = <0x2>; 346ca5b3410SRobert Richter clock-output-names = "rtcclk"; 347ca5b3410SRobert Richter }; 348ca5b3410SRobert Richter 349ca5b3410SRobert Richter rngpkaclk: rngpkaclk@17000000 { 350ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 351ca5b3410SRobert Richter #clock-cells = <1>; 352ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 353ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 354ca5b3410SRobert Richter reg-names = "csr-reg"; 355ca5b3410SRobert Richter csr-offset = <0xc>; 356ca5b3410SRobert Richter csr-mask = <0x10>; 357ca5b3410SRobert Richter enable-offset = <0x10>; 358ca5b3410SRobert Richter enable-mask = <0x10>; 359ca5b3410SRobert Richter clock-output-names = "rngpkaclk"; 360ca5b3410SRobert Richter }; 361ca5b3410SRobert Richter 362ca5b3410SRobert Richter pcie0clk: pcie0clk@1f2bc000 { 363ca5b3410SRobert Richter status = "disabled"; 364ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 365ca5b3410SRobert Richter #clock-cells = <1>; 366ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 367ca5b3410SRobert Richter reg = <0x0 0x1f2bc000 0x0 0x1000>; 368ca5b3410SRobert Richter reg-names = "csr-reg"; 369ca5b3410SRobert Richter clock-output-names = "pcie0clk"; 370ca5b3410SRobert Richter }; 371ca5b3410SRobert Richter 372ca5b3410SRobert Richter pcie1clk: pcie1clk@1f2cc000 { 373ca5b3410SRobert Richter status = "disabled"; 374ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 375ca5b3410SRobert Richter #clock-cells = <1>; 376ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 377ca5b3410SRobert Richter reg = <0x0 0x1f2cc000 0x0 0x1000>; 378ca5b3410SRobert Richter reg-names = "csr-reg"; 379ca5b3410SRobert Richter clock-output-names = "pcie1clk"; 380ca5b3410SRobert Richter }; 381ca5b3410SRobert Richter 382ca5b3410SRobert Richter pcie2clk: pcie2clk@1f2dc000 { 383ca5b3410SRobert Richter status = "disabled"; 384ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 385ca5b3410SRobert Richter #clock-cells = <1>; 386ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 387ca5b3410SRobert Richter reg = <0x0 0x1f2dc000 0x0 0x1000>; 388ca5b3410SRobert Richter reg-names = "csr-reg"; 389ca5b3410SRobert Richter clock-output-names = "pcie2clk"; 390ca5b3410SRobert Richter }; 391ca5b3410SRobert Richter 392ca5b3410SRobert Richter pcie3clk: pcie3clk@1f50c000 { 393ca5b3410SRobert Richter status = "disabled"; 394ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 395ca5b3410SRobert Richter #clock-cells = <1>; 396ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 397ca5b3410SRobert Richter reg = <0x0 0x1f50c000 0x0 0x1000>; 398ca5b3410SRobert Richter reg-names = "csr-reg"; 399ca5b3410SRobert Richter clock-output-names = "pcie3clk"; 400ca5b3410SRobert Richter }; 401ca5b3410SRobert Richter 402ca5b3410SRobert Richter pcie4clk: pcie4clk@1f51c000 { 403ca5b3410SRobert Richter status = "disabled"; 404ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 405ca5b3410SRobert Richter #clock-cells = <1>; 406ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 407ca5b3410SRobert Richter reg = <0x0 0x1f51c000 0x0 0x1000>; 408ca5b3410SRobert Richter reg-names = "csr-reg"; 409ca5b3410SRobert Richter clock-output-names = "pcie4clk"; 410ca5b3410SRobert Richter }; 41174e353e1SRameshwar Prasad Sahu 41274e353e1SRameshwar Prasad Sahu dmaclk: dmaclk@1f27c000 { 41374e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-device-clock"; 41474e353e1SRameshwar Prasad Sahu #clock-cells = <1>; 41574e353e1SRameshwar Prasad Sahu clocks = <&socplldiv2 0>; 41674e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f27c000 0x0 0x1000>; 41774e353e1SRameshwar Prasad Sahu reg-names = "csr-reg"; 41874e353e1SRameshwar Prasad Sahu clock-output-names = "dmaclk"; 41974e353e1SRameshwar Prasad Sahu }; 420ca5b3410SRobert Richter }; 421ca5b3410SRobert Richter 422e1e6e5c4SDuc Dang msi: msi@79000000 { 423e1e6e5c4SDuc Dang compatible = "apm,xgene1-msi"; 424e1e6e5c4SDuc Dang msi-controller; 425e1e6e5c4SDuc Dang reg = <0x00 0x79000000 0x0 0x900000>; 426e1e6e5c4SDuc Dang interrupts = < 0x0 0x10 0x4 427e1e6e5c4SDuc Dang 0x0 0x11 0x4 428e1e6e5c4SDuc Dang 0x0 0x12 0x4 429e1e6e5c4SDuc Dang 0x0 0x13 0x4 430e1e6e5c4SDuc Dang 0x0 0x14 0x4 431e1e6e5c4SDuc Dang 0x0 0x15 0x4 432e1e6e5c4SDuc Dang 0x0 0x16 0x4 433e1e6e5c4SDuc Dang 0x0 0x17 0x4 434e1e6e5c4SDuc Dang 0x0 0x18 0x4 435e1e6e5c4SDuc Dang 0x0 0x19 0x4 436e1e6e5c4SDuc Dang 0x0 0x1a 0x4 437e1e6e5c4SDuc Dang 0x0 0x1b 0x4 438e1e6e5c4SDuc Dang 0x0 0x1c 0x4 439e1e6e5c4SDuc Dang 0x0 0x1d 0x4 440e1e6e5c4SDuc Dang 0x0 0x1e 0x4 441e1e6e5c4SDuc Dang 0x0 0x1f 0x4>; 442e1e6e5c4SDuc Dang }; 443e1e6e5c4SDuc Dang 4445c3a87e3SFeng Kan scu: system-clk-controller@17000000 { 4455c3a87e3SFeng Kan compatible = "apm,xgene-scu","syscon"; 4465c3a87e3SFeng Kan reg = <0x0 0x17000000 0x0 0x400>; 4475c3a87e3SFeng Kan }; 4485c3a87e3SFeng Kan 4495c3a87e3SFeng Kan reboot: reboot@17000014 { 4505c3a87e3SFeng Kan compatible = "syscon-reboot"; 4515c3a87e3SFeng Kan regmap = <&scu>; 4525c3a87e3SFeng Kan offset = <0x14>; 4535c3a87e3SFeng Kan mask = <0x1>; 4545c3a87e3SFeng Kan }; 4555c3a87e3SFeng Kan 4568f2ae6f3SLoc Ho csw: csw@7e200000 { 4578f2ae6f3SLoc Ho compatible = "apm,xgene-csw", "syscon"; 4588f2ae6f3SLoc Ho reg = <0x0 0x7e200000 0x0 0x1000>; 4598f2ae6f3SLoc Ho }; 4608f2ae6f3SLoc Ho 4618f2ae6f3SLoc Ho mcba: mcba@7e700000 { 4628f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 4638f2ae6f3SLoc Ho reg = <0x0 0x7e700000 0x0 0x1000>; 4648f2ae6f3SLoc Ho }; 4658f2ae6f3SLoc Ho 4668f2ae6f3SLoc Ho mcbb: mcbb@7e720000 { 4678f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 4688f2ae6f3SLoc Ho reg = <0x0 0x7e720000 0x0 0x1000>; 4698f2ae6f3SLoc Ho }; 4708f2ae6f3SLoc Ho 4718f2ae6f3SLoc Ho efuse: efuse@1054a000 { 4728f2ae6f3SLoc Ho compatible = "apm,xgene-efuse", "syscon"; 4738f2ae6f3SLoc Ho reg = <0x0 0x1054a000 0x0 0x20>; 4748f2ae6f3SLoc Ho }; 4758f2ae6f3SLoc Ho 4768f2ae6f3SLoc Ho edac@78800000 { 4778f2ae6f3SLoc Ho compatible = "apm,xgene-edac"; 4788f2ae6f3SLoc Ho #address-cells = <2>; 4798f2ae6f3SLoc Ho #size-cells = <2>; 4808f2ae6f3SLoc Ho ranges; 4818f2ae6f3SLoc Ho regmap-csw = <&csw>; 4828f2ae6f3SLoc Ho regmap-mcba = <&mcba>; 4838f2ae6f3SLoc Ho regmap-mcbb = <&mcbb>; 4848f2ae6f3SLoc Ho regmap-efuse = <&efuse>; 4858f2ae6f3SLoc Ho reg = <0x0 0x78800000 0x0 0x100>; 4868f2ae6f3SLoc Ho interrupts = <0x0 0x20 0x4>, 4878f2ae6f3SLoc Ho <0x0 0x21 0x4>, 4888f2ae6f3SLoc Ho <0x0 0x27 0x4>; 4898f2ae6f3SLoc Ho 4908f2ae6f3SLoc Ho edacmc@7e800000 { 4918f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4928f2ae6f3SLoc Ho reg = <0x0 0x7e800000 0x0 0x1000>; 4938f2ae6f3SLoc Ho memory-controller = <0>; 4948f2ae6f3SLoc Ho }; 4958f2ae6f3SLoc Ho 4968f2ae6f3SLoc Ho edacmc@7e840000 { 4978f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4988f2ae6f3SLoc Ho reg = <0x0 0x7e840000 0x0 0x1000>; 4998f2ae6f3SLoc Ho memory-controller = <1>; 5008f2ae6f3SLoc Ho }; 5018f2ae6f3SLoc Ho 5028f2ae6f3SLoc Ho edacmc@7e880000 { 5038f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5048f2ae6f3SLoc Ho reg = <0x0 0x7e880000 0x0 0x1000>; 5058f2ae6f3SLoc Ho memory-controller = <2>; 5068f2ae6f3SLoc Ho }; 5078f2ae6f3SLoc Ho 5088f2ae6f3SLoc Ho edacmc@7e8c0000 { 5098f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5108f2ae6f3SLoc Ho reg = <0x0 0x7e8c0000 0x0 0x1000>; 5118f2ae6f3SLoc Ho memory-controller = <3>; 5128f2ae6f3SLoc Ho }; 5138f2ae6f3SLoc Ho 5148f2ae6f3SLoc Ho edacpmd@7c000000 { 5158f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5168f2ae6f3SLoc Ho reg = <0x0 0x7c000000 0x0 0x200000>; 5178f2ae6f3SLoc Ho pmd-controller = <0>; 5188f2ae6f3SLoc Ho }; 5198f2ae6f3SLoc Ho 5208f2ae6f3SLoc Ho edacpmd@7c200000 { 5218f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5228f2ae6f3SLoc Ho reg = <0x0 0x7c200000 0x0 0x200000>; 5238f2ae6f3SLoc Ho pmd-controller = <1>; 5248f2ae6f3SLoc Ho }; 5258f2ae6f3SLoc Ho 5268f2ae6f3SLoc Ho edacpmd@7c400000 { 5278f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5288f2ae6f3SLoc Ho reg = <0x0 0x7c400000 0x0 0x200000>; 5298f2ae6f3SLoc Ho pmd-controller = <2>; 5308f2ae6f3SLoc Ho }; 5318f2ae6f3SLoc Ho 5328f2ae6f3SLoc Ho edacpmd@7c600000 { 5338f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5348f2ae6f3SLoc Ho reg = <0x0 0x7c600000 0x0 0x200000>; 5358f2ae6f3SLoc Ho pmd-controller = <3>; 5368f2ae6f3SLoc Ho }; 537043cba96SLoc Ho 538043cba96SLoc Ho edacl3@7e600000 { 539043cba96SLoc Ho compatible = "apm,xgene-edac-l3"; 540043cba96SLoc Ho reg = <0x0 0x7e600000 0x0 0x1000>; 541043cba96SLoc Ho }; 542043cba96SLoc Ho 543043cba96SLoc Ho edacsoc@7e930000 { 544043cba96SLoc Ho compatible = "apm,xgene-edac-soc-v1"; 545043cba96SLoc Ho reg = <0x0 0x7e930000 0x0 0x1000>; 546043cba96SLoc Ho }; 5478f2ae6f3SLoc Ho }; 5488f2ae6f3SLoc Ho 549ca5b3410SRobert Richter pcie0: pcie@1f2b0000 { 550ca5b3410SRobert Richter status = "disabled"; 551ca5b3410SRobert Richter device_type = "pci"; 552ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 553ca5b3410SRobert Richter #interrupt-cells = <1>; 554ca5b3410SRobert Richter #size-cells = <2>; 555ca5b3410SRobert Richter #address-cells = <3>; 556ca5b3410SRobert Richter reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ 557ca5b3410SRobert Richter 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 558ca5b3410SRobert Richter reg-names = "csr", "cfg"; 559ca5b3410SRobert Richter ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ 56080bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000 /* mem */ 56180bb3edaSDuc Dang 0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */ 562ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 563ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 564ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 565ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 566ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 567ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 568ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; 569ca5b3410SRobert Richter dma-coherent; 570ca5b3410SRobert Richter clocks = <&pcie0clk 0>; 571e1e6e5c4SDuc Dang msi-parent = <&msi>; 572ca5b3410SRobert Richter }; 573ca5b3410SRobert Richter 574ca5b3410SRobert Richter pcie1: pcie@1f2c0000 { 575ca5b3410SRobert Richter status = "disabled"; 576ca5b3410SRobert Richter device_type = "pci"; 577ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 578ca5b3410SRobert Richter #interrupt-cells = <1>; 579ca5b3410SRobert Richter #size-cells = <2>; 580ca5b3410SRobert Richter #address-cells = <3>; 581ca5b3410SRobert Richter reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ 582ca5b3410SRobert Richter 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 583ca5b3410SRobert Richter reg-names = "csr", "cfg"; 58480bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */ 58580bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000 /* mem */ 58680bb3edaSDuc Dang 0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */ 587ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 588ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 589ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 590ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1 591ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1 592ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1 593ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>; 594ca5b3410SRobert Richter dma-coherent; 595ca5b3410SRobert Richter clocks = <&pcie1clk 0>; 596e1e6e5c4SDuc Dang msi-parent = <&msi>; 597ca5b3410SRobert Richter }; 598ca5b3410SRobert Richter 599ca5b3410SRobert Richter pcie2: pcie@1f2d0000 { 600ca5b3410SRobert Richter status = "disabled"; 601ca5b3410SRobert Richter device_type = "pci"; 602ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 603ca5b3410SRobert Richter #interrupt-cells = <1>; 604ca5b3410SRobert Richter #size-cells = <2>; 605ca5b3410SRobert Richter #address-cells = <3>; 606ca5b3410SRobert Richter reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */ 607ca5b3410SRobert Richter 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */ 608ca5b3410SRobert Richter reg-names = "csr", "cfg"; 60980bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000 /* io */ 61080bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000 /* mem */ 61180bb3edaSDuc Dang 0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */ 612ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 613ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 614ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 615ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1 616ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1 617ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1 618ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>; 619ca5b3410SRobert Richter dma-coherent; 620ca5b3410SRobert Richter clocks = <&pcie2clk 0>; 621e1e6e5c4SDuc Dang msi-parent = <&msi>; 622ca5b3410SRobert Richter }; 623ca5b3410SRobert Richter 624ca5b3410SRobert Richter pcie3: pcie@1f500000 { 625ca5b3410SRobert Richter status = "disabled"; 626ca5b3410SRobert Richter device_type = "pci"; 627ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 628ca5b3410SRobert Richter #interrupt-cells = <1>; 629ca5b3410SRobert Richter #size-cells = <2>; 630ca5b3410SRobert Richter #address-cells = <3>; 631ca5b3410SRobert Richter reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */ 632ca5b3410SRobert Richter 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 633ca5b3410SRobert Richter reg-names = "csr", "cfg"; 63480bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000 /* io */ 63580bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000 /* mem */ 63680bb3edaSDuc Dang 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */ 637ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 638ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 639ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 640ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1 641ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1 642ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1 643ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>; 644ca5b3410SRobert Richter dma-coherent; 645ca5b3410SRobert Richter clocks = <&pcie3clk 0>; 646e1e6e5c4SDuc Dang msi-parent = <&msi>; 647ca5b3410SRobert Richter }; 648ca5b3410SRobert Richter 649ca5b3410SRobert Richter pcie4: pcie@1f510000 { 650ca5b3410SRobert Richter status = "disabled"; 651ca5b3410SRobert Richter device_type = "pci"; 652ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 653ca5b3410SRobert Richter #interrupt-cells = <1>; 654ca5b3410SRobert Richter #size-cells = <2>; 655ca5b3410SRobert Richter #address-cells = <3>; 656ca5b3410SRobert Richter reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */ 657ca5b3410SRobert Richter 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */ 658ca5b3410SRobert Richter reg-names = "csr", "cfg"; 65980bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000 /* io */ 66080bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000 /* mem */ 66180bb3edaSDuc Dang 0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */ 662ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 663ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 664ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 665ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1 666ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1 667ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1 668ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>; 669ca5b3410SRobert Richter dma-coherent; 670ca5b3410SRobert Richter clocks = <&pcie4clk 0>; 671e1e6e5c4SDuc Dang msi-parent = <&msi>; 672ca5b3410SRobert Richter }; 673ca5b3410SRobert Richter 674ca5b3410SRobert Richter serial0: serial@1c020000 { 675ca5b3410SRobert Richter status = "disabled"; 676ca5b3410SRobert Richter device_type = "serial"; 677ca5b3410SRobert Richter compatible = "ns16550a"; 678ca5b3410SRobert Richter reg = <0 0x1c020000 0x0 0x1000>; 679ca5b3410SRobert Richter reg-shift = <2>; 680ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 681ca5b3410SRobert Richter interrupt-parent = <&gic>; 682ca5b3410SRobert Richter interrupts = <0x0 0x4c 0x4>; 683ca5b3410SRobert Richter }; 684ca5b3410SRobert Richter 685ca5b3410SRobert Richter serial1: serial@1c021000 { 686ca5b3410SRobert Richter status = "disabled"; 687ca5b3410SRobert Richter device_type = "serial"; 688ca5b3410SRobert Richter compatible = "ns16550a"; 689ca5b3410SRobert Richter reg = <0 0x1c021000 0x0 0x1000>; 690ca5b3410SRobert Richter reg-shift = <2>; 691ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 692ca5b3410SRobert Richter interrupt-parent = <&gic>; 693ca5b3410SRobert Richter interrupts = <0x0 0x4d 0x4>; 694ca5b3410SRobert Richter }; 695ca5b3410SRobert Richter 696ca5b3410SRobert Richter serial2: serial@1c022000 { 697ca5b3410SRobert Richter status = "disabled"; 698ca5b3410SRobert Richter device_type = "serial"; 699ca5b3410SRobert Richter compatible = "ns16550a"; 700ca5b3410SRobert Richter reg = <0 0x1c022000 0x0 0x1000>; 701ca5b3410SRobert Richter reg-shift = <2>; 702ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 703ca5b3410SRobert Richter interrupt-parent = <&gic>; 704ca5b3410SRobert Richter interrupts = <0x0 0x4e 0x4>; 705ca5b3410SRobert Richter }; 706ca5b3410SRobert Richter 707ca5b3410SRobert Richter serial3: serial@1c023000 { 708ca5b3410SRobert Richter status = "disabled"; 709ca5b3410SRobert Richter device_type = "serial"; 710ca5b3410SRobert Richter compatible = "ns16550a"; 711ca5b3410SRobert Richter reg = <0 0x1c023000 0x0 0x1000>; 712ca5b3410SRobert Richter reg-shift = <2>; 713ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 714ca5b3410SRobert Richter interrupt-parent = <&gic>; 715ca5b3410SRobert Richter interrupts = <0x0 0x4f 0x4>; 716ca5b3410SRobert Richter }; 717ca5b3410SRobert Richter 7188f74e861SSuman Tripathi mmc0: mmc@1c000000 { 7198f74e861SSuman Tripathi compatible = "arasan,sdhci-4.9a"; 7208f74e861SSuman Tripathi reg = <0x0 0x1c000000 0x0 0x100>; 7218f74e861SSuman Tripathi interrupts = <0x0 0x49 0x4>; 7228f74e861SSuman Tripathi dma-coherent; 7238f74e861SSuman Tripathi no-1-8-v; 7248f74e861SSuman Tripathi clock-names = "clk_xin", "clk_ahb"; 7258f74e861SSuman Tripathi clocks = <&sdioclk 0>, <&ahbclk 0>; 7268f74e861SSuman Tripathi }; 7278f74e861SSuman Tripathi 728ca5b3410SRobert Richter phy1: phy@1f21a000 { 729ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 730ca5b3410SRobert Richter reg = <0x0 0x1f21a000 0x0 0x100>; 731ca5b3410SRobert Richter #phy-cells = <1>; 732ca5b3410SRobert Richter clocks = <&sataphy1clk 0>; 733ca5b3410SRobert Richter status = "disabled"; 734ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 735ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 736ca5b3410SRobert Richter }; 737ca5b3410SRobert Richter 738ca5b3410SRobert Richter phy2: phy@1f22a000 { 739ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 740ca5b3410SRobert Richter reg = <0x0 0x1f22a000 0x0 0x100>; 741ca5b3410SRobert Richter #phy-cells = <1>; 742ca5b3410SRobert Richter clocks = <&sataphy2clk 0>; 743ca5b3410SRobert Richter status = "ok"; 744ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 745ca5b3410SRobert Richter apm,tx-eye-tuning = <1 10 10 2 10 10>; 746ca5b3410SRobert Richter }; 747ca5b3410SRobert Richter 748ca5b3410SRobert Richter phy3: phy@1f23a000 { 749ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 750ca5b3410SRobert Richter reg = <0x0 0x1f23a000 0x0 0x100>; 751ca5b3410SRobert Richter #phy-cells = <1>; 752ca5b3410SRobert Richter clocks = <&sataphy3clk 0>; 753ca5b3410SRobert Richter status = "ok"; 754ca5b3410SRobert Richter apm,tx-boost-gain = <31 31 31 31 31 31>; 755ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 756ca5b3410SRobert Richter }; 757ca5b3410SRobert Richter 758ca5b3410SRobert Richter sata1: sata@1a000000 { 759ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 760ca5b3410SRobert Richter reg = <0x0 0x1a000000 0x0 0x1000>, 761ca5b3410SRobert Richter <0x0 0x1f210000 0x0 0x1000>, 762ca5b3410SRobert Richter <0x0 0x1f21d000 0x0 0x1000>, 763ca5b3410SRobert Richter <0x0 0x1f21e000 0x0 0x1000>, 764ca5b3410SRobert Richter <0x0 0x1f217000 0x0 0x1000>; 765ca5b3410SRobert Richter interrupts = <0x0 0x86 0x4>; 766ca5b3410SRobert Richter dma-coherent; 767ca5b3410SRobert Richter status = "disabled"; 768ca5b3410SRobert Richter clocks = <&sata01clk 0>; 769ca5b3410SRobert Richter phys = <&phy1 0>; 770ca5b3410SRobert Richter phy-names = "sata-phy"; 771ca5b3410SRobert Richter }; 772ca5b3410SRobert Richter 773ca5b3410SRobert Richter sata2: sata@1a400000 { 774ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 775ca5b3410SRobert Richter reg = <0x0 0x1a400000 0x0 0x1000>, 776ca5b3410SRobert Richter <0x0 0x1f220000 0x0 0x1000>, 777ca5b3410SRobert Richter <0x0 0x1f22d000 0x0 0x1000>, 778ca5b3410SRobert Richter <0x0 0x1f22e000 0x0 0x1000>, 779ca5b3410SRobert Richter <0x0 0x1f227000 0x0 0x1000>; 780ca5b3410SRobert Richter interrupts = <0x0 0x87 0x4>; 781ca5b3410SRobert Richter dma-coherent; 782ca5b3410SRobert Richter status = "ok"; 783ca5b3410SRobert Richter clocks = <&sata23clk 0>; 784ca5b3410SRobert Richter phys = <&phy2 0>; 785ca5b3410SRobert Richter phy-names = "sata-phy"; 786ca5b3410SRobert Richter }; 787ca5b3410SRobert Richter 788ca5b3410SRobert Richter sata3: sata@1a800000 { 789ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 790ca5b3410SRobert Richter reg = <0x0 0x1a800000 0x0 0x1000>, 791ca5b3410SRobert Richter <0x0 0x1f230000 0x0 0x1000>, 792ca5b3410SRobert Richter <0x0 0x1f23d000 0x0 0x1000>, 793ca5b3410SRobert Richter <0x0 0x1f23e000 0x0 0x1000>; 794ca5b3410SRobert Richter interrupts = <0x0 0x88 0x4>; 795ca5b3410SRobert Richter dma-coherent; 796ca5b3410SRobert Richter status = "ok"; 797ca5b3410SRobert Richter clocks = <&sata45clk 0>; 798ca5b3410SRobert Richter phys = <&phy3 0>; 799ca5b3410SRobert Richter phy-names = "sata-phy"; 800ca5b3410SRobert Richter }; 801ca5b3410SRobert Richter 802*bd410233SDuc Dang /* Do not change dwusb name, coded for backward compatibility */ 803*bd410233SDuc Dang usb0: dwusb@19000000 { 804*bd410233SDuc Dang status = "disabled"; 805*bd410233SDuc Dang compatible = "snps,dwc3"; 806*bd410233SDuc Dang reg = <0x0 0x19000000 0x0 0x100000>; 807*bd410233SDuc Dang interrupts = <0x0 0x89 0x4>; 808*bd410233SDuc Dang dma-coherent; 809*bd410233SDuc Dang dr_mode = "host"; 810*bd410233SDuc Dang }; 811*bd410233SDuc Dang 812*bd410233SDuc Dang usb1: dwusb@19800000 { 813*bd410233SDuc Dang status = "disabled"; 814*bd410233SDuc Dang compatible = "snps,dwc3"; 815*bd410233SDuc Dang reg = <0x0 0x19800000 0x0 0x100000>; 816*bd410233SDuc Dang interrupts = <0x0 0x8a 0x4>; 817*bd410233SDuc Dang dma-coherent; 818*bd410233SDuc Dang dr_mode = "host"; 819*bd410233SDuc Dang }; 820*bd410233SDuc Dang 821ea21feb3SY Vo sbgpio: sbgpio@17001000{ 822ea21feb3SY Vo compatible = "apm,xgene-gpio-sb"; 823ea21feb3SY Vo reg = <0x0 0x17001000 0x0 0x400>; 824ea21feb3SY Vo #gpio-cells = <2>; 825ea21feb3SY Vo gpio-controller; 826ea21feb3SY Vo interrupts = <0x0 0x28 0x1>, 827ea21feb3SY Vo <0x0 0x29 0x1>, 828ea21feb3SY Vo <0x0 0x2a 0x1>, 829ea21feb3SY Vo <0x0 0x2b 0x1>, 830ea21feb3SY Vo <0x0 0x2c 0x1>, 831ea21feb3SY Vo <0x0 0x2d 0x1>; 832ea21feb3SY Vo }; 833ea21feb3SY Vo 834ca5b3410SRobert Richter rtc: rtc@10510000 { 835ca5b3410SRobert Richter compatible = "apm,xgene-rtc"; 836ca5b3410SRobert Richter reg = <0x0 0x10510000 0x0 0x400>; 837ca5b3410SRobert Richter interrupts = <0x0 0x46 0x4>; 838ca5b3410SRobert Richter #clock-cells = <1>; 839ca5b3410SRobert Richter clocks = <&rtcclk 0>; 840ca5b3410SRobert Richter }; 841ca5b3410SRobert Richter 842ca5b3410SRobert Richter menet: ethernet@17020000 { 843ca5b3410SRobert Richter compatible = "apm,xgene-enet"; 844ca5b3410SRobert Richter status = "disabled"; 845ca5b3410SRobert Richter reg = <0x0 0x17020000 0x0 0xd100>, 8466c9e9247SLinus Torvalds <0x0 0X17030000 0x0 0Xc300>, 847ca5b3410SRobert Richter <0x0 0X10000000 0x0 0X200>; 848ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 849ca5b3410SRobert Richter interrupts = <0x0 0x3c 0x4>; 850ca5b3410SRobert Richter dma-coherent; 851ca5b3410SRobert Richter clocks = <&menetclk 0>; 852ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 853ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 854ca5b3410SRobert Richter phy-connection-type = "rgmii"; 855ca5b3410SRobert Richter phy-handle = <&menetphy>; 856ca5b3410SRobert Richter mdio { 857ca5b3410SRobert Richter compatible = "apm,xgene-mdio"; 858ca5b3410SRobert Richter #address-cells = <1>; 859ca5b3410SRobert Richter #size-cells = <0>; 860ca5b3410SRobert Richter menetphy: menetphy@3 { 861ca5b3410SRobert Richter compatible = "ethernet-phy-id001c.c915"; 862ca5b3410SRobert Richter reg = <0x3>; 863ca5b3410SRobert Richter }; 864ca5b3410SRobert Richter 865ca5b3410SRobert Richter }; 866ca5b3410SRobert Richter }; 867ca5b3410SRobert Richter 868ca5b3410SRobert Richter sgenet0: ethernet@1f210000 { 8692a91eb72SIyappan Subramanian compatible = "apm,xgene1-sgenet"; 870ca5b3410SRobert Richter status = "disabled"; 8716c9e9247SLinus Torvalds reg = <0x0 0x1f210000 0x0 0xd100>, 8726c9e9247SLinus Torvalds <0x0 0x1f200000 0x0 0Xc300>, 8736c9e9247SLinus Torvalds <0x0 0x1B000000 0x0 0X200>; 874ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 875d3134649SIyappan Subramanian interrupts = <0x0 0xA0 0x4>, 876d3134649SIyappan Subramanian <0x0 0xA1 0x4>; 877ca5b3410SRobert Richter dma-coherent; 878ca5b3410SRobert Richter clocks = <&sge0clk 0>; 879ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 880ca5b3410SRobert Richter phy-connection-type = "sgmii"; 881ca5b3410SRobert Richter }; 882ca5b3410SRobert Richter 8832d33394eSKeyur Chudgar sgenet1: ethernet@1f210030 { 8842d33394eSKeyur Chudgar compatible = "apm,xgene1-sgenet"; 8852d33394eSKeyur Chudgar status = "disabled"; 8862d33394eSKeyur Chudgar reg = <0x0 0x1f210030 0x0 0xd100>, 8872d33394eSKeyur Chudgar <0x0 0x1f200000 0x0 0Xc300>, 8882d33394eSKeyur Chudgar <0x0 0x1B000000 0x0 0X8000>; 8892d33394eSKeyur Chudgar reg-names = "enet_csr", "ring_csr", "ring_cmd"; 890d3134649SIyappan Subramanian interrupts = <0x0 0xAC 0x4>, 891d3134649SIyappan Subramanian <0x0 0xAD 0x4>; 8922d33394eSKeyur Chudgar port-id = <1>; 8932d33394eSKeyur Chudgar dma-coherent; 8942d33394eSKeyur Chudgar clocks = <&sge1clk 0>; 8952d33394eSKeyur Chudgar local-mac-address = [00 00 00 00 00 00]; 8962d33394eSKeyur Chudgar phy-connection-type = "sgmii"; 8972d33394eSKeyur Chudgar }; 8982d33394eSKeyur Chudgar 899ca5b3410SRobert Richter xgenet: ethernet@1f610000 { 9002a91eb72SIyappan Subramanian compatible = "apm,xgene1-xgenet"; 901ca5b3410SRobert Richter status = "disabled"; 902ca5b3410SRobert Richter reg = <0x0 0x1f610000 0x0 0xd100>, 9036c9e9247SLinus Torvalds <0x0 0x1f600000 0x0 0Xc300>, 904ca5b3410SRobert Richter <0x0 0x18000000 0x0 0X200>; 905ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 906d3134649SIyappan Subramanian interrupts = <0x0 0x60 0x4>, 907d3134649SIyappan Subramanian <0x0 0x61 0x4>; 908ca5b3410SRobert Richter dma-coherent; 909ca5b3410SRobert Richter clocks = <&xge0clk 0>; 910ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 911ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 912ca5b3410SRobert Richter phy-connection-type = "xgmii"; 913ca5b3410SRobert Richter }; 914ca5b3410SRobert Richter 915e63c7a09SIyappan Subramanian xgenet1: ethernet@1f620000 { 916e63c7a09SIyappan Subramanian compatible = "apm,xgene1-xgenet"; 917e63c7a09SIyappan Subramanian status = "disabled"; 918e63c7a09SIyappan Subramanian reg = <0x0 0x1f620000 0x0 0xd100>, 919e63c7a09SIyappan Subramanian <0x0 0x1f600000 0x0 0Xc300>, 920e63c7a09SIyappan Subramanian <0x0 0x18000000 0x0 0X8000>; 921e63c7a09SIyappan Subramanian reg-names = "enet_csr", "ring_csr", "ring_cmd"; 922e63c7a09SIyappan Subramanian interrupts = <0x0 0x6C 0x4>, 923e63c7a09SIyappan Subramanian <0x0 0x6D 0x4>; 924e63c7a09SIyappan Subramanian port-id = <1>; 925e63c7a09SIyappan Subramanian dma-coherent; 926e63c7a09SIyappan Subramanian clocks = <&xge1clk 0>; 927e63c7a09SIyappan Subramanian /* mac address will be overwritten by the bootloader */ 928e63c7a09SIyappan Subramanian local-mac-address = [00 00 00 00 00 00]; 929e63c7a09SIyappan Subramanian phy-connection-type = "xgmii"; 930e63c7a09SIyappan Subramanian }; 931e63c7a09SIyappan Subramanian 932ca5b3410SRobert Richter rng: rng@10520000 { 933ca5b3410SRobert Richter compatible = "apm,xgene-rng"; 934ca5b3410SRobert Richter reg = <0x0 0x10520000 0x0 0x100>; 935ca5b3410SRobert Richter interrupts = <0x0 0x41 0x4>; 936ca5b3410SRobert Richter clocks = <&rngpkaclk 0>; 937ca5b3410SRobert Richter }; 93874e353e1SRameshwar Prasad Sahu 93974e353e1SRameshwar Prasad Sahu dma: dma@1f270000 { 94074e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-storm-dma"; 94174e353e1SRameshwar Prasad Sahu device_type = "dma"; 94274e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f270000 0x0 0x10000>, 94374e353e1SRameshwar Prasad Sahu <0x0 0x1f200000 0x0 0x10000>, 944cda8e937SRameshwar Prasad Sahu <0x0 0x1b000000 0x0 0x400000>, 94574e353e1SRameshwar Prasad Sahu <0x0 0x1054a000 0x0 0x100>; 94674e353e1SRameshwar Prasad Sahu interrupts = <0x0 0x82 0x4>, 94774e353e1SRameshwar Prasad Sahu <0x0 0xb8 0x4>, 94874e353e1SRameshwar Prasad Sahu <0x0 0xb9 0x4>, 94974e353e1SRameshwar Prasad Sahu <0x0 0xba 0x4>, 95074e353e1SRameshwar Prasad Sahu <0x0 0xbb 0x4>; 95174e353e1SRameshwar Prasad Sahu dma-coherent; 95274e353e1SRameshwar Prasad Sahu clocks = <&dmaclk 0>; 95374e353e1SRameshwar Prasad Sahu }; 954ca5b3410SRobert Richter }; 955ca5b3410SRobert Richter}; 956