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