1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * DTS file for all SPEAr13xx SoCs 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright 2012 Viresh Kumar <vireshk@kernel.org> 6f126890aSEmmanuel Vadot */ 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot/ { 9f126890aSEmmanuel Vadot #address-cells = <1>; 10f126890aSEmmanuel Vadot #size-cells = <1>; 11f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 12f126890aSEmmanuel Vadot 13f126890aSEmmanuel Vadot cpus { 14f126890aSEmmanuel Vadot #address-cells = <1>; 15f126890aSEmmanuel Vadot #size-cells = <0>; 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot cpu@0 { 18f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 19f126890aSEmmanuel Vadot device_type = "cpu"; 20f126890aSEmmanuel Vadot reg = <0>; 21f126890aSEmmanuel Vadot next-level-cache = <&L2>; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot cpu@1 { 25f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 26f126890aSEmmanuel Vadot device_type = "cpu"; 27f126890aSEmmanuel Vadot reg = <1>; 28f126890aSEmmanuel Vadot next-level-cache = <&L2>; 29f126890aSEmmanuel Vadot }; 30f126890aSEmmanuel Vadot }; 31f126890aSEmmanuel Vadot 32f126890aSEmmanuel Vadot gic: interrupt-controller@ec801000 { 33f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-gic"; 34f126890aSEmmanuel Vadot interrupt-controller; 35f126890aSEmmanuel Vadot #interrupt-cells = <3>; 36f126890aSEmmanuel Vadot reg = < 0xec801000 0x1000 >, 37f126890aSEmmanuel Vadot < 0xec800100 0x0100 >; 38f126890aSEmmanuel Vadot }; 39f126890aSEmmanuel Vadot 40f126890aSEmmanuel Vadot pmu { 41f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-pmu"; 42*aa1a8ff2SEmmanuel Vadot interrupts = <0 6 0x04>, 43*aa1a8ff2SEmmanuel Vadot <0 7 0x04>; 44f126890aSEmmanuel Vadot }; 45f126890aSEmmanuel Vadot 46f126890aSEmmanuel Vadot L2: cache-controller { 47f126890aSEmmanuel Vadot compatible = "arm,pl310-cache"; 48f126890aSEmmanuel Vadot reg = <0xed000000 0x1000>; 49f126890aSEmmanuel Vadot cache-unified; 50f126890aSEmmanuel Vadot cache-level = <2>; 51f126890aSEmmanuel Vadot }; 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadot memory { 54f126890aSEmmanuel Vadot name = "memory"; 55f126890aSEmmanuel Vadot device_type = "memory"; 56f126890aSEmmanuel Vadot reg = <0 0x40000000>; 57f126890aSEmmanuel Vadot }; 58f126890aSEmmanuel Vadot 59f126890aSEmmanuel Vadot chosen { 60f126890aSEmmanuel Vadot bootargs = "console=ttyAMA0,115200"; 61f126890aSEmmanuel Vadot }; 62f126890aSEmmanuel Vadot 63f126890aSEmmanuel Vadot cpufreq { 64f126890aSEmmanuel Vadot compatible = "st,cpufreq-spear"; 65f126890aSEmmanuel Vadot cpufreq_tbl = < 166000 66f126890aSEmmanuel Vadot 200000 67f126890aSEmmanuel Vadot 250000 68f126890aSEmmanuel Vadot 300000 69f126890aSEmmanuel Vadot 400000 70f126890aSEmmanuel Vadot 500000 71f126890aSEmmanuel Vadot 600000 >; 72f126890aSEmmanuel Vadot status = "disabled"; 73f126890aSEmmanuel Vadot }; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot ahb { 76f126890aSEmmanuel Vadot #address-cells = <1>; 77f126890aSEmmanuel Vadot #size-cells = <1>; 78f126890aSEmmanuel Vadot compatible = "simple-bus"; 79f126890aSEmmanuel Vadot ranges = <0x50000000 0x50000000 0x10000000 80f126890aSEmmanuel Vadot 0x80000000 0x80000000 0x20000000 81f126890aSEmmanuel Vadot 0xb0000000 0xb0000000 0x22000000 82f126890aSEmmanuel Vadot 0xd8000000 0xd8000000 0x01000000 83f126890aSEmmanuel Vadot 0xe0000000 0xe0000000 0x10000000>; 84f126890aSEmmanuel Vadot 85f126890aSEmmanuel Vadot sdhci@b3000000 { 86f126890aSEmmanuel Vadot compatible = "st,sdhci-spear"; 87f126890aSEmmanuel Vadot reg = <0xb3000000 0x100>; 88f126890aSEmmanuel Vadot interrupts = <0 28 0x4>; 89f126890aSEmmanuel Vadot status = "disabled"; 90f126890aSEmmanuel Vadot }; 91f126890aSEmmanuel Vadot 92f126890aSEmmanuel Vadot cf@b2800000 { 93f126890aSEmmanuel Vadot compatible = "arasan,cf-spear1340"; 94f126890aSEmmanuel Vadot reg = <0xb2800000 0x1000>; 95f126890aSEmmanuel Vadot interrupts = <0 29 0x4>; 96f126890aSEmmanuel Vadot status = "disabled"; 97f126890aSEmmanuel Vadot dmas = <&dwdma0 0 0 0>; 98f126890aSEmmanuel Vadot dma-names = "data"; 99f126890aSEmmanuel Vadot }; 100f126890aSEmmanuel Vadot 101f126890aSEmmanuel Vadot dwdma0: dma@ea800000 { 102f126890aSEmmanuel Vadot compatible = "snps,dma-spear1340"; 103f126890aSEmmanuel Vadot reg = <0xea800000 0x1000>; 104f126890aSEmmanuel Vadot interrupts = <0 19 0x4>; 105f126890aSEmmanuel Vadot status = "disabled"; 106f126890aSEmmanuel Vadot 107f126890aSEmmanuel Vadot dma-channels = <8>; 108f126890aSEmmanuel Vadot #dma-cells = <3>; 109f126890aSEmmanuel Vadot dma-requests = <32>; 110f126890aSEmmanuel Vadot chan_allocation_order = <1>; 111f126890aSEmmanuel Vadot chan_priority = <1>; 112f126890aSEmmanuel Vadot block_size = <0xfff>; 113f126890aSEmmanuel Vadot dma-masters = <2>; 114f126890aSEmmanuel Vadot data-width = <8 8>; 115f126890aSEmmanuel Vadot multi-block = <1 1 1 1 1 1 1 1>; 116f126890aSEmmanuel Vadot }; 117f126890aSEmmanuel Vadot 118f126890aSEmmanuel Vadot dma@eb000000 { 119f126890aSEmmanuel Vadot compatible = "snps,dma-spear1340"; 120f126890aSEmmanuel Vadot reg = <0xeb000000 0x1000>; 121f126890aSEmmanuel Vadot interrupts = <0 59 0x4>; 122f126890aSEmmanuel Vadot status = "disabled"; 123f126890aSEmmanuel Vadot 124f126890aSEmmanuel Vadot dma-requests = <32>; 125f126890aSEmmanuel Vadot dma-channels = <8>; 126f126890aSEmmanuel Vadot dma-masters = <2>; 127f126890aSEmmanuel Vadot #dma-cells = <3>; 128f126890aSEmmanuel Vadot chan_allocation_order = <1>; 129f126890aSEmmanuel Vadot chan_priority = <1>; 130f126890aSEmmanuel Vadot block_size = <0xfff>; 131f126890aSEmmanuel Vadot data-width = <8 8>; 132f126890aSEmmanuel Vadot multi-block = <1 1 1 1 1 1 1 1>; 133f126890aSEmmanuel Vadot }; 134f126890aSEmmanuel Vadot 135f126890aSEmmanuel Vadot fsmc: flash@b0000000 { 136f126890aSEmmanuel Vadot compatible = "st,spear600-fsmc-nand"; 137f126890aSEmmanuel Vadot #address-cells = <1>; 138f126890aSEmmanuel Vadot #size-cells = <1>; 139f126890aSEmmanuel Vadot reg = <0xb0000000 0x1000 /* FSMC Register*/ 140f126890aSEmmanuel Vadot 0xb0800000 0x0010 /* NAND Base DATA */ 141f126890aSEmmanuel Vadot 0xb0820000 0x0010 /* NAND Base ADDR */ 142f126890aSEmmanuel Vadot 0xb0810000 0x0010>; /* NAND Base CMD */ 143f126890aSEmmanuel Vadot reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; 144*aa1a8ff2SEmmanuel Vadot interrupts = <0 20 0x4>, 145*aa1a8ff2SEmmanuel Vadot <0 21 0x4>, 146*aa1a8ff2SEmmanuel Vadot <0 22 0x4>, 147*aa1a8ff2SEmmanuel Vadot <0 23 0x4>; 148f126890aSEmmanuel Vadot st,mode = <2>; 149f126890aSEmmanuel Vadot status = "disabled"; 150f126890aSEmmanuel Vadot }; 151f126890aSEmmanuel Vadot 152f126890aSEmmanuel Vadot gmac0: eth@e2000000 { 153f126890aSEmmanuel Vadot compatible = "st,spear600-gmac"; 154f126890aSEmmanuel Vadot reg = <0xe2000000 0x8000>; 155*aa1a8ff2SEmmanuel Vadot interrupts = <0 33 0x4>, 156*aa1a8ff2SEmmanuel Vadot <0 34 0x4>; 157f126890aSEmmanuel Vadot interrupt-names = "macirq", "eth_wake_irq"; 158f126890aSEmmanuel Vadot status = "disabled"; 159f126890aSEmmanuel Vadot }; 160f126890aSEmmanuel Vadot 161f126890aSEmmanuel Vadot pcm { 162f126890aSEmmanuel Vadot compatible = "st,pcm-audio"; 163f126890aSEmmanuel Vadot #address-cells = <0>; 164f126890aSEmmanuel Vadot #size-cells = <0>; 165f126890aSEmmanuel Vadot status = "disabled"; 166f126890aSEmmanuel Vadot }; 167f126890aSEmmanuel Vadot 168f126890aSEmmanuel Vadot smi: flash@ea000000 { 169f126890aSEmmanuel Vadot compatible = "st,spear600-smi"; 170f126890aSEmmanuel Vadot #address-cells = <1>; 171f126890aSEmmanuel Vadot #size-cells = <1>; 172f126890aSEmmanuel Vadot reg = <0xea000000 0x1000>; 173f126890aSEmmanuel Vadot interrupts = <0 30 0x4>; 174f126890aSEmmanuel Vadot status = "disabled"; 175f126890aSEmmanuel Vadot }; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot ehci@e4800000 { 178f126890aSEmmanuel Vadot compatible = "st,spear600-ehci", "usb-ehci"; 179f126890aSEmmanuel Vadot reg = <0xe4800000 0x1000>; 180f126890aSEmmanuel Vadot interrupts = <0 64 0x4>; 181f126890aSEmmanuel Vadot usbh0_id = <0>; 182f126890aSEmmanuel Vadot status = "disabled"; 183f126890aSEmmanuel Vadot }; 184f126890aSEmmanuel Vadot 185f126890aSEmmanuel Vadot ehci@e5800000 { 186f126890aSEmmanuel Vadot compatible = "st,spear600-ehci", "usb-ehci"; 187f126890aSEmmanuel Vadot reg = <0xe5800000 0x1000>; 188f126890aSEmmanuel Vadot interrupts = <0 66 0x4>; 189f126890aSEmmanuel Vadot usbh1_id = <1>; 190f126890aSEmmanuel Vadot status = "disabled"; 191f126890aSEmmanuel Vadot }; 192f126890aSEmmanuel Vadot 193f126890aSEmmanuel Vadot ohci@e4000000 { 194f126890aSEmmanuel Vadot compatible = "st,spear600-ohci", "usb-ohci"; 195f126890aSEmmanuel Vadot reg = <0xe4000000 0x1000>; 196f126890aSEmmanuel Vadot interrupts = <0 65 0x4>; 197f126890aSEmmanuel Vadot usbh0_id = <0>; 198f126890aSEmmanuel Vadot status = "disabled"; 199f126890aSEmmanuel Vadot }; 200f126890aSEmmanuel Vadot 201f126890aSEmmanuel Vadot ohci@e5000000 { 202f126890aSEmmanuel Vadot compatible = "st,spear600-ohci", "usb-ohci"; 203f126890aSEmmanuel Vadot reg = <0xe5000000 0x1000>; 204f126890aSEmmanuel Vadot interrupts = <0 67 0x4>; 205f126890aSEmmanuel Vadot usbh1_id = <1>; 206f126890aSEmmanuel Vadot status = "disabled"; 207f126890aSEmmanuel Vadot }; 208f126890aSEmmanuel Vadot 209f126890aSEmmanuel Vadot apb { 210f126890aSEmmanuel Vadot #address-cells = <1>; 211f126890aSEmmanuel Vadot #size-cells = <1>; 212f126890aSEmmanuel Vadot compatible = "simple-bus"; 213f126890aSEmmanuel Vadot ranges = <0x50000000 0x50000000 0x10000000 214f126890aSEmmanuel Vadot 0xb0000000 0xb0000000 0x10000000 215f126890aSEmmanuel Vadot 0xd0000000 0xd0000000 0x02000000 216f126890aSEmmanuel Vadot 0xd8000000 0xd8000000 0x01000000 217f126890aSEmmanuel Vadot 0xe0000000 0xe0000000 0x10000000>; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot misc: syscon@e0700000 { 220f126890aSEmmanuel Vadot compatible = "st,spear1340-misc", "syscon"; 221f126890aSEmmanuel Vadot reg = <0xe0700000 0x1000>; 222f126890aSEmmanuel Vadot }; 223f126890aSEmmanuel Vadot 224f126890aSEmmanuel Vadot gpio0: gpio@e0600000 { 225f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 226f126890aSEmmanuel Vadot reg = <0xe0600000 0x1000>; 227f126890aSEmmanuel Vadot interrupts = <0 24 0x4>; 228f126890aSEmmanuel Vadot gpio-controller; 229f126890aSEmmanuel Vadot #gpio-cells = <2>; 230f126890aSEmmanuel Vadot interrupt-controller; 231f126890aSEmmanuel Vadot #interrupt-cells = <2>; 232f126890aSEmmanuel Vadot status = "disabled"; 233f126890aSEmmanuel Vadot }; 234f126890aSEmmanuel Vadot 235f126890aSEmmanuel Vadot gpio1: gpio@e0680000 { 236f126890aSEmmanuel Vadot compatible = "arm,pl061", "arm,primecell"; 237f126890aSEmmanuel Vadot reg = <0xe0680000 0x1000>; 238f126890aSEmmanuel Vadot interrupts = <0 25 0x4>; 239f126890aSEmmanuel Vadot gpio-controller; 240f126890aSEmmanuel Vadot #gpio-cells = <2>; 241f126890aSEmmanuel Vadot interrupt-controller; 242f126890aSEmmanuel Vadot #interrupt-cells = <2>; 243f126890aSEmmanuel Vadot status = "disabled"; 244f126890aSEmmanuel Vadot }; 245f126890aSEmmanuel Vadot 246f126890aSEmmanuel Vadot kbd@e0300000 { 247f126890aSEmmanuel Vadot compatible = "st,spear300-kbd"; 248f126890aSEmmanuel Vadot reg = <0xe0300000 0x1000>; 249f126890aSEmmanuel Vadot interrupts = <0 52 0x4>; 250f126890aSEmmanuel Vadot status = "disabled"; 251f126890aSEmmanuel Vadot }; 252f126890aSEmmanuel Vadot 253f126890aSEmmanuel Vadot i2c0: i2c@e0280000 { 254f126890aSEmmanuel Vadot #address-cells = <1>; 255f126890aSEmmanuel Vadot #size-cells = <0>; 256f126890aSEmmanuel Vadot compatible = "snps,designware-i2c"; 257f126890aSEmmanuel Vadot reg = <0xe0280000 0x1000>; 258f126890aSEmmanuel Vadot interrupts = <0 41 0x4>; 259f126890aSEmmanuel Vadot status = "disabled"; 260f126890aSEmmanuel Vadot }; 261f126890aSEmmanuel Vadot 262f126890aSEmmanuel Vadot i2s@e0180000 { 263f126890aSEmmanuel Vadot compatible = "st,designware-i2s"; 264f126890aSEmmanuel Vadot reg = <0xe0180000 0x1000>; 265f126890aSEmmanuel Vadot interrupt-names = "play_irq", "record_irq"; 266*aa1a8ff2SEmmanuel Vadot interrupts = <0 10 0x4>, 267*aa1a8ff2SEmmanuel Vadot <0 11 0x4>; 268f126890aSEmmanuel Vadot status = "disabled"; 269f126890aSEmmanuel Vadot }; 270f126890aSEmmanuel Vadot 271f126890aSEmmanuel Vadot i2s@e0200000 { 272f126890aSEmmanuel Vadot compatible = "st,designware-i2s"; 273f126890aSEmmanuel Vadot reg = <0xe0200000 0x1000>; 274f126890aSEmmanuel Vadot interrupt-names = "play_irq", "record_irq"; 275*aa1a8ff2SEmmanuel Vadot interrupts = <0 26 0x4>, 276*aa1a8ff2SEmmanuel Vadot <0 53 0x4>; 277f126890aSEmmanuel Vadot status = "disabled"; 278f126890aSEmmanuel Vadot }; 279f126890aSEmmanuel Vadot 280f126890aSEmmanuel Vadot spi0: spi@e0100000 { 281f126890aSEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 282f126890aSEmmanuel Vadot reg = <0xe0100000 0x1000>; 283f126890aSEmmanuel Vadot #address-cells = <1>; 284f126890aSEmmanuel Vadot #size-cells = <0>; 285f126890aSEmmanuel Vadot interrupts = <0 31 0x4>; 286f126890aSEmmanuel Vadot status = "disabled"; 287f126890aSEmmanuel Vadot dmas = <&dwdma0 5 0 0>, 288f126890aSEmmanuel Vadot <&dwdma0 4 0 0>; 289f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 290f126890aSEmmanuel Vadot }; 291f126890aSEmmanuel Vadot 292f126890aSEmmanuel Vadot rtc@e0580000 { 293f126890aSEmmanuel Vadot compatible = "st,spear600-rtc"; 294f126890aSEmmanuel Vadot reg = <0xe0580000 0x1000>; 295f126890aSEmmanuel Vadot interrupts = <0 36 0x4>; 296f126890aSEmmanuel Vadot status = "disabled"; 297f126890aSEmmanuel Vadot }; 298f126890aSEmmanuel Vadot 299f126890aSEmmanuel Vadot serial@e0000000 { 300f126890aSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 301f126890aSEmmanuel Vadot reg = <0xe0000000 0x1000>; 302f126890aSEmmanuel Vadot interrupts = <0 35 0x4>; 303f126890aSEmmanuel Vadot status = "disabled"; 304f126890aSEmmanuel Vadot }; 305f126890aSEmmanuel Vadot 306f126890aSEmmanuel Vadot adc@e0080000 { 307f126890aSEmmanuel Vadot compatible = "st,spear600-adc"; 308f126890aSEmmanuel Vadot reg = <0xe0080000 0x1000>; 309f126890aSEmmanuel Vadot interrupts = <0 12 0x4>; 310f126890aSEmmanuel Vadot status = "disabled"; 311f126890aSEmmanuel Vadot }; 312f126890aSEmmanuel Vadot 313f126890aSEmmanuel Vadot timer@e0380000 { 314f126890aSEmmanuel Vadot compatible = "st,spear-timer"; 315f126890aSEmmanuel Vadot reg = <0xe0380000 0x400>; 316f126890aSEmmanuel Vadot interrupts = <0 37 0x4>; 317f126890aSEmmanuel Vadot }; 318f126890aSEmmanuel Vadot 319f126890aSEmmanuel Vadot timer@ec800600 { 320f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-timer"; 321f126890aSEmmanuel Vadot reg = <0xec800600 0x20>; 322f126890aSEmmanuel Vadot interrupts = <1 13 0x4>; 323f126890aSEmmanuel Vadot status = "disabled"; 324f126890aSEmmanuel Vadot }; 325f126890aSEmmanuel Vadot 326f126890aSEmmanuel Vadot wdt@ec800620 { 327f126890aSEmmanuel Vadot compatible = "arm,cortex-a9-twd-wdt"; 328f126890aSEmmanuel Vadot reg = <0xec800620 0x20>; 329f126890aSEmmanuel Vadot status = "disabled"; 330f126890aSEmmanuel Vadot }; 331f126890aSEmmanuel Vadot 332f126890aSEmmanuel Vadot thermal@e07008c4 { 333f126890aSEmmanuel Vadot compatible = "st,thermal-spear1340"; 334f126890aSEmmanuel Vadot reg = <0xe07008c4 0x4>; 335f126890aSEmmanuel Vadot thermal_flags = <0x7000>; 336f126890aSEmmanuel Vadot }; 337f126890aSEmmanuel Vadot }; 338f126890aSEmmanuel Vadot }; 339f126890aSEmmanuel Vadot}; 340