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