Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60ff189c authored by Roger Shimizu's avatar Roger Shimizu Committed by Gregory CLEMENT
Browse files

ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl



LS-WVL/VL are both kirkwood-6282 based NAS devices, which share
many MPP pins. However they are slightly different:
  - LS-WVL is 2-Bay NAS, and LS-VL is only 1-Bay.
  - There're two red LED indicator on LS-WVL to show when HDD fails,
    which is similar to LS-WXL, but there's no such on LS-VL.

So after the split, common part goes into .dtsi file:
  - kirkwood-linkstation-6282.dtsi
while all rest part goes into device specific .dts file:
  - kirkwood-linkstation-lsvl.dts
  - kirkwood-linkstation-lswvl.dts

Signed-off-by: default avatarRoger Shimizu <rogershimizu@gmail.com>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
parent b05465ff
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -19,10 +19,11 @@ SoC. Currently known SoC compatibles are:
And in addition, the compatible shall be extended with the specific
And in addition, the compatible shall be extended with the specific
board. Currently known boards are:
board. Currently known boards are:


"buffalo,linkstation-lsvl"
"buffalo,linkstation-lswsxl"
"buffalo,linkstation-lswsxl"
"buffalo,linkstation-lswxl"
"buffalo,linkstation-lswxl"
"buffalo,linkstation-lswvl"
"buffalo,lschlv2"
"buffalo,lschlv2"
"buffalo,lswvl"
"buffalo,lsxhl"
"buffalo,lsxhl"
"buffalo,lsxl"
"buffalo,lsxl"
"cloudengines,pogo02"
"cloudengines,pogo02"
+2 −1
Original line number Original line Diff line number Diff line
@@ -189,10 +189,11 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
	kirkwood-is2.dtb \
	kirkwood-is2.dtb \
	kirkwood-km_kirkwood.dtb \
	kirkwood-km_kirkwood.dtb \
	kirkwood-laplug.dtb \
	kirkwood-laplug.dtb \
	kirkwood-linkstation-lsvl.dtb \
	kirkwood-linkstation-lswsxl.dtb \
	kirkwood-linkstation-lswsxl.dtb \
	kirkwood-linkstation-lswvl.dtb \
	kirkwood-linkstation-lswxl.dtb \
	kirkwood-linkstation-lswxl.dtb \
	kirkwood-lschlv2.dtb \
	kirkwood-lschlv2.dtb \
	kirkwood-lswvl.dtb \
	kirkwood-lsxhl.dtb \
	kirkwood-lsxhl.dtb \
	kirkwood-mplcec4.dtb \
	kirkwood-mplcec4.dtb \
	kirkwood-mv88f6281gtw-ge.dtb \
	kirkwood-mv88f6281gtw-ge.dtb \
+16 −159
Original line number Original line Diff line number Diff line
/*
/*
 * Device Tree file for Buffalo Linkstation LS-WVL/VL
 * Device Tree common file for kirkwood-6282 based Buffalo Linkstation
 *
 *
 * Copyright (C) 2015, 2016
 * Copyright (C) 2015, 2016
 * Roger Shimizu <rogershimizu@gmail.com>
 * Roger Shimizu <rogershimizu@gmail.com>
@@ -43,44 +43,17 @@
 *     OTHER DEALINGS IN THE SOFTWARE.
 *     OTHER DEALINGS IN THE SOFTWARE.
 */
 */


/dts-v1/;

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


