1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * ARM Ltd. Versatile Express 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Motherboard Express uATX 6*4882a593Smuzhiyun * V2M-P1 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * HBI-0190D 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * Original memory map ("Legacy memory map" in the board's 11*4882a593Smuzhiyun * Technical Reference Manual) 12*4882a593Smuzhiyun * 13*4882a593Smuzhiyun * WARNING! The hardware described in this file is independent from the 14*4882a593Smuzhiyun * RS1 variant (vexpress-v2m-rs1.dtsi), but there is a strong 15*4882a593Smuzhiyun * correspondence between the two configurations. 16*4882a593Smuzhiyun * 17*4882a593Smuzhiyun * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT 18*4882a593Smuzhiyun * CHANGES TO vexpress-v2m-rs1.dtsi! 19*4882a593Smuzhiyun */ 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun/ { 22*4882a593Smuzhiyun bus@40000000 { 23*4882a593Smuzhiyun motherboard { 24*4882a593Smuzhiyun model = "V2M-P1"; 25*4882a593Smuzhiyun arm,hbi = <0x190>; 26*4882a593Smuzhiyun arm,vexpress,site = <0>; 27*4882a593Smuzhiyun compatible = "arm,vexpress,v2m-p1", "simple-bus"; 28*4882a593Smuzhiyun #address-cells = <2>; /* SMB chipselect number and offset */ 29*4882a593Smuzhiyun #size-cells = <1>; 30*4882a593Smuzhiyun #interrupt-cells = <1>; 31*4882a593Smuzhiyun ranges; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun flash@0,00000000 { 34*4882a593Smuzhiyun compatible = "arm,vexpress-flash", "cfi-flash"; 35*4882a593Smuzhiyun reg = <0 0x00000000 0x04000000>, 36*4882a593Smuzhiyun <1 0x00000000 0x04000000>; 37*4882a593Smuzhiyun bank-width = <4>; 38*4882a593Smuzhiyun partitions { 39*4882a593Smuzhiyun compatible = "arm,arm-firmware-suite"; 40*4882a593Smuzhiyun }; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun psram@2,00000000 { 44*4882a593Smuzhiyun compatible = "arm,vexpress-psram", "mtd-ram"; 45*4882a593Smuzhiyun reg = <2 0x00000000 0x02000000>; 46*4882a593Smuzhiyun bank-width = <4>; 47*4882a593Smuzhiyun }; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun ethernet@3,02000000 { 50*4882a593Smuzhiyun compatible = "smsc,lan9118", "smsc,lan9115"; 51*4882a593Smuzhiyun reg = <3 0x02000000 0x10000>; 52*4882a593Smuzhiyun interrupts = <15>; 53*4882a593Smuzhiyun phy-mode = "mii"; 54*4882a593Smuzhiyun reg-io-width = <4>; 55*4882a593Smuzhiyun smsc,irq-active-high; 56*4882a593Smuzhiyun smsc,irq-push-pull; 57*4882a593Smuzhiyun vdd33a-supply = <&v2m_fixed_3v3>; 58*4882a593Smuzhiyun vddvario-supply = <&v2m_fixed_3v3>; 59*4882a593Smuzhiyun }; 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun usb@3,03000000 { 62*4882a593Smuzhiyun compatible = "nxp,usb-isp1761"; 63*4882a593Smuzhiyun reg = <3 0x03000000 0x20000>; 64*4882a593Smuzhiyun interrupts = <16>; 65*4882a593Smuzhiyun port1-otg; 66*4882a593Smuzhiyun }; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun iofpga@7,00000000 { 69*4882a593Smuzhiyun compatible = "simple-bus"; 70*4882a593Smuzhiyun #address-cells = <1>; 71*4882a593Smuzhiyun #size-cells = <1>; 72*4882a593Smuzhiyun ranges = <0 7 0 0x20000>; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun v2m_sysreg: sysreg@0 { 75*4882a593Smuzhiyun compatible = "arm,vexpress-sysreg"; 76*4882a593Smuzhiyun reg = <0x00000 0x1000>; 77*4882a593Smuzhiyun #address-cells = <1>; 78*4882a593Smuzhiyun #size-cells = <1>; 79*4882a593Smuzhiyun ranges = <0 0 0x1000>; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun v2m_led_gpios: gpio@8 { 82*4882a593Smuzhiyun compatible = "arm,vexpress-sysreg,sys_led"; 83*4882a593Smuzhiyun reg = <0x008 4>; 84*4882a593Smuzhiyun gpio-controller; 85*4882a593Smuzhiyun #gpio-cells = <2>; 86*4882a593Smuzhiyun }; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun v2m_mmc_gpios: gpio@48 { 89*4882a593Smuzhiyun compatible = "arm,vexpress-sysreg,sys_mci"; 90*4882a593Smuzhiyun reg = <0x048 4>; 91*4882a593Smuzhiyun gpio-controller; 92*4882a593Smuzhiyun #gpio-cells = <2>; 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun v2m_flash_gpios: gpio@4c { 96*4882a593Smuzhiyun compatible = "arm,vexpress-sysreg,sys_flash"; 97*4882a593Smuzhiyun reg = <0x04c 4>; 98*4882a593Smuzhiyun gpio-controller; 99*4882a593Smuzhiyun #gpio-cells = <2>; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun v2m_sysctl: sysctl@1000 { 104*4882a593Smuzhiyun compatible = "arm,sp810", "arm,primecell"; 105*4882a593Smuzhiyun reg = <0x01000 0x1000>; 106*4882a593Smuzhiyun clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; 107*4882a593Smuzhiyun clock-names = "refclk", "timclk", "apb_pclk"; 108*4882a593Smuzhiyun #clock-cells = <1>; 109*4882a593Smuzhiyun clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; 110*4882a593Smuzhiyun assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>; 111*4882a593Smuzhiyun assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun /* PCI-E I2C bus */ 115*4882a593Smuzhiyun v2m_i2c_pcie: i2c@2000 { 116*4882a593Smuzhiyun compatible = "arm,versatile-i2c"; 117*4882a593Smuzhiyun reg = <0x02000 0x1000>; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun #address-cells = <1>; 120*4882a593Smuzhiyun #size-cells = <0>; 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun pcie-switch@60 { 123*4882a593Smuzhiyun compatible = "idt,89hpes32h8"; 124*4882a593Smuzhiyun reg = <0x60>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun }; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun aaci@4000 { 129*4882a593Smuzhiyun compatible = "arm,pl041", "arm,primecell"; 130*4882a593Smuzhiyun reg = <0x04000 0x1000>; 131*4882a593Smuzhiyun interrupts = <11>; 132*4882a593Smuzhiyun clocks = <&smbclk>; 133*4882a593Smuzhiyun clock-names = "apb_pclk"; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun mmci@5000 { 137*4882a593Smuzhiyun compatible = "arm,pl180", "arm,primecell"; 138*4882a593Smuzhiyun reg = <0x05000 0x1000>; 139*4882a593Smuzhiyun interrupts = <9>, <10>; 140*4882a593Smuzhiyun cd-gpios = <&v2m_mmc_gpios 0 0>; 141*4882a593Smuzhiyun wp-gpios = <&v2m_mmc_gpios 1 0>; 142*4882a593Smuzhiyun max-frequency = <12000000>; 143*4882a593Smuzhiyun vmmc-supply = <&v2m_fixed_3v3>; 144*4882a593Smuzhiyun clocks = <&v2m_clk24mhz>, <&smbclk>; 145*4882a593Smuzhiyun clock-names = "mclk", "apb_pclk"; 146*4882a593Smuzhiyun }; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun kmi@6000 { 149*4882a593Smuzhiyun compatible = "arm,pl050", "arm,primecell"; 150*4882a593Smuzhiyun reg = <0x06000 0x1000>; 151*4882a593Smuzhiyun interrupts = <12>; 152*4882a593Smuzhiyun clocks = <&v2m_clk24mhz>, <&smbclk>; 153*4882a593Smuzhiyun clock-names = "KMIREFCLK", "apb_pclk"; 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun kmi@7000 { 157*4882a593Smuzhiyun compatible = "arm,pl050", "arm,primecell"; 158*4882a593Smuzhiyun reg = <0x07000 0x1000>; 159*4882a593Smuzhiyun interrupts = <13>; 160*4882a593Smuzhiyun clocks = <&v2m_clk24mhz>, <&smbclk>; 161*4882a593Smuzhiyun clock-names = "KMIREFCLK", "apb_pclk"; 162*4882a593Smuzhiyun }; 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun v2m_serial0: uart@9000 { 165*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 166*4882a593Smuzhiyun reg = <0x09000 0x1000>; 167*4882a593Smuzhiyun interrupts = <5>; 168*4882a593Smuzhiyun clocks = <&v2m_oscclk2>, <&smbclk>; 169*4882a593Smuzhiyun clock-names = "uartclk", "apb_pclk"; 170*4882a593Smuzhiyun }; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun v2m_serial1: uart@a000 { 173*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 174*4882a593Smuzhiyun reg = <0x0a000 0x1000>; 175*4882a593Smuzhiyun interrupts = <6>; 176*4882a593Smuzhiyun clocks = <&v2m_oscclk2>, <&smbclk>; 177*4882a593Smuzhiyun clock-names = "uartclk", "apb_pclk"; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun v2m_serial2: uart@b000 { 181*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 182*4882a593Smuzhiyun reg = <0x0b000 0x1000>; 183*4882a593Smuzhiyun interrupts = <7>; 184*4882a593Smuzhiyun clocks = <&v2m_oscclk2>, <&smbclk>; 185*4882a593Smuzhiyun clock-names = "uartclk", "apb_pclk"; 186*4882a593Smuzhiyun }; 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun v2m_serial3: uart@c000 { 189*4882a593Smuzhiyun compatible = "arm,pl011", "arm,primecell"; 190*4882a593Smuzhiyun reg = <0x0c000 0x1000>; 191*4882a593Smuzhiyun interrupts = <8>; 192*4882a593Smuzhiyun clocks = <&v2m_oscclk2>, <&smbclk>; 193*4882a593Smuzhiyun clock-names = "uartclk", "apb_pclk"; 194*4882a593Smuzhiyun }; 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun wdt@f000 { 197*4882a593Smuzhiyun compatible = "arm,sp805", "arm,primecell"; 198*4882a593Smuzhiyun reg = <0x0f000 0x1000>; 199*4882a593Smuzhiyun interrupts = <0>; 200*4882a593Smuzhiyun clocks = <&v2m_refclk32khz>, <&smbclk>; 201*4882a593Smuzhiyun clock-names = "wdog_clk", "apb_pclk"; 202*4882a593Smuzhiyun }; 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun v2m_timer01: timer@11000 { 205*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 206*4882a593Smuzhiyun reg = <0x11000 0x1000>; 207*4882a593Smuzhiyun interrupts = <2>; 208*4882a593Smuzhiyun clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; 209*4882a593Smuzhiyun clock-names = "timclken1", "timclken2", "apb_pclk"; 210*4882a593Smuzhiyun }; 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun v2m_timer23: timer@12000 { 213*4882a593Smuzhiyun compatible = "arm,sp804", "arm,primecell"; 214*4882a593Smuzhiyun reg = <0x12000 0x1000>; 215*4882a593Smuzhiyun interrupts = <3>; 216*4882a593Smuzhiyun clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; 217*4882a593Smuzhiyun clock-names = "timclken1", "timclken2", "apb_pclk"; 218*4882a593Smuzhiyun }; 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun /* DVI I2C bus */ 221*4882a593Smuzhiyun v2m_i2c_dvi: i2c@16000 { 222*4882a593Smuzhiyun compatible = "arm,versatile-i2c"; 223*4882a593Smuzhiyun reg = <0x16000 0x1000>; 224*4882a593Smuzhiyun #address-cells = <1>; 225*4882a593Smuzhiyun #size-cells = <0>; 226*4882a593Smuzhiyun 227*4882a593Smuzhiyun dvi-transmitter@39 { 228*4882a593Smuzhiyun compatible = "sil,sii9022-tpi", "sil,sii9022"; 229*4882a593Smuzhiyun reg = <0x39>; 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun ports { 232*4882a593Smuzhiyun #address-cells = <1>; 233*4882a593Smuzhiyun #size-cells = <0>; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun /* 236*4882a593Smuzhiyun * Both the core tile and the motherboard routes their output 237*4882a593Smuzhiyun * pads to this transmitter. The motherboard system controller 238*4882a593Smuzhiyun * can select one of them as input using a mux register in 239*4882a593Smuzhiyun * "arm,vexpress-muxfpga". The Vexpress with the CA9 core tile is 240*4882a593Smuzhiyun * the only platform with this specific set-up. 241*4882a593Smuzhiyun */ 242*4882a593Smuzhiyun port@0 { 243*4882a593Smuzhiyun reg = <0>; 244*4882a593Smuzhiyun dvi_bridge_in_ct: endpoint { 245*4882a593Smuzhiyun remote-endpoint = <&clcd_pads_ct>; 246*4882a593Smuzhiyun }; 247*4882a593Smuzhiyun }; 248*4882a593Smuzhiyun port@1 { 249*4882a593Smuzhiyun reg = <1>; 250*4882a593Smuzhiyun dvi_bridge_in_mb: endpoint { 251*4882a593Smuzhiyun remote-endpoint = <&clcd_pads_mb>; 252*4882a593Smuzhiyun }; 253*4882a593Smuzhiyun }; 254*4882a593Smuzhiyun }; 255*4882a593Smuzhiyun }; 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun dvi-transmitter@60 { 258*4882a593Smuzhiyun compatible = "sil,sii9022-cpi", "sil,sii9022"; 259*4882a593Smuzhiyun reg = <0x60>; 260*4882a593Smuzhiyun }; 261*4882a593Smuzhiyun }; 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun rtc@17000 { 264*4882a593Smuzhiyun compatible = "arm,pl031", "arm,primecell"; 265*4882a593Smuzhiyun reg = <0x17000 0x1000>; 266*4882a593Smuzhiyun interrupts = <4>; 267*4882a593Smuzhiyun clocks = <&smbclk>; 268*4882a593Smuzhiyun clock-names = "apb_pclk"; 269*4882a593Smuzhiyun }; 270*4882a593Smuzhiyun 271*4882a593Smuzhiyun compact-flash@1a000 { 272*4882a593Smuzhiyun compatible = "arm,vexpress-cf", "ata-generic"; 273*4882a593Smuzhiyun reg = <0x1a000 0x100 274*4882a593Smuzhiyun 0x1a100 0xf00>; 275*4882a593Smuzhiyun reg-shift = <2>; 276*4882a593Smuzhiyun }; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun clcd@1f000 { 280*4882a593Smuzhiyun compatible = "arm,pl111", "arm,primecell"; 281*4882a593Smuzhiyun reg = <0x1f000 0x1000>; 282*4882a593Smuzhiyun interrupt-names = "combined"; 283*4882a593Smuzhiyun interrupts = <14>; 284*4882a593Smuzhiyun clocks = <&v2m_oscclk1>, <&smbclk>; 285*4882a593Smuzhiyun clock-names = "clcdclk", "apb_pclk"; 286*4882a593Smuzhiyun /* 800x600 16bpp @36MHz works fine */ 287*4882a593Smuzhiyun max-memory-bandwidth = <54000000>; 288*4882a593Smuzhiyun memory-region = <&vram>; 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun port { 291*4882a593Smuzhiyun clcd_pads_mb: endpoint { 292*4882a593Smuzhiyun remote-endpoint = <&dvi_bridge_in_mb>; 293*4882a593Smuzhiyun arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 294*4882a593Smuzhiyun }; 295*4882a593Smuzhiyun }; 296*4882a593Smuzhiyun }; 297*4882a593Smuzhiyun }; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun v2m_fixed_3v3: fixed-regulator-0 { 300*4882a593Smuzhiyun compatible = "regulator-fixed"; 301*4882a593Smuzhiyun regulator-name = "3V3"; 302*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 303*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 304*4882a593Smuzhiyun regulator-always-on; 305*4882a593Smuzhiyun }; 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun v2m_clk24mhz: clk24mhz { 308*4882a593Smuzhiyun compatible = "fixed-clock"; 309*4882a593Smuzhiyun #clock-cells = <0>; 310*4882a593Smuzhiyun clock-frequency = <24000000>; 311*4882a593Smuzhiyun clock-output-names = "v2m:clk24mhz"; 312*4882a593Smuzhiyun }; 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun v2m_refclk1mhz: refclk1mhz { 315*4882a593Smuzhiyun compatible = "fixed-clock"; 316*4882a593Smuzhiyun #clock-cells = <0>; 317*4882a593Smuzhiyun clock-frequency = <1000000>; 318*4882a593Smuzhiyun clock-output-names = "v2m:refclk1mhz"; 319*4882a593Smuzhiyun }; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun v2m_refclk32khz: refclk32khz { 322*4882a593Smuzhiyun compatible = "fixed-clock"; 323*4882a593Smuzhiyun #clock-cells = <0>; 324*4882a593Smuzhiyun clock-frequency = <32768>; 325*4882a593Smuzhiyun clock-output-names = "v2m:refclk32khz"; 326*4882a593Smuzhiyun }; 327*4882a593Smuzhiyun 328*4882a593Smuzhiyun leds { 329*4882a593Smuzhiyun compatible = "gpio-leds"; 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun user1 { 332*4882a593Smuzhiyun label = "v2m:green:user1"; 333*4882a593Smuzhiyun gpios = <&v2m_led_gpios 0 0>; 334*4882a593Smuzhiyun linux,default-trigger = "heartbeat"; 335*4882a593Smuzhiyun }; 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun user2 { 338*4882a593Smuzhiyun label = "v2m:green:user2"; 339*4882a593Smuzhiyun gpios = <&v2m_led_gpios 1 0>; 340*4882a593Smuzhiyun linux,default-trigger = "mmc0"; 341*4882a593Smuzhiyun }; 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun user3 { 344*4882a593Smuzhiyun label = "v2m:green:user3"; 345*4882a593Smuzhiyun gpios = <&v2m_led_gpios 2 0>; 346*4882a593Smuzhiyun linux,default-trigger = "cpu0"; 347*4882a593Smuzhiyun }; 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun user4 { 350*4882a593Smuzhiyun label = "v2m:green:user4"; 351*4882a593Smuzhiyun gpios = <&v2m_led_gpios 3 0>; 352*4882a593Smuzhiyun linux,default-trigger = "cpu1"; 353*4882a593Smuzhiyun }; 354*4882a593Smuzhiyun 355*4882a593Smuzhiyun user5 { 356*4882a593Smuzhiyun label = "v2m:green:user5"; 357*4882a593Smuzhiyun gpios = <&v2m_led_gpios 4 0>; 358*4882a593Smuzhiyun linux,default-trigger = "cpu2"; 359*4882a593Smuzhiyun }; 360*4882a593Smuzhiyun 361*4882a593Smuzhiyun user6 { 362*4882a593Smuzhiyun label = "v2m:green:user6"; 363*4882a593Smuzhiyun gpios = <&v2m_led_gpios 5 0>; 364*4882a593Smuzhiyun linux,default-trigger = "cpu3"; 365*4882a593Smuzhiyun }; 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun user7 { 368*4882a593Smuzhiyun label = "v2m:green:user7"; 369*4882a593Smuzhiyun gpios = <&v2m_led_gpios 6 0>; 370*4882a593Smuzhiyun linux,default-trigger = "cpu4"; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun user8 { 374*4882a593Smuzhiyun label = "v2m:green:user8"; 375*4882a593Smuzhiyun gpios = <&v2m_led_gpios 7 0>; 376*4882a593Smuzhiyun linux,default-trigger = "cpu5"; 377*4882a593Smuzhiyun }; 378*4882a593Smuzhiyun }; 379*4882a593Smuzhiyun 380*4882a593Smuzhiyun mcc { 381*4882a593Smuzhiyun compatible = "arm,vexpress,config-bus"; 382*4882a593Smuzhiyun arm,vexpress,config-bridge = <&v2m_sysreg>; 383*4882a593Smuzhiyun 384*4882a593Smuzhiyun oscclk0 { 385*4882a593Smuzhiyun /* MCC static memory clock */ 386*4882a593Smuzhiyun compatible = "arm,vexpress-osc"; 387*4882a593Smuzhiyun arm,vexpress-sysreg,func = <1 0>; 388*4882a593Smuzhiyun freq-range = <25000000 60000000>; 389*4882a593Smuzhiyun #clock-cells = <0>; 390*4882a593Smuzhiyun clock-output-names = "v2m:oscclk0"; 391*4882a593Smuzhiyun }; 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun v2m_oscclk1: oscclk1 { 394*4882a593Smuzhiyun /* CLCD clock */ 395*4882a593Smuzhiyun compatible = "arm,vexpress-osc"; 396*4882a593Smuzhiyun arm,vexpress-sysreg,func = <1 1>; 397*4882a593Smuzhiyun freq-range = <23750000 65000000>; 398*4882a593Smuzhiyun #clock-cells = <0>; 399*4882a593Smuzhiyun clock-output-names = "v2m:oscclk1"; 400*4882a593Smuzhiyun }; 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun v2m_oscclk2: oscclk2 { 403*4882a593Smuzhiyun /* IO FPGA peripheral clock */ 404*4882a593Smuzhiyun compatible = "arm,vexpress-osc"; 405*4882a593Smuzhiyun arm,vexpress-sysreg,func = <1 2>; 406*4882a593Smuzhiyun freq-range = <24000000 24000000>; 407*4882a593Smuzhiyun #clock-cells = <0>; 408*4882a593Smuzhiyun clock-output-names = "v2m:oscclk2"; 409*4882a593Smuzhiyun }; 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun volt-vio { 412*4882a593Smuzhiyun /* Logic level voltage */ 413*4882a593Smuzhiyun compatible = "arm,vexpress-volt"; 414*4882a593Smuzhiyun arm,vexpress-sysreg,func = <2 0>; 415*4882a593Smuzhiyun regulator-name = "VIO"; 416*4882a593Smuzhiyun regulator-always-on; 417*4882a593Smuzhiyun label = "VIO"; 418*4882a593Smuzhiyun }; 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun temp-mcc { 421*4882a593Smuzhiyun /* MCC internal operating temperature */ 422*4882a593Smuzhiyun compatible = "arm,vexpress-temp"; 423*4882a593Smuzhiyun arm,vexpress-sysreg,func = <4 0>; 424*4882a593Smuzhiyun label = "MCC"; 425*4882a593Smuzhiyun }; 426*4882a593Smuzhiyun 427*4882a593Smuzhiyun reset { 428*4882a593Smuzhiyun compatible = "arm,vexpress-reset"; 429*4882a593Smuzhiyun arm,vexpress-sysreg,func = <5 0>; 430*4882a593Smuzhiyun }; 431*4882a593Smuzhiyun 432*4882a593Smuzhiyun muxfpga { 433*4882a593Smuzhiyun compatible = "arm,vexpress-muxfpga"; 434*4882a593Smuzhiyun arm,vexpress-sysreg,func = <7 0>; 435*4882a593Smuzhiyun }; 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun shutdown { 438*4882a593Smuzhiyun compatible = "arm,vexpress-shutdown"; 439*4882a593Smuzhiyun arm,vexpress-sysreg,func = <8 0>; 440*4882a593Smuzhiyun }; 441*4882a593Smuzhiyun 442*4882a593Smuzhiyun reboot { 443*4882a593Smuzhiyun compatible = "arm,vexpress-reboot"; 444*4882a593Smuzhiyun arm,vexpress-sysreg,func = <9 0>; 445*4882a593Smuzhiyun }; 446*4882a593Smuzhiyun 447*4882a593Smuzhiyun dvimode { 448*4882a593Smuzhiyun compatible = "arm,vexpress-dvimode"; 449*4882a593Smuzhiyun arm,vexpress-sysreg,func = <11 0>; 450*4882a593Smuzhiyun }; 451*4882a593Smuzhiyun }; 452*4882a593Smuzhiyun }; 453*4882a593Smuzhiyun }; 454*4882a593Smuzhiyun}; 455