// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"

/ {
	model = "MPL CEC4";
	compatible = "mpl,cec4-10", "mpl,cec4", "marvell,kirkwood-88f6281", "marvell,kirkwood";

	memory {
		device_type = "memory";
		reg = <0x00000000 0x20000000>;
	};

	chosen {
		bootargs = "console=ttyS0,115200n8 earlyprintk";
		stdout-path = &uart0;
	};

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pmx_led_health: pmx-led-health {
				marvell,pins = "mpp7";
				marvell,function = "gpo";
			};

			pmx_sata1: pmx-sata1 {
				marvell,pins = "mpp34";
				marvell,function = "sata1";
			};

			pmx_sata0: pmx-sata0 {
				marvell,pins = "mpp35";
				marvell,function = "sata0";
			};

			pmx_led_user1o: pmx-led-user1o {
				marvell,pins = "mpp40";
				marvell,function = "gpio";
			};

			pmx_led_user1g: pmx-led-user1g {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};

			pmx_led_user0o: pmx-led-user0o {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_led_user0g: pmx-led-user0g {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

			pmx_led_misc: pmx-led-misc {
				marvell,pins = "mpp46";
				marvell,function = "gpio";
			};

			pmx_sdio_cd: pmx-sdio-cd {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};
		};

		i2c@11000 {
			status = "okay";

			rtc@51 {
				compatible = "nxp,pcf8563";
				reg = <0x51>;
			};

			eeprom@57 {
				compatible = "atmel,24c02";
				reg = <0x57>;
			};

		};

		serial@12000 {
			status = "okay";
		};

		rtc@10300 {
			status = "disabled";
		};

		sata@80000 {
			pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
			pinctrl-names = "default";
			nr-ports = <2>;
			status = "okay";
		};

		mvsdio@90000 {
			pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
			pinctrl-names = "default";
			status = "okay";
			cd-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
			/* No WP GPIO */
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = < &pmx_led_health
			      &pmx_led_user1o
			      &pmx_led_user1g &pmx_led_user0o
			      &pmx_led_user0g &pmx_led_misc
			    >;
		pinctrl-names = "default";

		health {
			label = "status:green:health";
			gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
		};

		user1o {
			label = "user1:orange";
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		user1g {
			label = "user1:green";
			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		user0o {
			label = "user0:orange";
			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		user0g {
			label = "user0:green";
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		misc {
			label = "status:orange:misc";
			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

	};
};

&nand {
	status = "okay";

	partition@0 {
		label = "uboot";
		reg = <0x0000000 0x100000>;
	};

	partition@100000 {
		label = "env";
		reg = <0x100000 0x80000>;
	};

	partition@180000 {
		label = "fdt";
		reg = <0x180000 0x80000>;
	};

	partition@200000 {
		label = "kernel";
		reg = <0x200000 0x400000>;
	};

	partition@600000 {
		label = "rootfs";
		reg = <0x600000 0x1fa00000>;
	};
};

&mdio {
	status = "okay";

	ethphy0: ethernet-phy@1 {
		reg = <1>;
	};

	ethphy1: ethernet-phy@2 {
		reg = <2>;
	};
};

&eth0 {
	status = "okay";
	ethernet0-port@0 {
		phy-handle = <&ethphy0>;
	};
};

&eth1 {
	status = "okay";
	ethernet1-port@0 {
		phy-handle = <&ethphy1>;
	};
};

&pciec {
	status = "okay";
};

&pcie0 {
	status = "okay";
};