1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 2ca5b3410SRobert Richter/* 3ca5b3410SRobert Richter * ARM Ltd. Fast Models 4ca5b3410SRobert Richter * 5ca5b3410SRobert Richter * Versatile Express (VE) system model 6ca5b3410SRobert Richter * Motherboard component 7ca5b3410SRobert Richter * 8ca5b3410SRobert Richter * VEMotherBoard.lisa 9ca5b3410SRobert Richter */ 10349b0f95SSudeep Holla/ { 11849bfc3dSAndre Przywara v2m_clk24mhz: clk24mhz { 12849bfc3dSAndre Przywara compatible = "fixed-clock"; 13849bfc3dSAndre Przywara #clock-cells = <0>; 14849bfc3dSAndre Przywara clock-frequency = <24000000>; 15849bfc3dSAndre Przywara clock-output-names = "v2m:clk24mhz"; 16849bfc3dSAndre Przywara }; 17849bfc3dSAndre Przywara 18849bfc3dSAndre Przywara v2m_refclk1mhz: refclk1mhz { 19849bfc3dSAndre Przywara compatible = "fixed-clock"; 20849bfc3dSAndre Przywara #clock-cells = <0>; 21849bfc3dSAndre Przywara clock-frequency = <1000000>; 22849bfc3dSAndre Przywara clock-output-names = "v2m:refclk1mhz"; 23849bfc3dSAndre Przywara }; 24849bfc3dSAndre Przywara 25849bfc3dSAndre Przywara v2m_refclk32khz: refclk32khz { 26849bfc3dSAndre Przywara compatible = "fixed-clock"; 27849bfc3dSAndre Przywara #clock-cells = <0>; 28849bfc3dSAndre Przywara clock-frequency = <32768>; 29849bfc3dSAndre Przywara clock-output-names = "v2m:refclk32khz"; 30849bfc3dSAndre Przywara }; 31849bfc3dSAndre Przywara 32849bfc3dSAndre Przywara v2m_fixed_3v3: v2m-3v3 { 33849bfc3dSAndre Przywara compatible = "regulator-fixed"; 34849bfc3dSAndre Przywara regulator-name = "3V3"; 35849bfc3dSAndre Przywara regulator-min-microvolt = <3300000>; 36849bfc3dSAndre Przywara regulator-max-microvolt = <3300000>; 37849bfc3dSAndre Przywara regulator-always-on; 38849bfc3dSAndre Przywara }; 39849bfc3dSAndre Przywara 40849bfc3dSAndre Przywara mcc { 41849bfc3dSAndre Przywara compatible = "arm,vexpress,config-bus"; 42849bfc3dSAndre Przywara arm,vexpress,config-bridge = <&v2m_sysreg>; 43849bfc3dSAndre Przywara 44849bfc3dSAndre Przywara v2m_oscclk1: oscclk1 { 45849bfc3dSAndre Przywara /* CLCD clock */ 46849bfc3dSAndre Przywara compatible = "arm,vexpress-osc"; 47849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <1 1>; 48849bfc3dSAndre Przywara freq-range = <23750000 63500000>; 49849bfc3dSAndre Przywara #clock-cells = <0>; 50849bfc3dSAndre Przywara clock-output-names = "v2m:oscclk1"; 51849bfc3dSAndre Przywara }; 52849bfc3dSAndre Przywara 53849bfc3dSAndre Przywara reset { 54849bfc3dSAndre Przywara compatible = "arm,vexpress-reset"; 55849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <5 0>; 56849bfc3dSAndre Przywara }; 57849bfc3dSAndre Przywara 58849bfc3dSAndre Przywara muxfpga { 59849bfc3dSAndre Przywara compatible = "arm,vexpress-muxfpga"; 60849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <7 0>; 61849bfc3dSAndre Przywara }; 62849bfc3dSAndre Przywara 63849bfc3dSAndre Przywara shutdown { 64849bfc3dSAndre Przywara compatible = "arm,vexpress-shutdown"; 65849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <8 0>; 66849bfc3dSAndre Przywara }; 67849bfc3dSAndre Przywara 68849bfc3dSAndre Przywara reboot { 69849bfc3dSAndre Przywara compatible = "arm,vexpress-reboot"; 70849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <9 0>; 71849bfc3dSAndre Przywara }; 72849bfc3dSAndre Przywara 73849bfc3dSAndre Przywara dvimode { 74849bfc3dSAndre Przywara compatible = "arm,vexpress-dvimode"; 75849bfc3dSAndre Przywara arm,vexpress-sysreg,func = <11 0>; 76849bfc3dSAndre Przywara }; 77849bfc3dSAndre Przywara }; 78849bfc3dSAndre Przywara 79bee7ff37SLinus Walleij bus@8000000 { 80078fb7aaSRob Herring compatible = "simple-bus"; 81078fb7aaSRob Herring #address-cells = <2>; 82078fb7aaSRob Herring #size-cells = <1>; 83078fb7aaSRob Herring ranges = <0 0x8000000 0 0x8000000 0x18000000>; 84078fb7aaSRob Herring 85078fb7aaSRob Herring motherboard-bus@8000000 { 86ca5b3410SRobert Richter compatible = "arm,vexpress,v2m-p1", "simple-bus"; 87ca5b3410SRobert Richter #address-cells = <2>; /* SMB chipselect number and offset */ 88ca5b3410SRobert Richter #size-cells = <1>; 89078fb7aaSRob Herring ranges = <0 0 0 0x08000000 0x04000000>, 90078fb7aaSRob Herring <1 0 0 0x14000000 0x04000000>, 91078fb7aaSRob Herring <2 0 0 0x18000000 0x04000000>, 92078fb7aaSRob Herring <3 0 0 0x1c000000 0x04000000>, 93078fb7aaSRob Herring <4 0 0 0x0c000000 0x04000000>, 94078fb7aaSRob Herring <5 0 0 0x10000000 0x04000000>; 95ca5b3410SRobert Richter 96bb5cce12SAndre Przywara flash@0 { 97ca5b3410SRobert Richter compatible = "arm,vexpress-flash", "cfi-flash"; 98ca5b3410SRobert Richter reg = <0 0x00000000 0x04000000>, 99ca5b3410SRobert Richter <4 0x00000000 0x04000000>; 100ca5b3410SRobert Richter bank-width = <4>; 101ca5b3410SRobert Richter }; 102ca5b3410SRobert Richter 103bb5cce12SAndre Przywara ethernet@202000000 { 104ca5b3410SRobert Richter compatible = "smsc,lan91c111"; 105ca5b3410SRobert Richter reg = <2 0x02000000 0x10000>; 106ca5b3410SRobert Richter interrupts = <15>; 107ca5b3410SRobert Richter }; 108ca5b3410SRobert Richter 1099d0a36ddSAndre Przywara iofpga-bus@300000000 { 1102ef7d5f3SMasahiro Yamada compatible = "simple-bus"; 111ca5b3410SRobert Richter #address-cells = <1>; 112ca5b3410SRobert Richter #size-cells = <1>; 1135393158fSDiego Sueiro ranges = <0 3 0 0x210000>; 114ca5b3410SRobert Richter 115d8bcaabeSRob Herring v2m_sysreg: sysreg@10000 { 116ca5b3410SRobert Richter compatible = "arm,vexpress-sysreg"; 117ca5b3410SRobert Richter reg = <0x010000 0x1000>; 118ca5b3410SRobert Richter gpio-controller; 119ca5b3410SRobert Richter #gpio-cells = <2>; 120ca5b3410SRobert Richter }; 121ca5b3410SRobert Richter 122d8bcaabeSRob Herring v2m_sysctl: sysctl@20000 { 123ca5b3410SRobert Richter compatible = "arm,sp810", "arm,primecell"; 124ca5b3410SRobert Richter reg = <0x020000 0x1000>; 125ca5b3410SRobert Richter clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&v2m_clk24mhz>; 126ca5b3410SRobert Richter clock-names = "refclk", "timclk", "apb_pclk"; 127ca5b3410SRobert Richter #clock-cells = <1>; 128ca5b3410SRobert Richter clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; 129341a670aSStephen Boyd assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_sysctl 3>, <&v2m_sysctl 3>; 130341a670aSStephen Boyd assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>, <&v2m_refclk1mhz>; 131ca5b3410SRobert Richter }; 132ca5b3410SRobert Richter 133d8bcaabeSRob Herring aaci@40000 { 134ca5b3410SRobert Richter compatible = "arm,pl041", "arm,primecell"; 135ca5b3410SRobert Richter reg = <0x040000 0x1000>; 136ca5b3410SRobert Richter interrupts = <11>; 137ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>; 138ca5b3410SRobert Richter clock-names = "apb_pclk"; 139ca5b3410SRobert Richter }; 140ca5b3410SRobert Richter 141b43446b4SKrzysztof Kozlowski mmc@50000 { 142ca5b3410SRobert Richter compatible = "arm,pl180", "arm,primecell"; 143ca5b3410SRobert Richter reg = <0x050000 0x1000>; 14488c2ccc0SSudeep Holla interrupts = <9>, <10>; 145ca5b3410SRobert Richter cd-gpios = <&v2m_sysreg 0 0>; 146ca5b3410SRobert Richter wp-gpios = <&v2m_sysreg 1 0>; 147ca5b3410SRobert Richter max-frequency = <12000000>; 148ca5b3410SRobert Richter vmmc-supply = <&v2m_fixed_3v3>; 149ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 150ca5b3410SRobert Richter clock-names = "mclk", "apb_pclk"; 151ca5b3410SRobert Richter }; 152ca5b3410SRobert Richter 153d8bcaabeSRob Herring kmi@60000 { 154ca5b3410SRobert Richter compatible = "arm,pl050", "arm,primecell"; 155ca5b3410SRobert Richter reg = <0x060000 0x1000>; 156ca5b3410SRobert Richter interrupts = <12>; 157ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 158ca5b3410SRobert Richter clock-names = "KMIREFCLK", "apb_pclk"; 159ca5b3410SRobert Richter }; 160ca5b3410SRobert Richter 161d8bcaabeSRob Herring kmi@70000 { 162ca5b3410SRobert Richter compatible = "arm,pl050", "arm,primecell"; 163ca5b3410SRobert Richter reg = <0x070000 0x1000>; 164ca5b3410SRobert Richter interrupts = <13>; 165ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 166ca5b3410SRobert Richter clock-names = "KMIREFCLK", "apb_pclk"; 167ca5b3410SRobert Richter }; 168ca5b3410SRobert Richter 169608f1b6cSAndre Przywara v2m_serial0: serial@90000 { 170ca5b3410SRobert Richter compatible = "arm,pl011", "arm,primecell"; 171ca5b3410SRobert Richter reg = <0x090000 0x1000>; 172ca5b3410SRobert Richter interrupts = <5>; 173ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 174ca5b3410SRobert Richter clock-names = "uartclk", "apb_pclk"; 175ca5b3410SRobert Richter }; 176ca5b3410SRobert Richter 177608f1b6cSAndre Przywara v2m_serial1: serial@a0000 { 178ca5b3410SRobert Richter compatible = "arm,pl011", "arm,primecell"; 179ca5b3410SRobert Richter reg = <0x0a0000 0x1000>; 180ca5b3410SRobert Richter interrupts = <6>; 181ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 182ca5b3410SRobert Richter clock-names = "uartclk", "apb_pclk"; 183ca5b3410SRobert Richter }; 184ca5b3410SRobert Richter 185608f1b6cSAndre Przywara v2m_serial2: serial@b0000 { 186ca5b3410SRobert Richter compatible = "arm,pl011", "arm,primecell"; 187ca5b3410SRobert Richter reg = <0x0b0000 0x1000>; 188ca5b3410SRobert Richter interrupts = <7>; 189ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 190ca5b3410SRobert Richter clock-names = "uartclk", "apb_pclk"; 191ca5b3410SRobert Richter }; 192ca5b3410SRobert Richter 193608f1b6cSAndre Przywara v2m_serial3: serial@c0000 { 194ca5b3410SRobert Richter compatible = "arm,pl011", "arm,primecell"; 195ca5b3410SRobert Richter reg = <0x0c0000 0x1000>; 196ca5b3410SRobert Richter interrupts = <8>; 197ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 198ca5b3410SRobert Richter clock-names = "uartclk", "apb_pclk"; 199ca5b3410SRobert Richter }; 200ca5b3410SRobert Richter 201b43446b4SKrzysztof Kozlowski watchdog@f0000 { 202ca5b3410SRobert Richter compatible = "arm,sp805", "arm,primecell"; 203ca5b3410SRobert Richter reg = <0x0f0000 0x1000>; 204ca5b3410SRobert Richter interrupts = <0>; 205ca5b3410SRobert Richter clocks = <&v2m_refclk32khz>, <&v2m_clk24mhz>; 206b83ded8aSAndre Przywara clock-names = "wdog_clk", "apb_pclk"; 207ca5b3410SRobert Richter }; 208ca5b3410SRobert Richter 209ca5b3410SRobert Richter v2m_timer01: timer@110000 { 210ca5b3410SRobert Richter compatible = "arm,sp804", "arm,primecell"; 211ca5b3410SRobert Richter reg = <0x110000 0x1000>; 212ca5b3410SRobert Richter interrupts = <2>; 213ca5b3410SRobert Richter clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_clk24mhz>; 214ca5b3410SRobert Richter clock-names = "timclken1", "timclken2", "apb_pclk"; 215ca5b3410SRobert Richter }; 216ca5b3410SRobert Richter 217ca5b3410SRobert Richter v2m_timer23: timer@120000 { 218ca5b3410SRobert Richter compatible = "arm,sp804", "arm,primecell"; 219ca5b3410SRobert Richter reg = <0x120000 0x1000>; 220ca5b3410SRobert Richter interrupts = <3>; 221ca5b3410SRobert Richter clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&v2m_clk24mhz>; 222ca5b3410SRobert Richter clock-names = "timclken1", "timclken2", "apb_pclk"; 223ca5b3410SRobert Richter }; 224ca5b3410SRobert Richter 225*d7030edfSSudeep Holla virtio@130000 { 22620d00c40SSudeep Holla compatible = "virtio,mmio"; 22720d00c40SSudeep Holla reg = <0x130000 0x200>; 22820d00c40SSudeep Holla interrupts = <42>; 22920d00c40SSudeep Holla }; 23020d00c40SSudeep Holla 231ca5b3410SRobert Richter rtc@170000 { 232ca5b3410SRobert Richter compatible = "arm,pl031", "arm,primecell"; 233ca5b3410SRobert Richter reg = <0x170000 0x1000>; 234ca5b3410SRobert Richter interrupts = <4>; 235ca5b3410SRobert Richter clocks = <&v2m_clk24mhz>; 236ca5b3410SRobert Richter clock-names = "apb_pclk"; 237ca5b3410SRobert Richter }; 238ca5b3410SRobert Richter 239ca5b3410SRobert Richter clcd@1f0000 { 240ca5b3410SRobert Richter compatible = "arm,pl111", "arm,primecell"; 241ca5b3410SRobert Richter reg = <0x1f0000 0x1000>; 24254981a42SOlof Johansson interrupt-names = "combined"; 243ca5b3410SRobert Richter interrupts = <14>; 244ca5b3410SRobert Richter clocks = <&v2m_oscclk1>, <&v2m_clk24mhz>; 245ca5b3410SRobert Richter clock-names = "clcdclk", "apb_pclk"; 246f1fe12c8SLinus Walleij memory-region = <&vram>; 24754981a42SOlof Johansson 24854981a42SOlof Johansson port { 249f1fe12c8SLinus Walleij clcd_pads: endpoint { 250f1fe12c8SLinus Walleij remote-endpoint = <&panel_in>; 25154981a42SOlof Johansson arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 25254981a42SOlof Johansson }; 25354981a42SOlof Johansson }; 254ca5b3410SRobert Richter }; 255ca5b3410SRobert Richter }; 256ca5b3410SRobert Richter }; 257349b0f95SSudeep Holla }; 258349b0f95SSudeep Holla}; 259