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 100ca5b3410SRobert Richter soc { 101ca5b3410SRobert Richter compatible = "simple-bus"; 102ca5b3410SRobert Richter #address-cells = <2>; 103ca5b3410SRobert Richter #size-cells = <2>; 104ca5b3410SRobert Richter ranges; 10574e353e1SRameshwar Prasad Sahu dma-ranges = <0x0 0x0 0x0 0x0 0x400 0x0>; 106ca5b3410SRobert Richter 107ca5b3410SRobert Richter clocks { 108ca5b3410SRobert Richter #address-cells = <2>; 109ca5b3410SRobert Richter #size-cells = <2>; 110ca5b3410SRobert Richter ranges; 111ca5b3410SRobert Richter refclk: refclk { 112ca5b3410SRobert Richter compatible = "fixed-clock"; 113ca5b3410SRobert Richter #clock-cells = <1>; 114ca5b3410SRobert Richter clock-frequency = <100000000>; 115ca5b3410SRobert Richter clock-output-names = "refclk"; 116ca5b3410SRobert Richter }; 117ca5b3410SRobert Richter 118ca5b3410SRobert Richter pcppll: pcppll@17000100 { 119ca5b3410SRobert Richter compatible = "apm,xgene-pcppll-clock"; 120ca5b3410SRobert Richter #clock-cells = <1>; 121ca5b3410SRobert Richter clocks = <&refclk 0>; 122ca5b3410SRobert Richter clock-names = "pcppll"; 123ca5b3410SRobert Richter reg = <0x0 0x17000100 0x0 0x1000>; 124ca5b3410SRobert Richter clock-output-names = "pcppll"; 125ca5b3410SRobert Richter type = <0>; 126ca5b3410SRobert Richter }; 127ca5b3410SRobert Richter 128ca5b3410SRobert Richter socpll: socpll@17000120 { 129ca5b3410SRobert Richter compatible = "apm,xgene-socpll-clock"; 130ca5b3410SRobert Richter #clock-cells = <1>; 131ca5b3410SRobert Richter clocks = <&refclk 0>; 132ca5b3410SRobert Richter clock-names = "socpll"; 133ca5b3410SRobert Richter reg = <0x0 0x17000120 0x0 0x1000>; 134ca5b3410SRobert Richter clock-output-names = "socpll"; 135ca5b3410SRobert Richter type = <1>; 136ca5b3410SRobert Richter }; 137ca5b3410SRobert Richter 138ca5b3410SRobert Richter socplldiv2: socplldiv2 { 139ca5b3410SRobert Richter compatible = "fixed-factor-clock"; 140ca5b3410SRobert Richter #clock-cells = <1>; 141ca5b3410SRobert Richter clocks = <&socpll 0>; 142ca5b3410SRobert Richter clock-names = "socplldiv2"; 143ca5b3410SRobert Richter clock-mult = <1>; 144ca5b3410SRobert Richter clock-div = <2>; 145ca5b3410SRobert Richter clock-output-names = "socplldiv2"; 146ca5b3410SRobert Richter }; 147ca5b3410SRobert Richter 148ca5b3410SRobert Richter qmlclk: qmlclk { 149ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 150ca5b3410SRobert Richter #clock-cells = <1>; 151ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 152ca5b3410SRobert Richter clock-names = "qmlclk"; 153ca5b3410SRobert Richter reg = <0x0 0x1703C000 0x0 0x1000>; 154ca5b3410SRobert Richter reg-names = "csr-reg"; 155ca5b3410SRobert Richter clock-output-names = "qmlclk"; 156ca5b3410SRobert Richter }; 157ca5b3410SRobert Richter 158ca5b3410SRobert Richter ethclk: ethclk { 159ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 160ca5b3410SRobert Richter #clock-cells = <1>; 161ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 162ca5b3410SRobert Richter clock-names = "ethclk"; 163ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x1000>; 164ca5b3410SRobert Richter reg-names = "div-reg"; 165ca5b3410SRobert Richter divider-offset = <0x238>; 166ca5b3410SRobert Richter divider-width = <0x9>; 167ca5b3410SRobert Richter divider-shift = <0x0>; 168ca5b3410SRobert Richter clock-output-names = "ethclk"; 169ca5b3410SRobert Richter }; 170ca5b3410SRobert Richter 171ca5b3410SRobert Richter menetclk: menetclk { 172ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 173ca5b3410SRobert Richter #clock-cells = <1>; 174ca5b3410SRobert Richter clocks = <ðclk 0>; 175ca5b3410SRobert Richter reg = <0x0 0x1702C000 0x0 0x1000>; 176ca5b3410SRobert Richter reg-names = "csr-reg"; 177ca5b3410SRobert Richter clock-output-names = "menetclk"; 178ca5b3410SRobert Richter }; 179ca5b3410SRobert Richter 180ca5b3410SRobert Richter sge0clk: sge0clk@1f21c000 { 181ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 182ca5b3410SRobert Richter #clock-cells = <1>; 183ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 184ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 185ca5b3410SRobert Richter reg-names = "csr-reg"; 186ca5b3410SRobert Richter csr-mask = <0x3>; 187ca5b3410SRobert Richter clock-output-names = "sge0clk"; 188ca5b3410SRobert Richter }; 189ca5b3410SRobert Richter 1902d33394eSKeyur Chudgar sge1clk: sge1clk@1f21c000 { 1912d33394eSKeyur Chudgar compatible = "apm,xgene-device-clock"; 1922d33394eSKeyur Chudgar #clock-cells = <1>; 1932d33394eSKeyur Chudgar clocks = <&socplldiv2 0>; 1942d33394eSKeyur Chudgar reg = <0x0 0x1f21c000 0x0 0x1000>; 1952d33394eSKeyur Chudgar reg-names = "csr-reg"; 1962d33394eSKeyur Chudgar csr-mask = <0xc>; 1972d33394eSKeyur Chudgar clock-output-names = "sge1clk"; 1982d33394eSKeyur Chudgar }; 1992d33394eSKeyur Chudgar 200ca5b3410SRobert Richter xge0clk: xge0clk@1f61c000 { 201ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 202ca5b3410SRobert Richter #clock-cells = <1>; 203ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 204ca5b3410SRobert Richter reg = <0x0 0x1f61c000 0x0 0x1000>; 205ca5b3410SRobert Richter reg-names = "csr-reg"; 206ca5b3410SRobert Richter csr-mask = <0x3>; 207ca5b3410SRobert Richter clock-output-names = "xge0clk"; 208ca5b3410SRobert Richter }; 209ca5b3410SRobert Richter 210ca5b3410SRobert Richter sataphy1clk: sataphy1clk@1f21c000 { 211ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 212ca5b3410SRobert Richter #clock-cells = <1>; 213ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 214ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 215ca5b3410SRobert Richter reg-names = "csr-reg"; 216ca5b3410SRobert Richter clock-output-names = "sataphy1clk"; 217ca5b3410SRobert Richter status = "disabled"; 218ca5b3410SRobert Richter csr-offset = <0x4>; 219ca5b3410SRobert Richter csr-mask = <0x00>; 220ca5b3410SRobert Richter enable-offset = <0x0>; 221ca5b3410SRobert Richter enable-mask = <0x06>; 222ca5b3410SRobert Richter }; 223ca5b3410SRobert Richter 224ca5b3410SRobert Richter sataphy2clk: sataphy1clk@1f22c000 { 225ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 226ca5b3410SRobert Richter #clock-cells = <1>; 227ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 228ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 229ca5b3410SRobert Richter reg-names = "csr-reg"; 230ca5b3410SRobert Richter clock-output-names = "sataphy2clk"; 231ca5b3410SRobert Richter status = "ok"; 232ca5b3410SRobert Richter csr-offset = <0x4>; 233ca5b3410SRobert Richter csr-mask = <0x3a>; 234ca5b3410SRobert Richter enable-offset = <0x0>; 235ca5b3410SRobert Richter enable-mask = <0x06>; 236ca5b3410SRobert Richter }; 237ca5b3410SRobert Richter 238ca5b3410SRobert Richter sataphy3clk: sataphy1clk@1f23c000 { 239ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 240ca5b3410SRobert Richter #clock-cells = <1>; 241ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 242ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 243ca5b3410SRobert Richter reg-names = "csr-reg"; 244ca5b3410SRobert Richter clock-output-names = "sataphy3clk"; 245ca5b3410SRobert Richter status = "ok"; 246ca5b3410SRobert Richter csr-offset = <0x4>; 247ca5b3410SRobert Richter csr-mask = <0x3a>; 248ca5b3410SRobert Richter enable-offset = <0x0>; 249ca5b3410SRobert Richter enable-mask = <0x06>; 250ca5b3410SRobert Richter }; 251ca5b3410SRobert Richter 252ca5b3410SRobert Richter sata01clk: sata01clk@1f21c000 { 253ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 254ca5b3410SRobert Richter #clock-cells = <1>; 255ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 256ca5b3410SRobert Richter reg = <0x0 0x1f21c000 0x0 0x1000>; 257ca5b3410SRobert Richter reg-names = "csr-reg"; 258ca5b3410SRobert Richter clock-output-names = "sata01clk"; 259ca5b3410SRobert Richter csr-offset = <0x4>; 260ca5b3410SRobert Richter csr-mask = <0x05>; 261ca5b3410SRobert Richter enable-offset = <0x0>; 262ca5b3410SRobert Richter enable-mask = <0x39>; 263ca5b3410SRobert Richter }; 264ca5b3410SRobert Richter 265ca5b3410SRobert Richter sata23clk: sata23clk@1f22c000 { 266ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 267ca5b3410SRobert Richter #clock-cells = <1>; 268ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 269ca5b3410SRobert Richter reg = <0x0 0x1f22c000 0x0 0x1000>; 270ca5b3410SRobert Richter reg-names = "csr-reg"; 271ca5b3410SRobert Richter clock-output-names = "sata23clk"; 272ca5b3410SRobert Richter csr-offset = <0x4>; 273ca5b3410SRobert Richter csr-mask = <0x05>; 274ca5b3410SRobert Richter enable-offset = <0x0>; 275ca5b3410SRobert Richter enable-mask = <0x39>; 276ca5b3410SRobert Richter }; 277ca5b3410SRobert Richter 278ca5b3410SRobert Richter sata45clk: sata45clk@1f23c000 { 279ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 280ca5b3410SRobert Richter #clock-cells = <1>; 281ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 282ca5b3410SRobert Richter reg = <0x0 0x1f23c000 0x0 0x1000>; 283ca5b3410SRobert Richter reg-names = "csr-reg"; 284ca5b3410SRobert Richter clock-output-names = "sata45clk"; 285ca5b3410SRobert Richter csr-offset = <0x4>; 286ca5b3410SRobert Richter csr-mask = <0x05>; 287ca5b3410SRobert Richter enable-offset = <0x0>; 288ca5b3410SRobert Richter enable-mask = <0x39>; 289ca5b3410SRobert Richter }; 290ca5b3410SRobert Richter 291ca5b3410SRobert Richter rtcclk: rtcclk@17000000 { 292ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 293ca5b3410SRobert Richter #clock-cells = <1>; 294ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 295ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 296ca5b3410SRobert Richter reg-names = "csr-reg"; 297ca5b3410SRobert Richter csr-offset = <0xc>; 298ca5b3410SRobert Richter csr-mask = <0x2>; 299ca5b3410SRobert Richter enable-offset = <0x10>; 300ca5b3410SRobert Richter enable-mask = <0x2>; 301ca5b3410SRobert Richter clock-output-names = "rtcclk"; 302ca5b3410SRobert Richter }; 303ca5b3410SRobert Richter 304ca5b3410SRobert Richter rngpkaclk: rngpkaclk@17000000 { 305ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 306ca5b3410SRobert Richter #clock-cells = <1>; 307ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 308ca5b3410SRobert Richter reg = <0x0 0x17000000 0x0 0x2000>; 309ca5b3410SRobert Richter reg-names = "csr-reg"; 310ca5b3410SRobert Richter csr-offset = <0xc>; 311ca5b3410SRobert Richter csr-mask = <0x10>; 312ca5b3410SRobert Richter enable-offset = <0x10>; 313ca5b3410SRobert Richter enable-mask = <0x10>; 314ca5b3410SRobert Richter clock-output-names = "rngpkaclk"; 315ca5b3410SRobert Richter }; 316ca5b3410SRobert Richter 317ca5b3410SRobert Richter pcie0clk: pcie0clk@1f2bc000 { 318ca5b3410SRobert Richter status = "disabled"; 319ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 320ca5b3410SRobert Richter #clock-cells = <1>; 321ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 322ca5b3410SRobert Richter reg = <0x0 0x1f2bc000 0x0 0x1000>; 323ca5b3410SRobert Richter reg-names = "csr-reg"; 324ca5b3410SRobert Richter clock-output-names = "pcie0clk"; 325ca5b3410SRobert Richter }; 326ca5b3410SRobert Richter 327ca5b3410SRobert Richter pcie1clk: pcie1clk@1f2cc000 { 328ca5b3410SRobert Richter status = "disabled"; 329ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 330ca5b3410SRobert Richter #clock-cells = <1>; 331ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 332ca5b3410SRobert Richter reg = <0x0 0x1f2cc000 0x0 0x1000>; 333ca5b3410SRobert Richter reg-names = "csr-reg"; 334ca5b3410SRobert Richter clock-output-names = "pcie1clk"; 335ca5b3410SRobert Richter }; 336ca5b3410SRobert Richter 337ca5b3410SRobert Richter pcie2clk: pcie2clk@1f2dc000 { 338ca5b3410SRobert Richter status = "disabled"; 339ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 340ca5b3410SRobert Richter #clock-cells = <1>; 341ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 342ca5b3410SRobert Richter reg = <0x0 0x1f2dc000 0x0 0x1000>; 343ca5b3410SRobert Richter reg-names = "csr-reg"; 344ca5b3410SRobert Richter clock-output-names = "pcie2clk"; 345ca5b3410SRobert Richter }; 346ca5b3410SRobert Richter 347ca5b3410SRobert Richter pcie3clk: pcie3clk@1f50c000 { 348ca5b3410SRobert Richter status = "disabled"; 349ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 350ca5b3410SRobert Richter #clock-cells = <1>; 351ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 352ca5b3410SRobert Richter reg = <0x0 0x1f50c000 0x0 0x1000>; 353ca5b3410SRobert Richter reg-names = "csr-reg"; 354ca5b3410SRobert Richter clock-output-names = "pcie3clk"; 355ca5b3410SRobert Richter }; 356ca5b3410SRobert Richter 357ca5b3410SRobert Richter pcie4clk: pcie4clk@1f51c000 { 358ca5b3410SRobert Richter status = "disabled"; 359ca5b3410SRobert Richter compatible = "apm,xgene-device-clock"; 360ca5b3410SRobert Richter #clock-cells = <1>; 361ca5b3410SRobert Richter clocks = <&socplldiv2 0>; 362ca5b3410SRobert Richter reg = <0x0 0x1f51c000 0x0 0x1000>; 363ca5b3410SRobert Richter reg-names = "csr-reg"; 364ca5b3410SRobert Richter clock-output-names = "pcie4clk"; 365ca5b3410SRobert Richter }; 36674e353e1SRameshwar Prasad Sahu 36774e353e1SRameshwar Prasad Sahu dmaclk: dmaclk@1f27c000 { 36874e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-device-clock"; 36974e353e1SRameshwar Prasad Sahu #clock-cells = <1>; 37074e353e1SRameshwar Prasad Sahu clocks = <&socplldiv2 0>; 37174e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f27c000 0x0 0x1000>; 37274e353e1SRameshwar Prasad Sahu reg-names = "csr-reg"; 37374e353e1SRameshwar Prasad Sahu clock-output-names = "dmaclk"; 37474e353e1SRameshwar Prasad Sahu }; 375ca5b3410SRobert Richter }; 376ca5b3410SRobert Richter 377e1e6e5c4SDuc Dang msi: msi@79000000 { 378e1e6e5c4SDuc Dang compatible = "apm,xgene1-msi"; 379e1e6e5c4SDuc Dang msi-controller; 380e1e6e5c4SDuc Dang reg = <0x00 0x79000000 0x0 0x900000>; 381e1e6e5c4SDuc Dang interrupts = < 0x0 0x10 0x4 382e1e6e5c4SDuc Dang 0x0 0x11 0x4 383e1e6e5c4SDuc Dang 0x0 0x12 0x4 384e1e6e5c4SDuc Dang 0x0 0x13 0x4 385e1e6e5c4SDuc Dang 0x0 0x14 0x4 386e1e6e5c4SDuc Dang 0x0 0x15 0x4 387e1e6e5c4SDuc Dang 0x0 0x16 0x4 388e1e6e5c4SDuc Dang 0x0 0x17 0x4 389e1e6e5c4SDuc Dang 0x0 0x18 0x4 390e1e6e5c4SDuc Dang 0x0 0x19 0x4 391e1e6e5c4SDuc Dang 0x0 0x1a 0x4 392e1e6e5c4SDuc Dang 0x0 0x1b 0x4 393e1e6e5c4SDuc Dang 0x0 0x1c 0x4 394e1e6e5c4SDuc Dang 0x0 0x1d 0x4 395e1e6e5c4SDuc Dang 0x0 0x1e 0x4 396e1e6e5c4SDuc Dang 0x0 0x1f 0x4>; 397e1e6e5c4SDuc Dang }; 398e1e6e5c4SDuc Dang 399*5c3a87e3SFeng Kan scu: system-clk-controller@17000000 { 400*5c3a87e3SFeng Kan compatible = "apm,xgene-scu","syscon"; 401*5c3a87e3SFeng Kan reg = <0x0 0x17000000 0x0 0x400>; 402*5c3a87e3SFeng Kan }; 403*5c3a87e3SFeng Kan 404*5c3a87e3SFeng Kan reboot: reboot@17000014 { 405*5c3a87e3SFeng Kan compatible = "syscon-reboot"; 406*5c3a87e3SFeng Kan regmap = <&scu>; 407*5c3a87e3SFeng Kan offset = <0x14>; 408*5c3a87e3SFeng Kan mask = <0x1>; 409*5c3a87e3SFeng Kan }; 410*5c3a87e3SFeng Kan 4118f2ae6f3SLoc Ho csw: csw@7e200000 { 4128f2ae6f3SLoc Ho compatible = "apm,xgene-csw", "syscon"; 4138f2ae6f3SLoc Ho reg = <0x0 0x7e200000 0x0 0x1000>; 4148f2ae6f3SLoc Ho }; 4158f2ae6f3SLoc Ho 4168f2ae6f3SLoc Ho mcba: mcba@7e700000 { 4178f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 4188f2ae6f3SLoc Ho reg = <0x0 0x7e700000 0x0 0x1000>; 4198f2ae6f3SLoc Ho }; 4208f2ae6f3SLoc Ho 4218f2ae6f3SLoc Ho mcbb: mcbb@7e720000 { 4228f2ae6f3SLoc Ho compatible = "apm,xgene-mcb", "syscon"; 4238f2ae6f3SLoc Ho reg = <0x0 0x7e720000 0x0 0x1000>; 4248f2ae6f3SLoc Ho }; 4258f2ae6f3SLoc Ho 4268f2ae6f3SLoc Ho efuse: efuse@1054a000 { 4278f2ae6f3SLoc Ho compatible = "apm,xgene-efuse", "syscon"; 4288f2ae6f3SLoc Ho reg = <0x0 0x1054a000 0x0 0x20>; 4298f2ae6f3SLoc Ho }; 4308f2ae6f3SLoc Ho 4318f2ae6f3SLoc Ho edac@78800000 { 4328f2ae6f3SLoc Ho compatible = "apm,xgene-edac"; 4338f2ae6f3SLoc Ho #address-cells = <2>; 4348f2ae6f3SLoc Ho #size-cells = <2>; 4358f2ae6f3SLoc Ho ranges; 4368f2ae6f3SLoc Ho regmap-csw = <&csw>; 4378f2ae6f3SLoc Ho regmap-mcba = <&mcba>; 4388f2ae6f3SLoc Ho regmap-mcbb = <&mcbb>; 4398f2ae6f3SLoc Ho regmap-efuse = <&efuse>; 4408f2ae6f3SLoc Ho reg = <0x0 0x78800000 0x0 0x100>; 4418f2ae6f3SLoc Ho interrupts = <0x0 0x20 0x4>, 4428f2ae6f3SLoc Ho <0x0 0x21 0x4>, 4438f2ae6f3SLoc Ho <0x0 0x27 0x4>; 4448f2ae6f3SLoc Ho 4458f2ae6f3SLoc Ho edacmc@7e800000 { 4468f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4478f2ae6f3SLoc Ho reg = <0x0 0x7e800000 0x0 0x1000>; 4488f2ae6f3SLoc Ho memory-controller = <0>; 4498f2ae6f3SLoc Ho }; 4508f2ae6f3SLoc Ho 4518f2ae6f3SLoc Ho edacmc@7e840000 { 4528f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4538f2ae6f3SLoc Ho reg = <0x0 0x7e840000 0x0 0x1000>; 4548f2ae6f3SLoc Ho memory-controller = <1>; 4558f2ae6f3SLoc Ho }; 4568f2ae6f3SLoc Ho 4578f2ae6f3SLoc Ho edacmc@7e880000 { 4588f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4598f2ae6f3SLoc Ho reg = <0x0 0x7e880000 0x0 0x1000>; 4608f2ae6f3SLoc Ho memory-controller = <2>; 4618f2ae6f3SLoc Ho }; 4628f2ae6f3SLoc Ho 4638f2ae6f3SLoc Ho edacmc@7e8c0000 { 4648f2ae6f3SLoc Ho compatible = "apm,xgene-edac-mc"; 4658f2ae6f3SLoc Ho reg = <0x0 0x7e8c0000 0x0 0x1000>; 4668f2ae6f3SLoc Ho memory-controller = <3>; 4678f2ae6f3SLoc Ho }; 4688f2ae6f3SLoc Ho 4698f2ae6f3SLoc Ho edacpmd@7c000000 { 4708f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 4718f2ae6f3SLoc Ho reg = <0x0 0x7c000000 0x0 0x200000>; 4728f2ae6f3SLoc Ho pmd-controller = <0>; 4738f2ae6f3SLoc Ho }; 4748f2ae6f3SLoc Ho 4758f2ae6f3SLoc Ho edacpmd@7c200000 { 4768f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 4778f2ae6f3SLoc Ho reg = <0x0 0x7c200000 0x0 0x200000>; 4788f2ae6f3SLoc Ho pmd-controller = <1>; 4798f2ae6f3SLoc Ho }; 4808f2ae6f3SLoc Ho 4818f2ae6f3SLoc Ho edacpmd@7c400000 { 4828f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 4838f2ae6f3SLoc Ho reg = <0x0 0x7c400000 0x0 0x200000>; 4848f2ae6f3SLoc Ho pmd-controller = <2>; 4858f2ae6f3SLoc Ho }; 4868f2ae6f3SLoc Ho 4878f2ae6f3SLoc Ho edacpmd@7c600000 { 4888f2ae6f3SLoc Ho compatible = "apm,xgene-edac-pmd"; 4898f2ae6f3SLoc Ho reg = <0x0 0x7c600000 0x0 0x200000>; 4908f2ae6f3SLoc Ho pmd-controller = <3>; 4918f2ae6f3SLoc Ho }; 4928f2ae6f3SLoc Ho }; 4938f2ae6f3SLoc Ho 494ca5b3410SRobert Richter pcie0: pcie@1f2b0000 { 495ca5b3410SRobert Richter status = "disabled"; 496ca5b3410SRobert Richter device_type = "pci"; 497ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 498ca5b3410SRobert Richter #interrupt-cells = <1>; 499ca5b3410SRobert Richter #size-cells = <2>; 500ca5b3410SRobert Richter #address-cells = <3>; 501ca5b3410SRobert Richter reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ 502ca5b3410SRobert Richter 0xe0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 503ca5b3410SRobert Richter reg-names = "csr", "cfg"; 504ca5b3410SRobert Richter ranges = <0x01000000 0x00 0x00000000 0xe0 0x10000000 0x00 0x00010000 /* io */ 50580bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xe1 0x80000000 0x00 0x80000000 /* mem */ 50680bb3edaSDuc Dang 0x43000000 0xf0 0x00000000 0xf0 0x00000000 0x10 0x00000000>; /* mem */ 507ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 508ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 509ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 510ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1 511ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1 512ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1 513ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>; 514ca5b3410SRobert Richter dma-coherent; 515ca5b3410SRobert Richter clocks = <&pcie0clk 0>; 516e1e6e5c4SDuc Dang msi-parent = <&msi>; 517ca5b3410SRobert Richter }; 518ca5b3410SRobert Richter 519ca5b3410SRobert Richter pcie1: pcie@1f2c0000 { 520ca5b3410SRobert Richter status = "disabled"; 521ca5b3410SRobert Richter device_type = "pci"; 522ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 523ca5b3410SRobert Richter #interrupt-cells = <1>; 524ca5b3410SRobert Richter #size-cells = <2>; 525ca5b3410SRobert Richter #address-cells = <3>; 526ca5b3410SRobert Richter reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ 527ca5b3410SRobert Richter 0xd0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 528ca5b3410SRobert Richter reg-names = "csr", "cfg"; 52980bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xd0 0x10000000 0x00 0x00010000 /* io */ 53080bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xd1 0x80000000 0x00 0x80000000 /* mem */ 53180bb3edaSDuc Dang 0x43000000 0xd8 0x00000000 0xd8 0x00000000 0x08 0x00000000>; /* mem */ 532ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 533ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 534ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 535ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1 536ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1 537ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1 538ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>; 539ca5b3410SRobert Richter dma-coherent; 540ca5b3410SRobert Richter clocks = <&pcie1clk 0>; 541e1e6e5c4SDuc Dang msi-parent = <&msi>; 542ca5b3410SRobert Richter }; 543ca5b3410SRobert Richter 544ca5b3410SRobert Richter pcie2: pcie@1f2d0000 { 545ca5b3410SRobert Richter status = "disabled"; 546ca5b3410SRobert Richter device_type = "pci"; 547ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 548ca5b3410SRobert Richter #interrupt-cells = <1>; 549ca5b3410SRobert Richter #size-cells = <2>; 550ca5b3410SRobert Richter #address-cells = <3>; 551ca5b3410SRobert Richter reg = < 0x00 0x1f2d0000 0x0 0x00010000 /* Controller registers */ 552ca5b3410SRobert Richter 0x90 0xd0000000 0x0 0x00040000>; /* PCI config space */ 553ca5b3410SRobert Richter reg-names = "csr", "cfg"; 55480bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000 /* io */ 55580bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0x91 0x80000000 0x00 0x80000000 /* mem */ 55680bb3edaSDuc Dang 0x43000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>; /* mem */ 557ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 558ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 559ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 560ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1 561ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1 562ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1 563ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>; 564ca5b3410SRobert Richter dma-coherent; 565ca5b3410SRobert Richter clocks = <&pcie2clk 0>; 566e1e6e5c4SDuc Dang msi-parent = <&msi>; 567ca5b3410SRobert Richter }; 568ca5b3410SRobert Richter 569ca5b3410SRobert Richter pcie3: pcie@1f500000 { 570ca5b3410SRobert Richter status = "disabled"; 571ca5b3410SRobert Richter device_type = "pci"; 572ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 573ca5b3410SRobert Richter #interrupt-cells = <1>; 574ca5b3410SRobert Richter #size-cells = <2>; 575ca5b3410SRobert Richter #address-cells = <3>; 576ca5b3410SRobert Richter reg = < 0x00 0x1f500000 0x0 0x00010000 /* Controller registers */ 577ca5b3410SRobert Richter 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 578ca5b3410SRobert Richter reg-names = "csr", "cfg"; 57980bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000 /* io */ 58080bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xa1 0x80000000 0x00 0x80000000 /* mem */ 58180bb3edaSDuc Dang 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */ 582ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 583ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 584ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 585ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1 586ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1 587ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1 588ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>; 589ca5b3410SRobert Richter dma-coherent; 590ca5b3410SRobert Richter clocks = <&pcie3clk 0>; 591e1e6e5c4SDuc Dang msi-parent = <&msi>; 592ca5b3410SRobert Richter }; 593ca5b3410SRobert Richter 594ca5b3410SRobert Richter pcie4: pcie@1f510000 { 595ca5b3410SRobert Richter status = "disabled"; 596ca5b3410SRobert Richter device_type = "pci"; 597ca5b3410SRobert Richter compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie"; 598ca5b3410SRobert Richter #interrupt-cells = <1>; 599ca5b3410SRobert Richter #size-cells = <2>; 600ca5b3410SRobert Richter #address-cells = <3>; 601ca5b3410SRobert Richter reg = < 0x00 0x1f510000 0x0 0x00010000 /* Controller registers */ 602ca5b3410SRobert Richter 0xc0 0xd0000000 0x0 0x00200000>; /* PCI config space */ 603ca5b3410SRobert Richter reg-names = "csr", "cfg"; 60480bb3edaSDuc Dang ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000 /* io */ 60580bb3edaSDuc Dang 0x02000000 0x00 0x80000000 0xc1 0x80000000 0x00 0x80000000 /* mem */ 60680bb3edaSDuc Dang 0x43000000 0xc8 0x00000000 0xc8 0x00000000 0x08 0x00000000>; /* mem */ 607ca5b3410SRobert Richter dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 608ca5b3410SRobert Richter 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 609ca5b3410SRobert Richter interrupt-map-mask = <0x0 0x0 0x0 0x7>; 610ca5b3410SRobert Richter interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1 611ca5b3410SRobert Richter 0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1 612ca5b3410SRobert Richter 0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1 613ca5b3410SRobert Richter 0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>; 614ca5b3410SRobert Richter dma-coherent; 615ca5b3410SRobert Richter clocks = <&pcie4clk 0>; 616e1e6e5c4SDuc Dang msi-parent = <&msi>; 617ca5b3410SRobert Richter }; 618ca5b3410SRobert Richter 619ca5b3410SRobert Richter serial0: serial@1c020000 { 620ca5b3410SRobert Richter status = "disabled"; 621ca5b3410SRobert Richter device_type = "serial"; 622ca5b3410SRobert Richter compatible = "ns16550a"; 623ca5b3410SRobert Richter reg = <0 0x1c020000 0x0 0x1000>; 624ca5b3410SRobert Richter reg-shift = <2>; 625ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 626ca5b3410SRobert Richter interrupt-parent = <&gic>; 627ca5b3410SRobert Richter interrupts = <0x0 0x4c 0x4>; 628ca5b3410SRobert Richter }; 629ca5b3410SRobert Richter 630ca5b3410SRobert Richter serial1: serial@1c021000 { 631ca5b3410SRobert Richter status = "disabled"; 632ca5b3410SRobert Richter device_type = "serial"; 633ca5b3410SRobert Richter compatible = "ns16550a"; 634ca5b3410SRobert Richter reg = <0 0x1c021000 0x0 0x1000>; 635ca5b3410SRobert Richter reg-shift = <2>; 636ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 637ca5b3410SRobert Richter interrupt-parent = <&gic>; 638ca5b3410SRobert Richter interrupts = <0x0 0x4d 0x4>; 639ca5b3410SRobert Richter }; 640ca5b3410SRobert Richter 641ca5b3410SRobert Richter serial2: serial@1c022000 { 642ca5b3410SRobert Richter status = "disabled"; 643ca5b3410SRobert Richter device_type = "serial"; 644ca5b3410SRobert Richter compatible = "ns16550a"; 645ca5b3410SRobert Richter reg = <0 0x1c022000 0x0 0x1000>; 646ca5b3410SRobert Richter reg-shift = <2>; 647ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 648ca5b3410SRobert Richter interrupt-parent = <&gic>; 649ca5b3410SRobert Richter interrupts = <0x0 0x4e 0x4>; 650ca5b3410SRobert Richter }; 651ca5b3410SRobert Richter 652ca5b3410SRobert Richter serial3: serial@1c023000 { 653ca5b3410SRobert Richter status = "disabled"; 654ca5b3410SRobert Richter device_type = "serial"; 655ca5b3410SRobert Richter compatible = "ns16550a"; 656ca5b3410SRobert Richter reg = <0 0x1c023000 0x0 0x1000>; 657ca5b3410SRobert Richter reg-shift = <2>; 658ca5b3410SRobert Richter clock-frequency = <10000000>; /* Updated by bootloader */ 659ca5b3410SRobert Richter interrupt-parent = <&gic>; 660ca5b3410SRobert Richter interrupts = <0x0 0x4f 0x4>; 661ca5b3410SRobert Richter }; 662ca5b3410SRobert Richter 663ca5b3410SRobert Richter phy1: phy@1f21a000 { 664ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 665ca5b3410SRobert Richter reg = <0x0 0x1f21a000 0x0 0x100>; 666ca5b3410SRobert Richter #phy-cells = <1>; 667ca5b3410SRobert Richter clocks = <&sataphy1clk 0>; 668ca5b3410SRobert Richter status = "disabled"; 669ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 670ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 671ca5b3410SRobert Richter }; 672ca5b3410SRobert Richter 673ca5b3410SRobert Richter phy2: phy@1f22a000 { 674ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 675ca5b3410SRobert Richter reg = <0x0 0x1f22a000 0x0 0x100>; 676ca5b3410SRobert Richter #phy-cells = <1>; 677ca5b3410SRobert Richter clocks = <&sataphy2clk 0>; 678ca5b3410SRobert Richter status = "ok"; 679ca5b3410SRobert Richter apm,tx-boost-gain = <30 30 30 30 30 30>; 680ca5b3410SRobert Richter apm,tx-eye-tuning = <1 10 10 2 10 10>; 681ca5b3410SRobert Richter }; 682ca5b3410SRobert Richter 683ca5b3410SRobert Richter phy3: phy@1f23a000 { 684ca5b3410SRobert Richter compatible = "apm,xgene-phy"; 685ca5b3410SRobert Richter reg = <0x0 0x1f23a000 0x0 0x100>; 686ca5b3410SRobert Richter #phy-cells = <1>; 687ca5b3410SRobert Richter clocks = <&sataphy3clk 0>; 688ca5b3410SRobert Richter status = "ok"; 689ca5b3410SRobert Richter apm,tx-boost-gain = <31 31 31 31 31 31>; 690ca5b3410SRobert Richter apm,tx-eye-tuning = <2 10 10 2 10 10>; 691ca5b3410SRobert Richter }; 692ca5b3410SRobert Richter 693ca5b3410SRobert Richter sata1: sata@1a000000 { 694ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 695ca5b3410SRobert Richter reg = <0x0 0x1a000000 0x0 0x1000>, 696ca5b3410SRobert Richter <0x0 0x1f210000 0x0 0x1000>, 697ca5b3410SRobert Richter <0x0 0x1f21d000 0x0 0x1000>, 698ca5b3410SRobert Richter <0x0 0x1f21e000 0x0 0x1000>, 699ca5b3410SRobert Richter <0x0 0x1f217000 0x0 0x1000>; 700ca5b3410SRobert Richter interrupts = <0x0 0x86 0x4>; 701ca5b3410SRobert Richter dma-coherent; 702ca5b3410SRobert Richter status = "disabled"; 703ca5b3410SRobert Richter clocks = <&sata01clk 0>; 704ca5b3410SRobert Richter phys = <&phy1 0>; 705ca5b3410SRobert Richter phy-names = "sata-phy"; 706ca5b3410SRobert Richter }; 707ca5b3410SRobert Richter 708ca5b3410SRobert Richter sata2: sata@1a400000 { 709ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 710ca5b3410SRobert Richter reg = <0x0 0x1a400000 0x0 0x1000>, 711ca5b3410SRobert Richter <0x0 0x1f220000 0x0 0x1000>, 712ca5b3410SRobert Richter <0x0 0x1f22d000 0x0 0x1000>, 713ca5b3410SRobert Richter <0x0 0x1f22e000 0x0 0x1000>, 714ca5b3410SRobert Richter <0x0 0x1f227000 0x0 0x1000>; 715ca5b3410SRobert Richter interrupts = <0x0 0x87 0x4>; 716ca5b3410SRobert Richter dma-coherent; 717ca5b3410SRobert Richter status = "ok"; 718ca5b3410SRobert Richter clocks = <&sata23clk 0>; 719ca5b3410SRobert Richter phys = <&phy2 0>; 720ca5b3410SRobert Richter phy-names = "sata-phy"; 721ca5b3410SRobert Richter }; 722ca5b3410SRobert Richter 723ca5b3410SRobert Richter sata3: sata@1a800000 { 724ca5b3410SRobert Richter compatible = "apm,xgene-ahci"; 725ca5b3410SRobert Richter reg = <0x0 0x1a800000 0x0 0x1000>, 726ca5b3410SRobert Richter <0x0 0x1f230000 0x0 0x1000>, 727ca5b3410SRobert Richter <0x0 0x1f23d000 0x0 0x1000>, 728ca5b3410SRobert Richter <0x0 0x1f23e000 0x0 0x1000>; 729ca5b3410SRobert Richter interrupts = <0x0 0x88 0x4>; 730ca5b3410SRobert Richter dma-coherent; 731ca5b3410SRobert Richter status = "ok"; 732ca5b3410SRobert Richter clocks = <&sata45clk 0>; 733ca5b3410SRobert Richter phys = <&phy3 0>; 734ca5b3410SRobert Richter phy-names = "sata-phy"; 735ca5b3410SRobert Richter }; 736ca5b3410SRobert Richter 737ea21feb3SY Vo sbgpio: sbgpio@17001000{ 738ea21feb3SY Vo compatible = "apm,xgene-gpio-sb"; 739ea21feb3SY Vo reg = <0x0 0x17001000 0x0 0x400>; 740ea21feb3SY Vo #gpio-cells = <2>; 741ea21feb3SY Vo gpio-controller; 742ea21feb3SY Vo interrupts = <0x0 0x28 0x1>, 743ea21feb3SY Vo <0x0 0x29 0x1>, 744ea21feb3SY Vo <0x0 0x2a 0x1>, 745ea21feb3SY Vo <0x0 0x2b 0x1>, 746ea21feb3SY Vo <0x0 0x2c 0x1>, 747ea21feb3SY Vo <0x0 0x2d 0x1>; 748ea21feb3SY Vo }; 749ea21feb3SY Vo 750ca5b3410SRobert Richter rtc: rtc@10510000 { 751ca5b3410SRobert Richter compatible = "apm,xgene-rtc"; 752ca5b3410SRobert Richter reg = <0x0 0x10510000 0x0 0x400>; 753ca5b3410SRobert Richter interrupts = <0x0 0x46 0x4>; 754ca5b3410SRobert Richter #clock-cells = <1>; 755ca5b3410SRobert Richter clocks = <&rtcclk 0>; 756ca5b3410SRobert Richter }; 757ca5b3410SRobert Richter 758ca5b3410SRobert Richter menet: ethernet@17020000 { 759ca5b3410SRobert Richter compatible = "apm,xgene-enet"; 760ca5b3410SRobert Richter status = "disabled"; 761ca5b3410SRobert Richter reg = <0x0 0x17020000 0x0 0xd100>, 7626c9e9247SLinus Torvalds <0x0 0X17030000 0x0 0Xc300>, 763ca5b3410SRobert Richter <0x0 0X10000000 0x0 0X200>; 764ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 765ca5b3410SRobert Richter interrupts = <0x0 0x3c 0x4>; 766ca5b3410SRobert Richter dma-coherent; 767ca5b3410SRobert Richter clocks = <&menetclk 0>; 768ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 769ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 770ca5b3410SRobert Richter phy-connection-type = "rgmii"; 771ca5b3410SRobert Richter phy-handle = <&menetphy>; 772ca5b3410SRobert Richter mdio { 773ca5b3410SRobert Richter compatible = "apm,xgene-mdio"; 774ca5b3410SRobert Richter #address-cells = <1>; 775ca5b3410SRobert Richter #size-cells = <0>; 776ca5b3410SRobert Richter menetphy: menetphy@3 { 777ca5b3410SRobert Richter compatible = "ethernet-phy-id001c.c915"; 778ca5b3410SRobert Richter reg = <0x3>; 779ca5b3410SRobert Richter }; 780ca5b3410SRobert Richter 781ca5b3410SRobert Richter }; 782ca5b3410SRobert Richter }; 783ca5b3410SRobert Richter 784ca5b3410SRobert Richter sgenet0: ethernet@1f210000 { 7852a91eb72SIyappan Subramanian compatible = "apm,xgene1-sgenet"; 786ca5b3410SRobert Richter status = "disabled"; 7876c9e9247SLinus Torvalds reg = <0x0 0x1f210000 0x0 0xd100>, 7886c9e9247SLinus Torvalds <0x0 0x1f200000 0x0 0Xc300>, 7896c9e9247SLinus Torvalds <0x0 0x1B000000 0x0 0X200>; 790ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 791d3134649SIyappan Subramanian interrupts = <0x0 0xA0 0x4>, 792d3134649SIyappan Subramanian <0x0 0xA1 0x4>; 793ca5b3410SRobert Richter dma-coherent; 794ca5b3410SRobert Richter clocks = <&sge0clk 0>; 795ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 796ca5b3410SRobert Richter phy-connection-type = "sgmii"; 797ca5b3410SRobert Richter }; 798ca5b3410SRobert Richter 7992d33394eSKeyur Chudgar sgenet1: ethernet@1f210030 { 8002d33394eSKeyur Chudgar compatible = "apm,xgene1-sgenet"; 8012d33394eSKeyur Chudgar status = "disabled"; 8022d33394eSKeyur Chudgar reg = <0x0 0x1f210030 0x0 0xd100>, 8032d33394eSKeyur Chudgar <0x0 0x1f200000 0x0 0Xc300>, 8042d33394eSKeyur Chudgar <0x0 0x1B000000 0x0 0X8000>; 8052d33394eSKeyur Chudgar reg-names = "enet_csr", "ring_csr", "ring_cmd"; 806d3134649SIyappan Subramanian interrupts = <0x0 0xAC 0x4>, 807d3134649SIyappan Subramanian <0x0 0xAD 0x4>; 8082d33394eSKeyur Chudgar port-id = <1>; 8092d33394eSKeyur Chudgar dma-coherent; 8102d33394eSKeyur Chudgar clocks = <&sge1clk 0>; 8112d33394eSKeyur Chudgar local-mac-address = [00 00 00 00 00 00]; 8122d33394eSKeyur Chudgar phy-connection-type = "sgmii"; 8132d33394eSKeyur Chudgar }; 8142d33394eSKeyur Chudgar 815ca5b3410SRobert Richter xgenet: ethernet@1f610000 { 8162a91eb72SIyappan Subramanian compatible = "apm,xgene1-xgenet"; 817ca5b3410SRobert Richter status = "disabled"; 818ca5b3410SRobert Richter reg = <0x0 0x1f610000 0x0 0xd100>, 8196c9e9247SLinus Torvalds <0x0 0x1f600000 0x0 0Xc300>, 820ca5b3410SRobert Richter <0x0 0x18000000 0x0 0X200>; 821ca5b3410SRobert Richter reg-names = "enet_csr", "ring_csr", "ring_cmd"; 822d3134649SIyappan Subramanian interrupts = <0x0 0x60 0x4>, 823d3134649SIyappan Subramanian <0x0 0x61 0x4>; 824ca5b3410SRobert Richter dma-coherent; 825ca5b3410SRobert Richter clocks = <&xge0clk 0>; 826ca5b3410SRobert Richter /* mac address will be overwritten by the bootloader */ 827ca5b3410SRobert Richter local-mac-address = [00 00 00 00 00 00]; 828ca5b3410SRobert Richter phy-connection-type = "xgmii"; 829ca5b3410SRobert Richter }; 830ca5b3410SRobert Richter 831ca5b3410SRobert Richter rng: rng@10520000 { 832ca5b3410SRobert Richter compatible = "apm,xgene-rng"; 833ca5b3410SRobert Richter reg = <0x0 0x10520000 0x0 0x100>; 834ca5b3410SRobert Richter interrupts = <0x0 0x41 0x4>; 835ca5b3410SRobert Richter clocks = <&rngpkaclk 0>; 836ca5b3410SRobert Richter }; 83774e353e1SRameshwar Prasad Sahu 83874e353e1SRameshwar Prasad Sahu dma: dma@1f270000 { 83974e353e1SRameshwar Prasad Sahu compatible = "apm,xgene-storm-dma"; 84074e353e1SRameshwar Prasad Sahu device_type = "dma"; 84174e353e1SRameshwar Prasad Sahu reg = <0x0 0x1f270000 0x0 0x10000>, 84274e353e1SRameshwar Prasad Sahu <0x0 0x1f200000 0x0 0x10000>, 843cda8e937SRameshwar Prasad Sahu <0x0 0x1b000000 0x0 0x400000>, 84474e353e1SRameshwar Prasad Sahu <0x0 0x1054a000 0x0 0x100>; 84574e353e1SRameshwar Prasad Sahu interrupts = <0x0 0x82 0x4>, 84674e353e1SRameshwar Prasad Sahu <0x0 0xb8 0x4>, 84774e353e1SRameshwar Prasad Sahu <0x0 0xb9 0x4>, 84874e353e1SRameshwar Prasad Sahu <0x0 0xba 0x4>, 84974e353e1SRameshwar Prasad Sahu <0x0 0xbb 0x4>; 85074e353e1SRameshwar Prasad Sahu dma-coherent; 85174e353e1SRameshwar Prasad Sahu clocks = <&dmaclk 0>; 85274e353e1SRameshwar Prasad Sahu }; 853ca5b3410SRobert Richter }; 854ca5b3410SRobert Richter}; 855