kirkwood: convert DTS patches into plain DTS files

Move DTS files newly created by patch files to files directory. This will make
these files much more maintainable.

Patching the kernel Makefile is unnecessary, as the DTS files specified in
DEVICE_DTS will be compiled by OpenWrt buildroot anyway.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
master
Sungbo Eo 4 years ago committed by Adrian Schmutzler
parent ebc090e420
commit 16965a0f3f

@ -0,0 +1,124 @@
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
model = "Seagate GoFlex Home";
compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
aliases {
led-boot = &led_health;
led-failsafe = &led_fault;
led-running = &led_health;
led-upgrade = &led_fault;
};
memory {
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
stdout-path = &uart0;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_usb_power_enable: pmx-usb-power-enable {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_led_white: pmx-led-white {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_led_green: pmx-led_green {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_led_orange: pmx-led-orange {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
};
serial@12000 {
status = "ok";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
};
gpio-leds {
compatible = "gpio-leds";
led_health: health {
label = "status:green:health";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_fault: fault {
label = "status:orange:fault";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
misc {
label = "status:white:misc";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "disk-activity";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_usb_power_enable>;
pinctrl-names = "default";
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 29 GPIO_ACTIVE_HIGH>;
};
};
};
&nand {
chip-delay = <40>;
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};
partition@100000 {
label = "ubi";
reg = <0x100000 0x0ff00000>;
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

@ -0,0 +1,250 @@
/*
* kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
*
* (c) 2013 Jonas Gorski <jogo@openwrt.org>
* (c) 2013 Deutsche Telekom Innovation Laboratories
* (c) 2014 Luka Perkov <luka@openwrt.org>
* (c) 2014 Dan Walters <dan@walters.io>
*
* 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.
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
/ {
model = "Linksys Audi (EA3500)";
compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x4000000>;
};
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
pinctrl-names = "default";
wps {
label = "WPS Button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
reset {
label = "Reset Button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = < &pmx_led_green_power >;
pinctrl-names = "default";
led_power: power {
label = "audi:green:power";
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
mvsw61xx {
compatible = "marvell,88e6171";
status = "okay";
reg = <0x10>;
mii-bus = <&mdio>;
cpu-port-0 = <5>;
cpu-port-1 = <6>;
is-indirect;
};
dsa {
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
dsa,ethernet = <&eth0port>;
dsa,mii-bus = <&mdio>;
switch@16,0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <16 0>; /* MDIO address 16, switch 0 in tree */
port@0 {
reg = <0>;
label = "ethernet1";
};
port@1 {
reg = <1>;
label = "ethernet2";
};
port@2 {
reg = <2>;
label = "ethernet3";
};
port@3 {
reg = <3>;
label = "ethernet4";
};
port@4 {
reg = <4>;
label = "internet";
};
port@5 {
reg = <5>;
label = "cpu";
};
};
};
};
&pinctrl {
pmx_led_green_power: pmx-led-green-power {
marvell,pins = "mpp7";
marvell,function = "gpo";
};
pmx_btn_wps: pmx-btn-wps {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_btn_reset: pmx-btn-reset {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
};
&nand {
status = "okay";
pinctrl-0 = <&pmx_nand>;
pinctrl-names = "default";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "u_env";
reg = <0x80000 0x4000>;
};
partition@84000 {
label = "s_env";
reg = <0x84000 0x4000>;
};
partition@200000 {
label = "kernel1";
reg = <0x200000 0x290000>;
};
partition@490000 {
label = "rootfs1";
reg = <0x490000 0x1170000>;
};
partition@1600000 {
label = "kernel2";
reg = <0x1600000 0x290000>;
};
partition@1890000 {
label = "rootfs2";
reg = <0x1890000 0x1170000>;
};
partition@2a00000 {
label = "syscfg";
reg = <0x2a00000 0x1600000>;
};
partition@88000 {
label = "unused";
reg = <0x88000 0x178000>;
};
};
};
&pciec {
status = "okay";
};
&pcie0 {
status = "okay";
};
&pcie1 {
status = "okay";
};
&mdio {
status = "okay";
};
&uart0 {
status = "okay";
};
/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
* fixed speed and duplex.
*/
&eth0 {
status = "okay";
ethernet0-port@0 {
speed = <1000>;
duplex = <1>;
};
};
/* eth1 is connected to the switch at port 6. However DSA only supports a
* single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
*/
&eth1 {
status = "okay";
ethernet1-port@0 {
speed = <1000>;
duplex = <1>;
};
};
/* There is no battery on the board, so the RTC does not keep
* time when there is no power, making it useless.
*/
&rtc {
status = "disabled";
};

@ -0,0 +1,132 @@
/dts-v1/;
#include "kirkwood-nsa3x0-common.dtsi"
/*
* There are at least two different NSA310 designs. This variant has
* a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
*/
/ {
model = "ZyXEL NSA310b";
compatible = "zyxel,nsa310b", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
aliases {
led-boot = &led_green_sys;
led-failsafe = &led_red_sys;
led-running = &led_green_sys;
led-upgrade = &led_red_sys;
};
memory {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
chosen {
bootargs = "console=ttyS0,115200";
stdout-path = &uart0;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
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";
};
};
i2c@11000 {
status = "okay";
lm85: lm85@2e {
compatible = "national,lm85";
reg = <0x2e>;
};
};
};
gpio-leds {
compatible = "gpio-leds";
led_green_sys: green-sys {
label = "nsa310:green:sys";
gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led_red_sys: 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>;
};
};
};

@ -0,0 +1,165 @@
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
/ {
model = "Cisco Systems ON100";
compatible = "cisco,on100", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
aliases {
led-boot = &led_health_green;
led-failsafe = &led_health_red;
led-running = &led_health_green;
led-upgrade = &led_health_red;
serial0 = &uart0;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = "serial0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_btn_reset>;
pinctrl-names = "default";
button@1 {
label = "Reset Button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g >;
pinctrl-names = "default";
led_health_green: health_green {
label = "on100:green:health";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_health_red: health_red {
label = "on100:red:health";
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
};
health2_green {
label = "on100:green:health2";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
health2_red {
label = "on100:red:health2";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
phy-connection-type = "rgmii-id";
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
phy-connection-type = "rgmii-id";
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
/* Marvell 88E1121R */
compatible = "ethernet-phy-id0141.0cb0",
"ethernet-phy-ieee802.3-c22";
reg = <0>;
};
ethphy1: ethernet-phy@1 {
/* Marvell 88E1121R */
compatible = "ethernet-phy-id0141.0cb0",
"ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&nand {
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x00000000 0x000a0000>;
read-only;
};
partition@a0000 {
label = "u-boot environment";
reg = <0x000a0000 0x00020000>;
read-only;
};
partition@c0000 {
label = "kernel";
reg = <0x000c0000 0x00540000>;
};
partition@600000 {
label = "ubi";
reg = <0x00600000 0x1fa00000>;
};
};
&pinctrl {
pmx_led_health_r: pmx-led-health-r {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_led_health_g: pmx-led-health-g {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_led_health2_r: pmx-led-health2-r {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_led_health2_g: pmx-led-health2-g {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_btn_reset: pmx-led-reset {
marvell,pins = "mpp31";
marvell,function = "gpio";
};
};
&sdio {
status = "okay";
};
&uart0 {
status = "okay";
};

@ -0,0 +1,124 @@
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
model = "Seagate GoFlex Home";
compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
aliases {
led-boot = &led_health;
led-failsafe = &led_fault;
led-running = &led_health;
led-upgrade = &led_fault;
};
memory@0 {
device_type = "memory";
reg = <0x00000000 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
stdout-path = &uart0;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pmx_usb_power_enable: pmx-usb-power-enable {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_led_white: pmx-led-white {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_led_green: pmx-led_green {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_led_orange: pmx-led-orange {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
};
serial@12000 {
status = "ok";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
};
gpio-leds {
compatible = "gpio-leds";
led_health: health {
label = "status:green:health";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_fault: fault {
label = "status:orange:fault";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
misc {
label = "status:white:misc";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
linux,default-trigger = "disk-activity";
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_usb_power_enable>;
pinctrl-names = "default";
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 29 GPIO_ACTIVE_HIGH>;
};
};
};
&nand {
chip-delay = <40>;
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};
partition@100000 {
label = "ubi";
reg = <0x100000 0x0ff00000>;
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <0>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

@ -0,0 +1,251 @@
// SPDX-License-Identifier: GPL-2.0
/*
* kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
*
* (c) 2013 Jonas Gorski <jogo@openwrt.org>
* (c) 2013 Deutsche Telekom Innovation Laboratories
* (c) 2014 Luka Perkov <luka@openwrt.org>
* (c) 2014 Dan Walters <dan@walters.io>
*
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
/ {
model = "Linksys Audi (EA3500)";
compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory@0 {
device_type = "memory";
reg = <0x00000000 0x4000000>;
};
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
pinctrl-names = "default";
wps {
label = "WPS Button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
reset {
label = "Reset Button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = < &pmx_led_green_power >;
pinctrl-names = "default";
led_power: power {
label = "audi:green:power";
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
switches {
#address-cells = <1>;
#size-cells = <0>;
mvsw61xx@10 {
compatible = "marvell,88e6171";
status = "okay";
reg = <0x10>;
mii-bus = <&mdio>;
cpu-port-0 = <5>;
cpu-port-1 = <6>;
is-indirect;
};
};
dsa {
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
dsa,ethernet = <&eth0port>;
dsa,mii-bus = <&mdio>;
switch@16,0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <16 0>; /* MDIO address 16, switch 0 in tree */
port@0 {
reg = <0>;
label = "ethernet1";
};
port@1 {
reg = <1>;
label = "ethernet2";
};
port@2 {
reg = <2>;
label = "ethernet3";
};
port@3 {
reg = <3>;
label = "ethernet4";
};
port@4 {
reg = <4>;
label = "internet";
};
port@5 {
reg = <5>;
label = "cpu";
};
};
};
};
&pinctrl {
pmx_led_green_power: pmx-led-green-power {
marvell,pins = "mpp7";
marvell,function = "gpo";
};
pmx_btn_wps: pmx-btn-wps {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_btn_reset: pmx-btn-reset {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
};
&nand {
status = "okay";
pinctrl-0 = <&pmx_nand>;
pinctrl-names = "default";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x80000>;
read-only;
};
partition@80000 {
label = "u_env";
reg = <0x80000 0x4000>;
};
partition@84000 {
label = "s_env";
reg = <0x84000 0x4000>;
};
partition@200000 {
label = "kernel1";
reg = <0x200000 0x290000>;
};
partition@490000 {
label = "rootfs1";
reg = <0x490000 0x1170000>;
};
partition@1600000 {
label = "kernel2";
reg = <0x1600000 0x290000>;
};
partition@1890000 {
label = "rootfs2";
reg = <0x1890000 0x1170000>;
};
partition@2a00000 {
label = "syscfg";
reg = <0x2a00000 0x1600000>;
};
partition@88000 {
label = "unused";
reg = <0x88000 0x178000>;
};
};
};
&pciec {
status = "okay";
};
&pcie0 {
status = "okay";
};
&pcie1 {
status = "okay";
};
&mdio {
status = "okay";
};
&uart0 {
status = "okay";
};
/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
* fixed speed and duplex.
*/
&eth0 {
status = "okay";
ethernet0-port@0 {
speed = <1000>;
duplex = <1>;
};
};
/* eth1 is connected to the switch at port 6. However DSA only supports a
* single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
*/
&eth1 {
status = "okay";
ethernet1-port@0 {
speed = <1000>;
duplex = <1>;
};
};
/* There is no battery on the board, so the RTC does not keep
* time when there is no power, making it useless.
*/
&rtc {
status = "disabled";
};

@ -0,0 +1,132 @@
/dts-v1/;
#include "kirkwood-nsa3x0-common.dtsi"
/*
* There are at least two different NSA310 designs. This variant has
* a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
*/
/ {
model = "ZyXEL NSA310b";
compatible = "zyxel,nsa310b", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
aliases {
led-boot = &led_green_sys;
led-failsafe = &led_red_sys;
led-running = &led_green_sys;
led-upgrade = &led_red_sys;
};
memory@0 {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
chosen {
bootargs = "console=ttyS0,115200";
stdout-path = &uart0;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
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";
};
};
i2c@11000 {
status = "okay";
lm85: lm85@2e {
compatible = "national,lm85";
reg = <0x2e>;
};
};
};
gpio-leds {
compatible = "gpio-leds";
led_green_sys: green-sys {
label = "nsa310:green:sys";
gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
led_red_sys: 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>;
};
};
};

@ -0,0 +1,163 @@
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6282.dtsi"
/ {
model = "Cisco Systems ON100";
compatible = "cisco,on100", "marvell,kirkwood-88f6282", "marvell,kirkwood";
memory@0 {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
aliases {
led-boot = &led_health_green;
led-failsafe = &led_health_red;
led-running = &led_health_green;
led-upgrade = &led_health_red;
serial0 = &uart0;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = "serial0:115200n8";
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-0 = <&pmx_btn_reset>;
pinctrl-names = "default";
reset {
label = "Reset Button";
linux,code = <KEY_RESTART>;
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g >;
pinctrl-names = "default";
led_health_green: health_green {
label = "on100:green:health";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_health_red: health_red {
label = "on100:red:health";
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
};
health2_green {
label = "on100:green:health2";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
health2_red {
label = "on100:red:health2";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
phy-connection-type = "rgmii-id";
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
phy-connection-type = "rgmii-id";
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
/* Marvell 88E1121R */
compatible = "ethernet-phy-id0141.0cb0",
"ethernet-phy-ieee802.3-c22";
reg = <0>;
};
ethphy1: ethernet-phy@1 {
/* Marvell 88E1121R */
compatible = "ethernet-phy-id0141.0cb0",
"ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&nand {
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x00000000 0x000a0000>;
read-only;
};
partition@a0000 {
label = "u-boot environment";
reg = <0x000a0000 0x00020000>;
read-only;
};
partition@c0000 {
label = "kernel";
reg = <0x000c0000 0x00540000>;
};
partition@600000 {
label = "ubi";
reg = <0x00600000 0x1fa00000>;
};
};
&pinctrl {
pmx_led_health_r: pmx-led-health-r {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_led_health_g: pmx-led-health-g {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_led_health2_r: pmx-led-health2-r {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_led_health2_g: pmx-led-health2-g {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_btn_reset: pmx-led-reset {
marvell,pins = "mpp31";
marvell,function = "gpio";
};
};
&sdio {
status = "okay";
};
&uart0 {
status = "okay";
};

@ -1,263 +0,0 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -250,6 +250,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-linkstation-lswsxl.dtb \
kirkwood-linkstation-lswvl.dtb \
kirkwood-linkstation-lswxl.dtb \
+ kirkwood-linksys-audi.dtb \
kirkwood-linksys-viper.dtb \
kirkwood-lschlv2.dtb \
kirkwood-lsxhl.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-linksys-audi.dts
@@ -0,0 +1,250 @@
+/*
+ * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
+ * (c) 2014 Luka Perkov <luka@openwrt.org>
+ * (c) 2014 Dan Walters <dan@walters.io>
+ *
+ * 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.
+ */
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Linksys Audi (EA3500)";
+ compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x4000000>;
+ };
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
+ pinctrl-names = "default";
+
+ wps {
+ label = "WPS Button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+
+ reset {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_green_power >;
+ pinctrl-names = "default";
+
+ led_power: power {
+ label = "audi:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ mvsw61xx {
+ compatible = "marvell,88e6171";
+ status = "okay";
+ reg = <0x10>;
+
+ mii-bus = <&mdio>;
+ cpu-port-0 = <5>;
+ cpu-port-1 = <6>;
+ is-indirect;
+ };
+
+ dsa {
+ compatible = "marvell,dsa";
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ dsa,ethernet = <&eth0port>;
+ dsa,mii-bus = <&mdio>;
+
+ switch@16,0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <16 0>; /* MDIO address 16, switch 0 in tree */
+
+ port@0 {
+ reg = <0>;
+ label = "ethernet1";
+ };
+
+ port@1 {
+ reg = <1>;
+ label = "ethernet2";
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "ethernet3";
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "ethernet4";
+ };
+
+ port@4 {
+ reg = <4>;
+ label = "internet";
+ };
+
+ port@5 {
+ reg = <5>;
+ label = "cpu";
+ };
+ };
+ };
+};
+
+&pinctrl {
+ pmx_led_green_power: pmx-led-green-power {
+ marvell,pins = "mpp7";
+ marvell,function = "gpo";
+ };
+ pmx_btn_wps: pmx-btn-wps {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ pmx_btn_reset: pmx-btn-reset {
+ marvell,pins = "mpp48";
+ marvell,function = "gpio";
+ };
+};
+
+&nand {
+ status = "okay";
+ pinctrl-0 = <&pmx_nand>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x80000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "u_env";
+ reg = <0x80000 0x4000>;
+ };
+
+ partition@84000 {
+ label = "s_env";
+ reg = <0x84000 0x4000>;
+ };
+
+ partition@200000 {
+ label = "kernel1";
+ reg = <0x200000 0x290000>;
+ };
+
+ partition@490000 {
+ label = "rootfs1";
+ reg = <0x490000 0x1170000>;
+ };
+
+ partition@1600000 {
+ label = "kernel2";
+ reg = <0x1600000 0x290000>;
+ };
+
+ partition@1890000 {
+ label = "rootfs2";
+ reg = <0x1890000 0x1170000>;
+ };
+
+ partition@2a00000 {
+ label = "syscfg";
+ reg = <0x2a00000 0x1600000>;
+ };
+
+ partition@88000 {
+ label = "unused";
+ reg = <0x88000 0x178000>;
+ };
+
+ };
+};
+
+&pciec {
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
+ * fixed speed and duplex.
+ */
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+/* eth1 is connected to the switch at port 6. However DSA only supports a
+ * single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
+ */
+&eth1 {
+ status = "okay";
+ ethernet1-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+/* There is no battery on the board, so the RTC does not keep
+ * time when there is no power, making it useless.
+ */
+&rtc {
+ status = "disabled";
+};

@ -1,137 +0,0 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -237,6 +237,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-ds411.dtb \
kirkwood-ds411j.dtb \
kirkwood-ds411slim.dtb \
+ kirkwood-goflexhome.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \
kirkwood-ib62x0.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-goflexhome.dts
@@ -0,0 +1,124 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+ model = "Seagate GoFlex Home";
+ compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+ aliases {
+ led-boot = &led_health;
+ led-failsafe = &led_fault;
+ led-running = &led_health;
+ led-upgrade = &led_fault;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x8000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
+ stdout-path = &uart0;
+ };
+
+ ocp@f1000000 {
+ pinctrl: pin-controller@10000 {
+ pmx_usb_power_enable: pmx-usb-power-enable {
+ marvell,pins = "mpp29";
+ marvell,function = "gpio";
+ };
+ pmx_led_white: pmx-led-white {
+ marvell,pins = "mpp40";
+ marvell,function = "gpio";
+ };
+ pmx_led_green: pmx-led_green {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+ pmx_led_orange: pmx-led-orange {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ };
+ serial@12000 {
+ status = "ok";
+ };
+
+ sata@80000 {
+ status = "okay";
+ nr-ports = <2>;
+ };
+
+ };
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led_health: health {
+ label = "status:green:health";
+ gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ led_fault: fault {
+ label = "status:orange:fault";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+ misc {
+ label = "status:white:misc";
+ gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "disk-activity";
+ };
+ };
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = <&pmx_usb_power_enable>;
+ pinctrl-names = "default";
+
+ 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 29 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&nand {
+ chip-delay = <40>;
+ status = "okay";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0000000 0x100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "ubi";
+ reg = <0x100000 0x0ff00000>;
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ phy-handle = <&ethphy0>;
+ };
+};

@ -1,155 +0,0 @@
kirkwood: add nsa310b dtb, a zyxel nsa310 variant
add support to a nsa310 variant with red/green usb led
and lm85 temp/fan controller
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
NOTE: this patch can be upstreamed as-is, LEDE-specific
nand partitions are set in another patch
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -268,6 +268,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-ns2mini.dtb \
kirkwood-nsa310.dtb \
kirkwood-nsa310a.dtb \
+ kirkwood-nsa310b.dtb \
kirkwood-nsa320.dtb \
kirkwood-nsa325.dtb \
kirkwood-openblocks_a6.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nsa310b.dts
@@ -0,0 +1,132 @@
+/dts-v1/;
+
+#include "kirkwood-nsa3x0-common.dtsi"
+
+/*
+ * There are at least two different NSA310 designs. This variant has
+ * a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
+ */
+
+/ {
+ model = "ZyXEL NSA310b";
+ compatible = "zyxel,nsa310b", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+ aliases {
+ led-boot = &led_green_sys;
+ led-failsafe = &led_red_sys;
+ led-running = &led_green_sys;
+ led-upgrade = &led_red_sys;
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x10000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200";
+ stdout-path = &uart0;
+ };
+
+ ocp@f1000000 {
+ pinctrl: pin-controller@10000 {
+ 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";
+ };
+
+ };
+
+ i2c@11000 {
+ status = "okay";
+
+ lm85: lm85@2e {
+ compatible = "national,lm85";
+ reg = <0x2e>;
+ };
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led_green_sys: green-sys {
+ label = "nsa310:green:sys";
+ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ led_red_sys: 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>;
+ };
+ };
+};

@ -1,178 +0,0 @@
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-on100.dts
@@ -0,0 +1,165 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Cisco Systems ON100";
+ compatible = "cisco,on100", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory {
+ device_type = "memory";
+ reg = <0x00000000 0x20000000>;
+ };
+
+ aliases {
+ led-boot = &led_health_green;
+ led-failsafe = &led_health_red;
+ led-running = &led_health_green;
+ led-upgrade = &led_health_red;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk";
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = <&pmx_btn_reset>;
+ pinctrl-names = "default";
+
+ button@1 {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g >;
+ pinctrl-names = "default";
+
+ led_health_green: health_green {
+ label = "on100:green:health";
+ gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ led_health_red: health_red {
+ label = "on100:red:health";
+ gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ health2_green {
+ label = "on100:green:health2";
+ gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ };
+
+ health2_red {
+ label = "on100:red:health2";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ ethernet0-port@0 {
+ phy-handle = <&ethphy0>;
+ phy-connection-type = "rgmii-id";
+ };
+};
+
+&eth1 {
+ status = "okay";
+
+ ethernet1-port@0 {
+ phy-handle = <&ethphy1>;
+ phy-connection-type = "rgmii-id";
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ /* Marvell 88E1121R */
+ compatible = "ethernet-phy-id0141.0cb0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+
+ ethphy1: ethernet-phy@1 {
+ /* Marvell 88E1121R */
+ compatible = "ethernet-phy-id0141.0cb0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
+&nand {
+ status = "okay";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x00000000 0x000a0000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "u-boot environment";
+ reg = <0x000a0000 0x00020000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ label = "kernel";
+ reg = <0x000c0000 0x00540000>;
+ };
+
+ partition@600000 {
+ label = "ubi";
+ reg = <0x00600000 0x1fa00000>;
+ };
+};
+
+&pinctrl {
+ pmx_led_health_r: pmx-led-health-r {
+ marvell,pins = "mpp45";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health_g: pmx-led-health-g {
+ marvell,pins = "mpp44";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health2_r: pmx-led-health2-r {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health2_g: pmx-led-health2-g {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+
+ pmx_btn_reset: pmx-led-reset {
+ marvell,pins = "mpp31";
+ marvell,function = "gpio";
+ };
+};
+
+&sdio {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -271,6 +271,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-nsa310b.dtb \
kirkwood-nsa320.dtb \
kirkwood-nsa325.dtb \
+ kirkwood-on100.dtb \
kirkwood-openblocks_a6.dtb \
kirkwood-openblocks_a7.dtb \
kirkwood-openrd-base.dtb \

@ -1,264 +0,0 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -269,6 +269,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-linkstation-lswsxl.dtb \
kirkwood-linkstation-lswvl.dtb \
kirkwood-linkstation-lswxl.dtb \
+ kirkwood-linksys-audi.dtb \
kirkwood-linksys-viper.dtb \
kirkwood-lschlv2.dtb \
kirkwood-lsxhl.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-linksys-audi.dts
@@ -0,0 +1,251 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * kirkwood-linksys-audi.dts - Device Tree file for Linksys EA3500
+ *
+ * (c) 2013 Jonas Gorski <jogo@openwrt.org>
+ * (c) 2013 Deutsche Telekom Innovation Laboratories
+ * (c) 2014 Luka Perkov <luka@openwrt.org>
+ * (c) 2014 Dan Walters <dan@walters.io>
+ *
+ */
+
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Linksys Audi (EA3500)";
+ compatible = "linksys,audi", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x4000000>;
+ };
+
+ aliases {
+ led-boot = &led_power;
+ led-failsafe = &led_power;
+ led-running = &led_power;
+ led-upgrade = &led_power;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
+ pinctrl-names = "default";
+
+ wps {
+ label = "WPS Button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+
+ reset {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_green_power >;
+ pinctrl-names = "default";
+
+ led_power: power {
+ label = "audi:green:power";
+ gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ };
+
+ switches {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mvsw61xx@10 {
+ compatible = "marvell,88e6171";
+ status = "okay";
+ reg = <0x10>;
+
+ mii-bus = <&mdio>;
+ cpu-port-0 = <5>;
+ cpu-port-1 = <6>;
+ is-indirect;
+ };
+ };
+
+ dsa {
+ compatible = "marvell,dsa";
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ dsa,ethernet = <&eth0port>;
+ dsa,mii-bus = <&mdio>;
+
+ switch@16,0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <16 0>; /* MDIO address 16, switch 0 in tree */
+
+ port@0 {
+ reg = <0>;
+ label = "ethernet1";
+ };
+
+ port@1 {
+ reg = <1>;
+ label = "ethernet2";
+ };
+
+ port@2 {
+ reg = <2>;
+ label = "ethernet3";
+ };
+
+ port@3 {
+ reg = <3>;
+ label = "ethernet4";
+ };
+
+ port@4 {
+ reg = <4>;
+ label = "internet";
+ };
+
+ port@5 {
+ reg = <5>;
+ label = "cpu";
+ };
+ };
+ };
+};
+
+&pinctrl {
+ pmx_led_green_power: pmx-led-green-power {
+ marvell,pins = "mpp7";
+ marvell,function = "gpo";
+ };
+ pmx_btn_wps: pmx-btn-wps {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ pmx_btn_reset: pmx-btn-reset {
+ marvell,pins = "mpp48";
+ marvell,function = "gpio";
+ };
+};
+
+&nand {
+ status = "okay";
+ pinctrl-0 = <&pmx_nand>;
+ pinctrl-names = "default";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0 0x80000>;
+ read-only;
+ };
+
+ partition@80000 {
+ label = "u_env";
+ reg = <0x80000 0x4000>;
+ };
+
+ partition@84000 {
+ label = "s_env";
+ reg = <0x84000 0x4000>;
+ };
+
+ partition@200000 {
+ label = "kernel1";
+ reg = <0x200000 0x290000>;
+ };
+
+ partition@490000 {
+ label = "rootfs1";
+ reg = <0x490000 0x1170000>;
+ };
+
+ partition@1600000 {
+ label = "kernel2";
+ reg = <0x1600000 0x290000>;
+ };
+
+ partition@1890000 {
+ label = "rootfs2";
+ reg = <0x1890000 0x1170000>;
+ };
+
+ partition@2a00000 {
+ label = "syscfg";
+ reg = <0x2a00000 0x1600000>;
+ };
+
+ partition@88000 {
+ label = "unused";
+ reg = <0x88000 0x178000>;
+ };
+
+ };
+};
+
+&pciec {
+ status = "okay";
+};
+
+&pcie0 {
+ status = "okay";
+};
+
+&pcie1 {
+ status = "okay";
+};
+
+&mdio {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
+
+/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
+ * fixed speed and duplex.
+ */
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+/* eth1 is connected to the switch at port 6. However DSA only supports a
+ * single CPU port. Upstream uses DSA so they disable this port to avoid confusion.
+ */
+&eth1 {
+ status = "okay";
+ ethernet1-port@0 {
+ speed = <1000>;
+ duplex = <1>;
+ };
+};
+
+/* There is no battery on the board, so the RTC does not keep
+ * time when there is no power, making it useless.
+ */
+&rtc {
+ status = "disabled";
+};

@ -1,137 +0,0 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -256,6 +256,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-ds411.dtb \
kirkwood-ds411j.dtb \
kirkwood-ds411slim.dtb \
+ kirkwood-goflexhome.dtb \
kirkwood-goflexnet.dtb \
kirkwood-guruplug-server-plus.dtb \
kirkwood-ib62x0.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-goflexhome.dts
@@ -0,0 +1,124 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+ model = "Seagate GoFlex Home";
+ compatible = "seagate,goflexhome", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+ aliases {
+ led-boot = &led_health;
+ led-failsafe = &led_fault;
+ led-running = &led_health;
+ led-upgrade = &led_fault;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x8000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk root=/dev/sda1 rootdelay=10";
+ stdout-path = &uart0;
+ };
+
+ ocp@f1000000 {
+ pinctrl: pin-controller@10000 {
+ pmx_usb_power_enable: pmx-usb-power-enable {
+ marvell,pins = "mpp29";
+ marvell,function = "gpio";
+ };
+ pmx_led_white: pmx-led-white {
+ marvell,pins = "mpp40";
+ marvell,function = "gpio";
+ };
+ pmx_led_green: pmx-led_green {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+ pmx_led_orange: pmx-led-orange {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+ };
+ serial@12000 {
+ status = "ok";
+ };
+
+ sata@80000 {
+ status = "okay";
+ nr-ports = <2>;
+ };
+
+ };
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led_health: health {
+ label = "status:green:health";
+ gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+ led_fault: fault {
+ label = "status:orange:fault";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+ misc {
+ label = "status:white:misc";
+ gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "disk-activity";
+ };
+ };
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-0 = <&pmx_usb_power_enable>;
+ pinctrl-names = "default";
+
+ 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 29 GPIO_ACTIVE_HIGH>;
+ };
+ };
+};
+
+&nand {
+ chip-delay = <40>;
+ status = "okay";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x0000000 0x100000>;
+ read-only;
+ };
+
+ partition@100000 {
+ label = "ubi";
+ reg = <0x100000 0x0ff00000>;
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&eth0 {
+ status = "okay";
+ ethernet0-port@0 {
+ phy-handle = <&ethphy0>;
+ };
+};

@ -1,155 +0,0 @@
kirkwood: add nsa310b dtb, a zyxel nsa310 variant
add support to a nsa310 variant with red/green usb led
and lm85 temp/fan controller
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
NOTE: this patch can be upstreamed as-is, LEDE-specific
nand partitions are set in another patch
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -287,6 +287,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-ns2mini.dtb \
kirkwood-nsa310.dtb \
kirkwood-nsa310a.dtb \
+ kirkwood-nsa310b.dtb \
kirkwood-nsa320.dtb \
kirkwood-nsa325.dtb \
kirkwood-openblocks_a6.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nsa310b.dts
@@ -0,0 +1,132 @@
+/dts-v1/;
+
+#include "kirkwood-nsa3x0-common.dtsi"
+
+/*
+ * There are at least two different NSA310 designs. This variant has
+ * a red/green USB Led (same as nsa310) and a lm85 temp/fan controller.
+ */
+
+/ {
+ model = "ZyXEL NSA310b";
+ compatible = "zyxel,nsa310b", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+ aliases {
+ led-boot = &led_green_sys;
+ led-failsafe = &led_red_sys;
+ led-running = &led_green_sys;
+ led-upgrade = &led_red_sys;
+ };
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x10000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200";
+ stdout-path = &uart0;
+ };
+
+ ocp@f1000000 {
+ pinctrl: pin-controller@10000 {
+ 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";
+ };
+
+ };
+
+ i2c@11000 {
+ status = "okay";
+
+ lm85: lm85@2e {
+ compatible = "national,lm85";
+ reg = <0x2e>;
+ };
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ led_green_sys: green-sys {
+ label = "nsa310:green:sys";
+ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+ default-state = "on";
+ };
+ led_red_sys: 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>;
+ };
+ };
+};

@ -1,176 +0,0 @@
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-on100.dts
@@ -0,0 +1,163 @@
+/dts-v1/;
+
+#include "kirkwood.dtsi"
+#include "kirkwood-6282.dtsi"
+
+/ {
+ model = "Cisco Systems ON100";
+ compatible = "cisco,on100", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x00000000 0x20000000>;
+ };
+
+ aliases {
+ led-boot = &led_health_green;
+ led-failsafe = &led_health_red;
+ led-running = &led_health_green;
+ led-upgrade = &led_health_red;
+ serial0 = &uart0;
+ };
+
+ chosen {
+ bootargs = "console=ttyS0,115200n8 earlyprintk";
+ stdout-path = "serial0:115200n8";
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ pinctrl-0 = <&pmx_btn_reset>;
+ pinctrl-names = "default";
+
+ reset {
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g >;
+ pinctrl-names = "default";
+
+ led_health_green: health_green {
+ label = "on100:green:health";
+ gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ led_health_red: health_red {
+ label = "on100:red:health";
+ gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ };
+
+ health2_green {
+ label = "on100:green:health2";
+ gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ };
+
+ health2_red {
+ label = "on100:red:health2";
+ gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ ethernet0-port@0 {
+ phy-handle = <&ethphy0>;
+ phy-connection-type = "rgmii-id";
+ };
+};
+
+&eth1 {
+ status = "okay";
+
+ ethernet1-port@0 {
+ phy-handle = <&ethphy1>;
+ phy-connection-type = "rgmii-id";
+ };
+};
+
+&mdio {
+ status = "okay";
+
+ ethphy0: ethernet-phy@0 {
+ /* Marvell 88E1121R */
+ compatible = "ethernet-phy-id0141.0cb0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+
+ ethphy1: ethernet-phy@1 {
+ /* Marvell 88E1121R */
+ compatible = "ethernet-phy-id0141.0cb0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <1>;
+ };
+};
+
+&nand {
+ status = "okay";
+
+ partition@0 {
+ label = "u-boot";
+ reg = <0x00000000 0x000a0000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "u-boot environment";
+ reg = <0x000a0000 0x00020000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ label = "kernel";
+ reg = <0x000c0000 0x00540000>;
+ };
+
+ partition@600000 {
+ label = "ubi";
+ reg = <0x00600000 0x1fa00000>;
+ };
+};
+
+&pinctrl {
+ pmx_led_health_r: pmx-led-health-r {
+ marvell,pins = "mpp45";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health_g: pmx-led-health-g {
+ marvell,pins = "mpp44";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health2_r: pmx-led-health2-r {
+ marvell,pins = "mpp47";
+ marvell,function = "gpio";
+ };
+
+ pmx_led_health2_g: pmx-led-health2-g {
+ marvell,pins = "mpp46";
+ marvell,function = "gpio";
+ };
+
+ pmx_btn_reset: pmx-led-reset {
+ marvell,pins = "mpp31";
+ marvell,function = "gpio";
+ };
+};
+
+&sdio {
+ status = "okay";
+};
+
+&uart0 {
+ status = "okay";
+};
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -290,6 +290,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
kirkwood-nsa310b.dtb \
kirkwood-nsa320.dtb \
kirkwood-nsa325.dtb \
+ kirkwood-on100.dtb \
kirkwood-openblocks_a6.dtb \
kirkwood-openblocks_a7.dtb \
kirkwood-openrd-base.dtb \
Loading…
Cancel
Save