/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 {
		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>;
		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";
                };

                nand@3000000 {
                        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>;
                        };
                };

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

	};
};

&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>;
	};
};
