1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * wm8850.dtsi - Device tree file for Wondermedia WM8850 SoC 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz> 6f126890aSEmmanuel Vadot */ 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot/ { 9f126890aSEmmanuel Vadot #address-cells = <1>; 10f126890aSEmmanuel Vadot #size-cells = <1>; 11f126890aSEmmanuel Vadot compatible = "wm,wm8850"; 12f126890aSEmmanuel Vadot 13f126890aSEmmanuel Vadot cpus { 14f126890aSEmmanuel Vadot #address-cells = <1>; 15f126890aSEmmanuel Vadot #size-cells = <0>; 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot cpu@0 { 18f126890aSEmmanuel Vadot device_type = "cpu"; 19f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 20f126890aSEmmanuel Vadot reg = <0x0>; 21f126890aSEmmanuel Vadot }; 22f126890aSEmmanuel Vadot }; 23f126890aSEmmanuel Vadot 24f126890aSEmmanuel Vadot memory { 25f126890aSEmmanuel Vadot device_type = "memory"; 26f126890aSEmmanuel Vadot reg = <0x0 0x0>; 27f126890aSEmmanuel Vadot }; 28f126890aSEmmanuel Vadot 29f126890aSEmmanuel Vadot aliases { 30f126890aSEmmanuel Vadot serial0 = &uart0; 31f126890aSEmmanuel Vadot serial1 = &uart1; 32f126890aSEmmanuel Vadot serial2 = &uart2; 33f126890aSEmmanuel Vadot serial3 = &uart3; 34f126890aSEmmanuel Vadot }; 35f126890aSEmmanuel Vadot 36f126890aSEmmanuel Vadot soc { 37f126890aSEmmanuel Vadot #address-cells = <1>; 38f126890aSEmmanuel Vadot #size-cells = <1>; 39f126890aSEmmanuel Vadot compatible = "simple-bus"; 40f126890aSEmmanuel Vadot ranges; 41f126890aSEmmanuel Vadot interrupt-parent = <&intc0>; 42f126890aSEmmanuel Vadot 43f126890aSEmmanuel Vadot intc0: interrupt-controller@d8140000 { 44f126890aSEmmanuel Vadot compatible = "via,vt8500-intc"; 45f126890aSEmmanuel Vadot interrupt-controller; 46f126890aSEmmanuel Vadot reg = <0xd8140000 0x10000>; 47f126890aSEmmanuel Vadot #interrupt-cells = <1>; 48f126890aSEmmanuel Vadot }; 49f126890aSEmmanuel Vadot 50f126890aSEmmanuel Vadot /* Secondary IC cascaded to intc0 */ 51f126890aSEmmanuel Vadot intc1: interrupt-controller@d8150000 { 52f126890aSEmmanuel Vadot compatible = "via,vt8500-intc"; 53f126890aSEmmanuel Vadot interrupt-controller; 54f126890aSEmmanuel Vadot #interrupt-cells = <1>; 55f126890aSEmmanuel Vadot reg = <0xD8150000 0x10000>; 56f126890aSEmmanuel Vadot interrupts = <56 57 58 59 60 61 62 63>; 57f126890aSEmmanuel Vadot }; 58f126890aSEmmanuel Vadot 59f126890aSEmmanuel Vadot pinctrl: pinctrl@d8110000 { 60f126890aSEmmanuel Vadot compatible = "wm,wm8850-pinctrl"; 61f126890aSEmmanuel Vadot reg = <0xd8110000 0x10000>; 62f126890aSEmmanuel Vadot interrupt-controller; 63f126890aSEmmanuel Vadot #interrupt-cells = <2>; 64f126890aSEmmanuel Vadot gpio-controller; 65f126890aSEmmanuel Vadot #gpio-cells = <2>; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot pmc@d8130000 { 69f126890aSEmmanuel Vadot compatible = "via,vt8500-pmc"; 70f126890aSEmmanuel Vadot reg = <0xd8130000 0x1000>; 71f126890aSEmmanuel Vadot 72f126890aSEmmanuel Vadot clocks { 73f126890aSEmmanuel Vadot #address-cells = <1>; 74f126890aSEmmanuel Vadot #size-cells = <0>; 75f126890aSEmmanuel Vadot 76f126890aSEmmanuel Vadot ref25: ref25M { 77f126890aSEmmanuel Vadot #clock-cells = <0>; 78f126890aSEmmanuel Vadot compatible = "fixed-clock"; 79f126890aSEmmanuel Vadot clock-frequency = <25000000>; 80f126890aSEmmanuel Vadot }; 81f126890aSEmmanuel Vadot 82f126890aSEmmanuel Vadot ref24: ref24M { 83f126890aSEmmanuel Vadot #clock-cells = <0>; 84f126890aSEmmanuel Vadot compatible = "fixed-clock"; 85f126890aSEmmanuel Vadot clock-frequency = <24000000>; 86f126890aSEmmanuel Vadot }; 87f126890aSEmmanuel Vadot 88f126890aSEmmanuel Vadot plla: plla { 89f126890aSEmmanuel Vadot #clock-cells = <0>; 90f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 91f126890aSEmmanuel Vadot clocks = <&ref24>; 92f126890aSEmmanuel Vadot reg = <0x200>; 93f126890aSEmmanuel Vadot }; 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot pllb: pllb { 96f126890aSEmmanuel Vadot #clock-cells = <0>; 97f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 98f126890aSEmmanuel Vadot clocks = <&ref24>; 99f126890aSEmmanuel Vadot reg = <0x204>; 100f126890aSEmmanuel Vadot }; 101f126890aSEmmanuel Vadot 102f126890aSEmmanuel Vadot pllc: pllc { 103f126890aSEmmanuel Vadot #clock-cells = <0>; 104f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 105f126890aSEmmanuel Vadot clocks = <&ref24>; 106f126890aSEmmanuel Vadot reg = <0x208>; 107f126890aSEmmanuel Vadot }; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot plld: plld { 110f126890aSEmmanuel Vadot #clock-cells = <0>; 111f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 112f126890aSEmmanuel Vadot clocks = <&ref24>; 113f126890aSEmmanuel Vadot reg = <0x20c>; 114f126890aSEmmanuel Vadot }; 115f126890aSEmmanuel Vadot 116f126890aSEmmanuel Vadot plle: plle { 117f126890aSEmmanuel Vadot #clock-cells = <0>; 118f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 119f126890aSEmmanuel Vadot clocks = <&ref24>; 120f126890aSEmmanuel Vadot reg = <0x210>; 121f126890aSEmmanuel Vadot }; 122f126890aSEmmanuel Vadot 123f126890aSEmmanuel Vadot pllf: pllf { 124f126890aSEmmanuel Vadot #clock-cells = <0>; 125f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 126f126890aSEmmanuel Vadot clocks = <&ref24>; 127f126890aSEmmanuel Vadot reg = <0x214>; 128f126890aSEmmanuel Vadot }; 129f126890aSEmmanuel Vadot 130f126890aSEmmanuel Vadot pllg: pllg { 131f126890aSEmmanuel Vadot #clock-cells = <0>; 132f126890aSEmmanuel Vadot compatible = "wm,wm8850-pll-clock"; 133f126890aSEmmanuel Vadot clocks = <&ref24>; 134f126890aSEmmanuel Vadot reg = <0x218>; 135f126890aSEmmanuel Vadot }; 136f126890aSEmmanuel Vadot 137f126890aSEmmanuel Vadot clkarm: arm { 138f126890aSEmmanuel Vadot #clock-cells = <0>; 139f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 140f126890aSEmmanuel Vadot clocks = <&plla>; 141f126890aSEmmanuel Vadot divisor-reg = <0x300>; 142f126890aSEmmanuel Vadot }; 143f126890aSEmmanuel Vadot 144f126890aSEmmanuel Vadot clkahb: ahb { 145f126890aSEmmanuel Vadot #clock-cells = <0>; 146f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 147f126890aSEmmanuel Vadot clocks = <&pllb>; 148f126890aSEmmanuel Vadot divisor-reg = <0x304>; 149f126890aSEmmanuel Vadot }; 150f126890aSEmmanuel Vadot 151f126890aSEmmanuel Vadot clkapb: apb { 152f126890aSEmmanuel Vadot #clock-cells = <0>; 153f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 154f126890aSEmmanuel Vadot clocks = <&pllb>; 155f126890aSEmmanuel Vadot divisor-reg = <0x320>; 156f126890aSEmmanuel Vadot }; 157f126890aSEmmanuel Vadot 158f126890aSEmmanuel Vadot clkddr: ddr { 159f126890aSEmmanuel Vadot #clock-cells = <0>; 160f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 161f126890aSEmmanuel Vadot clocks = <&plld>; 162f126890aSEmmanuel Vadot divisor-reg = <0x310>; 163f126890aSEmmanuel Vadot }; 164f126890aSEmmanuel Vadot 165f126890aSEmmanuel Vadot clkuart0: uart0 { 166f126890aSEmmanuel Vadot #clock-cells = <0>; 167f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 168f126890aSEmmanuel Vadot clocks = <&ref24>; 169f126890aSEmmanuel Vadot enable-reg = <0x254>; 170f126890aSEmmanuel Vadot enable-bit = <24>; 171f126890aSEmmanuel Vadot }; 172f126890aSEmmanuel Vadot 173f126890aSEmmanuel Vadot clkuart1: uart1 { 174f126890aSEmmanuel Vadot #clock-cells = <0>; 175f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 176f126890aSEmmanuel Vadot clocks = <&ref24>; 177f126890aSEmmanuel Vadot enable-reg = <0x254>; 178f126890aSEmmanuel Vadot enable-bit = <25>; 179f126890aSEmmanuel Vadot }; 180f126890aSEmmanuel Vadot 181f126890aSEmmanuel Vadot clkuart2: uart2 { 182f126890aSEmmanuel Vadot #clock-cells = <0>; 183f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 184f126890aSEmmanuel Vadot clocks = <&ref24>; 185f126890aSEmmanuel Vadot enable-reg = <0x254>; 186f126890aSEmmanuel Vadot enable-bit = <26>; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot 189f126890aSEmmanuel Vadot clkuart3: uart3 { 190f126890aSEmmanuel Vadot #clock-cells = <0>; 191f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 192f126890aSEmmanuel Vadot clocks = <&ref24>; 193f126890aSEmmanuel Vadot enable-reg = <0x254>; 194f126890aSEmmanuel Vadot enable-bit = <27>; 195f126890aSEmmanuel Vadot }; 196f126890aSEmmanuel Vadot 197f126890aSEmmanuel Vadot clkpwm: pwm { 198f126890aSEmmanuel Vadot #clock-cells = <0>; 199f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 200f126890aSEmmanuel Vadot clocks = <&pllb>; 201f126890aSEmmanuel Vadot divisor-reg = <0x350>; 202f126890aSEmmanuel Vadot enable-reg = <0x250>; 203f126890aSEmmanuel Vadot enable-bit = <17>; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot 206f126890aSEmmanuel Vadot clksdhc: sdhc { 207f126890aSEmmanuel Vadot #clock-cells = <0>; 208f126890aSEmmanuel Vadot compatible = "via,vt8500-device-clock"; 209f126890aSEmmanuel Vadot clocks = <&pllb>; 210f126890aSEmmanuel Vadot divisor-reg = <0x330>; 211f126890aSEmmanuel Vadot divisor-mask = <0x3f>; 212f126890aSEmmanuel Vadot enable-reg = <0x250>; 213f126890aSEmmanuel Vadot enable-bit = <0>; 214f126890aSEmmanuel Vadot }; 215f126890aSEmmanuel Vadot }; 216f126890aSEmmanuel Vadot }; 217f126890aSEmmanuel Vadot 218f126890aSEmmanuel Vadot fb: fb@d8051700 { 219f126890aSEmmanuel Vadot compatible = "wm,wm8505-fb"; 220f126890aSEmmanuel Vadot reg = <0xd8051700 0x200>; 221f126890aSEmmanuel Vadot }; 222f126890aSEmmanuel Vadot 223f126890aSEmmanuel Vadot ge_rops@d8050400 { 224f126890aSEmmanuel Vadot compatible = "wm,prizm-ge-rops"; 225f126890aSEmmanuel Vadot reg = <0xd8050400 0x100>; 226f126890aSEmmanuel Vadot }; 227f126890aSEmmanuel Vadot 228f126890aSEmmanuel Vadot pwm: pwm@d8220000 { 229f126890aSEmmanuel Vadot #pwm-cells = <3>; 230f126890aSEmmanuel Vadot compatible = "via,vt8500-pwm"; 231f126890aSEmmanuel Vadot reg = <0xd8220000 0x100>; 232f126890aSEmmanuel Vadot clocks = <&clkpwm>; 233f126890aSEmmanuel Vadot }; 234f126890aSEmmanuel Vadot 235f126890aSEmmanuel Vadot timer@d8130100 { 236f126890aSEmmanuel Vadot compatible = "via,vt8500-timer"; 237f126890aSEmmanuel Vadot reg = <0xd8130100 0x28>; 238f126890aSEmmanuel Vadot interrupts = <36>; 239f126890aSEmmanuel Vadot }; 240f126890aSEmmanuel Vadot 241f126890aSEmmanuel Vadot ehci@d8007900 { 242f126890aSEmmanuel Vadot compatible = "via,vt8500-ehci"; 243f126890aSEmmanuel Vadot reg = <0xd8007900 0x200>; 244f126890aSEmmanuel Vadot interrupts = <26>; 245f126890aSEmmanuel Vadot }; 246f126890aSEmmanuel Vadot 247*0e8011faSEmmanuel Vadot usb@d8007b00 { 248f126890aSEmmanuel Vadot compatible = "platform-uhci"; 249f126890aSEmmanuel Vadot reg = <0xd8007b00 0x200>; 250f126890aSEmmanuel Vadot interrupts = <26>; 251f126890aSEmmanuel Vadot }; 252f126890aSEmmanuel Vadot 253*0e8011faSEmmanuel Vadot usb@d8008d00 { 254f126890aSEmmanuel Vadot compatible = "platform-uhci"; 255f126890aSEmmanuel Vadot reg = <0xd8008d00 0x200>; 256f126890aSEmmanuel Vadot interrupts = <26>; 257f126890aSEmmanuel Vadot }; 258f126890aSEmmanuel Vadot 259f126890aSEmmanuel Vadot uart0: serial@d8200000 { 260f126890aSEmmanuel Vadot compatible = "via,vt8500-uart"; 261f126890aSEmmanuel Vadot reg = <0xd8200000 0x1040>; 262f126890aSEmmanuel Vadot interrupts = <32>; 263f126890aSEmmanuel Vadot clocks = <&clkuart0>; 264f126890aSEmmanuel Vadot status = "disabled"; 265f126890aSEmmanuel Vadot }; 266f126890aSEmmanuel Vadot 267f126890aSEmmanuel Vadot uart1: serial@d82b0000 { 268f126890aSEmmanuel Vadot compatible = "via,vt8500-uart"; 269f126890aSEmmanuel Vadot reg = <0xd82b0000 0x1040>; 270f126890aSEmmanuel Vadot interrupts = <33>; 271f126890aSEmmanuel Vadot clocks = <&clkuart1>; 272f126890aSEmmanuel Vadot status = "disabled"; 273f126890aSEmmanuel Vadot }; 274f126890aSEmmanuel Vadot 275f126890aSEmmanuel Vadot uart2: serial@d8210000 { 276f126890aSEmmanuel Vadot compatible = "via,vt8500-uart"; 277f126890aSEmmanuel Vadot reg = <0xd8210000 0x1040>; 278f126890aSEmmanuel Vadot interrupts = <47>; 279f126890aSEmmanuel Vadot clocks = <&clkuart2>; 280f126890aSEmmanuel Vadot status = "disabled"; 281f126890aSEmmanuel Vadot }; 282f126890aSEmmanuel Vadot 283f126890aSEmmanuel Vadot uart3: serial@d82c0000 { 284f126890aSEmmanuel Vadot compatible = "via,vt8500-uart"; 285f126890aSEmmanuel Vadot reg = <0xd82c0000 0x1040>; 286f126890aSEmmanuel Vadot interrupts = <50>; 287f126890aSEmmanuel Vadot clocks = <&clkuart3>; 288f126890aSEmmanuel Vadot status = "disabled"; 289f126890aSEmmanuel Vadot }; 290f126890aSEmmanuel Vadot 291f126890aSEmmanuel Vadot rtc@d8100000 { 292f126890aSEmmanuel Vadot compatible = "via,vt8500-rtc"; 293f126890aSEmmanuel Vadot reg = <0xd8100000 0x10000>; 294f126890aSEmmanuel Vadot interrupts = <48>; 295f126890aSEmmanuel Vadot }; 296f126890aSEmmanuel Vadot 297f126890aSEmmanuel Vadot sdhc@d800a000 { 298f126890aSEmmanuel Vadot compatible = "wm,wm8505-sdhc"; 299f126890aSEmmanuel Vadot reg = <0xd800a000 0x1000>; 300f126890aSEmmanuel Vadot interrupts = <20 21>; 301f126890aSEmmanuel Vadot clocks = <&clksdhc>; 302f126890aSEmmanuel Vadot bus-width = <4>; 303f126890aSEmmanuel Vadot sdon-inverted; 304f126890aSEmmanuel Vadot }; 305f126890aSEmmanuel Vadot 306f126890aSEmmanuel Vadot ethernet@d8004000 { 307f126890aSEmmanuel Vadot compatible = "via,vt8500-rhine"; 308f126890aSEmmanuel Vadot reg = <0xd8004000 0x100>; 309f126890aSEmmanuel Vadot interrupts = <10>; 310f126890aSEmmanuel Vadot }; 311f126890aSEmmanuel Vadot }; 312f126890aSEmmanuel Vadot}; 313