/*
 * Nodes for Marvell 628x Synology devices
 *
 * Andrew Lunn <andrew@lunn.ch>
 * Ben Peddell <klightspeed@killerwolves.net>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

/ {
	mbus {
		pcie-controller {
			status = "okay";

			pcie@1,0 {
				status = "okay";
			};

			pcie2: pcie@2,0 {
				status = "disabled";
			};
		};
	};

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pmx_alarmled_12: pmx-alarmled-12 {
				marvell,pins = "mpp12";
				marvell,function = "gpio";
			};

			pmx_fanctrl_15: pmx-fanctrl-15 {
				marvell,pins = "mpp15";
				marvell,function = "gpio";
			};

			pmx_fanctrl_16: pmx-fanctrl-16 {
				marvell,pins = "mpp16";
				marvell,function = "gpio";
			};

			pmx_fanctrl_17: pmx-fanctrl-17 {
				marvell,pins = "mpp17";
				marvell,function = "gpio";
			};

			pmx_fanalarm_18: pmx-fanalarm-18 {
				marvell,pins = "mpp18";
				marvell,function = "gpo";
			};

			pmx_hddled_20: pmx-hddled-20 {
				marvell,pins = "mpp20";
				marvell,function = "gpio";
			};

			pmx_hddled_21: pmx-hddled-21 {
				marvell,pins = "mpp21";
				marvell,function = "gpio";
			};

			pmx_hddled_22: pmx-hddled-22 {
				marvell,pins = "mpp22";
				marvell,function = "gpio";
			};

			pmx_hddled_23: pmx-hddled-23 {
				marvell,pins = "mpp23";
				marvell,function = "gpio";
			};

			pmx_hddled_24: pmx-hddled-24 {
				marvell,pins = "mpp24";
				marvell,function = "gpio";
			};

			pmx_hddled_25: pmx-hddled-25 {
				marvell,pins = "mpp25";
				marvell,function = "gpio";
			};

			pmx_hddled_26: pmx-hddled-26 {
				marvell,pins = "mpp26";
				marvell,function = "gpio";
			};

			pmx_hddled_27: pmx-hddled-27 {
				marvell,pins = "mpp27";
				marvell,function = "gpio";
			};

			pmx_hddled_28: pmx-hddled-28 {
				marvell,pins = "mpp28";
				marvell,function = "gpio";
			};

			pmx_hdd1_pwr_29: pmx-hdd1-pwr-29 {
				marvell,pins = "mpp29";
				marvell,function = "gpio";
			};

			pmx_hdd1_pwr_30: pmx-hdd-pwr-30 {
				marvell,pins = "mpp30";
				marvell,function = "gpio";
			};

			pmx_hdd2_pwr_31: pmx-hdd2-pwr-31 {
				marvell,pins = "mpp31";
				marvell,function = "gpio";
			};

			pmx_fanctrl_32: pmx-fanctrl-32 {
				marvell,pins = "mpp32";
				marvell,function = "gpio";
			};

			pmx_fanctrl_33: pmx-fanctrl-33 {
				marvell,pins = "mpp33";
				marvell,function = "gpo";
			};

			pmx_fanctrl_34: pmx-fanctrl-34 {
				marvell,pins = "mpp34";
				marvell,function = "gpio";
			};

			pmx_hdd2_pwr_34: pmx-hdd2-pwr-34 {
				marvell,pins = "mpp34";
				marvell,function = "gpio";
			};

			pmx_fanalarm_35: pmx-fanalarm-35 {
				marvell,pins = "mpp35";
				marvell,function = "gpio";
			};

			pmx_hddled_36: pmx-hddled-36 {
				marvell,pins = "mpp36";
				marvell,function = "gpio";
			};

			pmx_hddled_37: pmx-hddled-37 {
				marvell,pins = "mpp37";
				marvell,function = "gpio";
			};

			pmx_hddled_38: pmx-hddled-38 {
				marvell,pins = "mpp38";
				marvell,function = "gpio";
			};

			pmx_hddled_39: pmx-hddled-39 {
				marvell,pins = "mpp39";
				marvell,function = "gpio";
			};

			pmx_hddled_40: pmx-hddled-40 {
				marvell,pins = "mpp40";
				marvell,function = "gpio";
			};

			pmx_hddled_41: pmx-hddled-41 {
				marvell,pins = "mpp41";
				marvell,function = "gpio";
			};

			pmx_hddled_42: pmx-hddled-42 {
				marvell,pins = "mpp42";
				marvell,function = "gpio";
			};

			pmx_hddled_43: pmx-hddled-43 {
				marvell,pins = "mpp43";
				marvell,function = "gpio";
			};

			pmx_hddled_44: pmx-hddled-44 {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_hddled_45: pmx-hddled-45 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

			pmx_hdd3_pwr_44: pmx-hdd3-pwr-44 {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_hdd4_pwr_45: pmx-hdd4-pwr-45 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};

			pmx_fanalarm_44: pmx-fanalarm-44 {
				marvell,pins = "mpp44";
				marvell,function = "gpio";
			};

			pmx_fanalarm_45: pmx-fanalarm-45 {
				marvell,pins = "mpp45";
				marvell,function = "gpio";
			};
		};

		rtc@10300 {
			status = "disabled";
		};

		spi@10600 {
			status = "okay";

			m25p80@0 {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "st,m25p80";
				reg = <0>;
				spi-max-frequency = <20000000>;
				mode = <0>;

				partition@00000000 {
					reg = <0x00000000 0x00080000>;
					label = "RedBoot";
				};

				partition@00080000 {
					reg = <0x00080000 0x00200000>;
					label = "zImage";
				};

				partition@00280000 {
					reg = <0x00280000 0x00140000>;
					label = "rd.gz";
				};

				partition@003c0000 {
					reg = <0x003c0000 0x00010000>;
					label = "vendor";
				};

				partition@003d0000 {
					reg = <0x003d0000 0x00020000>;
					label = "RedBoot config";
				};

				partition@003f0000 {
					reg = <0x003f0000 0x00010000>;
					label = "FIS directory";
				};
			};
		};

		i2c@11000 {
			status = "okay";
			clock-frequency = <400000>;

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

			s35390a: s35390a@30 {
				status = "disabled";
				compatible = "sii,s35390a";
				reg = <0x30>;
			};
		};

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

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

		poweroff@12100 {
			compatible = "synology,power-off";
			reg = <0x12100 0x100>;
			clocks = <&gate_clk 7>;
		};

		sata@80000 {
			pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
			pinctrl-names = "default";
			status = "okay";
			nr-ports = <2>;
		};
	};

	gpio-fan-150-32-35 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_32 &pmx_fanctrl_33 &pmx_fanctrl_34
		             &pmx_fanalarm_35>;
		pinctrl-names = "default";
		gpios = <&gpio1 0 GPIO_ACTIVE_HIGH
			 &gpio1 1 GPIO_ACTIVE_HIGH
			 &gpio1 2 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2200 1
				       2500 2
				       3000 4
				       3300 3
				       3700 5
				       3800 6
				       4200 7 >;
	};

	gpio-fan-150-15-18 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
		             &pmx_fanalarm_18>;
		pinctrl-names = "default";
		gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
			 &gpio0 16 GPIO_ACTIVE_HIGH
			 &gpio0 17 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2200 1
				       2500 2
				       3000 4
				       3300 3
				       3700 5
				       3800 6
				       4200 7 >;
	};

	gpio-fan-100-32-35 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_32 &pmx_fanctrl_33 &pmx_fanctrl_34
		             &pmx_fanalarm_35>;
		pinctrl-names = "default";
		gpios = <&gpio1 0 GPIO_ACTIVE_HIGH
			 &gpio1 1 GPIO_ACTIVE_HIGH
			 &gpio1 2 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2500 1
				       3100 2
				       3800 3
				       4600 4
				       4800 5
				       4900 6
				       5000 7 >;
	};

	gpio-fan-100-15-18 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
		             &pmx_fanalarm_18>;
		pinctrl-names = "default";
		gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
			 &gpio0 16 GPIO_ACTIVE_HIGH
			 &gpio0 17 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2500 1
				       3100 2
				       3800 3
				       4600 4
				       4800 5
				       4900 6
				       5000 7 >;
	};

	gpio-fan-100-15-35-1 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
		             &pmx_fanalarm_35>;
		pinctrl-names = "default";
		gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
			 &gpio0 16 GPIO_ACTIVE_HIGH
			 &gpio0 17 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2500 1
				       3100 2
				       3800 3
				       4600 4
				       4800 5
				       4900 6
				       5000 7 >;
	};

	gpio-fan-100-15-35-3 {
		status = "disabled";
		compatible = "gpio-fan";
		pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
		             &pmx_fanalarm_35 &pmx_fanalarm_44 &pmx_fanalarm_45>;
		pinctrl-names = "default";
		gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
			 &gpio0 16 GPIO_ACTIVE_HIGH
			 &gpio0 17 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH
			       &gpio1 12 GPIO_ACTIVE_HIGH
			       &gpio1 13 GPIO_ACTIVE_HIGH>;
		gpio-fan,speed-map = <    0 0
				       2500 1
				       3100 2
				       3800 3
				       4600 4
				       4800 5
				       4900 6
				       5000 7 >;
	};

	gpio-leds-alarm-12 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_alarmled_12>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:alarm";
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds-hdd-20 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_hddled_20 &pmx_hddled_21 &pmx_hddled_22
			     &pmx_hddled_23 &pmx_hddled_24 &pmx_hddled_25
			     &pmx_hddled_26 &pmx_hddled_27>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:green:hdd1";
			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
		};

		hdd1-amber {
			label = "synology:amber:hdd1";
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
		};

		hdd2-green {
			label = "synology:green:hdd2";
			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
		};

		hdd2-amber {
			label = "synology:amber:hdd2";
			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
		};

		hdd3-green {
			label = "synology:green:hdd3";
			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
		};

		hdd3-amber {
			label = "synology:amber:hdd3";
			gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
		};

		hdd4-green {
			label = "synology:green:hdd4";
			gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
		};

		hdd4-amber {
			label = "synology:amber:hdd4";
			gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds-hdd-21-1 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_hddled_21 &pmx_hddled_23>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:green:hdd1";
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
		};

		hdd1-amber {
			label = "synology:amber:hdd1";
			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds-hdd-21-2 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_hddled_21 &pmx_hddled_23 &pmx_hddled_20 &pmx_hddled_22>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:green:hdd1";
			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
		};

		hdd1-amber {
			label = "synology:amber:hdd1";
			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
		};

		hdd2-green {
			label = "synology:green:hdd2";
			gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
		};

		hdd2-amber {
			label = "synology:amber:hdd2";
			gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds-hdd-36 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_hddled_36 &pmx_hddled_37 &pmx_hddled_38
			     &pmx_hddled_39 &pmx_hddled_40 &pmx_hddled_41
			     &pmx_hddled_42 &pmx_hddled_43 &pmx_hddled_44
			     &pmx_hddled_45>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:green:hdd1";
			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
		};

		hdd1-amber {
			label = "synology:amber:hdd1";
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
		};

		hdd2-green {
			label = "synology:green:hdd2";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
		};

		hdd2-amber {
			label = "synology:amber:hdd2";
			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
		};

		hdd3-green {
			label = "synology:green:hdd3";
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
		};

		hdd3-amber {
			label = "synology:amber:hdd3";
			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
		};

		hdd4-green {
			label = "synology:green:hdd4";
			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
		};

		hdd4-amber {
			label = "synology:amber:hdd4";
			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
		};

		hdd5-green {
			label = "synology:green:hdd5";
			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
		};

		hdd5-amber {
			label = "synology:amber:hdd5";
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-leds-hdd-38 {
		status = "disabled";
		compatible = "gpio-leds";
		pinctrl-0 = <&pmx_hddled_38 &pmx_hddled_39 &pmx_hddled_36 &pmx_hddled_37>;
		pinctrl-names = "default";

		hdd1-green {
			label = "synology:green:hdd1";
			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
		};

		hdd1-amber {
			label = "synology:amber:hdd1";
			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
		};

		hdd2-green {
			label = "synology:green:hdd2";
			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
		};

		hdd2-amber {
			label = "synology:amber:hdd2";
			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
		};
	};

	regulators-hdd-29 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd1_pwr_29 &pmx_hdd2_pwr_31>;
		pinctrl-names = "default";

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "hdd1power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
		};

		regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "hdd2power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 31 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators-hdd-30-1 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd1_pwr_30>;
		pinctrl-names = "default";

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "hdd1power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators-hdd-30-2 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd1_pwr_30 &pmx_hdd2_pwr_34>;
		pinctrl-names = "default";

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "hdd1power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
		};

		regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "hdd2power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators-hdd-30-4 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd1_pwr_30 &pmx_hdd2_pwr_34
			     &pmx_hdd3_pwr_44 &pmx_hdd4_pwr_45>;
		pinctrl-names = "default";

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "hdd1power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
		};

		regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "hdd2power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		};

		regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "hdd3power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
		};

		regulator@4 {
			compatible = "regulator-fixed";
			reg = <4>;
			regulator-name = "hdd4power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators-hdd-31 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd2_pwr_31>;
		pinctrl-names = "default";

		regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "hdd2power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio0 31 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators-hdd-34 {
		status = "disabled";
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_hdd2_pwr_34 &pmx_hdd3_pwr_44
			     &pmx_hdd4_pwr_45>;
		pinctrl-names = "default";

		regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "hdd2power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		};

		regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "hdd3power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
		};

		regulator@4 {
			compatible = "regulator-fixed";
			reg = <4>;
			regulator-name = "hdd4power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			startup-delay-us = <5000000>;
			gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
		};
	};
};

&mdio {
	status = "okay";

	ethphy0: ethernet-phy@0 {
		device_type = "ethernet-phy";
		reg = <8>;
	};

	ethphy1: ethernet-phy@1 {
		device_type = "ethernet-phy";
		reg = <9>;
	};
};

&eth0 {
	status = "okay";

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

&eth1 {
	status = "disabled";

	ethernet1-port@0 {
		phy-handle = <&ethphy1>;
	};
};
