1d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2d5b0e70fSEmmanuel Vadot/* Copyright (c) 2020-2021 Microchip Technology Inc */ 3d5b0e70fSEmmanuel Vadot 4d5b0e70fSEmmanuel Vadot/dts-v1/; 5d5b0e70fSEmmanuel Vadot 6d5b0e70fSEmmanuel Vadot#include "mpfs.dtsi" 7d5b0e70fSEmmanuel Vadot#include "mpfs-icicle-kit-fabric.dtsi" 88bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 98bab661aSEmmanuel Vadot#include <dt-bindings/leds/common.h> 10d5b0e70fSEmmanuel Vadot 11d5b0e70fSEmmanuel Vadot/ { 12d5b0e70fSEmmanuel Vadot model = "Microchip PolarFire-SoC Icicle Kit"; 137ef62cebSEmmanuel Vadot compatible = "microchip,mpfs-icicle-reference-rtlv2210", "microchip,mpfs-icicle-kit", 147ef62cebSEmmanuel Vadot "microchip,mpfs"; 15d5b0e70fSEmmanuel Vadot 16d5b0e70fSEmmanuel Vadot aliases { 17d5b0e70fSEmmanuel Vadot ethernet0 = &mac1; 18d5b0e70fSEmmanuel Vadot serial0 = &mmuart0; 19d5b0e70fSEmmanuel Vadot serial1 = &mmuart1; 20d5b0e70fSEmmanuel Vadot serial2 = &mmuart2; 21d5b0e70fSEmmanuel Vadot serial3 = &mmuart3; 22d5b0e70fSEmmanuel Vadot serial4 = &mmuart4; 23d5b0e70fSEmmanuel Vadot }; 24d5b0e70fSEmmanuel Vadot 25d5b0e70fSEmmanuel Vadot chosen { 26d5b0e70fSEmmanuel Vadot stdout-path = "serial1:115200n8"; 27d5b0e70fSEmmanuel Vadot }; 28d5b0e70fSEmmanuel Vadot 298bab661aSEmmanuel Vadot leds { 308bab661aSEmmanuel Vadot compatible = "gpio-leds"; 318bab661aSEmmanuel Vadot 328bab661aSEmmanuel Vadot led-1 { 338bab661aSEmmanuel Vadot gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; 348bab661aSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 358bab661aSEmmanuel Vadot label = "led1"; 368bab661aSEmmanuel Vadot }; 378bab661aSEmmanuel Vadot 388bab661aSEmmanuel Vadot led-2 { 398bab661aSEmmanuel Vadot gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; 408bab661aSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 418bab661aSEmmanuel Vadot label = "led2"; 428bab661aSEmmanuel Vadot }; 438bab661aSEmmanuel Vadot 448bab661aSEmmanuel Vadot led-3 { 458bab661aSEmmanuel Vadot gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; 468bab661aSEmmanuel Vadot color = <LED_COLOR_ID_AMBER>; 478bab661aSEmmanuel Vadot label = "led3"; 488bab661aSEmmanuel Vadot }; 498bab661aSEmmanuel Vadot 508bab661aSEmmanuel Vadot led-4 { 518bab661aSEmmanuel Vadot gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 528bab661aSEmmanuel Vadot color = <LED_COLOR_ID_AMBER>; 538bab661aSEmmanuel Vadot label = "led4"; 548bab661aSEmmanuel Vadot }; 558bab661aSEmmanuel Vadot }; 568bab661aSEmmanuel Vadot 57d5b0e70fSEmmanuel Vadot ddrc_cache_lo: memory@80000000 { 58d5b0e70fSEmmanuel Vadot device_type = "memory"; 597ef62cebSEmmanuel Vadot reg = <0x0 0x80000000 0x0 0x40000000>; 60d5b0e70fSEmmanuel Vadot status = "okay"; 61d5b0e70fSEmmanuel Vadot }; 62d5b0e70fSEmmanuel Vadot 638bab661aSEmmanuel Vadot ddrc_cache_hi: memory@1040000000 { 64d5b0e70fSEmmanuel Vadot device_type = "memory"; 657ef62cebSEmmanuel Vadot reg = <0x10 0x40000000 0x0 0x40000000>; 66d5b0e70fSEmmanuel Vadot status = "okay"; 67d5b0e70fSEmmanuel Vadot }; 687ef62cebSEmmanuel Vadot 697ef62cebSEmmanuel Vadot reserved-memory { 707ef62cebSEmmanuel Vadot #address-cells = <2>; 717ef62cebSEmmanuel Vadot #size-cells = <2>; 727ef62cebSEmmanuel Vadot ranges; 737ef62cebSEmmanuel Vadot 747ef62cebSEmmanuel Vadot hss_payload: region@BFC00000 { 757ef62cebSEmmanuel Vadot reg = <0x0 0xBFC00000 0x0 0x400000>; 767ef62cebSEmmanuel Vadot no-map; 777ef62cebSEmmanuel Vadot }; 787ef62cebSEmmanuel Vadot }; 79d5b0e70fSEmmanuel Vadot}; 80d5b0e70fSEmmanuel Vadot 81d5b0e70fSEmmanuel Vadot&core_pwm0 { 82d5b0e70fSEmmanuel Vadot status = "okay"; 83d5b0e70fSEmmanuel Vadot}; 84d5b0e70fSEmmanuel Vadot 85d5b0e70fSEmmanuel Vadot&gpio2 { 86d5b0e70fSEmmanuel Vadot interrupts = <53>, <53>, <53>, <53>, 87d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 88d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 89d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 90d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 91d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 92d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>, 93d5b0e70fSEmmanuel Vadot <53>, <53>, <53>, <53>; 94d5b0e70fSEmmanuel Vadot status = "okay"; 95d5b0e70fSEmmanuel Vadot}; 96d5b0e70fSEmmanuel Vadot 97d5b0e70fSEmmanuel Vadot&i2c0 { 98d5b0e70fSEmmanuel Vadot status = "okay"; 99d5b0e70fSEmmanuel Vadot}; 100d5b0e70fSEmmanuel Vadot 101d5b0e70fSEmmanuel Vadot&i2c1 { 102d5b0e70fSEmmanuel Vadot status = "okay"; 103*7d0873ebSEmmanuel Vadot 104*7d0873ebSEmmanuel Vadot power-monitor@10 { 105*7d0873ebSEmmanuel Vadot compatible = "microchip,pac1934"; 106*7d0873ebSEmmanuel Vadot reg = <0x10>; 107*7d0873ebSEmmanuel Vadot 108*7d0873ebSEmmanuel Vadot #address-cells = <1>; 109*7d0873ebSEmmanuel Vadot #size-cells = <0>; 110*7d0873ebSEmmanuel Vadot 111*7d0873ebSEmmanuel Vadot channel@1 { 112*7d0873ebSEmmanuel Vadot reg = <0x1>; 113*7d0873ebSEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 114*7d0873ebSEmmanuel Vadot label = "VDDREG"; 115*7d0873ebSEmmanuel Vadot }; 116*7d0873ebSEmmanuel Vadot 117*7d0873ebSEmmanuel Vadot channel@2 { 118*7d0873ebSEmmanuel Vadot reg = <0x2>; 119*7d0873ebSEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 120*7d0873ebSEmmanuel Vadot label = "VDDA25"; 121*7d0873ebSEmmanuel Vadot }; 122*7d0873ebSEmmanuel Vadot 123*7d0873ebSEmmanuel Vadot channel@3 { 124*7d0873ebSEmmanuel Vadot reg = <0x3>; 125*7d0873ebSEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 126*7d0873ebSEmmanuel Vadot label = "VDD25"; 127*7d0873ebSEmmanuel Vadot }; 128*7d0873ebSEmmanuel Vadot 129*7d0873ebSEmmanuel Vadot channel@4 { 130*7d0873ebSEmmanuel Vadot reg = <0x4>; 131*7d0873ebSEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 132*7d0873ebSEmmanuel Vadot label = "VDDA_REG"; 133*7d0873ebSEmmanuel Vadot }; 134*7d0873ebSEmmanuel Vadot }; 135d5b0e70fSEmmanuel Vadot}; 136d5b0e70fSEmmanuel Vadot 137d5b0e70fSEmmanuel Vadot&i2c2 { 138d5b0e70fSEmmanuel Vadot status = "okay"; 139d5b0e70fSEmmanuel Vadot}; 140d5b0e70fSEmmanuel Vadot 141d5b0e70fSEmmanuel Vadot&mac0 { 142d5b0e70fSEmmanuel Vadot phy-mode = "sgmii"; 143d5b0e70fSEmmanuel Vadot phy-handle = <&phy0>; 144d5b0e70fSEmmanuel Vadot status = "okay"; 145d5b0e70fSEmmanuel Vadot}; 146d5b0e70fSEmmanuel Vadot 147d5b0e70fSEmmanuel Vadot&mac1 { 148d5b0e70fSEmmanuel Vadot phy-mode = "sgmii"; 149d5b0e70fSEmmanuel Vadot phy-handle = <&phy1>; 150d5b0e70fSEmmanuel Vadot status = "okay"; 151d5b0e70fSEmmanuel Vadot 152d5b0e70fSEmmanuel Vadot phy1: ethernet-phy@9 { 153d5b0e70fSEmmanuel Vadot reg = <9>; 154d5b0e70fSEmmanuel Vadot }; 155d5b0e70fSEmmanuel Vadot 156d5b0e70fSEmmanuel Vadot phy0: ethernet-phy@8 { 157d5b0e70fSEmmanuel Vadot reg = <8>; 158d5b0e70fSEmmanuel Vadot }; 159d5b0e70fSEmmanuel Vadot}; 160d5b0e70fSEmmanuel Vadot 161d5b0e70fSEmmanuel Vadot&mbox { 162d5b0e70fSEmmanuel Vadot status = "okay"; 163d5b0e70fSEmmanuel Vadot}; 164d5b0e70fSEmmanuel Vadot 165d5b0e70fSEmmanuel Vadot&mmc { 166d5b0e70fSEmmanuel Vadot bus-width = <4>; 167d5b0e70fSEmmanuel Vadot disable-wp; 168d5b0e70fSEmmanuel Vadot cap-sd-highspeed; 169d5b0e70fSEmmanuel Vadot cap-mmc-highspeed; 170d5b0e70fSEmmanuel Vadot mmc-ddr-1_8v; 171d5b0e70fSEmmanuel Vadot mmc-hs200-1_8v; 172d5b0e70fSEmmanuel Vadot sd-uhs-sdr12; 173d5b0e70fSEmmanuel Vadot sd-uhs-sdr25; 174d5b0e70fSEmmanuel Vadot sd-uhs-sdr50; 175d5b0e70fSEmmanuel Vadot sd-uhs-sdr104; 176d5b0e70fSEmmanuel Vadot status = "okay"; 177d5b0e70fSEmmanuel Vadot}; 178d5b0e70fSEmmanuel Vadot 179d5b0e70fSEmmanuel Vadot&mmuart1 { 180d5b0e70fSEmmanuel Vadot status = "okay"; 181d5b0e70fSEmmanuel Vadot}; 182d5b0e70fSEmmanuel Vadot 183d5b0e70fSEmmanuel Vadot&mmuart2 { 184d5b0e70fSEmmanuel Vadot status = "okay"; 185d5b0e70fSEmmanuel Vadot}; 186d5b0e70fSEmmanuel Vadot 187d5b0e70fSEmmanuel Vadot&mmuart3 { 188d5b0e70fSEmmanuel Vadot status = "okay"; 189d5b0e70fSEmmanuel Vadot}; 190d5b0e70fSEmmanuel Vadot 191d5b0e70fSEmmanuel Vadot&mmuart4 { 192d5b0e70fSEmmanuel Vadot status = "okay"; 193d5b0e70fSEmmanuel Vadot}; 194d5b0e70fSEmmanuel Vadot 195d5b0e70fSEmmanuel Vadot&pcie { 196d5b0e70fSEmmanuel Vadot status = "okay"; 197d5b0e70fSEmmanuel Vadot}; 198d5b0e70fSEmmanuel Vadot 199d5b0e70fSEmmanuel Vadot&qspi { 200d5b0e70fSEmmanuel Vadot status = "okay"; 201d5b0e70fSEmmanuel Vadot}; 202d5b0e70fSEmmanuel Vadot 203d5b0e70fSEmmanuel Vadot&refclk { 204d5b0e70fSEmmanuel Vadot clock-frequency = <125000000>; 205d5b0e70fSEmmanuel Vadot}; 206d5b0e70fSEmmanuel Vadot 2078bab661aSEmmanuel Vadot&refclk_ccc { 2088bab661aSEmmanuel Vadot clock-frequency = <50000000>; 2098bab661aSEmmanuel Vadot}; 2108bab661aSEmmanuel Vadot 211d5b0e70fSEmmanuel Vadot&rtc { 212d5b0e70fSEmmanuel Vadot status = "okay"; 213d5b0e70fSEmmanuel Vadot}; 214d5b0e70fSEmmanuel Vadot 215d5b0e70fSEmmanuel Vadot&spi0 { 216d5b0e70fSEmmanuel Vadot status = "okay"; 217d5b0e70fSEmmanuel Vadot}; 218d5b0e70fSEmmanuel Vadot 219d5b0e70fSEmmanuel Vadot&spi1 { 220d5b0e70fSEmmanuel Vadot status = "okay"; 221d5b0e70fSEmmanuel Vadot}; 222d5b0e70fSEmmanuel Vadot 223d5b0e70fSEmmanuel Vadot&syscontroller { 224d5b0e70fSEmmanuel Vadot status = "okay"; 225d5b0e70fSEmmanuel Vadot}; 226d5b0e70fSEmmanuel Vadot 2278d13bc63SEmmanuel Vadot&syscontroller_qspi { 2288d13bc63SEmmanuel Vadot /* 2298d13bc63SEmmanuel Vadot * The flash *is* there, but Icicle kits that have engineering sample 2308d13bc63SEmmanuel Vadot * silicon (write?) access to this flash to non-functional. The system 2318d13bc63SEmmanuel Vadot * controller itself can actually access it, but the MSS cannot write 2328d13bc63SEmmanuel Vadot * an image there. Instantiating a coreQSPI in the fabric & connecting 2338d13bc63SEmmanuel Vadot * it to the flash instead should work though. Pre-production or later 2348d13bc63SEmmanuel Vadot * silicon does not have this issue. 2358d13bc63SEmmanuel Vadot */ 2368d13bc63SEmmanuel Vadot status = "disabled"; 2378d13bc63SEmmanuel Vadot 2388d13bc63SEmmanuel Vadot sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT 2398d13bc63SEmmanuel Vadot compatible = "jedec,spi-nor"; 2408d13bc63SEmmanuel Vadot #address-cells = <1>; 2418d13bc63SEmmanuel Vadot #size-cells = <1>; 2428d13bc63SEmmanuel Vadot spi-max-frequency = <20000000>; 2438d13bc63SEmmanuel Vadot spi-rx-bus-width = <1>; 2448d13bc63SEmmanuel Vadot reg = <0>; 2458d13bc63SEmmanuel Vadot }; 2468d13bc63SEmmanuel Vadot}; 2478d13bc63SEmmanuel Vadot 248d5b0e70fSEmmanuel Vadot&usb { 249d5b0e70fSEmmanuel Vadot status = "okay"; 250d5b0e70fSEmmanuel Vadot dr_mode = "host"; 251d5b0e70fSEmmanuel Vadot}; 252