1*3f41368fSConor Dooley// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*3f41368fSConor Dooley/* Copyright (c) 2020-2021 Microchip Technology Inc */ 3*3f41368fSConor Dooley 4*3f41368fSConor Dooley/dts-v1/; 5*3f41368fSConor Dooley 6*3f41368fSConor Dooley#include <dt-bindings/gpio/gpio.h> 7*3f41368fSConor Dooley#include "mpfs.dtsi" 8*3f41368fSConor Dooley#include "mpfs-beaglev-fire-fabric.dtsi" 9*3f41368fSConor Dooley 10*3f41368fSConor Dooley/* Clock frequency (in Hz) of MTIMER */ 11*3f41368fSConor Dooley#define MTIMER_FREQ 1000000 12*3f41368fSConor Dooley 13*3f41368fSConor Dooley/ { 14*3f41368fSConor Dooley #address-cells = <2>; 15*3f41368fSConor Dooley #size-cells = <2>; 16*3f41368fSConor Dooley model = "BeagleBoard BeagleV-Fire"; 17*3f41368fSConor Dooley compatible = "beagle,beaglev-fire", "microchip,mpfs"; 18*3f41368fSConor Dooley 19*3f41368fSConor Dooley aliases { 20*3f41368fSConor Dooley serial0 = &mmuart0; 21*3f41368fSConor Dooley serial1 = &mmuart1; 22*3f41368fSConor Dooley serial2 = &mmuart2; 23*3f41368fSConor Dooley serial3 = &mmuart3; 24*3f41368fSConor Dooley serial4 = &mmuart4; 25*3f41368fSConor Dooley }; 26*3f41368fSConor Dooley 27*3f41368fSConor Dooley chosen { 28*3f41368fSConor Dooley stdout-path = "serial0:115200n8"; 29*3f41368fSConor Dooley }; 30*3f41368fSConor Dooley 31*3f41368fSConor Dooley cpus { 32*3f41368fSConor Dooley timebase-frequency = <MTIMER_FREQ>; 33*3f41368fSConor Dooley }; 34*3f41368fSConor Dooley 35*3f41368fSConor Dooley ddrc_cache_lo: memory@80000000 { 36*3f41368fSConor Dooley device_type = "memory"; 37*3f41368fSConor Dooley reg = <0x0 0x80000000 0x0 0x40000000>; 38*3f41368fSConor Dooley status = "okay"; 39*3f41368fSConor Dooley }; 40*3f41368fSConor Dooley 41*3f41368fSConor Dooley reserved-memory { 42*3f41368fSConor Dooley #address-cells = <2>; 43*3f41368fSConor Dooley #size-cells = <2>; 44*3f41368fSConor Dooley ranges; 45*3f41368fSConor Dooley 46*3f41368fSConor Dooley hss: hss-buffer@103fc00000 { 47*3f41368fSConor Dooley compatible = "shared-dma-pool"; 48*3f41368fSConor Dooley reg = <0x10 0x3fc00000 0x0 0x400000>; 49*3f41368fSConor Dooley no-map; 50*3f41368fSConor Dooley }; 51*3f41368fSConor Dooley }; 52*3f41368fSConor Dooley 53*3f41368fSConor Dooley imx219_clk: camera-clk { 54*3f41368fSConor Dooley compatible = "fixed-clock"; 55*3f41368fSConor Dooley #clock-cells = <0>; 56*3f41368fSConor Dooley clock-frequency = <24000000>; 57*3f41368fSConor Dooley }; 58*3f41368fSConor Dooley 59*3f41368fSConor Dooley imx219_vana: fixedregulator-0 { 60*3f41368fSConor Dooley compatible = "regulator-fixed"; 61*3f41368fSConor Dooley regulator-name = "imx219_vana"; 62*3f41368fSConor Dooley regulator-min-microvolt = <2800000>; 63*3f41368fSConor Dooley regulator-max-microvolt = <2800000>; 64*3f41368fSConor Dooley }; 65*3f41368fSConor Dooley 66*3f41368fSConor Dooley imx219_vdig: fixedregulator-1 { 67*3f41368fSConor Dooley compatible = "regulator-fixed"; 68*3f41368fSConor Dooley regulator-name = "imx219_vdig"; 69*3f41368fSConor Dooley regulator-min-microvolt = <1800000>; 70*3f41368fSConor Dooley regulator-max-microvolt = <1800000>; 71*3f41368fSConor Dooley }; 72*3f41368fSConor Dooley 73*3f41368fSConor Dooley imx219_vddl: fixedregulator-2 { 74*3f41368fSConor Dooley compatible = "regulator-fixed"; 75*3f41368fSConor Dooley regulator-name = "imx219_vddl"; 76*3f41368fSConor Dooley regulator-min-microvolt = <1200000>; 77*3f41368fSConor Dooley regulator-max-microvolt = <1200000>; 78*3f41368fSConor Dooley }; 79*3f41368fSConor Dooley 80*3f41368fSConor Dooley}; 81*3f41368fSConor Dooley 82*3f41368fSConor Dooley&gpio2 { 83*3f41368fSConor Dooley interrupts = <53>, <53>, <53>, <53>, 84*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 85*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 86*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 87*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 88*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 89*3f41368fSConor Dooley <53>, <53>, <53>, <53>, 90*3f41368fSConor Dooley <53>, <53>, <53>, <53>; 91*3f41368fSConor Dooley ngpios=<32>; 92*3f41368fSConor Dooley gpio-line-names = "P8_PIN3_USER_LED_0", "P8_PIN4_USER_LED_1", "P8_PIN5_USER_LED_2", 93*3f41368fSConor Dooley "P8_PIN6_USER_LED_3", "P8_PIN7_USER_LED_4", "P8_PIN8_USER_LED_5", 94*3f41368fSConor Dooley "P8_PIN9_USER_LED_6", "P8_PIN10_USER_LED_7", "P8_PIN11_USER_LED_8", 95*3f41368fSConor Dooley "P8_PIN12_USER_LED_9", "P8_PIN13_USER_LED_10", "P8_PIN14_USER_LED_11", 96*3f41368fSConor Dooley "P8_PIN15", "P8_PIN16", "P8_PIN17", "P8_PIN18", "P8_PIN19", "P8_PIN20", 97*3f41368fSConor Dooley "P8_PIN21", "P8_PIN22", "P8_PIN23", "P8_PIN24", "P8_PIN25", "P8_PIN26", 98*3f41368fSConor Dooley "P8_PIN27", "P8_PIN28", "P8_PIN29", "P8_PIN30", "M2_W_DISABLE1", 99*3f41368fSConor Dooley "M2_W_DISABLE2", "VIO_ENABLE", "SD_DET"; 100*3f41368fSConor Dooley status = "okay"; 101*3f41368fSConor Dooley 102*3f41368fSConor Dooley vio-enable-hog { 103*3f41368fSConor Dooley gpio-hog; 104*3f41368fSConor Dooley gpios = <30 30>; 105*3f41368fSConor Dooley output-high; 106*3f41368fSConor Dooley line-name = "VIO_ENABLE"; 107*3f41368fSConor Dooley }; 108*3f41368fSConor Dooley 109*3f41368fSConor Dooley sd-det-hog { 110*3f41368fSConor Dooley gpio-hog; 111*3f41368fSConor Dooley gpios = <31 31>; 112*3f41368fSConor Dooley input; 113*3f41368fSConor Dooley line-name = "SD_DET"; 114*3f41368fSConor Dooley }; 115*3f41368fSConor Dooley}; 116*3f41368fSConor Dooley 117*3f41368fSConor Dooley&i2c0 { 118*3f41368fSConor Dooley status = "okay"; 119*3f41368fSConor Dooley}; 120*3f41368fSConor Dooley 121*3f41368fSConor Dooley&i2c1 { 122*3f41368fSConor Dooley status = "okay"; 123*3f41368fSConor Dooley 124*3f41368fSConor Dooley eeprom: eeprom@50 { 125*3f41368fSConor Dooley compatible = "atmel,24c32"; 126*3f41368fSConor Dooley reg = <0x50>; 127*3f41368fSConor Dooley }; 128*3f41368fSConor Dooley 129*3f41368fSConor Dooley imx219: sensor@10 { 130*3f41368fSConor Dooley compatible = "sony,imx219"; 131*3f41368fSConor Dooley reg = <0x10>; 132*3f41368fSConor Dooley clocks = <&imx219_clk>; 133*3f41368fSConor Dooley VANA-supply = <&imx219_vana>; /* 2.8v */ 134*3f41368fSConor Dooley VDIG-supply = <&imx219_vdig>; /* 1.8v */ 135*3f41368fSConor Dooley VDDL-supply = <&imx219_vddl>; /* 1.2v */ 136*3f41368fSConor Dooley 137*3f41368fSConor Dooley port { 138*3f41368fSConor Dooley imx219_0: endpoint { 139*3f41368fSConor Dooley data-lanes = <1 2>; 140*3f41368fSConor Dooley clock-noncontinuous; 141*3f41368fSConor Dooley link-frequencies = /bits/ 64 <456000000>; 142*3f41368fSConor Dooley }; 143*3f41368fSConor Dooley }; 144*3f41368fSConor Dooley }; 145*3f41368fSConor Dooley}; 146*3f41368fSConor Dooley 147*3f41368fSConor Dooley&mac0 { 148*3f41368fSConor Dooley status = "okay"; 149*3f41368fSConor Dooley phy-mode = "sgmii"; 150*3f41368fSConor Dooley phy-handle = <&phy0>; 151*3f41368fSConor Dooley phy0: ethernet-phy@0 { 152*3f41368fSConor Dooley reg = <0>; 153*3f41368fSConor Dooley }; 154*3f41368fSConor Dooley}; 155*3f41368fSConor Dooley 156*3f41368fSConor Dooley&mbox { 157*3f41368fSConor Dooley status = "okay"; 158*3f41368fSConor Dooley}; 159*3f41368fSConor Dooley 160*3f41368fSConor Dooley&mmc { 161*3f41368fSConor Dooley bus-width = <4>; 162*3f41368fSConor Dooley disable-wp; 163*3f41368fSConor Dooley cap-sd-highspeed; 164*3f41368fSConor Dooley cap-mmc-highspeed; 165*3f41368fSConor Dooley mmc-ddr-1_8v; 166*3f41368fSConor Dooley mmc-hs200-1_8v; 167*3f41368fSConor Dooley sd-uhs-sdr12; 168*3f41368fSConor Dooley sd-uhs-sdr25; 169*3f41368fSConor Dooley sd-uhs-sdr50; 170*3f41368fSConor Dooley sd-uhs-sdr104; 171*3f41368fSConor Dooley status = "okay"; 172*3f41368fSConor Dooley}; 173*3f41368fSConor Dooley 174*3f41368fSConor Dooley&mmuart0 { 175*3f41368fSConor Dooley status = "okay"; 176*3f41368fSConor Dooley}; 177*3f41368fSConor Dooley 178*3f41368fSConor Dooley&mmuart1 { 179*3f41368fSConor Dooley status = "okay"; 180*3f41368fSConor Dooley}; 181*3f41368fSConor Dooley 182*3f41368fSConor Dooley&refclk { 183*3f41368fSConor Dooley clock-frequency = <125000000>; 184*3f41368fSConor Dooley}; 185*3f41368fSConor Dooley 186*3f41368fSConor Dooley&refclk_ccc { 187*3f41368fSConor Dooley clock-frequency = <50000000>; 188*3f41368fSConor Dooley}; 189*3f41368fSConor Dooley 190*3f41368fSConor Dooley&rtc { 191*3f41368fSConor Dooley status = "okay"; 192*3f41368fSConor Dooley}; 193*3f41368fSConor Dooley 194*3f41368fSConor Dooley&spi0 { 195*3f41368fSConor Dooley status = "okay"; 196*3f41368fSConor Dooley}; 197*3f41368fSConor Dooley 198*3f41368fSConor Dooley&spi1 { 199*3f41368fSConor Dooley status = "okay"; 200*3f41368fSConor Dooley}; 201*3f41368fSConor Dooley 202*3f41368fSConor Dooley&syscontroller { 203*3f41368fSConor Dooley microchip,bitstream-flash = <&sys_ctrl_flash>; 204*3f41368fSConor Dooley status = "okay"; 205*3f41368fSConor Dooley}; 206*3f41368fSConor Dooley 207*3f41368fSConor Dooley&syscontroller_qspi { 208*3f41368fSConor Dooley status = "okay"; 209*3f41368fSConor Dooley 210*3f41368fSConor Dooley sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT 211*3f41368fSConor Dooley compatible = "jedec,spi-nor"; 212*3f41368fSConor Dooley #address-cells = <1>; 213*3f41368fSConor Dooley #size-cells = <1>; 214*3f41368fSConor Dooley spi-max-frequency = <20000000>; 215*3f41368fSConor Dooley spi-rx-bus-width = <1>; 216*3f41368fSConor Dooley reg = <0>; 217*3f41368fSConor Dooley }; 218*3f41368fSConor Dooley}; 219*3f41368fSConor Dooley 220*3f41368fSConor Dooley&usb { 221*3f41368fSConor Dooley status = "okay"; 222*3f41368fSConor Dooley dr_mode = "otg"; 223*3f41368fSConor Dooley}; 224