11537cf73SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 21537cf73SEmmanuel Vadot/* Copyright (c) 2025 Microchip Technology Inc */ 31537cf73SEmmanuel Vadot 41537cf73SEmmanuel Vadot/dts-v1/; 51537cf73SEmmanuel Vadot 61537cf73SEmmanuel Vadot#include "mpfs-icicle-kit-fabric.dtsi" 71537cf73SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 81537cf73SEmmanuel Vadot#include <dt-bindings/leds/common.h> 91537cf73SEmmanuel Vadot 101537cf73SEmmanuel Vadot/ { 111537cf73SEmmanuel Vadot aliases { 121537cf73SEmmanuel Vadot ethernet0 = &mac1; 131537cf73SEmmanuel Vadot serial0 = &mmuart0; 141537cf73SEmmanuel Vadot serial1 = &mmuart1; 151537cf73SEmmanuel Vadot serial2 = &mmuart2; 161537cf73SEmmanuel Vadot serial3 = &mmuart3; 171537cf73SEmmanuel Vadot serial4 = &mmuart4; 181537cf73SEmmanuel Vadot }; 191537cf73SEmmanuel Vadot 201537cf73SEmmanuel Vadot chosen { 211537cf73SEmmanuel Vadot stdout-path = "serial1:115200n8"; 221537cf73SEmmanuel Vadot }; 231537cf73SEmmanuel Vadot 241537cf73SEmmanuel Vadot leds { 251537cf73SEmmanuel Vadot compatible = "gpio-leds"; 261537cf73SEmmanuel Vadot 271537cf73SEmmanuel Vadot led-1 { 281537cf73SEmmanuel Vadot gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>; 291537cf73SEmmanuel Vadot color = <LED_COLOR_ID_RED>; 301537cf73SEmmanuel Vadot label = "led1"; 311537cf73SEmmanuel Vadot }; 321537cf73SEmmanuel Vadot 331537cf73SEmmanuel Vadot led-2 { 341537cf73SEmmanuel Vadot gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; 351537cf73SEmmanuel Vadot color = <LED_COLOR_ID_RED>; 361537cf73SEmmanuel Vadot label = "led2"; 371537cf73SEmmanuel Vadot }; 381537cf73SEmmanuel Vadot 391537cf73SEmmanuel Vadot led-3 { 401537cf73SEmmanuel Vadot gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; 411537cf73SEmmanuel Vadot color = <LED_COLOR_ID_AMBER>; 421537cf73SEmmanuel Vadot label = "led3"; 431537cf73SEmmanuel Vadot }; 441537cf73SEmmanuel Vadot 451537cf73SEmmanuel Vadot led-4 { 461537cf73SEmmanuel Vadot gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>; 471537cf73SEmmanuel Vadot color = <LED_COLOR_ID_AMBER>; 481537cf73SEmmanuel Vadot label = "led4"; 491537cf73SEmmanuel Vadot }; 501537cf73SEmmanuel Vadot }; 511537cf73SEmmanuel Vadot 521537cf73SEmmanuel Vadot ddrc_cache_lo: memory@80000000 { 531537cf73SEmmanuel Vadot device_type = "memory"; 541537cf73SEmmanuel Vadot reg = <0x0 0x80000000 0x0 0x40000000>; 551537cf73SEmmanuel Vadot }; 561537cf73SEmmanuel Vadot 571537cf73SEmmanuel Vadot ddrc_cache_hi: memory@1040000000 { 581537cf73SEmmanuel Vadot device_type = "memory"; 591537cf73SEmmanuel Vadot reg = <0x10 0x40000000 0x0 0x40000000>; 601537cf73SEmmanuel Vadot }; 611537cf73SEmmanuel Vadot 621537cf73SEmmanuel Vadot reserved-memory { 631537cf73SEmmanuel Vadot #address-cells = <2>; 641537cf73SEmmanuel Vadot #size-cells = <2>; 651537cf73SEmmanuel Vadot ranges; 661537cf73SEmmanuel Vadot 671537cf73SEmmanuel Vadot hss_payload: region@bfc00000 { 681537cf73SEmmanuel Vadot reg = <0x0 0xbfc00000 0x0 0x400000>; 691537cf73SEmmanuel Vadot no-map; 701537cf73SEmmanuel Vadot }; 711537cf73SEmmanuel Vadot }; 721537cf73SEmmanuel Vadot}; 731537cf73SEmmanuel Vadot 741537cf73SEmmanuel Vadot&core_pwm0 { 751537cf73SEmmanuel Vadot status = "okay"; 761537cf73SEmmanuel Vadot}; 771537cf73SEmmanuel Vadot 781537cf73SEmmanuel Vadot&gpio2 { 791537cf73SEmmanuel Vadot status = "okay"; 801537cf73SEmmanuel Vadot}; 811537cf73SEmmanuel Vadot 821537cf73SEmmanuel Vadot&i2c0 { 831537cf73SEmmanuel Vadot status = "okay"; 841537cf73SEmmanuel Vadot}; 851537cf73SEmmanuel Vadot 861537cf73SEmmanuel Vadot&i2c1 { 871537cf73SEmmanuel Vadot status = "okay"; 881537cf73SEmmanuel Vadot 891537cf73SEmmanuel Vadot power-monitor@10 { 901537cf73SEmmanuel Vadot compatible = "microchip,pac1934"; 911537cf73SEmmanuel Vadot reg = <0x10>; 921537cf73SEmmanuel Vadot 931537cf73SEmmanuel Vadot #address-cells = <1>; 941537cf73SEmmanuel Vadot #size-cells = <0>; 951537cf73SEmmanuel Vadot 961537cf73SEmmanuel Vadot channel@1 { 971537cf73SEmmanuel Vadot reg = <0x1>; 981537cf73SEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 991537cf73SEmmanuel Vadot label = "VDDREG"; 1001537cf73SEmmanuel Vadot }; 1011537cf73SEmmanuel Vadot 1021537cf73SEmmanuel Vadot channel@2 { 1031537cf73SEmmanuel Vadot reg = <0x2>; 1041537cf73SEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 1051537cf73SEmmanuel Vadot label = "VDDA25"; 1061537cf73SEmmanuel Vadot }; 1071537cf73SEmmanuel Vadot 1081537cf73SEmmanuel Vadot channel@3 { 1091537cf73SEmmanuel Vadot reg = <0x3>; 1101537cf73SEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 1111537cf73SEmmanuel Vadot label = "VDD25"; 1121537cf73SEmmanuel Vadot }; 1131537cf73SEmmanuel Vadot 1141537cf73SEmmanuel Vadot channel@4 { 1151537cf73SEmmanuel Vadot reg = <0x4>; 1161537cf73SEmmanuel Vadot shunt-resistor-micro-ohms = <10000>; 1171537cf73SEmmanuel Vadot label = "VDDA_REG"; 1181537cf73SEmmanuel Vadot }; 1191537cf73SEmmanuel Vadot }; 1201537cf73SEmmanuel Vadot}; 1211537cf73SEmmanuel Vadot 1221537cf73SEmmanuel Vadot&i2c2 { 1231537cf73SEmmanuel Vadot status = "okay"; 1241537cf73SEmmanuel Vadot}; 1251537cf73SEmmanuel Vadot 1261537cf73SEmmanuel Vadot&ihc { 1271537cf73SEmmanuel Vadot status = "okay"; 1281537cf73SEmmanuel Vadot}; 1291537cf73SEmmanuel Vadot 130*69ed3df4SEmmanuel Vadot&irqmux { 131*69ed3df4SEmmanuel Vadot interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>, 132*69ed3df4SEmmanuel Vadot <3 &plic 16>, <4 &plic 17>, <5 &plic 18>, 133*69ed3df4SEmmanuel Vadot <6 &plic 19>, <7 &plic 20>, <8 &plic 21>, 134*69ed3df4SEmmanuel Vadot <9 &plic 22>, <10 &plic 23>, <11 &plic 24>, 135*69ed3df4SEmmanuel Vadot <12 &plic 25>, <13 &plic 26>, 136*69ed3df4SEmmanuel Vadot 137*69ed3df4SEmmanuel Vadot <32 &plic 27>, <33 &plic 28>, <34 &plic 29>, 138*69ed3df4SEmmanuel Vadot <35 &plic 30>, <36 &plic 31>, <37 &plic 32>, 139*69ed3df4SEmmanuel Vadot <38 &plic 33>, <39 &plic 34>, <40 &plic 35>, 140*69ed3df4SEmmanuel Vadot <41 &plic 36>, <42 &plic 37>, <43 &plic 38>, 141*69ed3df4SEmmanuel Vadot <44 &plic 39>, <45 &plic 40>, <46 &plic 41>, 142*69ed3df4SEmmanuel Vadot <47 &plic 42>, <48 &plic 43>, <49 &plic 44>, 143*69ed3df4SEmmanuel Vadot <50 &plic 45>, <51 &plic 46>, <52 &plic 47>, 144*69ed3df4SEmmanuel Vadot <53 &plic 48>, <54 &plic 49>, <55 &plic 50>, 145*69ed3df4SEmmanuel Vadot 146*69ed3df4SEmmanuel Vadot <64 &plic 53>, <65 &plic 53>, <66 &plic 53>, 147*69ed3df4SEmmanuel Vadot <67 &plic 53>, <68 &plic 53>, <69 &plic 53>, 148*69ed3df4SEmmanuel Vadot <70 &plic 53>, <71 &plic 53>, <72 &plic 53>, 149*69ed3df4SEmmanuel Vadot <73 &plic 53>, <74 &plic 53>, <75 &plic 53>, 150*69ed3df4SEmmanuel Vadot <76 &plic 53>, <77 &plic 53>, <78 &plic 53>, 151*69ed3df4SEmmanuel Vadot <79 &plic 53>, <80 &plic 53>, <81 &plic 53>, 152*69ed3df4SEmmanuel Vadot <82 &plic 53>, <83 &plic 53>, <84 &plic 53>, 153*69ed3df4SEmmanuel Vadot <85 &plic 53>, <86 &plic 53>, <87 &plic 53>, 154*69ed3df4SEmmanuel Vadot <88 &plic 53>, <89 &plic 53>, <90 &plic 53>, 155*69ed3df4SEmmanuel Vadot <91 &plic 53>, <92 &plic 53>, <93 &plic 53>, 156*69ed3df4SEmmanuel Vadot <94 &plic 53>, <95 &plic 53>; 157*69ed3df4SEmmanuel Vadot}; 158*69ed3df4SEmmanuel Vadot 1591537cf73SEmmanuel Vadot&mac0 { 1601537cf73SEmmanuel Vadot phy-mode = "sgmii"; 1611537cf73SEmmanuel Vadot phy-handle = <&phy0>; 1621537cf73SEmmanuel Vadot status = "okay"; 1631537cf73SEmmanuel Vadot}; 1641537cf73SEmmanuel Vadot 1651537cf73SEmmanuel Vadot&mac1 { 1661537cf73SEmmanuel Vadot phy-mode = "sgmii"; 1671537cf73SEmmanuel Vadot phy-handle = <&phy1>; 1681537cf73SEmmanuel Vadot status = "okay"; 1691537cf73SEmmanuel Vadot 1701537cf73SEmmanuel Vadot phy1: ethernet-phy@9 { 1711537cf73SEmmanuel Vadot reg = <9>; 1721537cf73SEmmanuel Vadot }; 1731537cf73SEmmanuel Vadot 1741537cf73SEmmanuel Vadot phy0: ethernet-phy@8 { 1751537cf73SEmmanuel Vadot reg = <8>; 1761537cf73SEmmanuel Vadot }; 1771537cf73SEmmanuel Vadot}; 1781537cf73SEmmanuel Vadot 1791537cf73SEmmanuel Vadot&mbox { 1801537cf73SEmmanuel Vadot status = "okay"; 1811537cf73SEmmanuel Vadot}; 1821537cf73SEmmanuel Vadot 1831537cf73SEmmanuel Vadot&mmc { 1841537cf73SEmmanuel Vadot bus-width = <4>; 1851537cf73SEmmanuel Vadot disable-wp; 1861537cf73SEmmanuel Vadot cap-sd-highspeed; 1871537cf73SEmmanuel Vadot cap-mmc-highspeed; 1881537cf73SEmmanuel Vadot mmc-ddr-1_8v; 1891537cf73SEmmanuel Vadot mmc-hs200-1_8v; 1901537cf73SEmmanuel Vadot sd-uhs-sdr12; 1911537cf73SEmmanuel Vadot sd-uhs-sdr25; 1921537cf73SEmmanuel Vadot sd-uhs-sdr50; 1931537cf73SEmmanuel Vadot sd-uhs-sdr104; 1941537cf73SEmmanuel Vadot status = "okay"; 1951537cf73SEmmanuel Vadot}; 1961537cf73SEmmanuel Vadot 1971537cf73SEmmanuel Vadot&mmuart1 { 1981537cf73SEmmanuel Vadot status = "okay"; 1991537cf73SEmmanuel Vadot}; 2001537cf73SEmmanuel Vadot 2011537cf73SEmmanuel Vadot&mmuart2 { 2021537cf73SEmmanuel Vadot status = "okay"; 2031537cf73SEmmanuel Vadot}; 2041537cf73SEmmanuel Vadot 2051537cf73SEmmanuel Vadot&mmuart3 { 2061537cf73SEmmanuel Vadot status = "okay"; 2071537cf73SEmmanuel Vadot}; 2081537cf73SEmmanuel Vadot 2091537cf73SEmmanuel Vadot&mmuart4 { 2101537cf73SEmmanuel Vadot status = "okay"; 2111537cf73SEmmanuel Vadot}; 2121537cf73SEmmanuel Vadot 2131537cf73SEmmanuel Vadot&pcie { 2141537cf73SEmmanuel Vadot status = "okay"; 2151537cf73SEmmanuel Vadot}; 2161537cf73SEmmanuel Vadot 2171537cf73SEmmanuel Vadot&qspi { 2181537cf73SEmmanuel Vadot status = "okay"; 2191537cf73SEmmanuel Vadot}; 2201537cf73SEmmanuel Vadot 2211537cf73SEmmanuel Vadot&refclk { 2221537cf73SEmmanuel Vadot clock-frequency = <125000000>; 2231537cf73SEmmanuel Vadot}; 2241537cf73SEmmanuel Vadot 2251537cf73SEmmanuel Vadot&refclk_ccc { 2261537cf73SEmmanuel Vadot clock-frequency = <50000000>; 2271537cf73SEmmanuel Vadot}; 2281537cf73SEmmanuel Vadot 2291537cf73SEmmanuel Vadot&rtc { 2301537cf73SEmmanuel Vadot status = "okay"; 2311537cf73SEmmanuel Vadot}; 2321537cf73SEmmanuel Vadot 2331537cf73SEmmanuel Vadot&spi0 { 2341537cf73SEmmanuel Vadot status = "okay"; 2351537cf73SEmmanuel Vadot}; 2361537cf73SEmmanuel Vadot 2371537cf73SEmmanuel Vadot&spi1 { 2381537cf73SEmmanuel Vadot status = "okay"; 2391537cf73SEmmanuel Vadot}; 2401537cf73SEmmanuel Vadot 2411537cf73SEmmanuel Vadot&syscontroller { 2421537cf73SEmmanuel Vadot status = "okay"; 2431537cf73SEmmanuel Vadot}; 2441537cf73SEmmanuel Vadot 2451537cf73SEmmanuel Vadot&syscontroller_qspi { 2461537cf73SEmmanuel Vadot /* 2471537cf73SEmmanuel Vadot * The flash *is* there, but Icicle kits that have engineering sample 2481537cf73SEmmanuel Vadot * silicon (write?) access to this flash to non-functional. The system 2491537cf73SEmmanuel Vadot * controller itself can actually access it, but the MSS cannot write 2501537cf73SEmmanuel Vadot * an image there. Instantiating a coreQSPI in the fabric & connecting 2511537cf73SEmmanuel Vadot * it to the flash instead should work though. Pre-production or later 2521537cf73SEmmanuel Vadot * silicon does not have this issue. 2531537cf73SEmmanuel Vadot */ 2541537cf73SEmmanuel Vadot status = "disabled"; 2551537cf73SEmmanuel Vadot 2561537cf73SEmmanuel Vadot sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT 2571537cf73SEmmanuel Vadot compatible = "jedec,spi-nor"; 2581537cf73SEmmanuel Vadot #address-cells = <1>; 2591537cf73SEmmanuel Vadot #size-cells = <1>; 2601537cf73SEmmanuel Vadot spi-max-frequency = <20000000>; 2611537cf73SEmmanuel Vadot spi-rx-bus-width = <1>; 2621537cf73SEmmanuel Vadot reg = <0>; 2631537cf73SEmmanuel Vadot }; 2641537cf73SEmmanuel Vadot}; 2651537cf73SEmmanuel Vadot 2661537cf73SEmmanuel Vadot&usb { 2671537cf73SEmmanuel Vadot status = "okay"; 2681537cf73SEmmanuel Vadot dr_mode = "host"; 2691537cf73SEmmanuel Vadot}; 270