1*2716bd33SAndre Przywara// SPDX-License-Identifier: (GPL-2.0 OR MIT) 24f6ad66aSAchin Gupta/* 3*2716bd33SAndre Przywara * ARM Ltd. Fast Models 44f6ad66aSAchin Gupta * 5*2716bd33SAndre Przywara * Copyright (c) 2012-2022 ARM Ltd. 6*2716bd33SAndre Przywara * 7*2716bd33SAndre Przywara * Versatile Express (VE) system model 8*2716bd33SAndre Przywara * Motherboard component 9*2716bd33SAndre Przywara * 10*2716bd33SAndre Przywara * VEMotherBoard.lisa 114f6ad66aSAchin Gupta */ 12*2716bd33SAndre Przywara/ { 134f6ad66aSAchin Gupta v2m_clk24mhz: clk24mhz { 144f6ad66aSAchin Gupta compatible = "fixed-clock"; 154f6ad66aSAchin Gupta #clock-cells = <0>; 164f6ad66aSAchin Gupta clock-frequency = <24000000>; 174f6ad66aSAchin Gupta clock-output-names = "v2m:clk24mhz"; 184f6ad66aSAchin Gupta }; 194f6ad66aSAchin Gupta 204f6ad66aSAchin Gupta v2m_refclk1mhz: refclk1mhz { 214f6ad66aSAchin Gupta compatible = "fixed-clock"; 224f6ad66aSAchin Gupta #clock-cells = <0>; 234f6ad66aSAchin Gupta clock-frequency = <1000000>; 244f6ad66aSAchin Gupta clock-output-names = "v2m:refclk1mhz"; 254f6ad66aSAchin Gupta }; 264f6ad66aSAchin Gupta 274f6ad66aSAchin Gupta v2m_refclk32khz: refclk32khz { 284f6ad66aSAchin Gupta compatible = "fixed-clock"; 294f6ad66aSAchin Gupta #clock-cells = <0>; 304f6ad66aSAchin Gupta clock-frequency = <32768>; 314f6ad66aSAchin Gupta clock-output-names = "v2m:refclk32khz"; 324f6ad66aSAchin Gupta }; 334f6ad66aSAchin Gupta 34*2716bd33SAndre Przywara v2m_fixed_3v3: v2m-3v3 { 35*2716bd33SAndre Przywara compatible = "regulator-fixed"; 36*2716bd33SAndre Przywara regulator-name = "3V3"; 37*2716bd33SAndre Przywara regulator-min-microvolt = <3300000>; 38*2716bd33SAndre Przywara regulator-max-microvolt = <3300000>; 39*2716bd33SAndre Przywara regulator-always-on; 40*2716bd33SAndre Przywara }; 41*2716bd33SAndre Przywara 42*2716bd33SAndre Przywara mcc { 43*2716bd33SAndre Przywara compatible = "arm,vexpress,config-bus"; 44*2716bd33SAndre Przywara arm,vexpress,config-bridge = <&v2m_sysreg>; 45*2716bd33SAndre Przywara 46*2716bd33SAndre Przywara v2m_oscclk1: oscclk1 { 47*2716bd33SAndre Przywara /* CLCD clock */ 48*2716bd33SAndre Przywara compatible = "arm,vexpress-osc"; 49*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <1 1>; 50*2716bd33SAndre Przywara freq-range = <23750000 63500000>; 51*2716bd33SAndre Przywara #clock-cells = <0>; 52*2716bd33SAndre Przywara clock-output-names = "v2m:oscclk1"; 53*2716bd33SAndre Przywara }; 54*2716bd33SAndre Przywara 55*2716bd33SAndre Przywara reset { 56*2716bd33SAndre Przywara compatible = "arm,vexpress-reset"; 57*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <5 0>; 58*2716bd33SAndre Przywara }; 59*2716bd33SAndre Przywara 60*2716bd33SAndre Przywara muxfpga { 61*2716bd33SAndre Przywara compatible = "arm,vexpress-muxfpga"; 62*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <7 0>; 63*2716bd33SAndre Przywara }; 64*2716bd33SAndre Przywara 65*2716bd33SAndre Przywara shutdown { 66*2716bd33SAndre Przywara compatible = "arm,vexpress-shutdown"; 67*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <8 0>; 68*2716bd33SAndre Przywara }; 69*2716bd33SAndre Przywara 70*2716bd33SAndre Przywara reboot { 71*2716bd33SAndre Przywara compatible = "arm,vexpress-reboot"; 72*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <9 0>; 73*2716bd33SAndre Przywara }; 74*2716bd33SAndre Przywara 75*2716bd33SAndre Przywara dvimode { 76*2716bd33SAndre Przywara compatible = "arm,vexpress-dvimode"; 77*2716bd33SAndre Przywara arm,vexpress-sysreg,func = <11 0>; 78*2716bd33SAndre Przywara }; 79*2716bd33SAndre Przywara }; 80*2716bd33SAndre Przywara 81*2716bd33SAndre Przywara bus@8000000 { 82*2716bd33SAndre Przywara compatible = "simple-bus"; 83*2716bd33SAndre Przywara #address-cells = <2>; 84*2716bd33SAndre Przywara #size-cells = <1>; 85*2716bd33SAndre Przywara ranges = <0 0x8000000 0 0x8000000 0x18000000>; 86*2716bd33SAndre Przywara 87*2716bd33SAndre Przywara motherboard-bus@8000000 { 88*2716bd33SAndre Przywara compatible = "arm,vexpress,v2m-p1", "simple-bus"; 89*2716bd33SAndre Przywara #address-cells = <2>; /* SMB chipselect number and offset */ 90*2716bd33SAndre Przywara #size-cells = <1>; 91*2716bd33SAndre Przywara ranges = <0 0 0 0x08000000 0x04000000>, 92*2716bd33SAndre Przywara <1 0 0 0x14000000 0x04000000>, 93*2716bd33SAndre Przywara <2 0 0 0x18000000 0x04000000>, 94*2716bd33SAndre Przywara <3 0 0 0x1c000000 0x04000000>, 95*2716bd33SAndre Przywara <4 0 0 0x0c000000 0x04000000>, 96*2716bd33SAndre Przywara <5 0 0 0x10000000 0x04000000>; 97*2716bd33SAndre Przywara 98*2716bd33SAndre Przywara flash@0 { 99*2716bd33SAndre Przywara compatible = "arm,vexpress-flash", "cfi-flash"; 100*2716bd33SAndre Przywara reg = <0 0x00000000 0x04000000>, 101*2716bd33SAndre Przywara <4 0x00000000 0x04000000>; 102*2716bd33SAndre Przywara bank-width = <4>; 103*2716bd33SAndre Przywara }; 104*2716bd33SAndre Przywara 105*2716bd33SAndre Przywara ethernet@202000000 { 106*2716bd33SAndre Przywara compatible = "smsc,lan91c111"; 107*2716bd33SAndre Przywara reg = <2 0x02000000 0x10000>; 108*2716bd33SAndre Przywara interrupts = <15>; 109*2716bd33SAndre Przywara }; 110*2716bd33SAndre Przywara 111*2716bd33SAndre Przywara iofpga-bus@300000000 { 112*2716bd33SAndre Przywara compatible = "simple-bus"; 1134f6ad66aSAchin Gupta #address-cells = <1>; 1144f6ad66aSAchin Gupta #size-cells = <1>; 115*2716bd33SAndre Przywara ranges = <0 3 0 0x210000>; 1164f6ad66aSAchin Gupta 117e230f4d5SRoberto Vargas v2m_sysreg: sysreg@10000 { 1184f6ad66aSAchin Gupta compatible = "arm,vexpress-sysreg"; 1194f6ad66aSAchin Gupta reg = <0x010000 0x1000>; 1204f6ad66aSAchin Gupta gpio-controller; 1214f6ad66aSAchin Gupta #gpio-cells = <2>; 1224f6ad66aSAchin Gupta }; 1234f6ad66aSAchin Gupta 124e230f4d5SRoberto Vargas v2m_sysctl: sysctl@20000 { 1254f6ad66aSAchin Gupta compatible = "arm,sp810", "arm,primecell"; 1264f6ad66aSAchin Gupta reg = <0x020000 0x1000>; 1274f6ad66aSAchin Gupta clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&v2m_clk24mhz>; 1284f6ad66aSAchin Gupta clock-names = "refclk", "timclk", "apb_pclk"; 1294f6ad66aSAchin Gupta #clock-cells = <1>; 1304f6ad66aSAchin Gupta clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; 131*2716bd33SAndre Przywara assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>; 132*2716bd33SAndre Przywara assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>; 1334f6ad66aSAchin Gupta }; 1344f6ad66aSAchin Gupta 135e230f4d5SRoberto Vargas aaci@40000 { 1364f6ad66aSAchin Gupta compatible = "arm,pl041", "arm,primecell"; 1374f6ad66aSAchin Gupta reg = <0x040000 0x1000>; 13808f3c2bcSAndre Przywara interrupts = <11>; 1394f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>; 1404f6ad66aSAchin Gupta clock-names = "apb_pclk"; 1414f6ad66aSAchin Gupta }; 1424f6ad66aSAchin Gupta 143*2716bd33SAndre Przywara mmc@50000 { 1444f6ad66aSAchin Gupta compatible = "arm,pl180", "arm,primecell"; 1454f6ad66aSAchin Gupta reg = <0x050000 0x1000>; 14608f3c2bcSAndre Przywara interrupts = <9>, <10>; 1474f6ad66aSAchin Gupta cd-gpios = <&v2m_sysreg 0 0>; 1484f6ad66aSAchin Gupta wp-gpios = <&v2m_sysreg 1 0>; 1494f6ad66aSAchin Gupta max-frequency = <12000000>; 1504f6ad66aSAchin Gupta vmmc-supply = <&v2m_fixed_3v3>; 1514f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1524f6ad66aSAchin Gupta clock-names = "mclk", "apb_pclk"; 1534f6ad66aSAchin Gupta }; 1544f6ad66aSAchin Gupta 155e230f4d5SRoberto Vargas kmi@60000 { 1564f6ad66aSAchin Gupta compatible = "arm,pl050", "arm,primecell"; 1574f6ad66aSAchin Gupta reg = <0x060000 0x1000>; 15808f3c2bcSAndre Przywara interrupts = <12>; 1594f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1604f6ad66aSAchin Gupta clock-names = "KMIREFCLK", "apb_pclk"; 1614f6ad66aSAchin Gupta }; 1624f6ad66aSAchin Gupta 163e230f4d5SRoberto Vargas kmi@70000 { 1644f6ad66aSAchin Gupta compatible = "arm,pl050", "arm,primecell"; 1654f6ad66aSAchin Gupta reg = <0x070000 0x1000>; 16608f3c2bcSAndre Przywara interrupts = <13>; 1674f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1684f6ad66aSAchin Gupta clock-names = "KMIREFCLK", "apb_pclk"; 1694f6ad66aSAchin Gupta }; 1704f6ad66aSAchin Gupta 171*2716bd33SAndre Przywara v2m_serial0: serial@90000 { 1724f6ad66aSAchin Gupta compatible = "arm,pl011", "arm,primecell"; 1734f6ad66aSAchin Gupta reg = <0x090000 0x1000>; 17408f3c2bcSAndre Przywara interrupts = <5>; 1754f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1764f6ad66aSAchin Gupta clock-names = "uartclk", "apb_pclk"; 1774f6ad66aSAchin Gupta }; 1784f6ad66aSAchin Gupta 179*2716bd33SAndre Przywara v2m_serial1: serial@a0000 { 1804f6ad66aSAchin Gupta compatible = "arm,pl011", "arm,primecell"; 1814f6ad66aSAchin Gupta reg = <0x0a0000 0x1000>; 18208f3c2bcSAndre Przywara interrupts = <6>; 1834f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1844f6ad66aSAchin Gupta clock-names = "uartclk", "apb_pclk"; 1854f6ad66aSAchin Gupta }; 1864f6ad66aSAchin Gupta 187*2716bd33SAndre Przywara v2m_serial2: serial@b0000 { 1884f6ad66aSAchin Gupta compatible = "arm,pl011", "arm,primecell"; 1894f6ad66aSAchin Gupta reg = <0x0b0000 0x1000>; 19008f3c2bcSAndre Przywara interrupts = <7>; 1914f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 1924f6ad66aSAchin Gupta clock-names = "uartclk", "apb_pclk"; 1934f6ad66aSAchin Gupta }; 1944f6ad66aSAchin Gupta 195*2716bd33SAndre Przywara v2m_serial3: serial@c0000 { 1964f6ad66aSAchin Gupta compatible = "arm,pl011", "arm,primecell"; 1974f6ad66aSAchin Gupta reg = <0x0c0000 0x1000>; 19808f3c2bcSAndre Przywara interrupts = <8>; 1994f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 2004f6ad66aSAchin Gupta clock-names = "uartclk", "apb_pclk"; 2014f6ad66aSAchin Gupta }; 2024f6ad66aSAchin Gupta 203*2716bd33SAndre Przywara watchdog@f0000 { 2044f6ad66aSAchin Gupta compatible = "arm,sp805", "arm,primecell"; 2054f6ad66aSAchin Gupta reg = <0x0f0000 0x1000>; 20608f3c2bcSAndre Przywara interrupts = <0>; 2074f6ad66aSAchin Gupta clocks = <&v2m_refclk32khz>, <&v2m_clk24mhz>; 208*2716bd33SAndre Przywara clock-names = "wdog_clk", "apb_pclk"; 2094f6ad66aSAchin Gupta }; 2104f6ad66aSAchin Gupta 2114f6ad66aSAchin Gupta v2m_timer01: timer@110000 { 2124f6ad66aSAchin Gupta compatible = "arm,sp804", "arm,primecell"; 2134f6ad66aSAchin Gupta reg = <0x110000 0x1000>; 21408f3c2bcSAndre Przywara interrupts = <2>; 2154f6ad66aSAchin Gupta clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_clk24mhz>; 2164f6ad66aSAchin Gupta clock-names = "timclken1", "timclken2", "apb_pclk"; 2174f6ad66aSAchin Gupta }; 2184f6ad66aSAchin Gupta 2194f6ad66aSAchin Gupta v2m_timer23: timer@120000 { 2204f6ad66aSAchin Gupta compatible = "arm,sp804", "arm,primecell"; 2214f6ad66aSAchin Gupta reg = <0x120000 0x1000>; 22208f3c2bcSAndre Przywara interrupts = <3>; 2234f6ad66aSAchin Gupta clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&v2m_clk24mhz>; 2244f6ad66aSAchin Gupta clock-names = "timclken1", "timclken2", "apb_pclk"; 2254f6ad66aSAchin Gupta }; 2264f6ad66aSAchin Gupta 227*2716bd33SAndre Przywara virtio@130000 { 228*2716bd33SAndre Przywara compatible = "virtio,mmio"; 229*2716bd33SAndre Przywara reg = <0x130000 0x200>; 230*2716bd33SAndre Przywara interrupts = <42>; 231*2716bd33SAndre Przywara }; 232*2716bd33SAndre Przywara 2334f6ad66aSAchin Gupta rtc@170000 { 2344f6ad66aSAchin Gupta compatible = "arm,pl031", "arm,primecell"; 2354f6ad66aSAchin Gupta reg = <0x170000 0x1000>; 23608f3c2bcSAndre Przywara interrupts = <4>; 2374f6ad66aSAchin Gupta clocks = <&v2m_clk24mhz>; 2384f6ad66aSAchin Gupta clock-names = "apb_pclk"; 2394f6ad66aSAchin Gupta }; 2404f6ad66aSAchin Gupta 2414f6ad66aSAchin Gupta clcd@1f0000 { 2424f6ad66aSAchin Gupta compatible = "arm,pl111", "arm,primecell"; 2434f6ad66aSAchin Gupta reg = <0x1f0000 0x1000>; 244*2716bd33SAndre Przywara interrupt-names = "combined"; 24508f3c2bcSAndre Przywara interrupts = <14>; 2464f6ad66aSAchin Gupta clocks = <&v2m_oscclk1>, <&v2m_clk24mhz>; 2474f6ad66aSAchin Gupta clock-names = "clcdclk", "apb_pclk"; 248*2716bd33SAndre Przywara memory-region = <&vram>; 2494f6ad66aSAchin Gupta 250*2716bd33SAndre Przywara port { 251*2716bd33SAndre Przywara clcd_pads: endpoint { 252*2716bd33SAndre Przywara remote-endpoint = <&panel_in>; 253*2716bd33SAndre Przywara arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 2544f6ad66aSAchin Gupta }; 2554f6ad66aSAchin Gupta }; 2564f6ad66aSAchin Gupta }; 2574f6ad66aSAchin Gupta }; 2584f6ad66aSAchin Gupta }; 2594f6ad66aSAchin Gupta }; 2604f6ad66aSAchin Gupta}; 261