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