// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* Copyright (c) 2020-2021 Microchip Technology Inc */ /dts-v1/; #include #include "mpfs.dtsi" #include "mpfs-beaglev-fire-fabric.dtsi" #include "mpfs-beaglev-fire-pinmux.dtsi" /* Clock frequency (in Hz) of the rtcclk */ #define RTCCLK_FREQ 1000000 / { #address-cells = <2>; #size-cells = <2>; model = "BeagleBoard BeagleV-Fire"; compatible = "beagle,beaglev-fire", "microchip,mpfs"; soc { dma-ranges = <0x14 0x0 0x0 0x80000000 0x0 0x4000000>, <0x14 0x4000000 0x0 0xc4000000 0x0 0x6000000>, <0x14 0xa000000 0x0 0x8a000000 0x0 0x8000000>, <0x14 0x12000000 0x14 0x12000000 0x0 0x10000000>, <0x14 0x22000000 0x10 0x22000000 0x0 0x5e000000>; }; aliases { serial0 = &mmuart0; serial1 = &mmuart1; serial2 = &mmuart2; serial3 = &mmuart3; serial4 = &mmuart4; }; chosen { stdout-path = "serial0:115200n8"; }; cpus { timebase-frequency = ; }; kernel: memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x4000000>; }; ddr_cached_low: memory@8a000000 { device_type = "memory"; reg = <0x0 0x8a000000 0x0 0x8000000>; }; ddr_non_cached_low: memory@c4000000 { device_type = "memory"; reg = <0x0 0xc4000000 0x0 0x6000000>; }; ddr_cached_high: memory@1022000000 { device_type = "memory"; reg = <0x10 0x22000000 0x0 0x5e000000>; }; ddr_non_cached_high: memory@1412000000 { device_type = "memory"; reg = <0x14 0x12000000 0x0 0x10000000>; }; reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; hss: hss-buffer@103fc00000 { compatible = "shared-dma-pool"; reg = <0x10 0x3fc00000 0x0 0x400000>; no-map; }; dma_non_cached_low: non-cached-low-buffer { compatible = "shared-dma-pool"; size = <0x0 0x4000000>; no-map; alloc-ranges = <0x0 0xc4000000 0x0 0x4000000>; }; dma_non_cached_high: non-cached-high-buffer { compatible = "shared-dma-pool"; size = <0x0 0x10000000>; no-map; linux,dma-default; alloc-ranges = <0x14 0x12000000 0x0 0x10000000>; }; }; imx219_vana: fixedregulator-0 { compatible = "regulator-fixed"; regulator-name = "imx219_vana"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; imx219_vdig: fixedregulator-1 { compatible = "regulator-fixed"; regulator-name = "imx219_vdig"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; imx219_vddl: fixedregulator-2 { compatible = "regulator-fixed"; regulator-name = "imx219_vddl"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; imx219_clk: camera-clk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24000000>; }; }; &gpio0 { ngpios=<14>; gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "SD_CARD_CS", "USER_BUTTON"; status = "okay"; sd-card-cs-hog { gpio-hog; gpios = <12 12>; output-high; line-name = "SD_CARD_CS"; }; user-button-hog { gpio-hog; gpios = <13 13>; input; line-name = "USER_BUTTON"; }; }; &gpio1 { ngpios=<24>; gpio-line-names = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "ADC_IRQn", "", "", "USB_OCn"; status = "okay"; adc-irqn-hog { gpio-hog; gpios = <20 20>; input; line-name = "ADC_IRQn"; }; usb-ocn-hog { gpio-hog; gpios = <23 23>; input; line-name = "USB_OCn"; }; }; &gpio2 { gpio-line-names = "P8_PIN3_USER_LED_0", "P8_PIN4_USER_LED_1", "P8_PIN5_USER_LED_2", "P8_PIN6_USER_LED_3", "P8_PIN7_USER_LED_4", "P8_PIN8_USER_LED_5", "P8_PIN9_USER_LED_6", "P8_PIN10_USER_LED_7", "P8_PIN11_USER_LED_8", "P8_PIN12_USER_LED_9", "P8_PIN13_USER_LED_10", "P8_PIN14_USER_LED_11", "P8_PIN15", "P8_PIN16", "P8_PIN17", "P8_PIN18", "P8_PIN19", "P8_PIN20", "P8_PIN21", "P8_PIN22", "P8_PIN23", "P8_PIN24", "P8_PIN25", "P8_PIN26", "P8_PIN27", "P8_PIN28", "P8_PIN29", "P8_PIN30", "M2_W_DISABLE1", "M2_W_DISABLE2", "VIO_ENABLE", "SD_DET"; status = "okay"; vio-enable-hog { gpio-hog; gpios = <30 30>; output-high; line-name = "VIO_ENABLE"; }; sd-det-hog { gpio-hog; gpios = <31 31>; input; line-name = "SD_DET"; }; }; &i2c0 { status = "okay"; }; &i2c1 { status = "okay"; eeprom: eeprom@50 { compatible = "at,24c32"; reg = <0x50>; }; imx219: sensor@10 { compatible = "sony,imx219"; reg = <0x10>; clocks = <&imx219_clk>; VANA-supply = <&imx219_vana>; /* 2.8v */ VDIG-supply = <&imx219_vdig>; /* 1.8v */ VDDL-supply = <&imx219_vddl>; /* 1.2v */ port { imx219_0: endpoint { data-lanes = <1 2>; clock-noncontinuous; link-frequencies = /bits/ 64 <456000000>; }; }; }; }; &mac0 { dma-noncoherent; status = "okay"; phy-mode = "sgmii"; phy-handle = <&phy0>; phy0: ethernet-phy@0 { reg = <0>; }; }; &mbox { status = "okay"; }; &mmc { dma-noncoherent; bus-width = <4>; disable-wp; cap-sd-highspeed; cap-mmc-highspeed; mmc-ddr-1_8v; mmc-hs200-1_8v; sd-uhs-sdr12; sd-uhs-sdr25; sd-uhs-sdr50; sd-uhs-sdr104; status = "okay"; }; &mmuart0 { status = "okay"; }; &mmuart1 { status = "okay"; }; &refclk { clock-frequency = <125000000>; }; &refclk_ccc { clock-frequency = <50000000>; }; &rtc { status = "okay"; }; &spi0 { status = "okay"; }; &spi1 { status = "okay"; }; &gpio0 { status = "okay"; }; &gpio1 { status = "okay"; }; &qspi { status = "okay"; cs-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>, <&gpio0 12 GPIO_ACTIVE_LOW>; num-cs = <2>; adc@0 { compatible = "microchip,mcp3464r"; reg = <0>; /* CE0 */ spi-cpol; spi-cpha; spi-max-frequency = <5000000>; microchip,hw-device-address = <1>; #address-cells = <1>; #size-cells = <0>; status = "okay"; channel@0 { /* CH0 to AGND */ reg = <0>; label = "CH0"; }; channel@1 { /* CH1 to AGND */ reg = <1>; label = "CH1"; }; channel@2 { /* CH2 to AGND */ reg = <2>; label = "CH2"; }; channel@3 { /* CH3 to AGND */ reg = <3>; label = "CH3"; }; channel@4 { /* CH4 to AGND */ reg = <4>; label = "CH4"; }; channel@5 { /* CH5 to AGND */ reg = <5>; label = "CH5"; }; channel@6 { /* CH6 to AGND */ reg = <6>; label = "CH6"; }; channel@7 { /* CH7 is connected to AGND */ reg = <7>; label = "CH7"; }; }; mmc-slot@1 { compatible = "mmc-spi-slot"; reg = <1>; gpios = <&gpio2 31 1>; voltage-ranges = <3300 3300>; spi-max-frequency = <5000000>; disable-wp; }; }; &syscontroller { microchip,bitstream-flash = <&sys_ctrl_flash>; status = "okay"; }; &syscontroller_qspi { status = "okay"; sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT compatible = "jedec,spi-nor"; #address-cells = <1>; #size-cells = <1>; spi-max-frequency = <20000000>; spi-rx-bus-width = <1>; reg = <0>; }; }; &usb { dma-noncoherent; status = "okay"; dr_mode = "otg"; };