/ {
/ {
	model = "Buffalo Linkstation LS-WVL/VL";
	compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";

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

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

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

	ocp@f1000000 {
	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
		pinctrl: pin-controller@10000 {
			pmx_power_hdd0: pmx-power-hdd0 {
			pmx_power_hdd0: pmx-power-hdd0 {
				marvell,pins = "mpp8";
				marvell,pins = "mpp8";
				marvell,function = "gpio";
				marvell,function = "gpio";
			};
			};
			pmx_power_hdd1: pmx-power-hdd1 {
				marvell,pins = "mpp9";
				marvell,function = "gpio";
			};
			pmx_usb_vbus: pmx-usb-vbus {
			pmx_usb_vbus: pmx-usb-vbus {
				marvell,pins = "mpp12";
				marvell,pins = "mpp12";
				marvell,function = "gpio";
				marvell,function = "gpio";
@@ -93,14 +66,6 @@
				marvell,pins = "mpp17";
				marvell,pins = "mpp17";
				marvell,function = "gpio";
				marvell,function = "gpio";
			};
			};
			pmx_led_hdderr0: pmx-led-hdderr0 {
				marvell,pins = "mpp34";
				marvell,function = "gpio";
			};
			pmx_led_hdderr1: pmx-led-hdderr1 {
				marvell,pins = "mpp35";
				marvell,function = "gpio";
			};
			pmx_led_alarm: pmx-led-alarm {
			pmx_led_alarm: pmx-led-alarm {
				marvell,pins = "mpp36";
				marvell,pins = "mpp36";
				marvell,function = "gpio";
				marvell,function = "gpio";
@@ -138,120 +103,48 @@
				marvell,function = "gpio";
				marvell,function = "gpio";
			};
			};
		};
		};

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

		sata@80000 {
			status = "okay";
			nr-ports = <2>;
		};

		spi@10600 {
			status = "okay";

			m25p40@0 {
				#address-cells = <1>;
				#size-cells = <1>;
				compatible = "st,m25p40", "jedec,spi-nor";
				reg = <0>;
				spi-max-frequency = <25000000>;
				mode = <0>;

				partition@0 {
					reg = <0x0 0x60000>;
					label = "uboot";
					read-only;
				};

				partition@60000 {
					reg = <0x60000 0x10000>;
					label = "dtb";
					read-only;
				};

				partition@70000 {
					reg = <0x70000 0x10000>;
					label = "uboot_env";
				};
			};
		};
	};
	};


	gpio_keys {
	gpio_keys {
		compatible = "gpio-keys";
		function-button {
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_button_function &pmx_power_switch
			     &pmx_power_auto_switch>;
		pinctrl-names = "default";

		button@1 {
			label = "Function Button";
			linux,code = <KEY_OPTION>;
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
		};
		};


		button@2 {
		power-on-switch {
			label = "Power-on Switch";
			linux,code = <KEY_RESERVED>;
			linux,input-type = <5>;
			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
		};
		};


		button@3 {
		power-auto-switch {
			label = "Power-auto Switch";
			linux,code = <KEY_ESC>;
			linux,input-type = <5>;
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
		};
		};
	};
	};


	gpio_leds {
	gpio_leds {
		compatible = "gpio-leds";
		red-alarm-led {
		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
			label = "linkstation:red:alarm";
			     &pmx_led_info &pmx_led_power
			     &pmx_led_function_blue
			     &pmx_led_hdderr0
			     &pmx_led_hdderr1>;
		pinctrl-names = "default";

		led@1 {
			label = "lswvl:red:alarm";
			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
		};
		};


		led@2 {
		red-function-led {
			label = "lswvl:red:func";
			label = "linkstation:red:function";
			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
		};
		};


		led@3 {
		amber-info-led {
			label = "lswvl:amber:info";
			label = "linkstation:amber:info";
			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
		};
		};


		led@4 {
		blue-function-led {
			label = "lswvl:blue:func";
			label = "linkstation:blue:function";
			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		};
		};


		led@5 {
		blue-power-led {
			label = "lswvl:blue:power";
			label = "linkstation:blue:power";
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
			default-state = "keep";
			default-state = "keep";
		};
		};

		led@6 {
			label = "lswvl:red:hdderr0";
			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		};

		led@7 {
			label = "lswvl:red:hdderr1";
			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		};
	};
	};


	gpio_fan {
	gpio_fan {
@@ -270,50 +163,14 @@
		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
	};
	};


	restart_poweroff {
		compatible = "restart-poweroff";
	};

	regulators {
	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;
		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
		pinctrl-names = "default";

		usb_power: regulator@1 {
		usb_power: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "USB Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
		};
		};

		hdd_power0: regulator@2 {
		hdd_power0: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "HDD0 Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
		};
		};
		hdd_power1: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "HDD1 Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
		};
	};
	};
};
};


+57 −0
Original line number Original line Diff line number Diff line
/*
 * Device Tree file for Buffalo Linkstation LS-VL
 *
 * Copyright (C) 2015, 2016
 * Roger Shimizu <rogershimizu@gmail.com>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

/dts-v1/;
#include "kirkwood-linkstation-6282.dtsi"

/ {
	model = "Buffalo Linkstation LS-VL";
	compatible = "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";

	memory { /* 256 MB */
		device_type = "memory";
		reg = <0x00000000 0x10000000>;
	};
};
+112 −0
Original line number Original line Diff line number Diff line
/*
 * Device Tree file for Buffalo Linkstation LS-WVL
 *
 * Copyright (C) 2015, 2016
 * Roger Shimizu <rogershimizu@gmail.com>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This file is distributed in the hope that it will be useful
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

/dts-v1/;
#include "kirkwood-linkstation-6282.dtsi"

/ {
	model = "Buffalo Linkstation LS-WVL";
	compatible = "buffalo,lswvl","marvell,kirkwood-88f6282", "marvell,kirkwood";

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

	ocp@f1000000 {
		pinctrl: pin-controller@10000 {
			pmx_power_hdd1: pmx-power-hdd1 {
				marvell,pins = "mpp9";
				marvell,function = "gpio";
			};
			pmx_led_hdderr0: pmx-led-hdderr0 {
				marvell,pins = "mpp34";
				marvell,function = "gpio";
			};
			pmx_led_hdderr1: pmx-led-hdderr1 {
				marvell,pins = "mpp35";
				marvell,function = "gpio";
			};
		};

		sata@80000 {
			nr-ports = <2>;
		};
	};

	gpio_leds {
		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
			     &pmx_led_info &pmx_led_power
			     &pmx_led_function_blue
			     &pmx_led_hdderr0
			     &pmx_led_hdderr1>;

		red-hdderr0-led {
			label = "linkstation:red:hdderr0";
			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		};

		red-hdderr1-led {
			label = "linkstation:red:hdderr1";
			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
		};
	};

	regulators {
		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;

		hdd_power1: regulator@3 {
			compatible = "regulator-fixed";
			reg = <3>;
			regulator-name = "HDD1 Power";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			enable-active-high;
			regulator-always-on;
			regulator-boot-on;
			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
		};
	};
};