Skip to content

Commit

Permalink
ARM: dts: Convert Linkstation Mini to Device Tree
Browse files Browse the repository at this point in the history
The title says it all. The name of the dts file as been changed to
better reflect the manufacturer's device name (LS-WSGL), rather than
the original "lsmini", which exists in a kirkwood version too.

[gregory.clement@free-electrons.com]: use tab instead of space to
indent dts at line 185. Reslove merge conflict with patch "ARM: dts:
orion5x: add buffalo linkstation ls-wtgl" in the file
arch/arm/boot/dts/Makefile.

Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Alexey Kopytko <alexey@kopytko.ru>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
  • Loading branch information
Benjamin Cama authored and Gregory CLEMENT committed Aug 6, 2015
1 parent cba3bbc commit 15979ae
Show file tree
Hide file tree
Showing 5 changed files with 280 additions and 284 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
orion5x-lacie-d2-network.dtb \
orion5x-lacie-ethernet-disk-mini-v2.dtb \
orion5x-linkstation-lswtgl.dtb \
orion5x-lswsgl.dtb \
orion5x-maxtor-shared-storage-2.dtb \
orion5x-rd88f5182-nas.dtb
dtb-$(CONFIG_ARCH_PRIMA2) += \
Expand Down
276 changes: 276 additions & 0 deletions arch/arm/boot/dts/orion5x-lswsgl.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,276 @@
/*
* Copyright (C) 2015 Benjamin Cama <benoar@dolka.fr>
* Copyright (C) 2014 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Based on the board file arch/arm/mach-orion5x/lsmini-setup.c,
* Copyright (C) 2008 Alexey Kopytko <alexey@kopytko.ru>
*
* 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 <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "orion5x-mv88f5182.dtsi"

/ {
model = "Buffalo Linkstation Mini (LS-WSGL)";
compatible = "buffalo,lswsgl", "marvell,orion5x-88f5182", "marvell,orion5x";

memory {
reg = <0x00000000 0x8000000>; /* 128 MB */
};

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

soc {
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
<MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
<MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x40000>;
};

gpio-keys {
compatible = "gpio-keys";
pinctrl-0 = <&pmx_buttons>;
pinctrl-names = "default";
#address-cells = <1>;
#size-cells = <0>;
func {
label = "Function Button";
linux,code = <KEY_OPTION>;
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
};

power {
label = "Power-on Switch";
linux,input-type = <5>; /* EV_SW */
linux,code = <KEY_RESERVED>; /* LSMINI_SW_POWER */
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
};

autopower {
label = "Power-auto Switch";
linux,input-type = <5>; /* EV_SW */
linux,code = <KEY_ESC>; /* LSMINI_SW_AUTOPOWER */
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
};

gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = <&pmx_led_alarm &pmx_led_info &pmx_led_func
&pmx_led_power>;
pinctrl-names = "default";

alarm {
label = "lswsgl:alarm:red";
gpio = <&gpio0 2 GPIO_ACTIVE_LOW>;
};

info {
label = "lswsgl:info:amber";
gpio = <&gpio0 3 GPIO_ACTIVE_LOW>;
};

func {
label = "lswsgl:func:blue:top";
gpio = <&gpio0 9 GPIO_ACTIVE_LOW>;
};

power {
label = "lswsgl:power:blue:bottom";
gpio = <&gpio0 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
};

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

regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_sata0_power &pmx_sata1_power &pmx_usb_power>;
pinctrl-names = "default";

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

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

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

&devbus_bootcs {
status = "okay";

devbus,keep-config;

flash@0 {
compatible = "cfi-flash";
reg = <0 0x40000>;
bank-width = <1>;
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "Full256Kb";
reg = <0 0x40000>;
read-only;
};
};
};

&mdio {
status = "okay";

ethphy: ethernet-phy {
reg = <8>;
};
};

&ehci0 {
status = "okay";
};

&eth {
status = "okay";

ethernet-port@0 {
phy-handle = <&ethphy>;
};
};

&i2c {
status = "okay";
clock-frequency = <100000>;
#address-cells = <1>;

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

&pinctrl {
pmx_buttons: pmx-buttons {
marvell,pins = "mpp15", "mpp17", "mpp18";
marvell,function = "gpio";
};

pmx_led_alarm: pmx-leds {
marvell,pins = "mpp2";
marvell,function = "gpio";
};

pmx_led_info: pmx-leds {
marvell,pins = "mpp3";
marvell,function = "gpio";
};

pmx_led_func: pmx-leds {
marvell,pins = "mpp9";
marvell,function = "gpio";
};

pmx_led_power: pmx-leds {
marvell,pins = "mpp14";
marvell,function = "gpio";
};

pmx_sata0_power: pmx-sata0-power {
marvell,pins = "mpp1";
marvell,function = "gpio";
};

pmx_sata1_power: pmx-sata1-power {
marvell,pins = "mpp19";
marvell,function = "gpio";
};

pmx_usb_power: pmx-usb-power {
marvell,pins = "mpp16";
marvell,function = "gpio";
};
};

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

&uart0 {
status = "okay";
};
6 changes: 3 additions & 3 deletions arch/arm/mach-orion5x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,11 @@ config MACH_LINKSTATION_LSCHL
Buffalo Linkstation Live v3 (LS-CHL) platform.

config MACH_LINKSTATION_MINI
bool "Buffalo Linkstation Mini"
select I2C_BOARDINFO
bool "Buffalo Linkstation Mini (Flattened Device Tree)"
select ARCH_ORION5X_DT
help
Say 'Y' here if you want your kernel to support the
Buffalo Linkstation Mini platform.
Buffalo Linkstation Mini (LS-WSGL) platform.

config MACH_LINKSTATION_LS_HGL
bool "Buffalo Linkstation LS-HGL"
Expand Down
1 change: 0 additions & 1 deletion arch/arm/mach-orion5x/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ obj-$(CONFIG_MACH_RD88F5182) += rd88f5182-setup.o
obj-$(CONFIG_MACH_KUROBOX_PRO) += kurobox_pro-setup.o
obj-$(CONFIG_MACH_TERASTATION_PRO2) += terastation_pro2-setup.o
obj-$(CONFIG_MACH_LINKSTATION_PRO) += kurobox_pro-setup.o
obj-$(CONFIG_MACH_LINKSTATION_MINI) += lsmini-setup.o
obj-$(CONFIG_MACH_LINKSTATION_LS_HGL) += ls_hgl-setup.o
obj-$(CONFIG_MACH_DNS323) += dns323-setup.o
obj-$(CONFIG_MACH_TS209) += ts209-setup.o tsx09-common.o
Expand Down
Loading

0 comments on commit 15979ae

Please sign in to comment.