1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * dts file for AppliedMicro (APM) X-Gene Shadowcat SOC 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Copyright (C) 2015, Applied Micro Circuits Corporation 6c66ec88fSEmmanuel Vadot */ 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadot/ { 9c66ec88fSEmmanuel Vadot compatible = "apm,xgene-shadowcat"; 10c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 11c66ec88fSEmmanuel Vadot #address-cells = <2>; 12c66ec88fSEmmanuel Vadot #size-cells = <2>; 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot cpus { 15c66ec88fSEmmanuel Vadot #address-cells = <2>; 16c66ec88fSEmmanuel Vadot #size-cells = <0>; 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadot cpu@0 { 19c66ec88fSEmmanuel Vadot device_type = "cpu"; 20c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 21c66ec88fSEmmanuel Vadot reg = <0x0 0x000>; 22c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 23c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 24c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_0>; 25c66ec88fSEmmanuel Vadot #clock-cells = <1>; 26c66ec88fSEmmanuel Vadot clocks = <&pmd0clk 0>; 27c66ec88fSEmmanuel Vadot }; 28c66ec88fSEmmanuel Vadot cpu@1 { 29c66ec88fSEmmanuel Vadot device_type = "cpu"; 30c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 31c66ec88fSEmmanuel Vadot reg = <0x0 0x001>; 32c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 33c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 34c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_0>; 35c66ec88fSEmmanuel Vadot #clock-cells = <1>; 36c66ec88fSEmmanuel Vadot clocks = <&pmd0clk 0>; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot cpu@100 { 39c66ec88fSEmmanuel Vadot device_type = "cpu"; 40c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 41c66ec88fSEmmanuel Vadot reg = <0x0 0x100>; 42c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 43c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 44c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_1>; 45c66ec88fSEmmanuel Vadot #clock-cells = <1>; 46c66ec88fSEmmanuel Vadot clocks = <&pmd1clk 0>; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot cpu@101 { 49c66ec88fSEmmanuel Vadot device_type = "cpu"; 50c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 51c66ec88fSEmmanuel Vadot reg = <0x0 0x101>; 52c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 53c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 54c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_1>; 55c66ec88fSEmmanuel Vadot #clock-cells = <1>; 56c66ec88fSEmmanuel Vadot clocks = <&pmd1clk 0>; 57c66ec88fSEmmanuel Vadot }; 58c66ec88fSEmmanuel Vadot cpu@200 { 59c66ec88fSEmmanuel Vadot device_type = "cpu"; 60c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 61c66ec88fSEmmanuel Vadot reg = <0x0 0x200>; 62c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 63c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 64c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_2>; 65c66ec88fSEmmanuel Vadot #clock-cells = <1>; 66c66ec88fSEmmanuel Vadot clocks = <&pmd2clk 0>; 67c66ec88fSEmmanuel Vadot }; 68c66ec88fSEmmanuel Vadot cpu@201 { 69c66ec88fSEmmanuel Vadot device_type = "cpu"; 70c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 71c66ec88fSEmmanuel Vadot reg = <0x0 0x201>; 72c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 73c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 74c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_2>; 75c66ec88fSEmmanuel Vadot #clock-cells = <1>; 76c66ec88fSEmmanuel Vadot clocks = <&pmd2clk 0>; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot cpu@300 { 79c66ec88fSEmmanuel Vadot device_type = "cpu"; 80c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 81c66ec88fSEmmanuel Vadot reg = <0x0 0x300>; 82c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 83c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 84c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_3>; 85c66ec88fSEmmanuel Vadot #clock-cells = <1>; 86c66ec88fSEmmanuel Vadot clocks = <&pmd3clk 0>; 87c66ec88fSEmmanuel Vadot }; 88c66ec88fSEmmanuel Vadot cpu@301 { 89c66ec88fSEmmanuel Vadot device_type = "cpu"; 90c66ec88fSEmmanuel Vadot compatible = "apm,strega"; 91c66ec88fSEmmanuel Vadot reg = <0x0 0x301>; 92c66ec88fSEmmanuel Vadot enable-method = "spin-table"; 93c66ec88fSEmmanuel Vadot cpu-release-addr = <0x1 0x0000fff8>; 94c66ec88fSEmmanuel Vadot next-level-cache = <&xgene_L2_3>; 95c66ec88fSEmmanuel Vadot #clock-cells = <1>; 96c66ec88fSEmmanuel Vadot clocks = <&pmd3clk 0>; 97c66ec88fSEmmanuel Vadot }; 98c66ec88fSEmmanuel Vadot xgene_L2_0: l2-cache-0 { 99c66ec88fSEmmanuel Vadot compatible = "cache"; 100f126890aSEmmanuel Vadot cache-level = <2>; 101f126890aSEmmanuel Vadot cache-unified; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot xgene_L2_1: l2-cache-1 { 104c66ec88fSEmmanuel Vadot compatible = "cache"; 105f126890aSEmmanuel Vadot cache-level = <2>; 106f126890aSEmmanuel Vadot cache-unified; 107c66ec88fSEmmanuel Vadot }; 108c66ec88fSEmmanuel Vadot xgene_L2_2: l2-cache-2 { 109c66ec88fSEmmanuel Vadot compatible = "cache"; 110f126890aSEmmanuel Vadot cache-level = <2>; 111f126890aSEmmanuel Vadot cache-unified; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot xgene_L2_3: l2-cache-3 { 114c66ec88fSEmmanuel Vadot compatible = "cache"; 115f126890aSEmmanuel Vadot cache-level = <2>; 116f126890aSEmmanuel Vadot cache-unified; 117c66ec88fSEmmanuel Vadot }; 118c66ec88fSEmmanuel Vadot }; 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot gic: interrupt-controller@78090000 { 121c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a15-gic"; 122c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 123c66ec88fSEmmanuel Vadot #address-cells = <2>; 124c66ec88fSEmmanuel Vadot #size-cells = <2>; 125c66ec88fSEmmanuel Vadot interrupt-controller; 126c66ec88fSEmmanuel Vadot interrupts = <1 9 0xf04>; /* GIC Maintenence IRQ */ 127c66ec88fSEmmanuel Vadot ranges = <0 0 0 0x79000000 0x0 0x800000>; /* MSI Range */ 128c66ec88fSEmmanuel Vadot reg = <0x0 0x78090000 0x0 0x10000>, /* GIC Dist */ 129c66ec88fSEmmanuel Vadot <0x0 0x780a0000 0x0 0x20000>, /* GIC CPU */ 130c66ec88fSEmmanuel Vadot <0x0 0x780c0000 0x0 0x10000>, /* GIC VCPU Control */ 131c66ec88fSEmmanuel Vadot <0x0 0x780e0000 0x0 0x20000>; /* GIC VCPU */ 132c66ec88fSEmmanuel Vadot v2m0: v2m@0 { 133c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 134c66ec88fSEmmanuel Vadot msi-controller; 135c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x1000>; 136c66ec88fSEmmanuel Vadot }; 137c66ec88fSEmmanuel Vadot v2m1: v2m@10000 { 138c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 139c66ec88fSEmmanuel Vadot msi-controller; 140c66ec88fSEmmanuel Vadot reg = <0x0 0x10000 0x0 0x1000>; 141c66ec88fSEmmanuel Vadot }; 142c66ec88fSEmmanuel Vadot v2m2: v2m@20000 { 143c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 144c66ec88fSEmmanuel Vadot msi-controller; 145c66ec88fSEmmanuel Vadot reg = <0x0 0x20000 0x0 0x1000>; 146c66ec88fSEmmanuel Vadot }; 147c66ec88fSEmmanuel Vadot v2m3: v2m@30000 { 148c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 149c66ec88fSEmmanuel Vadot msi-controller; 150c66ec88fSEmmanuel Vadot reg = <0x0 0x30000 0x0 0x1000>; 151c66ec88fSEmmanuel Vadot }; 152c66ec88fSEmmanuel Vadot v2m4: v2m@40000 { 153c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 154c66ec88fSEmmanuel Vadot msi-controller; 155c66ec88fSEmmanuel Vadot reg = <0x0 0x40000 0x0 0x1000>; 156c66ec88fSEmmanuel Vadot }; 157c66ec88fSEmmanuel Vadot v2m5: v2m@50000 { 158c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 159c66ec88fSEmmanuel Vadot msi-controller; 160c66ec88fSEmmanuel Vadot reg = <0x0 0x50000 0x0 0x1000>; 161c66ec88fSEmmanuel Vadot }; 162c66ec88fSEmmanuel Vadot v2m6: v2m@60000 { 163c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 164c66ec88fSEmmanuel Vadot msi-controller; 165c66ec88fSEmmanuel Vadot reg = <0x0 0x60000 0x0 0x1000>; 166c66ec88fSEmmanuel Vadot }; 167c66ec88fSEmmanuel Vadot v2m7: v2m@70000 { 168c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 169c66ec88fSEmmanuel Vadot msi-controller; 170c66ec88fSEmmanuel Vadot reg = <0x0 0x70000 0x0 0x1000>; 171c66ec88fSEmmanuel Vadot }; 172c66ec88fSEmmanuel Vadot v2m8: v2m@80000 { 173c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 174c66ec88fSEmmanuel Vadot msi-controller; 175c66ec88fSEmmanuel Vadot reg = <0x0 0x80000 0x0 0x1000>; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot v2m9: v2m@90000 { 178c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 179c66ec88fSEmmanuel Vadot msi-controller; 180c66ec88fSEmmanuel Vadot reg = <0x0 0x90000 0x0 0x1000>; 181c66ec88fSEmmanuel Vadot }; 182c66ec88fSEmmanuel Vadot v2m10: v2m@a0000 { 183c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 184c66ec88fSEmmanuel Vadot msi-controller; 185c66ec88fSEmmanuel Vadot reg = <0x0 0xa0000 0x0 0x1000>; 186c66ec88fSEmmanuel Vadot }; 187c66ec88fSEmmanuel Vadot v2m11: v2m@b0000 { 188c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 189c66ec88fSEmmanuel Vadot msi-controller; 190c66ec88fSEmmanuel Vadot reg = <0x0 0xb0000 0x0 0x1000>; 191c66ec88fSEmmanuel Vadot }; 192c66ec88fSEmmanuel Vadot v2m12: v2m@c0000 { 193c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 194c66ec88fSEmmanuel Vadot msi-controller; 195c66ec88fSEmmanuel Vadot reg = <0x0 0xc0000 0x0 0x1000>; 196c66ec88fSEmmanuel Vadot }; 197c66ec88fSEmmanuel Vadot v2m13: v2m@d0000 { 198c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 199c66ec88fSEmmanuel Vadot msi-controller; 200c66ec88fSEmmanuel Vadot reg = <0x0 0xd0000 0x0 0x1000>; 201c66ec88fSEmmanuel Vadot }; 202c66ec88fSEmmanuel Vadot v2m14: v2m@e0000 { 203c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 204c66ec88fSEmmanuel Vadot msi-controller; 205c66ec88fSEmmanuel Vadot reg = <0x0 0xe0000 0x0 0x1000>; 206c66ec88fSEmmanuel Vadot }; 207c66ec88fSEmmanuel Vadot v2m15: v2m@f0000 { 208c66ec88fSEmmanuel Vadot compatible = "arm,gic-v2m-frame"; 209c66ec88fSEmmanuel Vadot msi-controller; 210c66ec88fSEmmanuel Vadot reg = <0x0 0xf0000 0x0 0x1000>; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot }; 213c66ec88fSEmmanuel Vadot 214*7d0873ebSEmmanuel Vadot refclk: refclk { 215*7d0873ebSEmmanuel Vadot compatible = "fixed-clock"; 216*7d0873ebSEmmanuel Vadot #clock-cells = <1>; 217*7d0873ebSEmmanuel Vadot clock-frequency = <100000000>; 218*7d0873ebSEmmanuel Vadot clock-output-names = "refclk"; 219*7d0873ebSEmmanuel Vadot }; 220*7d0873ebSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot pmu { 222c66ec88fSEmmanuel Vadot compatible = "arm,armv8-pmuv3"; 223c66ec88fSEmmanuel Vadot interrupts = <1 12 0xff04>; 224c66ec88fSEmmanuel Vadot }; 225c66ec88fSEmmanuel Vadot 226c66ec88fSEmmanuel Vadot timer { 227c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 228c66ec88fSEmmanuel Vadot interrupts = <1 0 0xff08>, /* Secure Phys IRQ */ 229c66ec88fSEmmanuel Vadot <1 13 0xff08>, /* Non-secure Phys IRQ */ 230c66ec88fSEmmanuel Vadot <1 14 0xff08>, /* Virt IRQ */ 231c66ec88fSEmmanuel Vadot <1 15 0xff08>; /* Hyp IRQ */ 232c66ec88fSEmmanuel Vadot clock-frequency = <50000000>; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot soc { 236c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 237c66ec88fSEmmanuel Vadot #address-cells = <2>; 238c66ec88fSEmmanuel Vadot #size-cells = <2>; 239c66ec88fSEmmanuel Vadot ranges; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot clocks { 242c66ec88fSEmmanuel Vadot #address-cells = <2>; 243c66ec88fSEmmanuel Vadot #size-cells = <2>; 244c66ec88fSEmmanuel Vadot ranges; 245c66ec88fSEmmanuel Vadot 246c66ec88fSEmmanuel Vadot pmdpll: pmdpll@170000f0 { 247c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pcppll-v2-clock"; 248c66ec88fSEmmanuel Vadot #clock-cells = <1>; 249c66ec88fSEmmanuel Vadot clocks = <&refclk 0>; 250c66ec88fSEmmanuel Vadot reg = <0x0 0x170000f0 0x0 0x10>; 251c66ec88fSEmmanuel Vadot clock-output-names = "pmdpll"; 252c66ec88fSEmmanuel Vadot }; 253c66ec88fSEmmanuel Vadot 254c66ec88fSEmmanuel Vadot pmd0clk: pmd0clk@7e200200 { 255c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmd-clock"; 256c66ec88fSEmmanuel Vadot #clock-cells = <1>; 257c66ec88fSEmmanuel Vadot clocks = <&pmdpll 0>; 258c66ec88fSEmmanuel Vadot reg = <0x0 0x7e200200 0x0 0x10>; 259c66ec88fSEmmanuel Vadot clock-output-names = "pmd0clk"; 260c66ec88fSEmmanuel Vadot }; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot pmd1clk: pmd1clk@7e200210 { 263c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmd-clock"; 264c66ec88fSEmmanuel Vadot #clock-cells = <1>; 265c66ec88fSEmmanuel Vadot clocks = <&pmdpll 0>; 266c66ec88fSEmmanuel Vadot reg = <0x0 0x7e200210 0x0 0x10>; 267c66ec88fSEmmanuel Vadot clock-output-names = "pmd1clk"; 268c66ec88fSEmmanuel Vadot }; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot pmd2clk: pmd2clk@7e200220 { 271c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmd-clock"; 272c66ec88fSEmmanuel Vadot #clock-cells = <1>; 273c66ec88fSEmmanuel Vadot clocks = <&pmdpll 0>; 274c66ec88fSEmmanuel Vadot reg = <0x0 0x7e200220 0x0 0x10>; 275c66ec88fSEmmanuel Vadot clock-output-names = "pmd2clk"; 276c66ec88fSEmmanuel Vadot }; 277c66ec88fSEmmanuel Vadot 278c66ec88fSEmmanuel Vadot pmd3clk: pmd3clk@7e200230 { 279c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmd-clock"; 280c66ec88fSEmmanuel Vadot #clock-cells = <1>; 281c66ec88fSEmmanuel Vadot clocks = <&pmdpll 0>; 282c66ec88fSEmmanuel Vadot reg = <0x0 0x7e200230 0x0 0x10>; 283c66ec88fSEmmanuel Vadot clock-output-names = "pmd3clk"; 284c66ec88fSEmmanuel Vadot }; 285c66ec88fSEmmanuel Vadot 286c66ec88fSEmmanuel Vadot socpll: socpll@17000120 { 287c66ec88fSEmmanuel Vadot compatible = "apm,xgene-socpll-v2-clock"; 288c66ec88fSEmmanuel Vadot #clock-cells = <1>; 289c66ec88fSEmmanuel Vadot clocks = <&refclk 0>; 290c66ec88fSEmmanuel Vadot reg = <0x0 0x17000120 0x0 0x1000>; 291c66ec88fSEmmanuel Vadot clock-output-names = "socpll"; 292c66ec88fSEmmanuel Vadot }; 293c66ec88fSEmmanuel Vadot 294c66ec88fSEmmanuel Vadot socplldiv2: socplldiv2 { 295c66ec88fSEmmanuel Vadot compatible = "fixed-factor-clock"; 296c66ec88fSEmmanuel Vadot #clock-cells = <1>; 297c66ec88fSEmmanuel Vadot clocks = <&socpll 0>; 298c66ec88fSEmmanuel Vadot clock-mult = <1>; 299c66ec88fSEmmanuel Vadot clock-div = <2>; 300c66ec88fSEmmanuel Vadot clock-output-names = "socplldiv2"; 301c66ec88fSEmmanuel Vadot }; 302c66ec88fSEmmanuel Vadot 303c66ec88fSEmmanuel Vadot ahbclk: ahbclk@17000000 { 304c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 305c66ec88fSEmmanuel Vadot #clock-cells = <1>; 306c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 307c66ec88fSEmmanuel Vadot reg = <0x0 0x17000000 0x0 0x2000>; 308c66ec88fSEmmanuel Vadot reg-names = "div-reg"; 309c66ec88fSEmmanuel Vadot divider-offset = <0x164>; 310c66ec88fSEmmanuel Vadot divider-width = <0x5>; 311c66ec88fSEmmanuel Vadot divider-shift = <0x0>; 312c66ec88fSEmmanuel Vadot clock-output-names = "ahbclk"; 313c66ec88fSEmmanuel Vadot }; 314c66ec88fSEmmanuel Vadot 315c66ec88fSEmmanuel Vadot sbapbclk: sbapbclk@1704c000 { 316c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 317c66ec88fSEmmanuel Vadot #clock-cells = <1>; 318c66ec88fSEmmanuel Vadot clocks = <&ahbclk 0>; 319c66ec88fSEmmanuel Vadot reg = <0x0 0x1704c000 0x0 0x2000>; 320c66ec88fSEmmanuel Vadot reg-names = "div-reg"; 321c66ec88fSEmmanuel Vadot divider-offset = <0x10>; 322c66ec88fSEmmanuel Vadot divider-width = <0x2>; 323c66ec88fSEmmanuel Vadot divider-shift = <0x0>; 324c66ec88fSEmmanuel Vadot clock-output-names = "sbapbclk"; 325c66ec88fSEmmanuel Vadot }; 326c66ec88fSEmmanuel Vadot 327c66ec88fSEmmanuel Vadot sdioclk: sdioclk@1f2ac000 { 328c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 329c66ec88fSEmmanuel Vadot #clock-cells = <1>; 330c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 331c66ec88fSEmmanuel Vadot reg = <0x0 0x1f2ac000 0x0 0x1000 332c66ec88fSEmmanuel Vadot 0x0 0x17000000 0x0 0x2000>; 333c66ec88fSEmmanuel Vadot reg-names = "csr-reg", "div-reg"; 334c66ec88fSEmmanuel Vadot csr-offset = <0x0>; 335c66ec88fSEmmanuel Vadot csr-mask = <0x2>; 336c66ec88fSEmmanuel Vadot enable-offset = <0x8>; 337c66ec88fSEmmanuel Vadot enable-mask = <0x2>; 338c66ec88fSEmmanuel Vadot divider-offset = <0x178>; 339c66ec88fSEmmanuel Vadot divider-width = <0x8>; 340c66ec88fSEmmanuel Vadot divider-shift = <0x0>; 341c66ec88fSEmmanuel Vadot clock-output-names = "sdioclk"; 342c66ec88fSEmmanuel Vadot }; 343c66ec88fSEmmanuel Vadot 344c66ec88fSEmmanuel Vadot pcie0clk: pcie0clk@1f2bc000 { 345c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 346c66ec88fSEmmanuel Vadot #clock-cells = <1>; 347c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 348c66ec88fSEmmanuel Vadot reg = <0x0 0x1f2bc000 0x0 0x1000>; 349c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 350c66ec88fSEmmanuel Vadot clock-output-names = "pcie0clk"; 351c66ec88fSEmmanuel Vadot }; 352c66ec88fSEmmanuel Vadot 353c66ec88fSEmmanuel Vadot pcie1clk: pcie1clk@1f2cc000 { 354c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 355c66ec88fSEmmanuel Vadot #clock-cells = <1>; 356c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 357c66ec88fSEmmanuel Vadot reg = <0x0 0x1f2cc000 0x0 0x1000>; 358c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 359c66ec88fSEmmanuel Vadot clock-output-names = "pcie1clk"; 360c66ec88fSEmmanuel Vadot }; 361c66ec88fSEmmanuel Vadot 362c66ec88fSEmmanuel Vadot xge0clk: xge0clk@1f61c000 { 363c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 364c66ec88fSEmmanuel Vadot #clock-cells = <1>; 365c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 366c66ec88fSEmmanuel Vadot reg = <0x0 0x1f61c000 0x0 0x1000>; 367c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 368c66ec88fSEmmanuel Vadot enable-mask = <0x3>; 369c66ec88fSEmmanuel Vadot csr-mask = <0x3>; 370c66ec88fSEmmanuel Vadot clock-output-names = "xge0clk"; 371c66ec88fSEmmanuel Vadot }; 372c66ec88fSEmmanuel Vadot 373c66ec88fSEmmanuel Vadot xge1clk: xge1clk@1f62c000 { 374c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 375c66ec88fSEmmanuel Vadot #clock-cells = <1>; 376c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 377c66ec88fSEmmanuel Vadot reg = <0x0 0x1f62c000 0x0 0x1000>; 378c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 379c66ec88fSEmmanuel Vadot enable-mask = <0x3>; 380c66ec88fSEmmanuel Vadot csr-mask = <0x3>; 381c66ec88fSEmmanuel Vadot clock-output-names = "xge1clk"; 382c66ec88fSEmmanuel Vadot }; 383c66ec88fSEmmanuel Vadot 384c66ec88fSEmmanuel Vadot rngpkaclk: rngpkaclk@17000000 { 385c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 386c66ec88fSEmmanuel Vadot #clock-cells = <1>; 387c66ec88fSEmmanuel Vadot clocks = <&socplldiv2 0>; 388c66ec88fSEmmanuel Vadot reg = <0x0 0x17000000 0x0 0x2000>; 389c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 390c66ec88fSEmmanuel Vadot csr-offset = <0xc>; 391c66ec88fSEmmanuel Vadot csr-mask = <0x10>; 392c66ec88fSEmmanuel Vadot enable-offset = <0x10>; 393c66ec88fSEmmanuel Vadot enable-mask = <0x10>; 394c66ec88fSEmmanuel Vadot clock-output-names = "rngpkaclk"; 395c66ec88fSEmmanuel Vadot }; 396c66ec88fSEmmanuel Vadot 397c66ec88fSEmmanuel Vadot i2c4clk: i2c4clk@1704c000 { 398c66ec88fSEmmanuel Vadot compatible = "apm,xgene-device-clock"; 399c66ec88fSEmmanuel Vadot #clock-cells = <1>; 400c66ec88fSEmmanuel Vadot clocks = <&sbapbclk 0>; 401c66ec88fSEmmanuel Vadot reg = <0x0 0x1704c000 0x0 0x1000>; 402c66ec88fSEmmanuel Vadot reg-names = "csr-reg"; 403c66ec88fSEmmanuel Vadot csr-offset = <0x0>; 404c66ec88fSEmmanuel Vadot csr-mask = <0x40>; 405c66ec88fSEmmanuel Vadot enable-offset = <0x8>; 406c66ec88fSEmmanuel Vadot enable-mask = <0x40>; 407c66ec88fSEmmanuel Vadot clock-output-names = "i2c4clk"; 408c66ec88fSEmmanuel Vadot }; 409c66ec88fSEmmanuel Vadot }; 410c66ec88fSEmmanuel Vadot 411c66ec88fSEmmanuel Vadot scu: system-clk-controller@17000000 { 412c66ec88fSEmmanuel Vadot compatible = "apm,xgene-scu","syscon"; 413c66ec88fSEmmanuel Vadot reg = <0x0 0x17000000 0x0 0x400>; 414c66ec88fSEmmanuel Vadot }; 415c66ec88fSEmmanuel Vadot 416c66ec88fSEmmanuel Vadot reboot: reboot@17000014 { 417c66ec88fSEmmanuel Vadot compatible = "syscon-reboot"; 418c66ec88fSEmmanuel Vadot regmap = <&scu>; 419c66ec88fSEmmanuel Vadot offset = <0x14>; 420c66ec88fSEmmanuel Vadot mask = <0x1>; 421c66ec88fSEmmanuel Vadot }; 422c66ec88fSEmmanuel Vadot 423c66ec88fSEmmanuel Vadot csw: csw@7e200000 { 424c66ec88fSEmmanuel Vadot compatible = "apm,xgene-csw", "syscon"; 425c66ec88fSEmmanuel Vadot reg = <0x0 0x7e200000 0x0 0x1000>; 426c66ec88fSEmmanuel Vadot }; 427c66ec88fSEmmanuel Vadot 428c66ec88fSEmmanuel Vadot mcba: mcba@7e700000 { 429c66ec88fSEmmanuel Vadot compatible = "apm,xgene-mcb", "syscon"; 430c66ec88fSEmmanuel Vadot reg = <0x0 0x7e700000 0x0 0x1000>; 431c66ec88fSEmmanuel Vadot }; 432c66ec88fSEmmanuel Vadot 433c66ec88fSEmmanuel Vadot mcbb: mcbb@7e720000 { 434c66ec88fSEmmanuel Vadot compatible = "apm,xgene-mcb", "syscon"; 435c66ec88fSEmmanuel Vadot reg = <0x0 0x7e720000 0x0 0x1000>; 436c66ec88fSEmmanuel Vadot }; 437c66ec88fSEmmanuel Vadot 438c66ec88fSEmmanuel Vadot efuse: efuse@1054a000 { 439c66ec88fSEmmanuel Vadot compatible = "apm,xgene-efuse", "syscon"; 440c66ec88fSEmmanuel Vadot reg = <0x0 0x1054a000 0x0 0x20>; 441c66ec88fSEmmanuel Vadot }; 442c66ec88fSEmmanuel Vadot 443c66ec88fSEmmanuel Vadot edac@78800000 { 444c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac"; 445c66ec88fSEmmanuel Vadot #address-cells = <2>; 446c66ec88fSEmmanuel Vadot #size-cells = <2>; 447c66ec88fSEmmanuel Vadot ranges; 448c66ec88fSEmmanuel Vadot regmap-csw = <&csw>; 449c66ec88fSEmmanuel Vadot regmap-mcba = <&mcba>; 450c66ec88fSEmmanuel Vadot regmap-mcbb = <&mcbb>; 451c66ec88fSEmmanuel Vadot regmap-efuse = <&efuse>; 452c66ec88fSEmmanuel Vadot reg = <0x0 0x78800000 0x0 0x100>; 453c66ec88fSEmmanuel Vadot interrupts = <0x0 0x20 0x4>, 454c66ec88fSEmmanuel Vadot <0x0 0x21 0x4>, 455c66ec88fSEmmanuel Vadot <0x0 0x27 0x4>; 456c66ec88fSEmmanuel Vadot 457c66ec88fSEmmanuel Vadot edacmc@7e800000 { 458c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-mc"; 459c66ec88fSEmmanuel Vadot reg = <0x0 0x7e800000 0x0 0x1000>; 460c66ec88fSEmmanuel Vadot memory-controller = <0>; 461c66ec88fSEmmanuel Vadot }; 462c66ec88fSEmmanuel Vadot 463c66ec88fSEmmanuel Vadot edacmc@7e840000 { 464c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-mc"; 465c66ec88fSEmmanuel Vadot reg = <0x0 0x7e840000 0x0 0x1000>; 466c66ec88fSEmmanuel Vadot memory-controller = <1>; 467c66ec88fSEmmanuel Vadot }; 468c66ec88fSEmmanuel Vadot 469c66ec88fSEmmanuel Vadot edacmc@7e880000 { 470c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-mc"; 471c66ec88fSEmmanuel Vadot reg = <0x0 0x7e880000 0x0 0x1000>; 472c66ec88fSEmmanuel Vadot memory-controller = <2>; 473c66ec88fSEmmanuel Vadot }; 474c66ec88fSEmmanuel Vadot 475c66ec88fSEmmanuel Vadot edacmc@7e8c0000 { 476c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-mc"; 477c66ec88fSEmmanuel Vadot reg = <0x0 0x7e8c0000 0x0 0x1000>; 478c66ec88fSEmmanuel Vadot memory-controller = <3>; 479c66ec88fSEmmanuel Vadot }; 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot edacpmd@7c000000 { 482c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-pmd"; 483c66ec88fSEmmanuel Vadot reg = <0x0 0x7c000000 0x0 0x200000>; 484c66ec88fSEmmanuel Vadot pmd-controller = <0>; 485c66ec88fSEmmanuel Vadot }; 486c66ec88fSEmmanuel Vadot 487c66ec88fSEmmanuel Vadot edacpmd@7c200000 { 488c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-pmd"; 489c66ec88fSEmmanuel Vadot reg = <0x0 0x7c200000 0x0 0x200000>; 490c66ec88fSEmmanuel Vadot pmd-controller = <1>; 491c66ec88fSEmmanuel Vadot }; 492c66ec88fSEmmanuel Vadot 493c66ec88fSEmmanuel Vadot edacpmd@7c400000 { 494c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-pmd"; 495c66ec88fSEmmanuel Vadot reg = <0x0 0x7c400000 0x0 0x200000>; 496c66ec88fSEmmanuel Vadot pmd-controller = <2>; 497c66ec88fSEmmanuel Vadot }; 498c66ec88fSEmmanuel Vadot 499c66ec88fSEmmanuel Vadot edacpmd@7c600000 { 500c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-pmd"; 501c66ec88fSEmmanuel Vadot reg = <0x0 0x7c600000 0x0 0x200000>; 502c66ec88fSEmmanuel Vadot pmd-controller = <3>; 503c66ec88fSEmmanuel Vadot }; 504c66ec88fSEmmanuel Vadot 505c66ec88fSEmmanuel Vadot edacl3@7e600000 { 506c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-l3-v2"; 507c66ec88fSEmmanuel Vadot reg = <0x0 0x7e600000 0x0 0x1000>; 508c66ec88fSEmmanuel Vadot }; 509c66ec88fSEmmanuel Vadot 510c66ec88fSEmmanuel Vadot edacsoc@7e930000 { 511c66ec88fSEmmanuel Vadot compatible = "apm,xgene-edac-soc"; 512c66ec88fSEmmanuel Vadot reg = <0x0 0x7e930000 0x0 0x1000>; 513c66ec88fSEmmanuel Vadot }; 514c66ec88fSEmmanuel Vadot }; 515c66ec88fSEmmanuel Vadot 516c66ec88fSEmmanuel Vadot pmu: pmu@78810000 { 517c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-v2"; 518c66ec88fSEmmanuel Vadot #address-cells = <2>; 519c66ec88fSEmmanuel Vadot #size-cells = <2>; 520c66ec88fSEmmanuel Vadot ranges; 521c66ec88fSEmmanuel Vadot regmap-csw = <&csw>; 522c66ec88fSEmmanuel Vadot regmap-mcba = <&mcba>; 523c66ec88fSEmmanuel Vadot regmap-mcbb = <&mcbb>; 524c66ec88fSEmmanuel Vadot reg = <0x0 0x78810000 0x0 0x1000>; 525c66ec88fSEmmanuel Vadot interrupts = <0x0 0x22 0x4>; 526c66ec88fSEmmanuel Vadot 527c66ec88fSEmmanuel Vadot pmul3c@7e610000 { 528c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-l3c"; 529c66ec88fSEmmanuel Vadot reg = <0x0 0x7e610000 0x0 0x1000>; 530c66ec88fSEmmanuel Vadot }; 531c66ec88fSEmmanuel Vadot 532c66ec88fSEmmanuel Vadot pmuiob@7e940000 { 533c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-iob"; 534c66ec88fSEmmanuel Vadot reg = <0x0 0x7e940000 0x0 0x1000>; 535c66ec88fSEmmanuel Vadot }; 536c66ec88fSEmmanuel Vadot 537c66ec88fSEmmanuel Vadot pmucmcb@7e710000 { 538c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mcb"; 539c66ec88fSEmmanuel Vadot reg = <0x0 0x7e710000 0x0 0x1000>; 540c66ec88fSEmmanuel Vadot enable-bit-index = <0>; 541c66ec88fSEmmanuel Vadot }; 542c66ec88fSEmmanuel Vadot 543c66ec88fSEmmanuel Vadot pmucmcb@7e730000 { 544c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mcb"; 545c66ec88fSEmmanuel Vadot reg = <0x0 0x7e730000 0x0 0x1000>; 546c66ec88fSEmmanuel Vadot enable-bit-index = <1>; 547c66ec88fSEmmanuel Vadot }; 548c66ec88fSEmmanuel Vadot 549c66ec88fSEmmanuel Vadot pmucmc@7e810000 { 550c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mc"; 551c66ec88fSEmmanuel Vadot reg = <0x0 0x7e810000 0x0 0x1000>; 552c66ec88fSEmmanuel Vadot enable-bit-index = <0>; 553c66ec88fSEmmanuel Vadot }; 554c66ec88fSEmmanuel Vadot 555c66ec88fSEmmanuel Vadot pmucmc@7e850000 { 556c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mc"; 557c66ec88fSEmmanuel Vadot reg = <0x0 0x7e850000 0x0 0x1000>; 558c66ec88fSEmmanuel Vadot enable-bit-index = <1>; 559c66ec88fSEmmanuel Vadot }; 560c66ec88fSEmmanuel Vadot 561c66ec88fSEmmanuel Vadot pmucmc@7e890000 { 562c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mc"; 563c66ec88fSEmmanuel Vadot reg = <0x0 0x7e890000 0x0 0x1000>; 564c66ec88fSEmmanuel Vadot enable-bit-index = <2>; 565c66ec88fSEmmanuel Vadot }; 566c66ec88fSEmmanuel Vadot 567c66ec88fSEmmanuel Vadot pmucmc@7e8d0000 { 568c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pmu-mc"; 569c66ec88fSEmmanuel Vadot reg = <0x0 0x7e8d0000 0x0 0x1000>; 570c66ec88fSEmmanuel Vadot enable-bit-index = <3>; 571c66ec88fSEmmanuel Vadot }; 572c66ec88fSEmmanuel Vadot }; 573c66ec88fSEmmanuel Vadot 574c66ec88fSEmmanuel Vadot mailbox: mailbox@10540000 { 575c66ec88fSEmmanuel Vadot compatible = "apm,xgene-slimpro-mbox"; 576c66ec88fSEmmanuel Vadot reg = <0x0 0x10540000 0x0 0x8000>; 577c66ec88fSEmmanuel Vadot #mbox-cells = <1>; 578c66ec88fSEmmanuel Vadot interrupts = <0x0 0x0 0x4 579c66ec88fSEmmanuel Vadot 0x0 0x1 0x4 580c66ec88fSEmmanuel Vadot 0x0 0x2 0x4 581c66ec88fSEmmanuel Vadot 0x0 0x3 0x4 582c66ec88fSEmmanuel Vadot 0x0 0x4 0x4 583c66ec88fSEmmanuel Vadot 0x0 0x5 0x4 584c66ec88fSEmmanuel Vadot 0x0 0x6 0x4 585c66ec88fSEmmanuel Vadot 0x0 0x7 0x4>; 586c66ec88fSEmmanuel Vadot }; 587c66ec88fSEmmanuel Vadot 588c66ec88fSEmmanuel Vadot i2cslimpro { 589c66ec88fSEmmanuel Vadot compatible = "apm,xgene-slimpro-i2c"; 590c66ec88fSEmmanuel Vadot mboxes = <&mailbox 0>; 591c66ec88fSEmmanuel Vadot }; 592c66ec88fSEmmanuel Vadot 593c66ec88fSEmmanuel Vadot hwmonslimpro { 594c66ec88fSEmmanuel Vadot compatible = "apm,xgene-slimpro-hwmon"; 595c66ec88fSEmmanuel Vadot mboxes = <&mailbox 7>; 596c66ec88fSEmmanuel Vadot }; 597c66ec88fSEmmanuel Vadot 598c66ec88fSEmmanuel Vadot serial0: serial@10600000 { 599c66ec88fSEmmanuel Vadot compatible = "ns16550"; 600c66ec88fSEmmanuel Vadot reg = <0 0x10600000 0x0 0x1000>; 601c66ec88fSEmmanuel Vadot reg-shift = <2>; 602c66ec88fSEmmanuel Vadot clock-frequency = <10000000>; 603c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 604c66ec88fSEmmanuel Vadot interrupts = <0x0 0x4c 0x4>; 605c66ec88fSEmmanuel Vadot }; 606c66ec88fSEmmanuel Vadot 607b97ee269SEmmanuel Vadot /* Node-name might need to be coded as dwusb for backward compatibility */ 608b97ee269SEmmanuel Vadot usb0: usb@19000000 { 609c66ec88fSEmmanuel Vadot status = "disabled"; 610c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 611c66ec88fSEmmanuel Vadot reg = <0x0 0x19000000 0x0 0x100000>; 612c66ec88fSEmmanuel Vadot interrupts = <0x0 0x5d 0x4>; 613c66ec88fSEmmanuel Vadot dma-coherent; 614c66ec88fSEmmanuel Vadot dr_mode = "host"; 615c66ec88fSEmmanuel Vadot }; 616c66ec88fSEmmanuel Vadot 617c66ec88fSEmmanuel Vadot pcie0: pcie@1f2b0000 { 618c66ec88fSEmmanuel Vadot status = "disabled"; 619c66ec88fSEmmanuel Vadot device_type = "pci"; 620c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pcie", "apm,xgene2-pcie"; 621c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 622c66ec88fSEmmanuel Vadot #size-cells = <2>; 623c66ec88fSEmmanuel Vadot #address-cells = <3>; 624c66ec88fSEmmanuel Vadot reg = < 0x00 0x1f2b0000 0x0 0x00010000 /* Controller registers */ 625c66ec88fSEmmanuel Vadot 0xc0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 626c66ec88fSEmmanuel Vadot reg-names = "csr", "cfg"; 627c66ec88fSEmmanuel Vadot ranges = <0x01000000 0x00 0x00000000 0xc0 0x10000000 0x00 0x00010000 /* io */ 628c66ec88fSEmmanuel Vadot 0x02000000 0x00 0x20000000 0xc1 0x20000000 0x00 0x20000000 /* mem */ 629c66ec88fSEmmanuel Vadot 0x43000000 0xe0 0x00000000 0xe0 0x00000000 0x20 0x00000000>; /* mem */ 630c66ec88fSEmmanuel Vadot dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 631c66ec88fSEmmanuel Vadot 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 632c66ec88fSEmmanuel Vadot bus-range = <0x00 0xff>; 633c66ec88fSEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 634c66ec88fSEmmanuel Vadot interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x10 0x4 635c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x11 0x4 636c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x12 0x4 637c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x13 0x4>; 638c66ec88fSEmmanuel Vadot dma-coherent; 639c66ec88fSEmmanuel Vadot clocks = <&pcie0clk 0>; 640c66ec88fSEmmanuel Vadot msi-parent = <&v2m0>; 641c66ec88fSEmmanuel Vadot }; 642c66ec88fSEmmanuel Vadot 643c66ec88fSEmmanuel Vadot pcie1: pcie@1f2c0000 { 644c66ec88fSEmmanuel Vadot status = "disabled"; 645c66ec88fSEmmanuel Vadot device_type = "pci"; 646c66ec88fSEmmanuel Vadot compatible = "apm,xgene-pcie", "apm,xgene2-pcie"; 647c66ec88fSEmmanuel Vadot #interrupt-cells = <1>; 648c66ec88fSEmmanuel Vadot #size-cells = <2>; 649c66ec88fSEmmanuel Vadot #address-cells = <3>; 650c66ec88fSEmmanuel Vadot reg = < 0x00 0x1f2c0000 0x0 0x00010000 /* Controller registers */ 651c66ec88fSEmmanuel Vadot 0xa0 0xd0000000 0x0 0x00040000>; /* PCI config space */ 652c66ec88fSEmmanuel Vadot reg-names = "csr", "cfg"; 653c66ec88fSEmmanuel Vadot ranges = <0x01000000 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000 /* io */ 654c66ec88fSEmmanuel Vadot 0x02000000 0x00 0x20000000 0xa1 0x20000000 0x00 0x20000000 /* mem */ 655c66ec88fSEmmanuel Vadot 0x43000000 0xb0 0x00000000 0xb0 0x00000000 0x10 0x00000000>; /* mem */ 656c66ec88fSEmmanuel Vadot dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000 657c66ec88fSEmmanuel Vadot 0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>; 658c66ec88fSEmmanuel Vadot bus-range = <0x00 0xff>; 659c66ec88fSEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 660c66ec88fSEmmanuel Vadot interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x16 0x4 661c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x17 0x4 662c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x18 0x4 663c66ec88fSEmmanuel Vadot 0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x19 0x4>; 664c66ec88fSEmmanuel Vadot dma-coherent; 665c66ec88fSEmmanuel Vadot clocks = <&pcie1clk 0>; 666c66ec88fSEmmanuel Vadot msi-parent = <&v2m0>; 667c66ec88fSEmmanuel Vadot }; 668c66ec88fSEmmanuel Vadot 669c66ec88fSEmmanuel Vadot sata1: sata@1a000000 { 670c66ec88fSEmmanuel Vadot compatible = "apm,xgene-ahci-v2"; 671c66ec88fSEmmanuel Vadot reg = <0x0 0x1a000000 0x0 0x1000>, 672c66ec88fSEmmanuel Vadot <0x0 0x1f200000 0x0 0x1000>, 673c66ec88fSEmmanuel Vadot <0x0 0x1f20d000 0x0 0x1000>, 674c66ec88fSEmmanuel Vadot <0x0 0x1f20e000 0x0 0x1000>; 675c66ec88fSEmmanuel Vadot interrupts = <0x0 0x5a 0x4>; 676c66ec88fSEmmanuel Vadot dma-coherent; 677c66ec88fSEmmanuel Vadot }; 678c66ec88fSEmmanuel Vadot 679c66ec88fSEmmanuel Vadot sata2: sata@1a200000 { 680c66ec88fSEmmanuel Vadot compatible = "apm,xgene-ahci-v2"; 681c66ec88fSEmmanuel Vadot reg = <0x0 0x1a200000 0x0 0x1000>, 682c66ec88fSEmmanuel Vadot <0x0 0x1f210000 0x0 0x1000>, 683c66ec88fSEmmanuel Vadot <0x0 0x1f21d000 0x0 0x1000>, 684c66ec88fSEmmanuel Vadot <0x0 0x1f21e000 0x0 0x1000>; 685c66ec88fSEmmanuel Vadot interrupts = <0x0 0x5b 0x4>; 686c66ec88fSEmmanuel Vadot dma-coherent; 687c66ec88fSEmmanuel Vadot }; 688c66ec88fSEmmanuel Vadot 689c66ec88fSEmmanuel Vadot sata3: sata@1a400000 { 690c66ec88fSEmmanuel Vadot compatible = "apm,xgene-ahci-v2"; 691c66ec88fSEmmanuel Vadot reg = <0x0 0x1a400000 0x0 0x1000>, 692c66ec88fSEmmanuel Vadot <0x0 0x1f220000 0x0 0x1000>, 693c66ec88fSEmmanuel Vadot <0x0 0x1f22d000 0x0 0x1000>, 694c66ec88fSEmmanuel Vadot <0x0 0x1f22e000 0x0 0x1000>; 695c66ec88fSEmmanuel Vadot interrupts = <0x0 0x5c 0x4>; 696c66ec88fSEmmanuel Vadot dma-coherent; 697c66ec88fSEmmanuel Vadot }; 698c66ec88fSEmmanuel Vadot 699c66ec88fSEmmanuel Vadot mmc0: mmc@1c000000 { 700c66ec88fSEmmanuel Vadot compatible = "arasan,sdhci-4.9a"; 701c66ec88fSEmmanuel Vadot reg = <0x0 0x1c000000 0x0 0x100>; 702c66ec88fSEmmanuel Vadot interrupts = <0x0 0x49 0x4>; 703c66ec88fSEmmanuel Vadot dma-coherent; 704c66ec88fSEmmanuel Vadot no-1-8-v; 705c66ec88fSEmmanuel Vadot clock-names = "clk_xin", "clk_ahb"; 706c66ec88fSEmmanuel Vadot clocks = <&sdioclk 0>, <&ahbclk 0>; 707c66ec88fSEmmanuel Vadot }; 708c66ec88fSEmmanuel Vadot 709c66ec88fSEmmanuel Vadot gfcgpio: gpio@1f63c000 { 710c66ec88fSEmmanuel Vadot compatible = "apm,xgene-gpio"; 711c66ec88fSEmmanuel Vadot reg = <0x0 0x1f63c000 0x0 0x40>; 712c66ec88fSEmmanuel Vadot gpio-controller; 713c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 714c66ec88fSEmmanuel Vadot }; 715c66ec88fSEmmanuel Vadot 716c66ec88fSEmmanuel Vadot dwgpio: gpio@1c024000 { 717c66ec88fSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 718c66ec88fSEmmanuel Vadot reg = <0x0 0x1c024000 0x0 0x1000>; 719c66ec88fSEmmanuel Vadot #address-cells = <1>; 720c66ec88fSEmmanuel Vadot #size-cells = <0>; 721c66ec88fSEmmanuel Vadot 722c66ec88fSEmmanuel Vadot porta: gpio-controller@0 { 723c66ec88fSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 724c66ec88fSEmmanuel Vadot gpio-controller; 7256be33864SEmmanuel Vadot #gpio-cells = <2>; 726c66ec88fSEmmanuel Vadot snps,nr-gpios = <32>; 727c66ec88fSEmmanuel Vadot reg = <0>; 728c66ec88fSEmmanuel Vadot }; 729c66ec88fSEmmanuel Vadot }; 730c66ec88fSEmmanuel Vadot 731c66ec88fSEmmanuel Vadot sbgpio: gpio@17001000 { 732c66ec88fSEmmanuel Vadot compatible = "apm,xgene-gpio-sb"; 733c66ec88fSEmmanuel Vadot reg = <0x0 0x17001000 0x0 0x400>; 734c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 735c66ec88fSEmmanuel Vadot gpio-controller; 736c66ec88fSEmmanuel Vadot interrupts = <0x0 0x28 0x1>, 737c66ec88fSEmmanuel Vadot <0x0 0x29 0x1>, 738c66ec88fSEmmanuel Vadot <0x0 0x2a 0x1>, 739c66ec88fSEmmanuel Vadot <0x0 0x2b 0x1>, 740c66ec88fSEmmanuel Vadot <0x0 0x2c 0x1>, 741c66ec88fSEmmanuel Vadot <0x0 0x2d 0x1>, 742c66ec88fSEmmanuel Vadot <0x0 0x2e 0x1>, 743c66ec88fSEmmanuel Vadot <0x0 0x2f 0x1>; 744c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 745c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 746c66ec88fSEmmanuel Vadot interrupt-controller; 747c66ec88fSEmmanuel Vadot apm,nr-gpios = <22>; 748c66ec88fSEmmanuel Vadot apm,nr-irqs = <8>; 749c66ec88fSEmmanuel Vadot apm,irq-start = <8>; 750c66ec88fSEmmanuel Vadot }; 751c66ec88fSEmmanuel Vadot 752c66ec88fSEmmanuel Vadot mdio: mdio@1f610000 { 753c66ec88fSEmmanuel Vadot compatible = "apm,xgene-mdio-xfi"; 754c66ec88fSEmmanuel Vadot #address-cells = <1>; 755c66ec88fSEmmanuel Vadot #size-cells = <0>; 756c66ec88fSEmmanuel Vadot reg = <0x0 0x1f610000 0x0 0xd100>; 757c66ec88fSEmmanuel Vadot clocks = <&xge0clk 0>; 758c66ec88fSEmmanuel Vadot }; 759c66ec88fSEmmanuel Vadot 760c66ec88fSEmmanuel Vadot sgenet0: ethernet@1f610000 { 761c66ec88fSEmmanuel Vadot compatible = "apm,xgene2-sgenet"; 762c66ec88fSEmmanuel Vadot status = "disabled"; 763c66ec88fSEmmanuel Vadot reg = <0x0 0x1f610000 0x0 0xd100>, 764c66ec88fSEmmanuel Vadot <0x0 0x1f600000 0x0 0xd100>, 765c66ec88fSEmmanuel Vadot <0x0 0x20000000 0x0 0x20000>; 766c66ec88fSEmmanuel Vadot interrupts = <0 96 4>, 767c66ec88fSEmmanuel Vadot <0 97 4>; 768c66ec88fSEmmanuel Vadot dma-coherent; 769c66ec88fSEmmanuel Vadot clocks = <&xge0clk 0>; 770c66ec88fSEmmanuel Vadot local-mac-address = [00 01 73 00 00 01]; 771c66ec88fSEmmanuel Vadot phy-connection-type = "sgmii"; 772c66ec88fSEmmanuel Vadot phy-handle = <&sgenet0phy>; 773c66ec88fSEmmanuel Vadot }; 774c66ec88fSEmmanuel Vadot 775c66ec88fSEmmanuel Vadot xgenet1: ethernet@1f620000 { 776c66ec88fSEmmanuel Vadot compatible = "apm,xgene2-xgenet"; 777c66ec88fSEmmanuel Vadot status = "disabled"; 778c66ec88fSEmmanuel Vadot reg = <0x0 0x1f620000 0x0 0x10000>, 779c66ec88fSEmmanuel Vadot <0x0 0x1f600000 0x0 0xd100>, 780c66ec88fSEmmanuel Vadot <0x0 0x20000000 0x0 0x220000>; 781c66ec88fSEmmanuel Vadot interrupts = <0 108 4>, 782c66ec88fSEmmanuel Vadot <0 109 4>, 783c66ec88fSEmmanuel Vadot <0 110 4>, 784c66ec88fSEmmanuel Vadot <0 111 4>, 785c66ec88fSEmmanuel Vadot <0 112 4>, 786c66ec88fSEmmanuel Vadot <0 113 4>, 787c66ec88fSEmmanuel Vadot <0 114 4>, 788c66ec88fSEmmanuel Vadot <0 115 4>; 789c66ec88fSEmmanuel Vadot channel = <12>; 790c66ec88fSEmmanuel Vadot port-id = <1>; 791c66ec88fSEmmanuel Vadot dma-coherent; 792c66ec88fSEmmanuel Vadot clocks = <&xge1clk 0>; 793c66ec88fSEmmanuel Vadot local-mac-address = [00 01 73 00 00 02]; 794c66ec88fSEmmanuel Vadot phy-connection-type = "xgmii"; 795c66ec88fSEmmanuel Vadot }; 796c66ec88fSEmmanuel Vadot 797c66ec88fSEmmanuel Vadot rng: rng@10520000 { 798c66ec88fSEmmanuel Vadot compatible = "apm,xgene-rng"; 799c66ec88fSEmmanuel Vadot reg = <0x0 0x10520000 0x0 0x100>; 800c66ec88fSEmmanuel Vadot interrupts = <0x0 0x41 0x4>; 801c66ec88fSEmmanuel Vadot clocks = <&rngpkaclk 0>; 802c66ec88fSEmmanuel Vadot }; 803c66ec88fSEmmanuel Vadot 804c66ec88fSEmmanuel Vadot i2c1: i2c@10511000 { 805c66ec88fSEmmanuel Vadot #address-cells = <1>; 806c66ec88fSEmmanuel Vadot #size-cells = <0>; 807c66ec88fSEmmanuel Vadot compatible = "snps,designware-i2c"; 808c66ec88fSEmmanuel Vadot reg = <0x0 0x10511000 0x0 0x1000>; 809c66ec88fSEmmanuel Vadot interrupts = <0 0x45 0x4>; 810c66ec88fSEmmanuel Vadot #clock-cells = <1>; 811c66ec88fSEmmanuel Vadot clocks = <&sbapbclk 0>; 812c66ec88fSEmmanuel Vadot bus_num = <1>; 813c66ec88fSEmmanuel Vadot }; 814c66ec88fSEmmanuel Vadot 815c66ec88fSEmmanuel Vadot i2c4: i2c@10640000 { 816c66ec88fSEmmanuel Vadot #address-cells = <1>; 817c66ec88fSEmmanuel Vadot #size-cells = <0>; 818c66ec88fSEmmanuel Vadot compatible = "snps,designware-i2c"; 819c66ec88fSEmmanuel Vadot reg = <0x0 0x10640000 0x0 0x1000>; 820c66ec88fSEmmanuel Vadot interrupts = <0 0x3a 0x4>; 821c66ec88fSEmmanuel Vadot clocks = <&i2c4clk 0>; 822c66ec88fSEmmanuel Vadot bus_num = <4>; 823c66ec88fSEmmanuel Vadot }; 824c66ec88fSEmmanuel Vadot }; 825c66ec88fSEmmanuel Vadot}; 826