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

	ocp@f1000000 {
		pinctrl: pinctrl@10000 {

			pinctrl-0 = < &pmx_nand &pmx_uart0
				      &pmx_led_health
				      &pmx_sata0 &pmx_sata1
				      &pmx_led_user1o
				      &pmx_led_user1g &pmx_led_user0o
				      &pmx_led_user0g &pmx_led_misc
				    >;
			pinctrl-names = "default";

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

                nand@3000000 {
                        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 {
			nr-ports = <2>;
			status = "okay";

		};

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

	gpio-leds {
		compatible = "gpio-leds";

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

	};
};

