/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";
        };

	mbus {
		pcie-controller {
			status = "okay";

			pcie@1,0 {
				status = "okay";
			};
		};
	};

	ocp@f1000000 {
		pinctrl: pinctrl@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 = "ok";
                        pinctrl-0 = <&pmx_uart0>;
                        pinctrl-names = "default";
                };

		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 1>;
			/* 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 1>;
		};

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

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

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

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

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

	};
};

&nand {
	pinctrl-0 = <&pmx_nand>;
	pinctrl-names = "default";
	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 {
		device_type = "ethernet-phy";
		reg = <1>;
	};

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

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

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