1// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2/* Copyright (c) 2020-2021 Microchip Technology Inc */ 3 4/dts-v1/; 5 6#include <dt-bindings/gpio/gpio.h> 7#include "mpfs.dtsi" 8#include "mpfs-beaglev-fire-fabric.dtsi" 9 10/* Clock frequency (in Hz) of MTIMER */ 11#define MTIMER_FREQ 1000000 12 13/ { 14 #address-cells = <2>; 15 #size-cells = <2>; 16 model = "BeagleBoard BeagleV-Fire"; 17 compatible = "beagle,beaglev-fire", "microchip,mpfs"; 18 19 aliases { 20 serial0 = &mmuart0; 21 serial1 = &mmuart1; 22 serial2 = &mmuart2; 23 serial3 = &mmuart3; 24 serial4 = &mmuart4; 25 }; 26 27 chosen { 28 stdout-path = "serial0:115200n8"; 29 }; 30 31 cpus { 32 timebase-frequency = <MTIMER_FREQ>; 33 }; 34 35 ddrc_cache_lo: memory@80000000 { 36 device_type = "memory"; 37 reg = <0x0 0x80000000 0x0 0x40000000>; 38 status = "okay"; 39 }; 40 41 reserved-memory { 42 #address-cells = <2>; 43 #size-cells = <2>; 44 ranges; 45 46 hss: hss-buffer@103fc00000 { 47 compatible = "shared-dma-pool"; 48 reg = <0x10 0x3fc00000 0x0 0x400000>; 49 no-map; 50 }; 51 }; 52 53 imx219_clk: camera-clk { 54 compatible = "fixed-clock"; 55 #clock-cells = <0>; 56 clock-frequency = <24000000>; 57 }; 58 59 imx219_vana: fixedregulator-0 { 60 compatible = "regulator-fixed"; 61 regulator-name = "imx219_vana"; 62 regulator-min-microvolt = <2800000>; 63 regulator-max-microvolt = <2800000>; 64 }; 65 66 imx219_vdig: fixedregulator-1 { 67 compatible = "regulator-fixed"; 68 regulator-name = "imx219_vdig"; 69 regulator-min-microvolt = <1800000>; 70 regulator-max-microvolt = <1800000>; 71 }; 72 73 imx219_vddl: fixedregulator-2 { 74 compatible = "regulator-fixed"; 75 regulator-name = "imx219_vddl"; 76 regulator-min-microvolt = <1200000>; 77 regulator-max-microvolt = <1200000>; 78 }; 79 80}; 81 82&gpio0 { 83 interrupts = <13>, <14>, <15>, <16>, 84 <17>, <18>, <19>, <20>, 85 <21>, <22>, <23>, <24>, 86 <25>, <26>; 87 ngpios = <14>; 88 status = "okay"; 89}; 90 91&gpio1 { 92 interrupts = <27>, <28>, <29>, <30>, 93 <31>, <32>, <33>, <34>, 94 <35>, <36>, <37>, <38>, 95 <39>, <40>, <41>, <42>, 96 <43>, <44>, <45>, <46>, 97 <47>, <48>, <49>, <50>; 98 ngpios = <24>; 99 status = "okay"; 100}; 101 102&gpio2 { 103 interrupts = <53>, <53>, <53>, <53>, 104 <53>, <53>, <53>, <53>, 105 <53>, <53>, <53>, <53>, 106 <53>, <53>, <53>, <53>, 107 <53>, <53>, <53>, <53>, 108 <53>, <53>, <53>, <53>, 109 <53>, <53>, <53>, <53>, 110 <53>, <53>, <53>, <53>; 111 ngpios = <32>; 112 gpio-line-names = "P8_PIN3_USER_LED_0", "P8_PIN4_USER_LED_1", "P8_PIN5_USER_LED_2", 113 "P8_PIN6_USER_LED_3", "P8_PIN7_USER_LED_4", "P8_PIN8_USER_LED_5", 114 "P8_PIN9_USER_LED_6", "P8_PIN10_USER_LED_7", "P8_PIN11_USER_LED_8", 115 "P8_PIN12_USER_LED_9", "P8_PIN13_USER_LED_10", "P8_PIN14_USER_LED_11", 116 "P8_PIN15", "P8_PIN16", "P8_PIN17", "P8_PIN18", "P8_PIN19", "P8_PIN20", 117 "P8_PIN21", "P8_PIN22", "P8_PIN23", "P8_PIN24", "P8_PIN25", "P8_PIN26", 118 "P8_PIN27", "P8_PIN28", "P8_PIN29", "P8_PIN30", "M2_W_DISABLE1", 119 "M2_W_DISABLE2", "VIO_ENABLE", "SD_DET"; 120 status = "okay"; 121 122 vio-enable-hog { 123 gpio-hog; 124 gpios = <30 30>; 125 output-high; 126 line-name = "VIO_ENABLE"; 127 }; 128 129 sd-det-hog { 130 gpio-hog; 131 gpios = <31 31>; 132 input; 133 line-name = "SD_DET"; 134 }; 135}; 136 137&i2c0 { 138 status = "okay"; 139}; 140 141&i2c1 { 142 status = "okay"; 143 144 eeprom: eeprom@50 { 145 compatible = "atmel,24c32"; 146 reg = <0x50>; 147 }; 148 149 imx219: sensor@10 { 150 compatible = "sony,imx219"; 151 reg = <0x10>; 152 clocks = <&imx219_clk>; 153 VANA-supply = <&imx219_vana>; /* 2.8v */ 154 VDIG-supply = <&imx219_vdig>; /* 1.8v */ 155 VDDL-supply = <&imx219_vddl>; /* 1.2v */ 156 157 port { 158 imx219_0: endpoint { 159 data-lanes = <1 2>; 160 clock-noncontinuous; 161 link-frequencies = /bits/ 64 <456000000>; 162 }; 163 }; 164 }; 165}; 166 167&irqmux { 168 interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>, 169 <3 &plic 16>, <4 &plic 17>, <5 &plic 18>, 170 <6 &plic 19>, <7 &plic 20>, <8 &plic 21>, 171 <9 &plic 22>, <10 &plic 23>, <11 &plic 24>, 172 <12 &plic 25>, <13 &plic 26>, 173 174 <32 &plic 27>, <33 &plic 28>, <34 &plic 29>, 175 <35 &plic 30>, <36 &plic 31>, <37 &plic 32>, 176 <38 &plic 33>, <39 &plic 34>, <40 &plic 35>, 177 <41 &plic 36>, <42 &plic 37>, <43 &plic 38>, 178 <44 &plic 39>, <45 &plic 40>, <46 &plic 41>, 179 <47 &plic 42>, <48 &plic 43>, <49 &plic 44>, 180 <50 &plic 45>, <51 &plic 46>, <52 &plic 47>, 181 <53 &plic 48>, <54 &plic 49>, <55 &plic 50>, 182 183 <64 &plic 53>, <65 &plic 53>, <66 &plic 53>, 184 <67 &plic 53>, <68 &plic 53>, <69 &plic 53>, 185 <70 &plic 53>, <71 &plic 53>, <72 &plic 53>, 186 <73 &plic 53>, <74 &plic 53>, <75 &plic 53>, 187 <76 &plic 53>, <77 &plic 53>, <78 &plic 53>, 188 <79 &plic 53>, <80 &plic 53>, <81 &plic 53>, 189 <82 &plic 53>, <83 &plic 53>, <84 &plic 53>, 190 <85 &plic 53>, <86 &plic 53>, <87 &plic 53>, 191 <88 &plic 53>, <89 &plic 53>, <90 &plic 53>, 192 <91 &plic 53>, <92 &plic 53>, <93 &plic 53>, 193 <94 &plic 53>, <95 &plic 53>; 194}; 195 196&mac0 { 197 status = "okay"; 198 phy-mode = "sgmii"; 199 phy-handle = <&phy0>; 200 phy0: ethernet-phy@0 { 201 reg = <0>; 202 }; 203}; 204 205&mbox { 206 status = "okay"; 207}; 208 209&mmc { 210 bus-width = <4>; 211 disable-wp; 212 cap-sd-highspeed; 213 cap-mmc-highspeed; 214 mmc-ddr-1_8v; 215 mmc-hs200-1_8v; 216 sd-uhs-sdr12; 217 sd-uhs-sdr25; 218 sd-uhs-sdr50; 219 sd-uhs-sdr104; 220 status = "okay"; 221}; 222 223&mmuart0 { 224 status = "okay"; 225}; 226 227&mmuart1 { 228 status = "okay"; 229}; 230 231&refclk { 232 clock-frequency = <125000000>; 233}; 234 235&refclk_ccc { 236 clock-frequency = <50000000>; 237}; 238 239&rtc { 240 status = "okay"; 241}; 242 243&spi0 { 244 status = "okay"; 245}; 246 247&spi1 { 248 status = "okay"; 249}; 250 251&qspi { 252 status = "okay"; 253 cs-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>, <&gpio0 12 GPIO_ACTIVE_LOW>; 254 num-cs = <2>; 255 256 adc@0 { 257 compatible = "microchip,mcp3464r"; 258 reg = <0>; /* CE0 */ 259 spi-cpol; 260 spi-cpha; 261 spi-max-frequency = <5000000>; 262 microchip,hw-device-address = <1>; 263 #address-cells = <1>; 264 #size-cells = <0>; 265 status = "okay"; 266 267 channel@0 { 268 /* CH0 to AGND */ 269 reg = <0>; 270 label = "CH0"; 271 }; 272 273 channel@1 { 274 /* CH1 to AGND */ 275 reg = <1>; 276 label = "CH1"; 277 }; 278 279 channel@2 { 280 /* CH2 to AGND */ 281 reg = <2>; 282 label = "CH2"; 283 }; 284 285 channel@3 { 286 /* CH3 to AGND */ 287 reg = <3>; 288 label = "CH3"; 289 }; 290 291 channel@4 { 292 /* CH4 to AGND */ 293 reg = <4>; 294 label = "CH4"; 295 }; 296 297 channel@5 { 298 /* CH5 to AGND */ 299 reg = <5>; 300 label = "CH5"; 301 }; 302 303 channel@6 { 304 /* CH6 to AGND */ 305 reg = <6>; 306 label = "CH6"; 307 }; 308 309 channel@7 { 310 /* CH7 is connected to AGND */ 311 reg = <7>; 312 label = "CH7"; 313 }; 314 }; 315 316 mmc@1 { 317 compatible = "mmc-spi-slot"; 318 reg = <1>; 319 gpios = <&gpio2 31 1>; 320 voltage-ranges = <3300 3300>; 321 spi-max-frequency = <5000000>; 322 disable-wp; 323 }; 324}; 325 326 327&syscontroller { 328 microchip,bitstream-flash = <&sys_ctrl_flash>; 329 status = "okay"; 330}; 331 332&syscontroller_qspi { 333 status = "okay"; 334 335 sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT 336 compatible = "jedec,spi-nor"; 337 #address-cells = <1>; 338 #size-cells = <1>; 339 spi-max-frequency = <20000000>; 340 spi-rx-bus-width = <1>; 341 reg = <0>; 342 }; 343}; 344 345&usb { 346 status = "okay"; 347 dr_mode = "otg"; 348}; 349