1*91f16700Schasinglulu/* 2*91f16700Schasinglulu * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu motherboard { 8*91f16700Schasinglulu arm,v2m-memory-map = "rs1"; 9*91f16700Schasinglulu compatible = "arm,vexpress,v2m-p1", "simple-bus"; 10*91f16700Schasinglulu #address-cells = <2>; /* SMB chipselect number and offset */ 11*91f16700Schasinglulu #size-cells = <1>; 12*91f16700Schasinglulu ranges; 13*91f16700Schasinglulu 14*91f16700Schasinglulu ethernet@2,02000000 { 15*91f16700Schasinglulu compatible = "smsc,lan91c111"; 16*91f16700Schasinglulu reg = <2 0x02000000 0x10000>; 17*91f16700Schasinglulu interrupts = <0 15 4>; 18*91f16700Schasinglulu }; 19*91f16700Schasinglulu 20*91f16700Schasinglulu v2m_clk24mhz: clk24mhz { 21*91f16700Schasinglulu compatible = "fixed-clock"; 22*91f16700Schasinglulu #clock-cells = <0>; 23*91f16700Schasinglulu clock-frequency = <24000000>; 24*91f16700Schasinglulu clock-output-names = "v2m:clk24mhz"; 25*91f16700Schasinglulu }; 26*91f16700Schasinglulu 27*91f16700Schasinglulu v2m_refclk1mhz: refclk1mhz { 28*91f16700Schasinglulu compatible = "fixed-clock"; 29*91f16700Schasinglulu #clock-cells = <0>; 30*91f16700Schasinglulu clock-frequency = <1000000>; 31*91f16700Schasinglulu clock-output-names = "v2m:refclk1mhz"; 32*91f16700Schasinglulu }; 33*91f16700Schasinglulu 34*91f16700Schasinglulu v2m_refclk32khz: refclk32khz { 35*91f16700Schasinglulu compatible = "fixed-clock"; 36*91f16700Schasinglulu #clock-cells = <0>; 37*91f16700Schasinglulu clock-frequency = <32768>; 38*91f16700Schasinglulu clock-output-names = "v2m:refclk32khz"; 39*91f16700Schasinglulu }; 40*91f16700Schasinglulu 41*91f16700Schasinglulu iofpga@3,00000000 { 42*91f16700Schasinglulu compatible = "arm,amba-bus", "simple-bus"; 43*91f16700Schasinglulu #address-cells = <1>; 44*91f16700Schasinglulu #size-cells = <1>; 45*91f16700Schasinglulu ranges = <0 3 0 0x200000>; 46*91f16700Schasinglulu 47*91f16700Schasinglulu v2m_sysreg: sysreg@10000 { 48*91f16700Schasinglulu compatible = "arm,vexpress-sysreg"; 49*91f16700Schasinglulu reg = <0x010000 0x1000>; 50*91f16700Schasinglulu gpio-controller; 51*91f16700Schasinglulu #gpio-cells = <2>; 52*91f16700Schasinglulu }; 53*91f16700Schasinglulu 54*91f16700Schasinglulu v2m_sysctl: sysctl@20000 { 55*91f16700Schasinglulu compatible = "arm,sp810", "arm,primecell"; 56*91f16700Schasinglulu reg = <0x020000 0x1000>; 57*91f16700Schasinglulu clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&v2m_clk24mhz>; 58*91f16700Schasinglulu clock-names = "refclk", "timclk", "apb_pclk"; 59*91f16700Schasinglulu #clock-cells = <1>; 60*91f16700Schasinglulu clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; 61*91f16700Schasinglulu }; 62*91f16700Schasinglulu 63*91f16700Schasinglulu v2m_serial0: uart@90000 { 64*91f16700Schasinglulu compatible = "arm,pl011", "arm,primecell"; 65*91f16700Schasinglulu reg = <0x090000 0x1000>; 66*91f16700Schasinglulu interrupts = <0 5 4>; 67*91f16700Schasinglulu clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 68*91f16700Schasinglulu clock-names = "uartclk", "apb_pclk"; 69*91f16700Schasinglulu }; 70*91f16700Schasinglulu 71*91f16700Schasinglulu v2m_serial1: uart@a0000 { 72*91f16700Schasinglulu compatible = "arm,pl011", "arm,primecell"; 73*91f16700Schasinglulu reg = <0x0a0000 0x1000>; 74*91f16700Schasinglulu interrupts = <0 6 4>; 75*91f16700Schasinglulu clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 76*91f16700Schasinglulu clock-names = "uartclk", "apb_pclk"; 77*91f16700Schasinglulu }; 78*91f16700Schasinglulu 79*91f16700Schasinglulu v2m_serial2: uart@b0000 { 80*91f16700Schasinglulu compatible = "arm,pl011", "arm,primecell"; 81*91f16700Schasinglulu reg = <0x0b0000 0x1000>; 82*91f16700Schasinglulu interrupts = <0 7 4>; 83*91f16700Schasinglulu clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 84*91f16700Schasinglulu clock-names = "uartclk", "apb_pclk"; 85*91f16700Schasinglulu }; 86*91f16700Schasinglulu 87*91f16700Schasinglulu v2m_serial3: uart@c0000 { 88*91f16700Schasinglulu compatible = "arm,pl011", "arm,primecell"; 89*91f16700Schasinglulu reg = <0x0c0000 0x1000>; 90*91f16700Schasinglulu interrupts = <0 8 4>; 91*91f16700Schasinglulu clocks = <&v2m_clk24mhz>, <&v2m_clk24mhz>; 92*91f16700Schasinglulu clock-names = "uartclk", "apb_pclk"; 93*91f16700Schasinglulu }; 94*91f16700Schasinglulu 95*91f16700Schasinglulu wdt@f0000 { 96*91f16700Schasinglulu compatible = "arm,sp805", "arm,primecell"; 97*91f16700Schasinglulu reg = <0x0f0000 0x1000>; 98*91f16700Schasinglulu interrupts = <0 0 4>; 99*91f16700Schasinglulu clocks = <&v2m_refclk32khz>, <&v2m_clk24mhz>; 100*91f16700Schasinglulu clock-names = "wdogclk", "apb_pclk"; 101*91f16700Schasinglulu }; 102*91f16700Schasinglulu 103*91f16700Schasinglulu v2m_timer01: timer@110000 { 104*91f16700Schasinglulu compatible = "arm,sp804", "arm,primecell"; 105*91f16700Schasinglulu reg = <0x110000 0x1000>; 106*91f16700Schasinglulu interrupts = <0 2 4>; 107*91f16700Schasinglulu clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&v2m_clk24mhz>; 108*91f16700Schasinglulu clock-names = "timclken1", "timclken2", "apb_pclk"; 109*91f16700Schasinglulu }; 110*91f16700Schasinglulu 111*91f16700Schasinglulu v2m_timer23: timer@120000 { 112*91f16700Schasinglulu compatible = "arm,sp804", "arm,primecell"; 113*91f16700Schasinglulu reg = <0x120000 0x1000>; 114*91f16700Schasinglulu interrupts = <0 3 4>; 115*91f16700Schasinglulu clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&v2m_clk24mhz>; 116*91f16700Schasinglulu clock-names = "timclken1", "timclken2", "apb_pclk"; 117*91f16700Schasinglulu }; 118*91f16700Schasinglulu 119*91f16700Schasinglulu rtc@170000 { 120*91f16700Schasinglulu compatible = "arm,pl031", "arm,primecell"; 121*91f16700Schasinglulu reg = <0x170000 0x1000>; 122*91f16700Schasinglulu interrupts = <0 4 4>; 123*91f16700Schasinglulu clocks = <&v2m_clk24mhz>; 124*91f16700Schasinglulu clock-names = "apb_pclk"; 125*91f16700Schasinglulu }; 126*91f16700Schasinglulu 127*91f16700Schasinglulu virtio_block@130000 { 128*91f16700Schasinglulu compatible = "virtio,mmio"; 129*91f16700Schasinglulu reg = <0x130000 0x1000>; 130*91f16700Schasinglulu interrupts = <0 0x2a 4>; 131*91f16700Schasinglulu }; 132*91f16700Schasinglulu }; 133*91f16700Schasinglulu 134*91f16700Schasinglulu v2m_fixed_3v3: fixedregulator@0 { 135*91f16700Schasinglulu compatible = "regulator-fixed"; 136*91f16700Schasinglulu regulator-name = "3V3"; 137*91f16700Schasinglulu regulator-min-microvolt = <3300000>; 138*91f16700Schasinglulu regulator-max-microvolt = <3300000>; 139*91f16700Schasinglulu regulator-always-on; 140*91f16700Schasinglulu }; 141*91f16700Schasinglulu 142*91f16700Schasinglulu 143*91f16700Schasinglulu mcc { 144*91f16700Schasinglulu compatible = "arm,vexpress,config-bus", "simple-bus"; 145*91f16700Schasinglulu arm,vexpress,config-bridge = <&v2m_sysreg>; 146*91f16700Schasinglulu 147*91f16700Schasinglulu /* 148*91f16700Schasinglulu * Not supported in FVP models 149*91f16700Schasinglulu * 150*91f16700Schasinglulu * reset@0 { 151*91f16700Schasinglulu * compatible = "arm,vexpress-reset"; 152*91f16700Schasinglulu * arm,vexpress-sysreg,func = <5 0>; 153*91f16700Schasinglulu * }; 154*91f16700Schasinglulu */ 155*91f16700Schasinglulu 156*91f16700Schasinglulu muxfpga@0 { 157*91f16700Schasinglulu compatible = "arm,vexpress-muxfpga"; 158*91f16700Schasinglulu arm,vexpress-sysreg,func = <7 0>; 159*91f16700Schasinglulu }; 160*91f16700Schasinglulu 161*91f16700Schasinglulu /* 162*91f16700Schasinglulu * Not used - Superseded by PSCI sys_poweroff 163*91f16700Schasinglulu * 164*91f16700Schasinglulu * shutdown@0 { 165*91f16700Schasinglulu * compatible = "arm,vexpress-shutdown"; 166*91f16700Schasinglulu * arm,vexpress-sysreg,func = <8 0>; 167*91f16700Schasinglulu * }; 168*91f16700Schasinglulu */ 169*91f16700Schasinglulu 170*91f16700Schasinglulu /* 171*91f16700Schasinglulu * Not used - Superseded by PSCI sys_reset 172*91f16700Schasinglulu * 173*91f16700Schasinglulu * reboot@0 { 174*91f16700Schasinglulu * compatible = "arm,vexpress-reboot"; 175*91f16700Schasinglulu * arm,vexpress-sysreg,func = <9 0>; 176*91f16700Schasinglulu * }; 177*91f16700Schasinglulu */ 178*91f16700Schasinglulu 179*91f16700Schasinglulu dvimode@0 { 180*91f16700Schasinglulu compatible = "arm,vexpress-dvimode"; 181*91f16700Schasinglulu arm,vexpress-sysreg,func = <11 0>; 182*91f16700Schasinglulu }; 183*91f16700Schasinglulu }; 184*91f16700Schasinglulu }; 185