// SPDX-License-Identifier: GPL-2.0+
/*
 * Device Tree file for NETGEAR ReadyNAS NV+ v2
 *
 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
 */

/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"

/ {
	model = "NETGEAR ReadyNAS NV+ v2";
	compatible = "netgear,readynas-nv+-v2", "netgear,readynas", "marvell,kirkwood-88f6282", "marvell,kirkwood";

	memory { /* 256 MB */
		device_type = "memory";
		reg = <0x00000000 0x10000000>;
	};

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

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pmx_button_power: pmx-button-power {
				marvell,pins = "mpp47";
				marvell,function = "gpio";
			};

			pmx_button_backup: pmx-button-backup {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

			pmx_button_reset: pmx-button-reset {
				marvell,pins = "mpp13";
				marvell,function = "gpio";
			};

			pmx_led_blue_power: pmx-led-blue-power {
				marvell,pins = "mpp31";
				marvell,function = "gpio";
			};

			pmx_led_blue_backup: pmx-led-blue-backup {
				marvell,pins = "mpp22";
				marvell,function = "gpio";
			};

			pmx_led_blue_disk1: pmx-led-blue-disk1 {
				marvell,pins = "mpp20";
				marvell,function = "gpio";
			};

			pmx_led_blue_disk2: pmx-led-blue-disk2 {
				marvell,pins = "mpp23";
				marvell,function = "gpio";
			};

			pmx_led_blue_disk3: pmx-led-blue-disk3 {
				marvell,pins = "mpp24";
				marvell,function = "gpio";
			};

			pmx_led_blue_disk4: pmx-led-blue-disk4 {
				marvell,pins = "mpp29";
				marvell,function = "gpio";
			};

			pmx_poweroff: pmx-poweroff {
				marvell,pins = "mpp30";
				marvell,function = "gpio";
			};
		};

		clocks {
		       g762_clk: g762-oscillator {
				 compatible = "fixed-clock";
				 #clock-cells = <0>;
				 clock-frequency = <8192>;
		       };
		};

		i2c@11000 {
			status = "okay";

			rs5c372a: rs5c372a@32 {
				compatible = "ricoh,rs5c372a";
				reg = <0x32>;
			};

			g762: g762@3e {
				compatible = "gmt,g762";
				reg = <0x3e>;
				clocks = <&g762_clk>; /* input clock */
				fan_gear_mode = <0>;
				fan_startv = <1>;
				pwm_polarity = <0>;
			};
		};

		serial@12000 {
			status = "okay";
		};

		sata@80000 { /* Connected to Marvell 88SM4140 SATA port multiplier */
			status = "okay";
			nr-ports = <1>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_backup
			      &pmx_led_blue_disk1 &pmx_led_blue_disk2
			      &pmx_led_blue_disk3 &pmx_led_blue_disk3 >;
		pinctrl-names = "default";

		power_led {
			label = "status:blue:power_led";
			gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "default-on";
		};

		backup_led {
			label = "status:blue:backup_led";
			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
		};

		disk1_led {
			label = "status:blue:disk1_led";
			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
		};

		disk2_led {
			label = "status:blue:disk2_led";
			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
		};

		disk3_led {
			label = "status:blue:disk3_led";
			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
		};

		disk4_led {
			label = "status:blue:disk4_led";
			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&pmx_button_power &pmx_button_backup
			     &pmx_button_reset>;
		pinctrl-names = "default";

		power-button {
			label = "Power Button";
			linux,code = <KEY_POWER>;
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
		};

		reset-button {
			label = "Reset Button";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
		};

		backup-button {
			label = "Backup Button";
			linux,code = <KEY_COPY>;
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		pinctrl-0 = <&pmx_poweroff>;
		pinctrl-names = "default";
		gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		usb3_regulator: usb3-regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "USB 3.0 Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
		};
	};
};

&nand {
	status = "okay";

	partition@0 {
		label = "u-boot";
		reg = <0x0000000 0x180000>;
		read-only;
	};

	partition@180000 {
		label = "u-boot-env";
		reg = <0x180000 0x20000>;
	};

	partition@200000 {
		label = "uImage";
		reg = <0x0200000 0x600000>;
	};

	partition@800000 {
		label = "minirootfs";
		reg = <0x0800000 0x1000000>;
	};

	partition@1800000 {
		label = "jffs2";
		reg = <0x1800000 0x6800000>;
	};
};

&mdio {
	status = "okay";

	ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
		device_type = "ethernet-phy";
		reg = <0>;
	};
};

&eth0 {
	status = "okay";

	ethernet0-port@0 {
		phy-handle = <&ethphy0>;
	};
};

/* Connected to NEC uPD720200 USB 3.0 controller */
&pciec {
        status = "okay";
};

&pcie0 {
	status = "okay";
};
