// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/* Copyright (c) 2020-2025 Microchip Technology Inc */

/dts-v1/;

#include "mpfs.dtsi"
#include "mpfs-disco-kit-fabric.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "Microchip PolarFire-SoC Discovery Kit";
	compatible = "microchip,mpfs-disco-kit-reference-rtl-v2507",
		     "microchip,mpfs-disco-kit",
		     "microchip,mpfs";

	aliases {
		ethernet0 = &mac0;
		serial4 = &mmuart4;
	};

	chosen {
		stdout-path = "serial4:115200n8";
	};

	leds {
		compatible = "gpio-leds";

		led-1 {
			gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_AMBER>;
			label = "led1";
		};

		led-2 {
			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_RED>;
			label = "led2";
		};

		led-3 {
			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_AMBER>;
			label = "led3";
		};

		led-4 {
			gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_RED>;
			label = "led4";
		};

		led-5 {
			gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_AMBER>;
			label = "led5";
		};

		led-6 {
			gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_RED>;
			label = "led6";
		};

		led-7 {
			gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_AMBER>;
			label = "led7";
		};

		led-8 {
			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_RED>;
			label = "led8";
		};
	};

	ddrc_cache_lo: memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x0 0x40000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		hss_payload: region@bfc00000 {
			reg = <0x0 0xbfc00000 0x0 0x400000>;
			no-map;
		};
	};
};

&core_pwm0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&gpio2 {
	status = "okay";
};

&i2c0 {
	status = "okay";
};

&i2c2 {
	status = "okay";
};

&ihc {
	status = "okay";
};

&irqmux {
	interrupt-map = <0 &plic 13>, <1 &plic 14>, <2 &plic 15>,
			<3 &plic 16>, <4 &plic 17>, <5 &plic 18>,
			<6 &plic 19>, <7 &plic 20>, <8 &plic 21>,
			<9 &plic 22>, <10 &plic 23>, <11 &plic 24>,
			<12 &plic 25>, <13 &plic 26>,

			<32 &plic 27>, <33 &plic 28>, <34 &plic 29>,
			<35 &plic 30>, <36 &plic 31>, <37 &plic 32>,
			<38 &plic 33>, <39 &plic 34>, <40 &plic 35>,
			<41 &plic 36>, <42 &plic 37>, <43 &plic 38>,
			<44 &plic 39>, <45 &plic 40>, <46 &plic 41>,
			<47 &plic 42>, <48 &plic 43>, <49 &plic 44>,
			<50 &plic 45>, <51 &plic 46>, <52 &plic 47>,
			<53 &plic 48>, <54 &plic 49>, <55 &plic 50>,

			<64 &plic 53>, <65 &plic 53>, <66 &plic 53>,
			<67 &plic 53>, <68 &plic 53>, <69 &plic 53>,
			<70 &plic 53>, <71 &plic 53>, <72 &plic 53>,
			<73 &plic 53>, <74 &plic 53>, <75 &plic 53>,
			<76 &plic 53>, <77 &plic 53>, <78 &plic 53>,
			<79 &plic 53>, <80 &plic 53>, <81 &plic 53>,
			<82 &plic 53>, <83 &plic 53>, <84 &plic 53>,
			<85 &plic 53>, <86 &plic 53>, <87 &plic 53>,
			<88 &plic 53>, <89 &plic 53>, <90 &plic 53>,
			<91 &plic 53>, <92 &plic 53>, <93 &plic 53>,
			<94 &plic 53>, <95 &plic 53>;
};

&mac0 {
	phy-mode = "sgmii";
	phy-handle = <&phy0>;
	status = "okay";

	phy0: ethernet-phy@b {
		reg = <0xb>;
	};
};

&mbox {
	status = "okay";
};

&mmc {
	bus-width = <4>;
	disable-wp;
	cap-sd-highspeed;
	cap-mmc-highspeed;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	no-1-8-v;
	status = "okay";
};

&mmuart1 {
	status = "okay";
};

&mmuart4 {
	status = "okay";
};

&refclk {
	clock-frequency = <125000000>;
};

&refclk_ccc {
	clock-frequency = <50000000>;
};

&rtc {
	status = "okay";
};

&spi0 {
	status = "okay";
};

&spi1 {
	status = "okay";
};