1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * ARM Ltd. Versatile Express 4c66ec88fSEmmanuel Vadot * 5c66ec88fSEmmanuel Vadot * Motherboard Express uATX 6c66ec88fSEmmanuel Vadot * V2M-P1 7c66ec88fSEmmanuel Vadot * 8c66ec88fSEmmanuel Vadot * HBI-0190D 9c66ec88fSEmmanuel Vadot * 10c66ec88fSEmmanuel Vadot * RS1 memory map ("ARM Cortex-A Series memory map" in the board's 11c66ec88fSEmmanuel Vadot * Technical Reference Manual) 12c66ec88fSEmmanuel Vadot * 13c66ec88fSEmmanuel Vadot * WARNING! The hardware described in this file is independent from the 14c66ec88fSEmmanuel Vadot * original variant (vexpress-v2m.dtsi), but there is a strong 15c66ec88fSEmmanuel Vadot * correspondence between the two configurations. 16c66ec88fSEmmanuel Vadot * 17c66ec88fSEmmanuel Vadot * TAKE CARE WHEN MAINTAINING THIS FILE TO PROPAGATE ANY RELEVANT 18c66ec88fSEmmanuel Vadot * CHANGES TO vexpress-v2m.dtsi! 19c66ec88fSEmmanuel Vadot */ 20*354d7675SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot/ { 23c66ec88fSEmmanuel Vadot v2m_fixed_3v3: fixed-regulator-0 { 24c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 25c66ec88fSEmmanuel Vadot regulator-name = "3V3"; 26c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 27c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 28c66ec88fSEmmanuel Vadot regulator-always-on; 29c66ec88fSEmmanuel Vadot }; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot v2m_clk24mhz: clk24mhz { 32c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 33c66ec88fSEmmanuel Vadot #clock-cells = <0>; 34c66ec88fSEmmanuel Vadot clock-frequency = <24000000>; 35c66ec88fSEmmanuel Vadot clock-output-names = "v2m:clk24mhz"; 36c66ec88fSEmmanuel Vadot }; 37c66ec88fSEmmanuel Vadot 38c66ec88fSEmmanuel Vadot v2m_refclk1mhz: refclk1mhz { 39c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 40c66ec88fSEmmanuel Vadot #clock-cells = <0>; 41c66ec88fSEmmanuel Vadot clock-frequency = <1000000>; 42c66ec88fSEmmanuel Vadot clock-output-names = "v2m:refclk1mhz"; 43c66ec88fSEmmanuel Vadot }; 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot v2m_refclk32khz: refclk32khz { 46c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 47c66ec88fSEmmanuel Vadot #clock-cells = <0>; 48c66ec88fSEmmanuel Vadot clock-frequency = <32768>; 49c66ec88fSEmmanuel Vadot clock-output-names = "v2m:refclk32khz"; 50c66ec88fSEmmanuel Vadot }; 51c66ec88fSEmmanuel Vadot 52c66ec88fSEmmanuel Vadot leds { 53c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot led-1 { 56c66ec88fSEmmanuel Vadot label = "v2m:green:user1"; 57c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 0 0>; 58c66ec88fSEmmanuel Vadot linux,default-trigger = "heartbeat"; 59c66ec88fSEmmanuel Vadot }; 60c66ec88fSEmmanuel Vadot 61c66ec88fSEmmanuel Vadot led-2 { 62c66ec88fSEmmanuel Vadot label = "v2m:green:user2"; 63c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 1 0>; 64c66ec88fSEmmanuel Vadot linux,default-trigger = "disk-activity"; 65c66ec88fSEmmanuel Vadot }; 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot led-3 { 68c66ec88fSEmmanuel Vadot label = "v2m:green:user3"; 69c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 2 0>; 70c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu0"; 71c66ec88fSEmmanuel Vadot }; 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot led-4 { 74c66ec88fSEmmanuel Vadot label = "v2m:green:user4"; 75c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 3 0>; 76c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu1"; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot led-5 { 80c66ec88fSEmmanuel Vadot label = "v2m:green:user5"; 81c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 4 0>; 82c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu2"; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot led-6 { 86c66ec88fSEmmanuel Vadot label = "v2m:green:user6"; 87c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 5 0>; 88c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu3"; 89c66ec88fSEmmanuel Vadot }; 90c66ec88fSEmmanuel Vadot 91c66ec88fSEmmanuel Vadot led-7 { 92c66ec88fSEmmanuel Vadot label = "v2m:green:user7"; 93c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 6 0>; 94c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu4"; 95c66ec88fSEmmanuel Vadot }; 96c66ec88fSEmmanuel Vadot 97c66ec88fSEmmanuel Vadot led-8 { 98c66ec88fSEmmanuel Vadot label = "v2m:green:user8"; 99c66ec88fSEmmanuel Vadot gpios = <&v2m_led_gpios 7 0>; 100c66ec88fSEmmanuel Vadot linux,default-trigger = "cpu5"; 101c66ec88fSEmmanuel Vadot }; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot bus@8000000 { 105*354d7675SEmmanuel Vadot compatible = "simple-bus"; 106*354d7675SEmmanuel Vadot #address-cells = <1>; 107*354d7675SEmmanuel Vadot #size-cells = <1>; 108*354d7675SEmmanuel Vadot 109*354d7675SEmmanuel Vadot #interrupt-cells = <1>; 110*354d7675SEmmanuel Vadot interrupt-map-mask = <0 63>; 111*354d7675SEmmanuel Vadot interrupt-map = <0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 112*354d7675SEmmanuel Vadot <0 1 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 113*354d7675SEmmanuel Vadot <0 2 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 114*354d7675SEmmanuel Vadot <0 3 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 115*354d7675SEmmanuel Vadot <0 4 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 116*354d7675SEmmanuel Vadot <0 5 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 117*354d7675SEmmanuel Vadot <0 6 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 118*354d7675SEmmanuel Vadot <0 7 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 119*354d7675SEmmanuel Vadot <0 8 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 120*354d7675SEmmanuel Vadot <0 9 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 121*354d7675SEmmanuel Vadot <0 10 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 122*354d7675SEmmanuel Vadot <0 11 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 123*354d7675SEmmanuel Vadot <0 12 &gic GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 124*354d7675SEmmanuel Vadot <0 13 &gic GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 125*354d7675SEmmanuel Vadot <0 14 &gic GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 126*354d7675SEmmanuel Vadot <0 15 &gic GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 127*354d7675SEmmanuel Vadot <0 16 &gic GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 128*354d7675SEmmanuel Vadot <0 17 &gic GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 129*354d7675SEmmanuel Vadot <0 18 &gic GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 130*354d7675SEmmanuel Vadot <0 19 &gic GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 131*354d7675SEmmanuel Vadot <0 20 &gic GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 132*354d7675SEmmanuel Vadot <0 21 &gic GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 133*354d7675SEmmanuel Vadot <0 22 &gic GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 134*354d7675SEmmanuel Vadot <0 23 &gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>, 135*354d7675SEmmanuel Vadot <0 24 &gic GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 136*354d7675SEmmanuel Vadot <0 25 &gic GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 137*354d7675SEmmanuel Vadot <0 26 &gic GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 138*354d7675SEmmanuel Vadot <0 27 &gic GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 139*354d7675SEmmanuel Vadot <0 28 &gic GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 140*354d7675SEmmanuel Vadot <0 29 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 141*354d7675SEmmanuel Vadot <0 30 &gic GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 142*354d7675SEmmanuel Vadot <0 31 &gic GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>, 143*354d7675SEmmanuel Vadot <0 32 &gic GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 144*354d7675SEmmanuel Vadot <0 33 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>, 145*354d7675SEmmanuel Vadot <0 34 &gic GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 146*354d7675SEmmanuel Vadot <0 35 &gic GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>, 147*354d7675SEmmanuel Vadot <0 36 &gic GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 148*354d7675SEmmanuel Vadot <0 37 &gic GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 149*354d7675SEmmanuel Vadot <0 38 &gic GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 150*354d7675SEmmanuel Vadot <0 39 &gic GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 151*354d7675SEmmanuel Vadot <0 40 &gic GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 152*354d7675SEmmanuel Vadot <0 41 &gic GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 153*354d7675SEmmanuel Vadot <0 42 &gic GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 154*354d7675SEmmanuel Vadot 155*354d7675SEmmanuel Vadot motherboard-bus@8000000 { 156c66ec88fSEmmanuel Vadot arm,hbi = <0x190>; 157c66ec88fSEmmanuel Vadot arm,vexpress,site = <0>; 158c66ec88fSEmmanuel Vadot compatible = "arm,vexpress,v2m-p1", "simple-bus"; 159c66ec88fSEmmanuel Vadot #address-cells = <2>; /* SMB chipselect number and offset */ 160c66ec88fSEmmanuel Vadot #size-cells = <1>; 161*354d7675SEmmanuel Vadot ranges = <0 0 0x08000000 0x04000000>, 162*354d7675SEmmanuel Vadot <1 0 0x14000000 0x04000000>, 163*354d7675SEmmanuel Vadot <2 0 0x18000000 0x04000000>, 164*354d7675SEmmanuel Vadot <3 0 0x1c000000 0x04000000>, 165*354d7675SEmmanuel Vadot <4 0 0x0c000000 0x04000000>, 166*354d7675SEmmanuel Vadot <5 0 0x10000000 0x04000000>; 167c66ec88fSEmmanuel Vadot 168c66ec88fSEmmanuel Vadot nor_flash: flash@0 { 169c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-flash", "cfi-flash"; 170c66ec88fSEmmanuel Vadot reg = <0 0x00000000 0x04000000>, 171c66ec88fSEmmanuel Vadot <4 0x00000000 0x04000000>; 172c66ec88fSEmmanuel Vadot bank-width = <4>; 173c66ec88fSEmmanuel Vadot partitions { 174c66ec88fSEmmanuel Vadot compatible = "arm,arm-firmware-suite"; 175c66ec88fSEmmanuel Vadot }; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot 178c66ec88fSEmmanuel Vadot psram@100000000 { 179c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-psram", "mtd-ram"; 180c66ec88fSEmmanuel Vadot reg = <1 0x00000000 0x02000000>; 181c66ec88fSEmmanuel Vadot bank-width = <4>; 182c66ec88fSEmmanuel Vadot }; 183c66ec88fSEmmanuel Vadot 184c66ec88fSEmmanuel Vadot ethernet@202000000 { 185c66ec88fSEmmanuel Vadot compatible = "smsc,lan9118", "smsc,lan9115"; 186c66ec88fSEmmanuel Vadot reg = <2 0x02000000 0x10000>; 187c66ec88fSEmmanuel Vadot interrupts = <15>; 188c66ec88fSEmmanuel Vadot phy-mode = "mii"; 189c66ec88fSEmmanuel Vadot reg-io-width = <4>; 190c66ec88fSEmmanuel Vadot smsc,irq-active-high; 191c66ec88fSEmmanuel Vadot smsc,irq-push-pull; 192c66ec88fSEmmanuel Vadot vdd33a-supply = <&v2m_fixed_3v3>; 193c66ec88fSEmmanuel Vadot vddvario-supply = <&v2m_fixed_3v3>; 194c66ec88fSEmmanuel Vadot }; 195c66ec88fSEmmanuel Vadot 196c66ec88fSEmmanuel Vadot usb@203000000 { 197c66ec88fSEmmanuel Vadot compatible = "nxp,usb-isp1761"; 198c66ec88fSEmmanuel Vadot reg = <2 0x03000000 0x20000>; 199c66ec88fSEmmanuel Vadot interrupts = <16>; 2005956d97fSEmmanuel Vadot dr_mode = "peripheral"; 201c66ec88fSEmmanuel Vadot }; 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot iofpga-bus@300000000 { 204c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 205c66ec88fSEmmanuel Vadot #address-cells = <1>; 206c66ec88fSEmmanuel Vadot #size-cells = <1>; 207c66ec88fSEmmanuel Vadot ranges = <0 3 0 0x200000>; 208c66ec88fSEmmanuel Vadot 209c66ec88fSEmmanuel Vadot v2m_sysreg: sysreg@10000 { 210c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-sysreg"; 211c66ec88fSEmmanuel Vadot reg = <0x010000 0x1000>; 212c66ec88fSEmmanuel Vadot #address-cells = <1>; 213c66ec88fSEmmanuel Vadot #size-cells = <1>; 214c66ec88fSEmmanuel Vadot ranges = <0 0x10000 0x1000>; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot v2m_led_gpios: gpio@8 { 217c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-sysreg,sys_led"; 218c66ec88fSEmmanuel Vadot reg = <0x008 4>; 219c66ec88fSEmmanuel Vadot gpio-controller; 220c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 221c66ec88fSEmmanuel Vadot }; 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot v2m_mmc_gpios: gpio@48 { 224c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-sysreg,sys_mci"; 225c66ec88fSEmmanuel Vadot reg = <0x048 4>; 226c66ec88fSEmmanuel Vadot gpio-controller; 227c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 228c66ec88fSEmmanuel Vadot }; 229c66ec88fSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot v2m_flash_gpios: gpio@4c { 231c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-sysreg,sys_flash"; 232c66ec88fSEmmanuel Vadot reg = <0x04c 4>; 233c66ec88fSEmmanuel Vadot gpio-controller; 234c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 235c66ec88fSEmmanuel Vadot }; 236c66ec88fSEmmanuel Vadot }; 237c66ec88fSEmmanuel Vadot 238c66ec88fSEmmanuel Vadot v2m_sysctl: sysctl@20000 { 239c66ec88fSEmmanuel Vadot compatible = "arm,sp810", "arm,primecell"; 240c66ec88fSEmmanuel Vadot reg = <0x020000 0x1000>; 241c66ec88fSEmmanuel Vadot clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; 242c66ec88fSEmmanuel Vadot clock-names = "refclk", "timclk", "apb_pclk"; 243c66ec88fSEmmanuel Vadot #clock-cells = <1>; 244c66ec88fSEmmanuel Vadot clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; 245c66ec88fSEmmanuel Vadot assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>; 246c66ec88fSEmmanuel Vadot assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>; 247c66ec88fSEmmanuel Vadot }; 248c66ec88fSEmmanuel Vadot 249c66ec88fSEmmanuel Vadot /* PCI-E I2C bus */ 250c66ec88fSEmmanuel Vadot v2m_i2c_pcie: i2c@30000 { 251c66ec88fSEmmanuel Vadot compatible = "arm,versatile-i2c"; 252c66ec88fSEmmanuel Vadot reg = <0x030000 0x1000>; 253c66ec88fSEmmanuel Vadot 254c66ec88fSEmmanuel Vadot #address-cells = <1>; 255c66ec88fSEmmanuel Vadot #size-cells = <0>; 256c66ec88fSEmmanuel Vadot 257c66ec88fSEmmanuel Vadot pcie-switch@60 { 258c66ec88fSEmmanuel Vadot compatible = "idt,89hpes32h8"; 259c66ec88fSEmmanuel Vadot reg = <0x60>; 260c66ec88fSEmmanuel Vadot }; 261c66ec88fSEmmanuel Vadot }; 262c66ec88fSEmmanuel Vadot 263c66ec88fSEmmanuel Vadot aaci@40000 { 264c66ec88fSEmmanuel Vadot compatible = "arm,pl041", "arm,primecell"; 265c66ec88fSEmmanuel Vadot reg = <0x040000 0x1000>; 266c66ec88fSEmmanuel Vadot interrupts = <11>; 267c66ec88fSEmmanuel Vadot clocks = <&smbclk>; 268c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 269c66ec88fSEmmanuel Vadot }; 270c66ec88fSEmmanuel Vadot 271*354d7675SEmmanuel Vadot mmc@50000 { 272c66ec88fSEmmanuel Vadot compatible = "arm,pl180", "arm,primecell"; 273c66ec88fSEmmanuel Vadot reg = <0x050000 0x1000>; 274c66ec88fSEmmanuel Vadot interrupts = <9>, <10>; 275c66ec88fSEmmanuel Vadot cd-gpios = <&v2m_mmc_gpios 0 0>; 276c66ec88fSEmmanuel Vadot wp-gpios = <&v2m_mmc_gpios 1 0>; 277c66ec88fSEmmanuel Vadot max-frequency = <12000000>; 278c66ec88fSEmmanuel Vadot vmmc-supply = <&v2m_fixed_3v3>; 279c66ec88fSEmmanuel Vadot clocks = <&v2m_clk24mhz>, <&smbclk>; 280c66ec88fSEmmanuel Vadot clock-names = "mclk", "apb_pclk"; 281c66ec88fSEmmanuel Vadot }; 282c66ec88fSEmmanuel Vadot 283c66ec88fSEmmanuel Vadot kmi@60000 { 284c66ec88fSEmmanuel Vadot compatible = "arm,pl050", "arm,primecell"; 285c66ec88fSEmmanuel Vadot reg = <0x060000 0x1000>; 286c66ec88fSEmmanuel Vadot interrupts = <12>; 287c66ec88fSEmmanuel Vadot clocks = <&v2m_clk24mhz>, <&smbclk>; 288c66ec88fSEmmanuel Vadot clock-names = "KMIREFCLK", "apb_pclk"; 289c66ec88fSEmmanuel Vadot }; 290c66ec88fSEmmanuel Vadot 291c66ec88fSEmmanuel Vadot kmi@70000 { 292c66ec88fSEmmanuel Vadot compatible = "arm,pl050", "arm,primecell"; 293c66ec88fSEmmanuel Vadot reg = <0x070000 0x1000>; 294c66ec88fSEmmanuel Vadot interrupts = <13>; 295c66ec88fSEmmanuel Vadot clocks = <&v2m_clk24mhz>, <&smbclk>; 296c66ec88fSEmmanuel Vadot clock-names = "KMIREFCLK", "apb_pclk"; 297c66ec88fSEmmanuel Vadot }; 298c66ec88fSEmmanuel Vadot 299c66ec88fSEmmanuel Vadot v2m_serial0: serial@90000 { 300c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 301c66ec88fSEmmanuel Vadot reg = <0x090000 0x1000>; 302c66ec88fSEmmanuel Vadot interrupts = <5>; 303c66ec88fSEmmanuel Vadot clocks = <&v2m_oscclk2>, <&smbclk>; 304c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 305c66ec88fSEmmanuel Vadot }; 306c66ec88fSEmmanuel Vadot 307c66ec88fSEmmanuel Vadot v2m_serial1: serial@a0000 { 308c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 309c66ec88fSEmmanuel Vadot reg = <0x0a0000 0x1000>; 310c66ec88fSEmmanuel Vadot interrupts = <6>; 311c66ec88fSEmmanuel Vadot clocks = <&v2m_oscclk2>, <&smbclk>; 312c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 313c66ec88fSEmmanuel Vadot }; 314c66ec88fSEmmanuel Vadot 315c66ec88fSEmmanuel Vadot v2m_serial2: serial@b0000 { 316c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 317c66ec88fSEmmanuel Vadot reg = <0x0b0000 0x1000>; 318c66ec88fSEmmanuel Vadot interrupts = <7>; 319c66ec88fSEmmanuel Vadot clocks = <&v2m_oscclk2>, <&smbclk>; 320c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 321c66ec88fSEmmanuel Vadot }; 322c66ec88fSEmmanuel Vadot 323c66ec88fSEmmanuel Vadot v2m_serial3: serial@c0000 { 324c66ec88fSEmmanuel Vadot compatible = "arm,pl011", "arm,primecell"; 325c66ec88fSEmmanuel Vadot reg = <0x0c0000 0x1000>; 326c66ec88fSEmmanuel Vadot interrupts = <8>; 327c66ec88fSEmmanuel Vadot clocks = <&v2m_oscclk2>, <&smbclk>; 328c66ec88fSEmmanuel Vadot clock-names = "uartclk", "apb_pclk"; 329c66ec88fSEmmanuel Vadot }; 330c66ec88fSEmmanuel Vadot 331*354d7675SEmmanuel Vadot watchdog@f0000 { 332c66ec88fSEmmanuel Vadot compatible = "arm,sp805", "arm,primecell"; 333c66ec88fSEmmanuel Vadot reg = <0x0f0000 0x1000>; 334c66ec88fSEmmanuel Vadot interrupts = <0>; 335c66ec88fSEmmanuel Vadot clocks = <&v2m_refclk32khz>, <&smbclk>; 3366be33864SEmmanuel Vadot clock-names = "wdog_clk", "apb_pclk"; 337c66ec88fSEmmanuel Vadot }; 338c66ec88fSEmmanuel Vadot 339c66ec88fSEmmanuel Vadot v2m_timer01: timer@110000 { 340c66ec88fSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 341c66ec88fSEmmanuel Vadot reg = <0x110000 0x1000>; 342c66ec88fSEmmanuel Vadot interrupts = <2>; 343c66ec88fSEmmanuel Vadot clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; 344c66ec88fSEmmanuel Vadot clock-names = "timclken1", "timclken2", "apb_pclk"; 345c66ec88fSEmmanuel Vadot }; 346c66ec88fSEmmanuel Vadot 347c66ec88fSEmmanuel Vadot v2m_timer23: timer@120000 { 348c66ec88fSEmmanuel Vadot compatible = "arm,sp804", "arm,primecell"; 349c66ec88fSEmmanuel Vadot reg = <0x120000 0x1000>; 350c66ec88fSEmmanuel Vadot interrupts = <3>; 351c66ec88fSEmmanuel Vadot clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; 352c66ec88fSEmmanuel Vadot clock-names = "timclken1", "timclken2", "apb_pclk"; 353c66ec88fSEmmanuel Vadot }; 354c66ec88fSEmmanuel Vadot 355c66ec88fSEmmanuel Vadot /* DVI I2C bus */ 356c66ec88fSEmmanuel Vadot v2m_i2c_dvi: i2c@160000 { 357c66ec88fSEmmanuel Vadot compatible = "arm,versatile-i2c"; 358c66ec88fSEmmanuel Vadot reg = <0x160000 0x1000>; 359c66ec88fSEmmanuel Vadot #address-cells = <1>; 360c66ec88fSEmmanuel Vadot #size-cells = <0>; 361c66ec88fSEmmanuel Vadot 362c66ec88fSEmmanuel Vadot dvi-transmitter@39 { 363c66ec88fSEmmanuel Vadot compatible = "sil,sii9022-tpi", "sil,sii9022"; 364c66ec88fSEmmanuel Vadot reg = <0x39>; 365c66ec88fSEmmanuel Vadot 366c66ec88fSEmmanuel Vadot ports { 367c66ec88fSEmmanuel Vadot #address-cells = <1>; 368c66ec88fSEmmanuel Vadot #size-cells = <0>; 369c66ec88fSEmmanuel Vadot 370c66ec88fSEmmanuel Vadot port@0 { 371c66ec88fSEmmanuel Vadot reg = <0>; 372c66ec88fSEmmanuel Vadot dvi_bridge_in: endpoint { 373c66ec88fSEmmanuel Vadot remote-endpoint = <&clcd_pads>; 374c66ec88fSEmmanuel Vadot }; 375c66ec88fSEmmanuel Vadot }; 376c66ec88fSEmmanuel Vadot }; 377c66ec88fSEmmanuel Vadot }; 378c66ec88fSEmmanuel Vadot 379c66ec88fSEmmanuel Vadot dvi-transmitter@60 { 380c66ec88fSEmmanuel Vadot compatible = "sil,sii9022-cpi", "sil,sii9022"; 381c66ec88fSEmmanuel Vadot reg = <0x60>; 382c66ec88fSEmmanuel Vadot }; 383c66ec88fSEmmanuel Vadot }; 384c66ec88fSEmmanuel Vadot 385c66ec88fSEmmanuel Vadot rtc@170000 { 386c66ec88fSEmmanuel Vadot compatible = "arm,pl031", "arm,primecell"; 387c66ec88fSEmmanuel Vadot reg = <0x170000 0x1000>; 388c66ec88fSEmmanuel Vadot interrupts = <4>; 389c66ec88fSEmmanuel Vadot clocks = <&smbclk>; 390c66ec88fSEmmanuel Vadot clock-names = "apb_pclk"; 391c66ec88fSEmmanuel Vadot }; 392c66ec88fSEmmanuel Vadot 393c66ec88fSEmmanuel Vadot compact-flash@1a0000 { 394c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-cf", "ata-generic"; 395c66ec88fSEmmanuel Vadot reg = <0x1a0000 0x100 396c66ec88fSEmmanuel Vadot 0x1a0100 0xf00>; 397c66ec88fSEmmanuel Vadot reg-shift = <2>; 398c66ec88fSEmmanuel Vadot }; 399c66ec88fSEmmanuel Vadot 400c66ec88fSEmmanuel Vadot clcd@1f0000 { 401c66ec88fSEmmanuel Vadot compatible = "arm,pl111", "arm,primecell"; 402c66ec88fSEmmanuel Vadot reg = <0x1f0000 0x1000>; 403c66ec88fSEmmanuel Vadot interrupt-names = "combined"; 404c66ec88fSEmmanuel Vadot interrupts = <14>; 405c66ec88fSEmmanuel Vadot clocks = <&v2m_oscclk1>, <&smbclk>; 406c66ec88fSEmmanuel Vadot clock-names = "clcdclk", "apb_pclk"; 407c66ec88fSEmmanuel Vadot /* 800x600 16bpp @36MHz works fine */ 408c66ec88fSEmmanuel Vadot max-memory-bandwidth = <54000000>; 409c66ec88fSEmmanuel Vadot memory-region = <&vram>; 410c66ec88fSEmmanuel Vadot 411c66ec88fSEmmanuel Vadot port { 412c66ec88fSEmmanuel Vadot clcd_pads: endpoint { 413c66ec88fSEmmanuel Vadot remote-endpoint = <&dvi_bridge_in>; 414c66ec88fSEmmanuel Vadot arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 415c66ec88fSEmmanuel Vadot }; 416c66ec88fSEmmanuel Vadot }; 417c66ec88fSEmmanuel Vadot }; 418c66ec88fSEmmanuel Vadot 419c66ec88fSEmmanuel Vadot mcc { 420c66ec88fSEmmanuel Vadot compatible = "arm,vexpress,config-bus"; 421c66ec88fSEmmanuel Vadot arm,vexpress,config-bridge = <&v2m_sysreg>; 422c66ec88fSEmmanuel Vadot 423c66ec88fSEmmanuel Vadot oscclk0 { 424c66ec88fSEmmanuel Vadot /* MCC static memory clock */ 425c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-osc"; 426c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <1 0>; 427c66ec88fSEmmanuel Vadot freq-range = <25000000 60000000>; 428c66ec88fSEmmanuel Vadot #clock-cells = <0>; 429c66ec88fSEmmanuel Vadot clock-output-names = "v2m:oscclk0"; 430c66ec88fSEmmanuel Vadot }; 431c66ec88fSEmmanuel Vadot 432c66ec88fSEmmanuel Vadot v2m_oscclk1: oscclk1 { 433c66ec88fSEmmanuel Vadot /* CLCD clock */ 434c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-osc"; 435c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <1 1>; 436c66ec88fSEmmanuel Vadot freq-range = <23750000 65000000>; 437c66ec88fSEmmanuel Vadot #clock-cells = <0>; 438c66ec88fSEmmanuel Vadot clock-output-names = "v2m:oscclk1"; 439c66ec88fSEmmanuel Vadot }; 440c66ec88fSEmmanuel Vadot 441c66ec88fSEmmanuel Vadot v2m_oscclk2: oscclk2 { 442c66ec88fSEmmanuel Vadot /* IO FPGA peripheral clock */ 443c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-osc"; 444c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <1 2>; 445c66ec88fSEmmanuel Vadot freq-range = <24000000 24000000>; 446c66ec88fSEmmanuel Vadot #clock-cells = <0>; 447c66ec88fSEmmanuel Vadot clock-output-names = "v2m:oscclk2"; 448c66ec88fSEmmanuel Vadot }; 449c66ec88fSEmmanuel Vadot 450c66ec88fSEmmanuel Vadot volt-vio { 451c66ec88fSEmmanuel Vadot /* Logic level voltage */ 452c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-volt"; 453c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <2 0>; 454c66ec88fSEmmanuel Vadot regulator-name = "VIO"; 455c66ec88fSEmmanuel Vadot regulator-always-on; 456c66ec88fSEmmanuel Vadot label = "VIO"; 457c66ec88fSEmmanuel Vadot }; 458c66ec88fSEmmanuel Vadot 459c66ec88fSEmmanuel Vadot temp-mcc { 460c66ec88fSEmmanuel Vadot /* MCC internal operating temperature */ 461c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-temp"; 462c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <4 0>; 463c66ec88fSEmmanuel Vadot label = "MCC"; 464c66ec88fSEmmanuel Vadot }; 465c66ec88fSEmmanuel Vadot 466c66ec88fSEmmanuel Vadot reset { 467c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-reset"; 468c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <5 0>; 469c66ec88fSEmmanuel Vadot }; 470c66ec88fSEmmanuel Vadot 471c66ec88fSEmmanuel Vadot muxfpga { 472c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-muxfpga"; 473c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <7 0>; 474c66ec88fSEmmanuel Vadot }; 475c66ec88fSEmmanuel Vadot 476c66ec88fSEmmanuel Vadot shutdown { 477c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-shutdown"; 478c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <8 0>; 479c66ec88fSEmmanuel Vadot }; 480c66ec88fSEmmanuel Vadot 481c66ec88fSEmmanuel Vadot reboot { 482c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-reboot"; 483c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <9 0>; 484c66ec88fSEmmanuel Vadot }; 485c66ec88fSEmmanuel Vadot 486c66ec88fSEmmanuel Vadot dvimode { 487c66ec88fSEmmanuel Vadot compatible = "arm,vexpress-dvimode"; 488c66ec88fSEmmanuel Vadot arm,vexpress-sysreg,func = <11 0>; 489c66ec88fSEmmanuel Vadot }; 490c66ec88fSEmmanuel Vadot }; 491c66ec88fSEmmanuel Vadot }; 492c66ec88fSEmmanuel Vadot }; 493c66ec88fSEmmanuel Vadot }; 494c66ec88fSEmmanuel Vadot}; 495