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

#include "kirkwood-nsa3x0-common.dtsi"

/ {
	compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";

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

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

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pinctrl-0 = <&pmx_unknown>;
			pinctrl-names = "default";

			pmx_led_esata_green: pmx-led-esata-green {
				marvell,pins = "mpp12";
				marvell,function = "gpio";
			};

			pmx_led_esata_red: pmx-led-esata-red {
				marvell,pins = "mpp13";
				marvell,function = "gpio";
			};

			pmx_led_usb_green: pmx-led-usb-green {
				marvell,pins = "mpp15";
				marvell,function = "gpio";
			};

			pmx_led_usb_red: pmx-led-usb-red {
				marvell,pins = "mpp16";
				marvell,function = "gpio";
			};

			pmx_led_sys_green: pmx-led-sys-green {
				marvell,pins = "mpp28";
				marvell,function = "gpio";
			};

			pmx_led_sys_red: pmx-led-sys-red {
				marvell,pins = "mpp29";
				marvell,function = "gpio";
			};

			pmx_led_hdd_green: pmx-led-hdd-green {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};

			pmx_led_hdd_red: pmx-led-hdd-red {
				marvell,pins = "mpp42";
				marvell,function = "gpio";
			};

			pmx_unknown: pmx-unknown {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

		};

		i2c@11000 {
			status = "okay";

			adt7476: adt7476a@2e {
				compatible = "adi,adt7476";
				reg = <0x2e>;
			};
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red
			     &pmx_led_usb_green &pmx_led_usb_red
			     &pmx_led_sys_green &pmx_led_sys_red
			     &pmx_led_copy_green &pmx_led_copy_red
			     &pmx_led_hdd_green &pmx_led_hdd_red>;
		pinctrl-names = "default";

		green-sys {
			label = "nsa310:green:sys";
			gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
		};
		red-sys {
			label = "nsa310:red:sys";
			gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
		};
		green-hdd {
			label = "nsa310:green:hdd";
			gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
		};
		red-hdd {
			label = "nsa310:red:hdd";
			gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
		};
		green-esata {
			label = "nsa310:green:esata";
			gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
		};
		red-esata {
			label = "nsa310:red:esata";
			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
		};
		green-usb {
			label = "nsa310:green:usb";
			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
		};
		red-usb {
			label = "nsa310:red:usb";
			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
		};
		green-copy {
			label = "nsa310:green:copy";
			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		};
		red-copy {
			label = "nsa310:red:copy";
			gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
		};
	};
};

&pciec {
	status = "okay";
};

&pcie0 {
	status = "okay";
};