1/* 2 * Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com> 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7sysclk: system-clock { 8 compatible = "fixed-clock"; 9 clock-frequency = <25000000>; 10 #clock-cells = <0>; 11}; 12 13gpio0: gpio@100000 { 14 compatible = "arm,cmsdk-gpio"; 15 reg = <0x100000 0x1000>; 16 interrupts = <69 3>; 17 gpio-controller; 18 #gpio-cells = <2>; 19}; 20 21gpio1: gpio@101000 { 22 compatible = "arm,cmsdk-gpio"; 23 reg = <0x101000 0x1000>; 24 interrupts = <70 3>; 25 gpio-controller; 26 #gpio-cells = <2>; 27}; 28 29gpio2: gpio@102000 { 30 compatible = "arm,cmsdk-gpio"; 31 reg = <0x102000 0x1000>; 32 interrupts = <71 3>; 33 gpio-controller; 34 #gpio-cells = <2>; 35}; 36 37gpio3: gpio@103000 { 38 compatible = "arm,cmsdk-gpio"; 39 reg = <0x103000 0x1000>; 40 interrupts = <72 3>; 41 gpio-controller; 42 #gpio-cells = <2>; 43}; 44 45eth0: eth@400000 { 46 /* Linux has "smsc,lan9115" */ 47 compatible = "smsc,lan9220"; 48 /* Actual reg range is ~0x200 */ 49 reg = <0x400000 0x100000>; 50 interrupts = <49 3>; 51}; 52 53i2c_touch: i2c@8100000 { 54 compatible = "arm,versatile-i2c"; 55 clock-frequency = <I2C_BITRATE_STANDARD>; 56 #address-cells = <1>; 57 #size-cells = <0>; 58 reg = <0x8100000 0x1000>; 59}; 60 61i2c_audio_conf: i2c@8101000 { 62 compatible = "arm,versatile-i2c"; 63 clock-frequency = <I2C_BITRATE_STANDARD>; 64 #address-cells = <1>; 65 #size-cells = <0>; 66 reg = <0x8101000 0x1000>; 67}; 68 69spi_adc: spi@8102000 { 70 compatible = "arm,pl022"; 71 reg = <0x8102000 DT_SIZE_K(4)>; 72 interrupts = <53 3>; 73 interrupt-names = "shield_adc"; 74 clocks = <&sysclk>; 75 #address-cells = <1>; 76 #size-cells = <0>; 77}; 78 79spi_shield0: spi@8103000 { 80 compatible = "arm,pl022"; 81 reg = <0x8103000 DT_SIZE_K(4)>; 82 interrupts = <54 3>; 83 interrupt-names = "shield0_spi"; 84 clocks = <&sysclk>; 85 #address-cells = <1>; 86 #size-cells = <0>; 87 pinctrl-0 = <&spi3_default>; 88 pinctrl-names = "default"; 89}; 90 91spi_shield1: spi@8104000 { 92 compatible = "arm,pl022"; 93 reg = <0x8104000 DT_SIZE_K(4)>; 94 interrupts = <55 3>; 95 interrupt-names = "shield1_spi"; 96 clocks = <&sysclk>; 97 #address-cells = <1>; 98 #size-cells = <0>; 99 pinctrl-0 = <&spi4_default>; 100 pinctrl-names = "default"; 101}; 102 103i2c_shield0: i2c@8105000 { 104 compatible = "arm,versatile-i2c"; 105 clock-frequency = <I2C_BITRATE_STANDARD>; 106 #address-cells = <1>; 107 #size-cells = <0>; 108 reg = <0x8105000 0x1000>; 109 pinctrl-0 = <&sbcon2_default>; 110 pinctrl-names = "default"; 111}; 112 113i2c_shield1: i2c@8106000 { 114 compatible = "arm,versatile-i2c"; 115 clock-frequency = <I2C_BITRATE_STANDARD>; 116 #address-cells = <1>; 117 #size-cells = <0>; 118 reg = <0x8106000 0x1000>; 119 pinctrl-0 = <&sbcon3_default>; 120 pinctrl-names = "default"; 121}; 122 123i2c_ddr4_eeprom: i2c@8108000 { 124 compatible = "arm,versatile-i2c"; 125 clock-frequency = <I2C_BITRATE_STANDARD>; 126 #address-cells = <1>; 127 #size-cells = <0>; 128 reg = <0x8108000 0x1000>; 129}; 130 131gpio_led0: mps4_fpgaio@8202000 { 132 compatible = "arm,mmio32-gpio"; 133 reg = <0x8202000 0x4>; 134 gpio-controller; 135 #gpio-cells = <1>; 136 ngpios = <8>; 137}; 138 139gpio_button: mps4_fpgaio@8202008 { 140 compatible = "arm,mmio32-gpio"; 141 reg = <0x8202008 0x4>; 142 gpio-controller; 143 #gpio-cells = <1>; 144 ngpios = <2>; 145 direction-input; 146}; 147 148gpio_misc: mps4_fpgaio@820204c { 149 compatible = "arm,mmio32-gpio"; 150 reg = <0x820204c 0x4>; 151 gpio-controller; 152 #gpio-cells = <1>; 153 ngpios = <3>; 154}; 155 156uart0: uart@8203000 { 157 compatible = "arm,cmsdk-uart"; 158 reg = <0x8203000 0x1000>; 159 interrupts = <34 3 33 3>; 160 interrupt-names = "tx", "rx"; 161 clocks = <&sysclk>; 162 current-speed = <115200>; 163}; 164 165uart1: uart@8204000 { 166 compatible = "arm,cmsdk-uart"; 167 reg = <0x8204000 0x1000>; 168 interrupts = <36 3 35 3>; 169 interrupt-names = "tx", "rx"; 170 clocks = <&sysclk>; 171 current-speed = <115200>; 172}; 173 174uart2: uart@8205000 { 175 compatible = "arm,cmsdk-uart"; 176 reg = <0x8205000 0x1000>; 177 interrupts = <38 3 37 3>; 178 interrupt-names = "tx", "rx"; 179 clocks = <&sysclk>; 180 current-speed = <115200>; 181}; 182 183uart3: uart@8206000 { 184 compatible = "arm,cmsdk-uart"; 185 reg = <0x8206000 0x1000>; 186 interrupts = <40 3 39 3>; 187 interrupt-names = "tx", "rx"; 188 clocks = <&sysclk>; 189 current-speed = <115200>; 190 pinctrl-0 = <&uart3_default>; 191 pinctrl-names = "default"; 192}; 193 194uart4: uart@8207000 { 195 compatible = "arm,cmsdk-uart"; 196 reg = <0x8207000 0x1000>; 197 interrupts = <42 3 41 3>; 198 interrupt-names = "tx", "rx"; 199 clocks = <&sysclk>; 200 current-speed = <115200>; 201 pinctrl-0 = <&uart4_default>; 202 pinctrl-names = "default"; 203}; 204 205uart5: uart@8208000 { 206 compatible = "arm,cmsdk-uart"; 207 status = "disabled"; 208 reg = <0x8208000 0x1000>; 209 interrupt-names = "tx", "rx"; 210 interrupts = <126 3 125 3>; 211 clocks = <&sysclk>; 212 current-speed = <115200>; 213}; 214 215pinctrl: pinctrl { 216 compatible = "arm,mps4-pinctrl"; 217 status = "okay"; 218}; 219