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>; 28*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_0>; 29ca5b3410SRobert Richter }; 30ca5b3410SRobert Richter cpu@001 { 31ca5b3410SRobert Richter device_type = "cpu"; 32ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 33ca5b3410SRobert Richter reg = <0x0 0x001>; 34ca5b3410SRobert Richter enable-method = "spin-table"; 35ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 36*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_0>; 37ca5b3410SRobert Richter }; 38ca5b3410SRobert Richter cpu@100 { 39ca5b3410SRobert Richter device_type = "cpu"; 40ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 41ca5b3410SRobert Richter reg = <0x0 0x100>; 42ca5b3410SRobert Richter enable-method = "spin-table"; 43ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 44*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_1>; 45ca5b3410SRobert Richter }; 46ca5b3410SRobert Richter cpu@101 { 47ca5b3410SRobert Richter device_type = "cpu"; 48ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 49ca5b3410SRobert Richter reg = <0x0 0x101>; 50ca5b3410SRobert Richter enable-method = "spin-table"; 51ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 52*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_1>; 53ca5b3410SRobert Richter }; 54ca5b3410SRobert Richter cpu@200 { 55ca5b3410SRobert Richter device_type = "cpu"; 56ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 57ca5b3410SRobert Richter reg = <0x0 0x200>; 58ca5b3410SRobert Richter enable-method = "spin-table"; 59ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 60*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_2>; 61ca5b3410SRobert Richter }; 62ca5b3410SRobert Richter cpu@201 { 63ca5b3410SRobert Richter device_type = "cpu"; 64ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 65ca5b3410SRobert Richter reg = <0x0 0x201>; 66ca5b3410SRobert Richter enable-method = "spin-table"; 67ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 68*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_2>; 69ca5b3410SRobert Richter }; 70ca5b3410SRobert Richter cpu@300 { 71ca5b3410SRobert Richter device_type = "cpu"; 72ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 73ca5b3410SRobert Richter reg = <0x0 0x300>; 74ca5b3410SRobert Richter enable-method = "spin-table"; 75ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 76*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_3>; 77ca5b3410SRobert Richter }; 78ca5b3410SRobert Richter cpu@301 { 79ca5b3410SRobert Richter device_type = "cpu"; 80ca5b3410SRobert Richter compatible = "apm,potenza", "arm,armv8"; 81ca5b3410SRobert Richter reg = <0x0 0x301>; 82ca5b3410SRobert Richter enable-method = "spin-table"; 83ca5b3410SRobert Richter cpu-release-addr = <0x1 0x0000fff8>; 84*8000bc3fSDuc Dang next-level-cache = <&xgene_L2_3>; 85*8000bc3fSDuc Dang }; 86*8000bc3fSDuc Dang xgene_L2_0: l2-cache-0 { 87*8000bc3fSDuc Dang compatible = "cache"; 88*8000bc3fSDuc Dang }; 89*8000bc3fSDuc Dang xgene_L2_1: l2-cache-1 { 90*8000bc3fSDuc Dang compatible = "cache"; 91*8000bc3fSDuc Dang }; 92*8000bc3fSDuc Dang xgene_L2_2: l2-cache-2 { 93*8000bc3fSDuc Dang compatible = "cache"; 94*8000bc3fSDuc Dang }; 95*8000bc3fSDuc Dang xgene_L2_3: l2-cache-3 { 96*8000bc3fSDuc Dang compatible = "cache"; 97ca5b3410SRobert Richter }; 98ca5b3410SRobert Richter }; 99ca5b3410SRobert Richter 100ca5b3410SRobert Richter gic: interrupt-controller@78010000 { 101ca5b3410SRobert Richter compatible = "arm,cortex-a15-gic"; 102ca5b3410SRobert Richter #interrupt-cells = <3>; 103ca5b3410SRobert Richter interrupt-controller; 104ca5b3410SRobert Richter reg = <0x0 0x78010000 0x0 0x1000>, /* GIC Dist */ 105ca5b3410SRobert Richter <0x0 0x78020000 0x0 0x1000>, /* GIC CPU */ 106ca5b3410SRobert Richter <0x0 0x78040000 0x0 0x2000>, /* GIC VCPU Control */ 107ca5b3410SRobert Richter <0x0 0x78060000 0x0 0x2000>; /* GIC VCPU */ 108ca5b3410SRobert Richter interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */ 109ca5b3410SRobert Richter }; 110ca5b3410SRobert Richter 111ca5b3410SRobert Richter timer { 112ca5b3410SRobert Richter compatible = "arm,armv8-timer"; 113ca5b3410SRobert Richter interrupts = <1 0 0xff01>, /* Secure Phys IRQ */ 114ca5b3410SRobert Richter <1 13 0xff01>, /* Non-secure Phys IRQ */ 115ca5b3410SRobert Richter <1 14 0xff01>, /* Virt IRQ */ 116ca5b3410SRobert Richter <1 15 0xff01>; /* Hyp IRQ */ 117ca5b3410SRobert Richter clock-frequency = <50000000>; 118ca5b3410SRobert Richter }; 119ca5b3410SRobert Richter 1207434f42bSFeng Kan pmu { 1217434f42bSFeng Kan compatible = "apm,potenza-pmu", "arm,armv8-pmuv3"; 1227434f42bSFeng Kan interrupts = <1 12 0xff04>; 1237434f42bSFeng Kan }; 1247434f42bSFeng Kan 125ca5b3410SRobert Richter soc { 126ca5b3410SRobert Richter compatible = "simple-bus"; 127ca5b3410SRobert Richter #address-cells = <2>; 128ca5b3410SRobert Richter #size-cells = <2>; 129ca5b3410SRobert Richter ranges; 13074e353e1SRameshwar Prasad Sahu dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>; 131ca5b3410SRobert Richter 132ca5b3410SRobert Richter clocks { 133ca5b3410SRobert Richter #address-cells = <2>; 134ca5b3410SRobert Richter #size-cells = <2>; 135ca5b3410SRobert Richter ranges; 136ca5b3410SRobert Richter refclk: refclk { 137ca5b3410SRobert Richter compatible = "fixed-clock"; 138ca5b3410SRobert Richter #clock-cells = <1>; 139ca5b3410SRobert Richter clock-frequency = <100000000>; 140ca5b3410SRobert Richter clock-output-names = "refclk"; 141ca5b3410SRobert Richter }; 142ca5b3410SRobert Richter 143ca5b3410SRobert Richter pcppll: pcppll@17000100 { 144ca5b3410SRobert Richter compatible = "apm,xgene-pcppll-clock"; 145ca5b3410SRobert Richter #clock-cells = <1>; 146ca5b3410SRobert Richter clocks = <&refclk 0>; 147ca5b3410SRobert Richter clock-names = "pcppll"; 148ca5b3410SRobert Richter reg = <0x0 0x17000100 0x0 0x1000>; 149ca5b3410SRobert Richter clock-output-names = "pcppll"; 150ca5b3410SRobert Richter type = <0>; 151ca5b3410SRobert Richter }; 152ca5b3410SRobert Richter 153ca5b3410SRobert Richter socpll: socpll@17000120 { 154ca5b3410SRobert Richter compatible = "apm,xgene-socpll-clock"; 155ca5b3410SRobert Richter #clock-cells = <1>; 156ca5b3410SRobert Richter clocks = <&refclk 0>; 157ca5b3410SRobert Richter clock-names = "socpll"; 158ca5b3410SRobert Richter reg = <0x0 0x17000120 0x0 0x1000>; 159ca5b3410SRobert Richter clock-output-names = "socpll"; 160ca5b3410SRobert Richter type = <1>; 161ca5b3410SRobert Richter }; 162ca5b3410SRobert Richter 163ca5b3410SRobert Richter socplldiv2: socplldiv2 { 164ca5b3410SRobert Richter compatible = "fixed-factor-clock"; 165ca5b3410SRobert Richter #clock-cells = <1>; 166ca5b3410SRobert Richter clocks = <&socpll 0>; 167ca5b3410SRobert Richter clock-names = "socplldiv2"; 168ca5b3410SRobert Richter clock-mult = <1>; 169ca5b3410SRobert Richter clock-div = <2>; 170ca5b3410SRobert Richter clock-output-names = "socplldiv2"; 171ca5b3410SRobert Richter }; 172ca5b3410SRobert Richter 173b0e7a85aSDuc Dang ahbclk: ahbclk@17000000 { 1748f74e861SSuman Tripathi compatible = "apm,xgene-device-clock"; 1758f74e861SSuman Tripathi #clock-cells = <1>; 1768f74e861SSuman Tripathi clocks = <&socplldiv2 0>; 177b0e7a85aSDuc Dang reg = <0x0 0x17000000 0x0 0x2000>; 178b0e7a85aSDuc Dang reg-names = "div-reg"; 1798f74e861SSuman Tripathi divider-offset = <0x164>; 1808f74e861SSuman Tripathi divider-width = <0x5>; 1818f74e861SSuman Tripathi divider-shift = <0x0>; 1828f74e861SSuman Tripathi clock-output-names = "ahbclk"; 1838f74e861SSuman Tripathi }; 1848f74e861SSuman Tripathi 1858f74e861SSuman Tripathi sdioclk: sdioclk@1f2ac000 { 1868f74e861SSuman Tripathi compatible = "apm,xgene-device-clock"; 1878f74e861SSuman Tripathi #clock-cells = <1>; 1888f74e861SSuman Tripathi clocks = <&socplldiv2 0>; 1898f74e861SSuman Tripathi reg = <0x0 0x1f2ac000 0x0 0x1000 1908f74e861SSuman Tripathi 0x0 0x17000000 0x0 0x2000>; 1918f74e861SSuman Tripathi reg-names = "csr-reg", "div-reg"; 1928f74e861SSuman Tripathi csr-offset = <0x0>; 1938f74e861SSuman Tripathi csr-mask = <0x2>; 1948f74e861SSuman Tripathi enable-offset = <0x8>; 1958f74e861SSuman Tripathi enable-mask = <0x2>; 1968f74e861SSuman Tripathi divider-offset = <0x178>; 1978f74e861SSuman Tripathi divider-width = <0x8>; 1988f74e861SSuman Tripathi divider-shift = <0x0>; 1998f74e861SSuman Tripathi clock-output-names = "sdioclk"; 2008f74e861SSuman Tripathi }; 2018f74e861SSuman Tripathi 202ca5b3410SRobert Richter qmlclk: qmlclk { 203ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 204ca5b3410SRobert Richter #clock-cells = <1>; 205ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 206ca5b3410SRobert Richter clock-names = "qmlclk"; 207ca5b3410SRobert Richter reg = <0x0 0x1703C000 0x0 0x1000>; 208ca5b3410SRobert Richter reg-names = "csr-reg"; 209ca5b3410SRobert Richter clock-output-names = "qmlclk"; 210ca5b3410SRobert Richter }; 211ca5b3410SRobert Richter 212ca5b3410SRobert Richter ethclk: ethclk { 213ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 214ca5b3410SRobert Richter #clock-cells = <1>; 215ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 216ca5b3410SRobert Richter clock-names = "ethclk"; 217ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x1000>; 218ca5b3410SRobert Richter reg-names = "div-reg"; 219ca5b3410SRobert Richter divider-offset = <0x238>; 220ca5b3410SRobert Richter divider-width = <0x9>; 221ca5b3410SRobert Richter divider-shift = <0x0>; 222ca5b3410SRobert Richter clock-output-names = "ethclk"; 223ca5b3410SRobert Richter }; 224ca5b3410SRobert Richter 225ca5b3410SRobert Richter menetclk: menetclk { 226ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 227ca5b3410SRobert Richter #clock-cells = <1>; 228ca5b3410SRobert Richter clocks = <ðclk 0>; 229ca5b3410SRobert Richter reg = <0x0 0x1702C000 0x0 0x1000>; 230ca5b3410SRobert Richter reg-names = "csr-reg"; 231ca5b3410SRobert Richter clock-output-names = "menetclk"; 232ca5b3410SRobert Richter }; 233ca5b3410SRobert Richter 234ca5b3410SRobert Richter sge0clk: sge0clk@1f21c000 { 235ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 236ca5b3410SRobert Richter #clock-cells = <1>; 237ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 238ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 239ca5b3410SRobert Richter reg-names = "csr-reg"; 240ca5b3410SRobert Richter csr-mask = <0x3>; 241ca5b3410SRobert Richter clock-output-names = "sge0clk"; 242ca5b3410SRobert Richter }; 243ca5b3410SRobert Richter 2442d33394eSKeyur Chudgar sge1clk: sge1clk@1f21c000 { 2452d33394eSKeyur Chudgar compatible = "apm,xgene-device-clock"; 2462d33394eSKeyur Chudgar #clock-cells = <1>; 2472d33394eSKeyur Chudgar clocks = <&socplldiv2 0>; 2482d33394eSKeyur Chudgar reg = <0x0 0x1f21c000 0x0 0x1000>; 2492d33394eSKeyur Chudgar reg-names = "csr-reg"; 2502d33394eSKeyur Chudgar csr-mask = <0xc>; 2512d33394eSKeyur Chudgar clock-output-names = "sge1clk"; 2522d33394eSKeyur Chudgar }; 2532d33394eSKeyur Chudgar 254ca5b3410SRobert Richter xge0clk: xge0clk@1f61c000 { 255ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 256ca5b3410SRobert Richter #clock-cells = <1>; 257ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 258ca5b3410SRobert Richter reg = <0x0 0x1f61c000 0x0 0x1000>; 259ca5b3410SRobert Richter reg-names = "csr-reg"; 260ca5b3410SRobert Richter csr-mask = <0x3>; 261ca5b3410SRobert Richter clock-output-names = "xge0clk"; 262ca5b3410SRobert Richter }; 263ca5b3410SRobert Richter 264e63c7a09SIyappan Subramanian xge1clk: xge1clk@1f62c000 { 265e63c7a09SIyappan Subramanian compatible = "apm,xgene-device-clock"; 266e63c7a09SIyappan Subramanian status = "disabled"; 267e63c7a09SIyappan Subramanian #clock-cells = <1>; 268e63c7a09SIyappan Subramanian clocks = <&socplldiv2 0>; 269e63c7a09SIyappan Subramanian reg = <0x0 0x1f62c000 0x0 0x1000>; 270e63c7a09SIyappan Subramanian reg-names = "csr-reg"; 271e63c7a09SIyappan Subramanian csr-mask = <0x3>; 272e63c7a09SIyappan Subramanian clock-output-names = "xge1clk"; 273e63c7a09SIyappan Subramanian }; 274e63c7a09SIyappan Subramanian 275ca5b3410SRobert Richter sataphy1clk: sataphy1clk@1f21c000 { 276ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 277ca5b3410SRobert Richter #clock-cells = <1>; 278ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 279ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 280ca5b3410SRobert Richter reg-names = "csr-reg"; 281ca5b3410SRobert Richter clock-output-names = "sataphy1clk"; 282ca5b3410SRobert Richter status = "disabled"; 283ca5b3410SRobert Richter csr-offset = <0x4>; 284ca5b3410SRobert Richter csr-mask = <0x00>; 285ca5b3410SRobert Richter enable-offset = <0x0>; 286ca5b3410SRobert Richter enable-mask = <0x06>; 287ca5b3410SRobert Richter }; 288ca5b3410SRobert Richter 289ca5b3410SRobert Richter sataphy2clk: sataphy1clk@1f22c000 { 290ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 291ca5b3410SRobert Richter #clock-cells = <1>; 292ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 293ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 294ca5b3410SRobert Richter reg-names = "csr-reg"; 295ca5b3410SRobert Richter clock-output-names = "sataphy2clk"; 296ca5b3410SRobert Richter status = "ok"; 297ca5b3410SRobert Richter csr-offset = <0x4>; 298ca5b3410SRobert Richter csr-mask = <0x3a>; 299ca5b3410SRobert Richter enable-offset = <0x0>; 300ca5b3410SRobert Richter enable-mask = <0x06>; 301ca5b3410SRobert Richter }; 302ca5b3410SRobert Richter 303ca5b3410SRobert Richter sataphy3clk: sataphy1clk@1f23c000 { 304ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 305ca5b3410SRobert Richter #clock-cells = <1>; 306ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 307ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 308ca5b3410SRobert Richter reg-names = "csr-reg"; 309ca5b3410SRobert Richter clock-output-names = "sataphy3clk"; 310ca5b3410SRobert Richter status = "ok"; 311ca5b3410SRobert Richter csr-offset = <0x4>; 312ca5b3410SRobert Richter csr-mask = <0x3a>; 313ca5b3410SRobert Richter enable-offset = <0x0>; 314ca5b3410SRobert Richter enable-mask = <0x06>; 315ca5b3410SRobert Richter }; 316ca5b3410SRobert Richter 317ca5b3410SRobert Richter sata01clk: sata01clk@1f21c000 { 318ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 319ca5b3410SRobert Richter #clock-cells = <1>; 320ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 321ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 322ca5b3410SRobert Richter reg-names = "csr-reg"; 323ca5b3410SRobert Richter clock-output-names = "sata01clk"; 324ca5b3410SRobert Richter csr-offset = <0x4>; 325ca5b3410SRobert Richter csr-mask = <0x05>; 326ca5b3410SRobert Richter enable-offset = <0x0>; 327ca5b3410SRobert Richter enable-mask = <0x39>; 328ca5b3410SRobert Richter }; 329ca5b3410SRobert Richter 330ca5b3410SRobert Richter sata23clk: sata23clk@1f22c000 { 331ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 332ca5b3410SRobert Richter #clock-cells = <1>; 333ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 334ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 335ca5b3410SRobert Richter reg-names = "csr-reg"; 336ca5b3410SRobert Richter clock-output-names = "sata23clk"; 337ca5b3410SRobert Richter csr-offset = <0x4>; 338ca5b3410SRobert Richter csr-mask = <0x05>; 339ca5b3410SRobert Richter enable-offset = <0x0>; 340ca5b3410SRobert Richter enable-mask = <0x39>; 341ca5b3410SRobert Richter }; 342ca5b3410SRobert Richter 343ca5b3410SRobert Richter sata45clk: sata45clk@1f23c000 { 344ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 345ca5b3410SRobert Richter #clock-cells = <1>; 346ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 347ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 348ca5b3410SRobert Richter reg-names = "csr-reg"; 349ca5b3410SRobert Richter clock-output-names = "sata45clk"; 350ca5b3410SRobert Richter csr-offset = <0x4>; 351ca5b3410SRobert Richter csr-mask = <0x05>; 352ca5b3410SRobert Richter enable-offset = <0x0>; 353ca5b3410SRobert Richter enable-mask = <0x39>; 354ca5b3410SRobert Richter }; 355ca5b3410SRobert Richter 356ca5b3410SRobert Richter rtcclk: rtcclk@17000000 { 357ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 358ca5b3410SRobert Richter #clock-cells = <1>; 359ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 360ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 361ca5b3410SRobert Richter reg-names = "csr-reg"; 362ca5b3410SRobert Richter csr-offset = <0xc>; 363ca5b3410SRobert Richter csr-mask = <0x2>; 364ca5b3410SRobert Richter enable-offset = <0x10>; 365ca5b3410SRobert Richter enable-mask = <0x2>; 366ca5b3410SRobert Richter clock-output-names = "rtcclk"; 367ca5b3410SRobert Richter }; 368ca5b3410SRobert Richter 369ca5b3410SRobert Richter rngpkaclk: rngpkaclk@17000000 { 370ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 371ca5b3410SRobert Richter #clock-cells = <1>; 372ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 373ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 374ca5b3410SRobert Richter reg-names = "csr-reg"; 375ca5b3410SRobert Richter csr-offset = <0xc>; 376ca5b3410SRobert Richter csr-mask = <0x10>; 377ca5b3410SRobert Richter enable-offset = <0x10>; 378ca5b3410SRobert Richter enable-mask = <0x10>; 379ca5b3410SRobert Richter clock-output-names = "rngpkaclk"; 380ca5b3410SRobert Richter }; 381ca5b3410SRobert Richter 382ca5b3410SRobert Richter pcie0clk: pcie0clk@1f2bc000 { 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 0x1f2bc000 0x0 0x1000>; 388ca5b3410SRobert Richter reg-names = "csr-reg"; 389ca5b3410SRobert Richter clock-output-names = "pcie0clk"; 390ca5b3410SRobert Richter }; 391ca5b3410SRobert Richter 392ca5b3410SRobert Richter pcie1clk: pcie1clk@1f2cc000 { 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 0x1f2cc000 0x0 0x1000>; 398ca5b3410SRobert Richter reg-names = "csr-reg"; 399ca5b3410SRobert Richter clock-output-names = "pcie1clk"; 400ca5b3410SRobert Richter }; 401ca5b3410SRobert Richter 402ca5b3410SRobert Richter pcie2clk: pcie2clk@1f2dc000 { 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 0x1f2dc000 0x0 0x1000>; 408ca5b3410SRobert Richter reg-names = "csr-reg"; 409ca5b3410SRobert Richter clock-output-names = "pcie2clk"; 410ca5b3410SRobert Richter }; 411ca5b3410SRobert Richter 412ca5b3410SRobert Richter pcie3clk: pcie3clk@1f50c000 { 413ca5b3410SRobert Richter status = "disabled"; 414ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 415ca5b3410SRobert Richter #clock-cells = <1>; 416ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 417ca5b3410SRobert Richter reg = <0x0 0x1f50c000 0x0 0x1000>; 418ca5b3410SRobert Richter reg-names = "csr-reg"; 419ca5b3410SRobert Richter clock-output-names = "pcie3clk"; 420ca5b3410SRobert Richter }; 421ca5b3410SRobert Richter 422ca5b3410SRobert Richter pcie4clk: pcie4clk@1f51c000 { 423ca5b3410SRobert Richter status = "disabled"; 424ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 425ca5b3410SRobert Richter #clock-cells = <1>; 426ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 427ca5b3410SRobert Richter reg = <0x0 0x1f51c000 0x0 0x1000>; 428ca5b3410SRobert Richter reg-names = "csr-reg"; 429ca5b3410SRobert Richter clock-output-names = "pcie4clk"; 430ca5b3410SRobert Richter }; 43174e353e1SRameshwar Prasad Sahu 43274e353e1SRameshwar Prasad Sahu dmaclk: dmaclk@1f27c000 { 43374e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-device-clock"; 43474e353e1SRameshwar Prasad Sahu #clock-cells = <1>; 43574e353e1SRameshwar Prasad Sahu clocks = <&socplldiv2 0>; 43674e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f27c000 0x0 0x1000>; 43774e353e1SRameshwar Prasad Sahu reg-names = "csr-reg"; 43874e353e1SRameshwar Prasad Sahu clock-output-names = "dmaclk"; 43974e353e1SRameshwar Prasad Sahu }; 44062ff9683SDuc Dang 44162ff9683SDuc Dang i2cclk: i2cclk@17000000 { 44262ff9683SDuc Dang status = "disabled"; 44362ff9683SDuc Dang compatible = "apm,xgene-device-clock"; 44462ff9683SDuc Dang #clock-cells = <1>; 44562ff9683SDuc Dang clocks = <&ahbclk 0>; 44662ff9683SDuc Dang reg = <0x0 0x17000000 0x0 0x2000>; 44762ff9683SDuc Dang reg-names = "csr-reg"; 44862ff9683SDuc Dang csr-offset = <0xc>; 44962ff9683SDuc Dang csr-mask = <0x4>; 45062ff9683SDuc Dang enable-offset = <0x10>; 45162ff9683SDuc Dang enable-mask = <0x4>; 45262ff9683SDuc Dang clock-output-names = "i2cclk"; 45362ff9683SDuc Dang }; 454ca5b3410SRobert Richter }; 455ca5b3410SRobert Richter 456e1e6e5c4SDuc Dang msi: msi@79000000 { 457e1e6e5c4SDuc Dang compatible = "apm,xgene1-msi"; 458e1e6e5c4SDuc Dang msi-controller; 459e1e6e5c4SDuc Dang reg = <0x00 0x79000000 0x0 0x900000>; 460e1e6e5c4SDuc Dang interrupts = < 0x0 0x10 0x4 461e1e6e5c4SDuc Dang 0x0 0x11 0x4 462e1e6e5c4SDuc Dang 0x0 0x12 0x4 463e1e6e5c4SDuc Dang 0x0 0x13 0x4 464e1e6e5c4SDuc Dang 0x0 0x14 0x4 465e1e6e5c4SDuc Dang 0x0 0x15 0x4 466e1e6e5c4SDuc Dang 0x0 0x16 0x4 467e1e6e5c4SDuc Dang 0x0 0x17 0x4 468e1e6e5c4SDuc Dang 0x0 0x18 0x4 469e1e6e5c4SDuc Dang 0x0 0x19 0x4 470e1e6e5c4SDuc Dang 0x0 0x1a 0x4 471e1e6e5c4SDuc Dang 0x0 0x1b 0x4 472e1e6e5c4SDuc Dang 0x0 0x1c 0x4 473e1e6e5c4SDuc Dang 0x0 0x1d 0x4 474e1e6e5c4SDuc Dang 0x0 0x1e 0x4 475e1e6e5c4SDuc Dang 0x0 0x1f 0x4>; 476e1e6e5c4SDuc Dang }; 477e1e6e5c4SDuc Dang 4785c3a87e3SFeng Kan scu: system-clk-controller@17000000 { 4795c3a87e3SFeng Kan compatible = "apm,xgene-scu","syscon"; 4805c3a87e3SFeng Kan reg = <0x0 0x17000000 0x0 0x400>; 4815c3a87e3SFeng Kan }; 4825c3a87e3SFeng Kan 4835c3a87e3SFeng Kan reboot: reboot@17000014 { 4845c3a87e3SFeng Kan compatible = "syscon-reboot"; 4855c3a87e3SFeng Kan regmap = <&scu>; 4865c3a87e3SFeng Kan offset = <0x14>; 4875c3a87e3SFeng Kan mask = <0x1>; 4885c3a87e3SFeng Kan }; 4895c3a87e3SFeng Kan 4908f2ae6f3SLoc Ho csw: csw@7e200000 { 4918f2ae6f3SLoc Ho compatible = "apm,xgene-csw", "syscon"; 4928f2ae6f3SLoc Ho reg = <0x0 0x7e200000 0x0 0x1000>; 4938f2ae6f3SLoc Ho }; 4948f2ae6f3SLoc Ho 4958f2ae6f3SLoc Ho mcba: mcba@7e700000 { 4968f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 4978f2ae6f3SLoc Ho reg = <0x0 0x7e700000 0x0 0x1000>; 4988f2ae6f3SLoc Ho }; 4998f2ae6f3SLoc Ho 5008f2ae6f3SLoc Ho mcbb: mcbb@7e720000 { 5018f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 5028f2ae6f3SLoc Ho reg = <0x0 0x7e720000 0x0 0x1000>; 5038f2ae6f3SLoc Ho }; 5048f2ae6f3SLoc Ho 5058f2ae6f3SLoc Ho efuse: efuse@1054a000 { 5068f2ae6f3SLoc Ho compatible = "apm,xgene-efuse", "syscon"; 5078f2ae6f3SLoc Ho reg = <0x0 0x1054a000 0x0 0x20>; 5088f2ae6f3SLoc Ho }; 5098f2ae6f3SLoc Ho 5108f2ae6f3SLoc Ho edac@78800000 { 5118f2ae6f3SLoc Ho compatible = "apm,xgene-edac"; 5128f2ae6f3SLoc Ho #address-cells = <2>; 5138f2ae6f3SLoc Ho #size-cells = <2>; 5148f2ae6f3SLoc Ho ranges; 5158f2ae6f3SLoc Ho regmap-csw = <&csw>; 5168f2ae6f3SLoc Ho regmap-mcba = <&mcba>; 5178f2ae6f3SLoc Ho regmap-mcbb = <&mcbb>; 5188f2ae6f3SLoc Ho regmap-efuse = <&efuse>; 5198f2ae6f3SLoc Ho reg = <0x0 0x78800000 0x0 0x100>; 5208f2ae6f3SLoc Ho interrupts = <0x0 0x20 0x4>, 5218f2ae6f3SLoc Ho <0x0 0x21 0x4>, 5228f2ae6f3SLoc Ho <0x0 0x27 0x4>; 5238f2ae6f3SLoc Ho 5248f2ae6f3SLoc Ho edacmc@7e800000 { 5258f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5268f2ae6f3SLoc Ho reg = <0x0 0x7e800000 0x0 0x1000>; 5278f2ae6f3SLoc Ho memory-controller = <0>; 5288f2ae6f3SLoc Ho }; 5298f2ae6f3SLoc Ho 5308f2ae6f3SLoc Ho edacmc@7e840000 { 5318f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5328f2ae6f3SLoc Ho reg = <0x0 0x7e840000 0x0 0x1000>; 5338f2ae6f3SLoc Ho memory-controller = <1>; 5348f2ae6f3SLoc Ho }; 5358f2ae6f3SLoc Ho 5368f2ae6f3SLoc Ho edacmc@7e880000 { 5378f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5388f2ae6f3SLoc Ho reg = <0x0 0x7e880000 0x0 0x1000>; 5398f2ae6f3SLoc Ho memory-controller = <2>; 5408f2ae6f3SLoc Ho }; 5418f2ae6f3SLoc Ho 5428f2ae6f3SLoc Ho edacmc@7e8c0000 { 5438f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 5448f2ae6f3SLoc Ho reg = <0x0 0x7e8c0000 0x0 0x1000>; 5458f2ae6f3SLoc Ho memory-controller = <3>; 5468f2ae6f3SLoc Ho }; 5478f2ae6f3SLoc Ho 5488f2ae6f3SLoc Ho edacpmd@7c000000 { 5498f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5508f2ae6f3SLoc Ho reg = <0x0 0x7c000000 0x0 0x200000>; 5518f2ae6f3SLoc Ho pmd-controller = <0>; 5528f2ae6f3SLoc Ho }; 5538f2ae6f3SLoc Ho 5548f2ae6f3SLoc Ho edacpmd@7c200000 { 5558f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5568f2ae6f3SLoc Ho reg = <0x0 0x7c200000 0x0 0x200000>; 5578f2ae6f3SLoc Ho pmd-controller = <1>; 5588f2ae6f3SLoc Ho }; 5598f2ae6f3SLoc Ho 5608f2ae6f3SLoc Ho edacpmd@7c400000 { 5618f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5628f2ae6f3SLoc Ho reg = <0x0 0x7c400000 0x0 0x200000>; 5638f2ae6f3SLoc Ho pmd-controller = <2>; 5648f2ae6f3SLoc Ho }; 5658f2ae6f3SLoc Ho 5668f2ae6f3SLoc Ho edacpmd@7c600000 { 5678f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 5688f2ae6f3SLoc Ho reg = <0x0 0x7c600000 0x0 0x200000>; 5698f2ae6f3SLoc Ho pmd-controller = <3>; 5708f2ae6f3SLoc Ho }; 571043cba96SLoc Ho 572043cba96SLoc Ho edacl3@7e600000 { 573043cba96SLoc Ho compatible = "apm,xgene-edac-l3"; 574043cba96SLoc Ho reg = <0x0 0x7e600000 0x0 0x1000>; 575043cba96SLoc Ho }; 576043cba96SLoc Ho 577043cba96SLoc Ho edacsoc@7e930000 { 578043cba96SLoc Ho compatible = "apm,xgene-edac-soc-v1"; 579043cba96SLoc Ho reg = <0x0 0x7e930000 0x0 0x1000>; 580043cba96SLoc Ho }; 5818f2ae6f3SLoc Ho }; 5828f2ae6f3SLoc Ho 583ca5b3410SRobert Richter pcie0: pcie@1f2b0000 { 584ca5b3410SRobert Richter status = "disabled"; 585ca5b3410SRobert Richter device_type = "pci"; 586ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 587ca5b3410SRobert Richter #interrupt-cells = <1>; 588ca5b3410SRobert Richter #size-cells = <2>; 589ca5b3410SRobert Richter #address-cells = <3>; 590ca5b3410SRobert Richter reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ 591ca5b3410SRobert Richter 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 592ca5b3410SRobert Richter reg-names = "csr", "cfg"; 593ca5b3410SRobert Richter ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ 59480bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000 /* mem */ 59580bb3edaSDuc Dang 0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */ 596ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 597ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 598ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 599ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 600ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 601ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 602ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; 603ca5b3410SRobert Richter dma-coherent; 604ca5b3410SRobert Richter clocks = <&pcie0clk 0>; 605e1e6e5c4SDuc Dang msi-parent = <&msi>; 606ca5b3410SRobert Richter }; 607ca5b3410SRobert Richter 608ca5b3410SRobert Richter pcie1: pcie@1f2c0000 { 609ca5b3410SRobert Richter status = "disabled"; 610ca5b3410SRobert Richter device_type = "pci"; 611ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 612ca5b3410SRobert Richter #interrupt-cells = <1>; 613ca5b3410SRobert Richter #size-cells = <2>; 614ca5b3410SRobert Richter #address-cells = <3>; 615ca5b3410SRobert Richter reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ 616ca5b3410SRobert Richter 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 617ca5b3410SRobert Richter reg-names = "csr", "cfg"; 61880bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */ 61980bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000 /* mem */ 62080bb3edaSDuc Dang 0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */ 621ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 622ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 623ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 624ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1 625ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1 626ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1 627ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>; 628ca5b3410SRobert Richter dma-coherent; 629ca5b3410SRobert Richter clocks = <&pcie1clk 0>; 630e1e6e5c4SDuc Dang msi-parent = <&msi>; 631ca5b3410SRobert Richter }; 632ca5b3410SRobert Richter 633ca5b3410SRobert Richter pcie2: pcie@1f2d0000 { 634ca5b3410SRobert Richter status = "disabled"; 635ca5b3410SRobert Richter device_type = "pci"; 636ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 637ca5b3410SRobert Richter #interrupt-cells = <1>; 638ca5b3410SRobert Richter #size-cells = <2>; 639ca5b3410SRobert Richter #address-cells = <3>; 640ca5b3410SRobert Richter reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */ 641ca5b3410SRobert Richter 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */ 642ca5b3410SRobert Richter reg-names = "csr", "cfg"; 64380bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000 /* io */ 64480bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000 /* mem */ 64580bb3edaSDuc Dang 0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */ 646ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 647ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 648ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 649ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1 650ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1 651ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1 652ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>; 653ca5b3410SRobert Richter dma-coherent; 654ca5b3410SRobert Richter clocks = <&pcie2clk 0>; 655e1e6e5c4SDuc Dang msi-parent = <&msi>; 656ca5b3410SRobert Richter }; 657ca5b3410SRobert Richter 658ca5b3410SRobert Richter pcie3: pcie@1f500000 { 659ca5b3410SRobert Richter status = "disabled"; 660ca5b3410SRobert Richter device_type = "pci"; 661ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 662ca5b3410SRobert Richter #interrupt-cells = <1>; 663ca5b3410SRobert Richter #size-cells = <2>; 664ca5b3410SRobert Richter #address-cells = <3>; 665ca5b3410SRobert Richter reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */ 666ca5b3410SRobert Richter 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 667ca5b3410SRobert Richter reg-names = "csr", "cfg"; 66880bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000 /* io */ 66980bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000 /* mem */ 67080bb3edaSDuc Dang 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */ 671ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 672ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 673ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 674ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1 675ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1 676ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1 677ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>; 678ca5b3410SRobert Richter dma-coherent; 679ca5b3410SRobert Richter clocks = <&pcie3clk 0>; 680e1e6e5c4SDuc Dang msi-parent = <&msi>; 681ca5b3410SRobert Richter }; 682ca5b3410SRobert Richter 683ca5b3410SRobert Richter pcie4: pcie@1f510000 { 684ca5b3410SRobert Richter status = "disabled"; 685ca5b3410SRobert Richter device_type = "pci"; 686ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 687ca5b3410SRobert Richter #interrupt-cells = <1>; 688ca5b3410SRobert Richter #size-cells = <2>; 689ca5b3410SRobert Richter #address-cells = <3>; 690ca5b3410SRobert Richter reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */ 691ca5b3410SRobert Richter 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */ 692ca5b3410SRobert Richter reg-names = "csr", "cfg"; 69380bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000 /* io */ 69480bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000 /* mem */ 69580bb3edaSDuc Dang 0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */ 696ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 697ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 698ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 699ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1 700ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1 701ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1 702ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>; 703ca5b3410SRobert Richter dma-coherent; 704ca5b3410SRobert Richter clocks = <&pcie4clk 0>; 705e1e6e5c4SDuc Dang msi-parent = <&msi>; 706ca5b3410SRobert Richter }; 707ca5b3410SRobert Richter 708ca5b3410SRobert Richter serial0: serial@1c020000 { 709ca5b3410SRobert Richter status = "disabled"; 710ca5b3410SRobert Richter device_type = "serial"; 711ca5b3410SRobert Richter compatible = "ns16550a"; 712ca5b3410SRobert Richter reg = <0 0x1c020000 0x0 0x1000>; 713ca5b3410SRobert Richter reg-shift = <2>; 714ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 715ca5b3410SRobert Richter interrupt-parent = <&gic>; 716ca5b3410SRobert Richter interrupts = <0x0 0x4c 0x4>; 717ca5b3410SRobert Richter }; 718ca5b3410SRobert Richter 719ca5b3410SRobert Richter serial1: serial@1c021000 { 720ca5b3410SRobert Richter status = "disabled"; 721ca5b3410SRobert Richter device_type = "serial"; 722ca5b3410SRobert Richter compatible = "ns16550a"; 723ca5b3410SRobert Richter reg = <0 0x1c021000 0x0 0x1000>; 724ca5b3410SRobert Richter reg-shift = <2>; 725ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 726ca5b3410SRobert Richter interrupt-parent = <&gic>; 727ca5b3410SRobert Richter interrupts = <0x0 0x4d 0x4>; 728ca5b3410SRobert Richter }; 729ca5b3410SRobert Richter 730ca5b3410SRobert Richter serial2: serial@1c022000 { 731ca5b3410SRobert Richter status = "disabled"; 732ca5b3410SRobert Richter device_type = "serial"; 733ca5b3410SRobert Richter compatible = "ns16550a"; 734ca5b3410SRobert Richter reg = <0 0x1c022000 0x0 0x1000>; 735ca5b3410SRobert Richter reg-shift = <2>; 736ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 737ca5b3410SRobert Richter interrupt-parent = <&gic>; 738ca5b3410SRobert Richter interrupts = <0x0 0x4e 0x4>; 739ca5b3410SRobert Richter }; 740ca5b3410SRobert Richter 741ca5b3410SRobert Richter serial3: serial@1c023000 { 742ca5b3410SRobert Richter status = "disabled"; 743ca5b3410SRobert Richter device_type = "serial"; 744ca5b3410SRobert Richter compatible = "ns16550a"; 745ca5b3410SRobert Richter reg = <0 0x1c023000 0x0 0x1000>; 746ca5b3410SRobert Richter reg-shift = <2>; 747ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 748ca5b3410SRobert Richter interrupt-parent = <&gic>; 749ca5b3410SRobert Richter interrupts = <0x0 0x4f 0x4>; 750ca5b3410SRobert Richter }; 751ca5b3410SRobert Richter 7528f74e861SSuman Tripathi mmc0: mmc@1c000000 { 7538f74e861SSuman Tripathi compatible = "arasan,sdhci-4.9a"; 7548f74e861SSuman Tripathi reg = <0x0 0x1c000000 0x0 0x100>; 7558f74e861SSuman Tripathi interrupts = <0x0 0x49 0x4>; 7568f74e861SSuman Tripathi dma-coherent; 7578f74e861SSuman Tripathi no-1-8-v; 7588f74e861SSuman Tripathi clock-names = "clk_xin", "clk_ahb"; 7598f74e861SSuman Tripathi clocks = <&sdioclk 0>, <&ahbclk 0>; 7608f74e861SSuman Tripathi }; 7618f74e861SSuman Tripathi 7620a09223fSDuc Dang gfcgpio: gfcgpio0@1701c000 { 7630a09223fSDuc Dang compatible = "apm,xgene-gpio"; 7640a09223fSDuc Dang reg = <0x0 0x1701c000 0x0 0x40>; 7650a09223fSDuc Dang gpio-controller; 7660a09223fSDuc Dang #gpio-cells = <2>; 7670a09223fSDuc Dang }; 7680a09223fSDuc Dang 769e38ec5b9SDuc Dang dwgpio: dwgpio@1c024000 { 770e38ec5b9SDuc Dang compatible = "snps,dw-apb-gpio"; 771e38ec5b9SDuc Dang reg = <0x0 0x1c024000 0x0 0x1000>; 772e38ec5b9SDuc Dang reg-io-width = <4>; 773e38ec5b9SDuc Dang #address-cells = <1>; 774e38ec5b9SDuc Dang #size-cells = <0>; 775e38ec5b9SDuc Dang 776e38ec5b9SDuc Dang porta: gpio-controller@0 { 777e38ec5b9SDuc Dang compatible = "snps,dw-apb-gpio-port"; 778e38ec5b9SDuc Dang gpio-controller; 779e38ec5b9SDuc Dang snps,nr-gpios = <32>; 780e38ec5b9SDuc Dang reg = <0>; 781e38ec5b9SDuc Dang }; 782e38ec5b9SDuc Dang }; 783e38ec5b9SDuc Dang 78462ff9683SDuc Dang i2c0: i2c0@10512000 { 78562ff9683SDuc Dang status = "disabled"; 78662ff9683SDuc Dang #address-cells = <1>; 78762ff9683SDuc Dang #size-cells = <0>; 78862ff9683SDuc Dang compatible = "snps,designware-i2c"; 78962ff9683SDuc Dang reg = <0x0 0x10512000 0x0 0x1000>; 79062ff9683SDuc Dang interrupts = <0 0x44 0x4>; 79162ff9683SDuc Dang #clock-cells = <1>; 79262ff9683SDuc Dang clocks = <&i2cclk 0>; 79362ff9683SDuc Dang bus_num = <0>; 79462ff9683SDuc Dang }; 79562ff9683SDuc Dang 796ca5b3410SRobert Richter phy1: phy@1f21a000 { 797ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 798ca5b3410SRobert Richter reg = <0x0 0x1f21a000 0x0 0x100>; 799ca5b3410SRobert Richter #phy-cells = <1>; 800ca5b3410SRobert Richter clocks = <&sataphy1clk 0>; 801ca5b3410SRobert Richter status = "disabled"; 802ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 803ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 804ca5b3410SRobert Richter }; 805ca5b3410SRobert Richter 806ca5b3410SRobert Richter phy2: phy@1f22a000 { 807ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 808ca5b3410SRobert Richter reg = <0x0 0x1f22a000 0x0 0x100>; 809ca5b3410SRobert Richter #phy-cells = <1>; 810ca5b3410SRobert Richter clocks = <&sataphy2clk 0>; 811ca5b3410SRobert Richter status = "ok"; 812ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 813ca5b3410SRobert Richter apm,tx-eye-tuning = <1 10 10 2 10 10>; 814ca5b3410SRobert Richter }; 815ca5b3410SRobert Richter 816ca5b3410SRobert Richter phy3: phy@1f23a000 { 817ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 818ca5b3410SRobert Richter reg = <0x0 0x1f23a000 0x0 0x100>; 819ca5b3410SRobert Richter #phy-cells = <1>; 820ca5b3410SRobert Richter clocks = <&sataphy3clk 0>; 821ca5b3410SRobert Richter status = "ok"; 822ca5b3410SRobert Richter apm,tx-boost-gain = <31 31 31 31 31 31>; 823ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 824ca5b3410SRobert Richter }; 825ca5b3410SRobert Richter 826ca5b3410SRobert Richter sata1: sata@1a000000 { 827ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 828ca5b3410SRobert Richter reg = <0x0 0x1a000000 0x0 0x1000>, 829ca5b3410SRobert Richter <0x0 0x1f210000 0x0 0x1000>, 830ca5b3410SRobert Richter <0x0 0x1f21d000 0x0 0x1000>, 831ca5b3410SRobert Richter <0x0 0x1f21e000 0x0 0x1000>, 832ca5b3410SRobert Richter <0x0 0x1f217000 0x0 0x1000>; 833ca5b3410SRobert Richter interrupts = <0x0 0x86 0x4>; 834ca5b3410SRobert Richter dma-coherent; 835ca5b3410SRobert Richter status = "disabled"; 836ca5b3410SRobert Richter clocks = <&sata01clk 0>; 837ca5b3410SRobert Richter phys = <&phy1 0>; 838ca5b3410SRobert Richter phy-names = "sata-phy"; 839ca5b3410SRobert Richter }; 840ca5b3410SRobert Richter 841ca5b3410SRobert Richter sata2: sata@1a400000 { 842ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 843ca5b3410SRobert Richter reg = <0x0 0x1a400000 0x0 0x1000>, 844ca5b3410SRobert Richter <0x0 0x1f220000 0x0 0x1000>, 845ca5b3410SRobert Richter <0x0 0x1f22d000 0x0 0x1000>, 846ca5b3410SRobert Richter <0x0 0x1f22e000 0x0 0x1000>, 847ca5b3410SRobert Richter <0x0 0x1f227000 0x0 0x1000>; 848ca5b3410SRobert Richter interrupts = <0x0 0x87 0x4>; 849ca5b3410SRobert Richter dma-coherent; 850ca5b3410SRobert Richter status = "ok"; 851ca5b3410SRobert Richter clocks = <&sata23clk 0>; 852ca5b3410SRobert Richter phys = <&phy2 0>; 853ca5b3410SRobert Richter phy-names = "sata-phy"; 854ca5b3410SRobert Richter }; 855ca5b3410SRobert Richter 856ca5b3410SRobert Richter sata3: sata@1a800000 { 857ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 858ca5b3410SRobert Richter reg = <0x0 0x1a800000 0x0 0x1000>, 859ca5b3410SRobert Richter <0x0 0x1f230000 0x0 0x1000>, 860ca5b3410SRobert Richter <0x0 0x1f23d000 0x0 0x1000>, 861ca5b3410SRobert Richter <0x0 0x1f23e000 0x0 0x1000>; 862ca5b3410SRobert Richter interrupts = <0x0 0x88 0x4>; 863ca5b3410SRobert Richter dma-coherent; 864ca5b3410SRobert Richter status = "ok"; 865ca5b3410SRobert Richter clocks = <&sata45clk 0>; 866ca5b3410SRobert Richter phys = <&phy3 0>; 867ca5b3410SRobert Richter phy-names = "sata-phy"; 868ca5b3410SRobert Richter }; 869ca5b3410SRobert Richter 870bd410233SDuc Dang /* Do not change dwusb name, coded for backward compatibility */ 871bd410233SDuc Dang usb0: dwusb@19000000 { 872bd410233SDuc Dang status = "disabled"; 873bd410233SDuc Dang compatible = "snps,dwc3"; 874bd410233SDuc Dang reg = <0x0 0x19000000 0x0 0x100000>; 875bd410233SDuc Dang interrupts = <0x0 0x89 0x4>; 876bd410233SDuc Dang dma-coherent; 877bd410233SDuc Dang dr_mode = "host"; 878bd410233SDuc Dang }; 879bd410233SDuc Dang 880bd410233SDuc Dang usb1: dwusb@19800000 { 881bd410233SDuc Dang status = "disabled"; 882bd410233SDuc Dang compatible = "snps,dwc3"; 883bd410233SDuc Dang reg = <0x0 0x19800000 0x0 0x100000>; 884bd410233SDuc Dang interrupts = <0x0 0x8a 0x4>; 885bd410233SDuc Dang dma-coherent; 886bd410233SDuc Dang dr_mode = "host"; 887bd410233SDuc Dang }; 888bd410233SDuc Dang 889ea21feb3SY Vo sbgpio: sbgpio@17001000{ 890ea21feb3SY Vo compatible = "apm,xgene-gpio-sb"; 891ea21feb3SY Vo reg = <0x0 0x17001000 0x0 0x400>; 892ea21feb3SY Vo #gpio-cells = <2>; 893ea21feb3SY Vo gpio-controller; 894ea21feb3SY Vo interrupts = <0x0 0x28 0x1>, 895ea21feb3SY Vo <0x0 0x29 0x1>, 896ea21feb3SY Vo <0x0 0x2a 0x1>, 897ea21feb3SY Vo <0x0 0x2b 0x1>, 898ea21feb3SY Vo <0x0 0x2c 0x1>, 899ea21feb3SY Vo <0x0 0x2d 0x1>; 900ea21feb3SY Vo }; 901ea21feb3SY Vo 902ca5b3410SRobert Richter rtc: rtc@10510000 { 903ca5b3410SRobert Richter compatible = "apm,xgene-rtc"; 904ca5b3410SRobert Richter reg = <0x0 0x10510000 0x0 0x400>; 905ca5b3410SRobert Richter interrupts = <0x0 0x46 0x4>; 906ca5b3410SRobert Richter #clock-cells = <1>; 907ca5b3410SRobert Richter clocks = <&rtcclk 0>; 908ca5b3410SRobert Richter }; 909ca5b3410SRobert Richter 910ca5b3410SRobert Richter menet: ethernet@17020000 { 911ca5b3410SRobert Richter compatible = "apm,xgene-enet"; 912ca5b3410SRobert Richter status = "disabled"; 913ca5b3410SRobert Richter reg = <0x0 0x17020000 0x0 0xd100>, 9146c9e9247SLinus Torvalds <0x0 0X17030000 0x0 0Xc300>, 915ca5b3410SRobert Richter <0x0 0X10000000 0x0 0X200>; 916ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 917ca5b3410SRobert Richter interrupts = <0x0 0x3c 0x4>; 918ca5b3410SRobert Richter dma-coherent; 919ca5b3410SRobert Richter clocks = <&menetclk 0>; 920ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 921ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 922ca5b3410SRobert Richter phy-connection-type = "rgmii"; 923ca5b3410SRobert Richter phy-handle = <&menetphy>; 924ca5b3410SRobert Richter mdio { 925ca5b3410SRobert Richter compatible = "apm,xgene-mdio"; 926ca5b3410SRobert Richter #address-cells = <1>; 927ca5b3410SRobert Richter #size-cells = <0>; 928ca5b3410SRobert Richter menetphy: menetphy@3 { 929ca5b3410SRobert Richter compatible = "ethernet-phy-id001c.c915"; 930ca5b3410SRobert Richter reg = <0x3>; 931ca5b3410SRobert Richter }; 932ca5b3410SRobert Richter 933ca5b3410SRobert Richter }; 934ca5b3410SRobert Richter }; 935ca5b3410SRobert Richter 936ca5b3410SRobert Richter sgenet0: ethernet@1f210000 { 9372a91eb72SIyappan Subramanian compatible = "apm,xgene1-sgenet"; 938ca5b3410SRobert Richter status = "disabled"; 9396c9e9247SLinus Torvalds reg = <0x0 0x1f210000 0x0 0xd100>, 9406c9e9247SLinus Torvalds <0x0 0x1f200000 0x0 0Xc300>, 9416c9e9247SLinus Torvalds <0x0 0x1B000000 0x0 0X200>; 942ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 943d3134649SIyappan Subramanian interrupts = <0x0 0xA0 0x4>, 944d3134649SIyappan Subramanian <0x0 0xA1 0x4>; 945ca5b3410SRobert Richter dma-coherent; 946ca5b3410SRobert Richter clocks = <&sge0clk 0>; 947ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 948ca5b3410SRobert Richter phy-connection-type = "sgmii"; 949ca5b3410SRobert Richter }; 950ca5b3410SRobert Richter 9512d33394eSKeyur Chudgar sgenet1: ethernet@1f210030 { 9522d33394eSKeyur Chudgar compatible = "apm,xgene1-sgenet"; 9532d33394eSKeyur Chudgar status = "disabled"; 9542d33394eSKeyur Chudgar reg = <0x0 0x1f210030 0x0 0xd100>, 9552d33394eSKeyur Chudgar <0x0 0x1f200000 0x0 0Xc300>, 9562d33394eSKeyur Chudgar <0x0 0x1B000000 0x0 0X8000>; 9572d33394eSKeyur Chudgar reg-names = "enet_csr", "ring_csr", "ring_cmd"; 958d3134649SIyappan Subramanian interrupts = <0x0 0xAC 0x4>, 959d3134649SIyappan Subramanian <0x0 0xAD 0x4>; 9602d33394eSKeyur Chudgar port-id = <1>; 9612d33394eSKeyur Chudgar dma-coherent; 9622d33394eSKeyur Chudgar clocks = <&sge1clk 0>; 9632d33394eSKeyur Chudgar local-mac-address = [00 00 00 00 00 00]; 9642d33394eSKeyur Chudgar phy-connection-type = "sgmii"; 9652d33394eSKeyur Chudgar }; 9662d33394eSKeyur Chudgar 967ca5b3410SRobert Richter xgenet: ethernet@1f610000 { 9682a91eb72SIyappan Subramanian compatible = "apm,xgene1-xgenet"; 969ca5b3410SRobert Richter status = "disabled"; 970ca5b3410SRobert Richter reg = <0x0 0x1f610000 0x0 0xd100>, 9716c9e9247SLinus Torvalds <0x0 0x1f600000 0x0 0Xc300>, 972ca5b3410SRobert Richter <0x0 0x18000000 0x0 0X200>; 973ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 974d3134649SIyappan Subramanian interrupts = <0x0 0x60 0x4>, 975d3134649SIyappan Subramanian <0x0 0x61 0x4>; 976ca5b3410SRobert Richter dma-coherent; 977ca5b3410SRobert Richter clocks = <&xge0clk 0>; 978ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 979ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 980ca5b3410SRobert Richter phy-connection-type = "xgmii"; 981ca5b3410SRobert Richter }; 982ca5b3410SRobert Richter 983e63c7a09SIyappan Subramanian xgenet1: ethernet@1f620000 { 984e63c7a09SIyappan Subramanian compatible = "apm,xgene1-xgenet"; 985e63c7a09SIyappan Subramanian status = "disabled"; 986e63c7a09SIyappan Subramanian reg = <0x0 0x1f620000 0x0 0xd100>, 987e63c7a09SIyappan Subramanian <0x0 0x1f600000 0x0 0Xc300>, 988e63c7a09SIyappan Subramanian <0x0 0x18000000 0x0 0X8000>; 989e63c7a09SIyappan Subramanian reg-names = "enet_csr", "ring_csr", "ring_cmd"; 990e63c7a09SIyappan Subramanian interrupts = <0x0 0x6C 0x4>, 991e63c7a09SIyappan Subramanian <0x0 0x6D 0x4>; 992e63c7a09SIyappan Subramanian port-id = <1>; 993e63c7a09SIyappan Subramanian dma-coherent; 994e63c7a09SIyappan Subramanian clocks = <&xge1clk 0>; 995e63c7a09SIyappan Subramanian /* mac address will be overwritten by the bootloader */ 996e63c7a09SIyappan Subramanian local-mac-address = [00 00 00 00 00 00]; 997e63c7a09SIyappan Subramanian phy-connection-type = "xgmii"; 998e63c7a09SIyappan Subramanian }; 999e63c7a09SIyappan Subramanian 1000ca5b3410SRobert Richter rng: rng@10520000 { 1001ca5b3410SRobert Richter compatible = "apm,xgene-rng"; 1002ca5b3410SRobert Richter reg = <0x0 0x10520000 0x0 0x100>; 1003ca5b3410SRobert Richter interrupts = <0x0 0x41 0x4>; 1004ca5b3410SRobert Richter clocks = <&rngpkaclk 0>; 1005ca5b3410SRobert Richter }; 100674e353e1SRameshwar Prasad Sahu 100774e353e1SRameshwar Prasad Sahu dma: dma@1f270000 { 100874e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-storm-dma"; 100974e353e1SRameshwar Prasad Sahu device_type = "dma"; 101074e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f270000 0x0 0x10000>, 101174e353e1SRameshwar Prasad Sahu <0x0 0x1f200000 0x0 0x10000>, 1012cda8e937SRameshwar Prasad Sahu <0x0 0x1b000000 0x0 0x400000>, 101374e353e1SRameshwar Prasad Sahu <0x0 0x1054a000 0x0 0x100>; 101474e353e1SRameshwar Prasad Sahu interrupts = <0x0 0x82 0x4>, 101574e353e1SRameshwar Prasad Sahu <0x0 0xb8 0x4>, 101674e353e1SRameshwar Prasad Sahu <0x0 0xb9 0x4>, 101774e353e1SRameshwar Prasad Sahu <0x0 0xba 0x4>, 101874e353e1SRameshwar Prasad Sahu <0x0 0xbb 0x4>; 101974e353e1SRameshwar Prasad Sahu dma-coherent; 102074e353e1SRameshwar Prasad Sahu clocks = <&dmaclk 0>; 102174e353e1SRameshwar Prasad Sahu }; 1022ca5b3410SRobert Richter }; 1023ca5b3410SRobert Richter}; 1024