Commit 7d9e89c7 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'mvebu-dt-3.19' of git://git.infradead.org/linux-mvebu into next/dt

Pull "mvebu DT changes for v3.19" from Jason Cooper:

 - mvebu
    - ReadyNAS 102 leds, esata
    - ReadyNAS 2120 esata
    - Add cache-unified for Aurora L2 node
    - Add ref clk for timer and watchdog on Armada 375
    - Cleanup Armada XP pinctrl for GigE
    - Add RGMII pinctrl, i2c eeprom, and fix 74hc595 counter on Lenovo ix4-300d

 - kirkwood
    - Add DLink DIR665 and it's DSA configuration

* tag 'mvebu-dt-3.19' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: armada-xp: Fix 74hc595 count for Lenovo ix4-300d
  ARM: mvebu: armada-xp: Add I2C eeprom on Lenovo ix4-300d
  ARM: mvebu: armada-xp: Add RGMII pinctrl to Lenovo ix4-300d
  ARM: mvebu: armada-xp: Add GE0 pinctrl settings for GMII
  ARM: mvebu: armada-xp: Move GE0/1 pinctrl settings for RGMII
  ARM: mvebu: armada-xp: Use pinctrl node alias
  ARM: mvebu: armada-xp: Add node alias to pinctrl and add base address
  ARM: mvebu: armada-xp: Consolidate pinctrl node
  ARM: Kirkwood: DIR665: Instantiate Distributed Switch Architecture
  ARM: Kirkwood: Add support for DLink DIR665
  ARM: mvebu: Enable rear eSATA ports of NETGEAR ReadyNAS 2120
  ARM: mvebu: Enable the reference clock for timer and watchdog on Armada 375 SoC
  arm: mvebu: Clarify (e)SATA ports info in NETGEAR ReadyNAS 102 .dts file
  arm: mvebu: Fix LED color in NETGEAR ReadyNAS 102 .dts file
  ARM: mvebu: Fix the Aurora L2 cache node with the required cache-unified property
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 2184d566 f5ed9ccc
......@@ -109,6 +109,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
kirkwood-d2net.dtb \
kirkwood-db-88f6281.dtb \
kirkwood-db-88f6282.dtb \
kirkwood-dir665.dtb \
kirkwood-dns320.dtb \
kirkwood-dns325.dtb \
kirkwood-dockstar.dtb \
......
......@@ -35,7 +35,7 @@ soc {
pcie-controller {
status = "okay";
/* Connected to Marvell SATA controller */
/* Connected to Marvell 88SE9170 SATA controller */
pcie@1,0 {
/* Port 0, Lane 0 */
status = "okay";
......@@ -53,8 +53,9 @@ serial@12000 {
status = "okay";
};
/* eSATA interface */
sata@a0000 {
nr-ports = <2>;
nr-ports = <1>;
status = "okay";
};
......@@ -204,20 +205,20 @@ blue-power-led {
default-state = "keep";
};
green-sata1-led {
label = "rn102:green:sata1";
blue-sata1-led {
label = "rn102:blue:sata1";
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
default-state = "on";
};
green-sata2-led {
label = "rn102:green:sata2";
blue-sata2-led {
label = "rn102:blue:sata2";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
default-state = "on";
};
green-backup-led {
label = "rn102:green:backup";
blue-backup-led {
label = "rn102:blue:backup";
gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
default-state = "on";
};
......
......@@ -95,6 +95,7 @@ L2: l2-cache {
compatible = "marvell,aurora-outer-cache";
reg = <0x08000 0x1000>;
cache-id-part = <0x100>;
cache-unified;
wt-override;
};
......
......@@ -36,6 +36,12 @@ mainpll: mainpll {
#clock-cells = <0>;
clock-frequency = <2000000000>;
};
/* 25 MHz reference crystal */
refclk: oscillator {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <25000000>;
};
};
cpus {
......@@ -366,13 +372,15 @@ timer@20300 {
<&gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<&mpic 5>,
<&mpic 6>;
clocks = <&coreclk 0>;
clocks = <&coreclk 0>, <&refclk>;
clock-names = "nbclk", "fixed";
};
watchdog@20300 {
compatible = "marvell,armada-375-wdt";
reg = <0x20300 0x34>, <0x20704 0x4>, <0x18254 0x4>;
clocks = <&coreclk 0>;
clocks = <&coreclk 0>, <&refclk>;
clock-names = "nbclk", "fixed";
};
cpurst@20800 {
......
......@@ -60,40 +60,6 @@ pcie@3,0 {
};
internal-regs {
pinctrl {
pinctrl-0 = <&pmx_phy_int>;
pinctrl-names = "default";
pmx_ge0: pmx-ge0 {
marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3",
"mpp4", "mpp5", "mpp6", "mpp7",
"mpp8", "mpp9", "mpp10", "mpp11";
marvell,function = "ge0";
};
pmx_ge1: pmx-ge1 {
marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15",
"mpp16", "mpp17", "mpp18", "mpp19",
"mpp20", "mpp21", "mpp22", "mpp23";
marvell,function = "ge1";
};
pmx_keys: pmx-keys {
marvell,pins = "mpp33";
marvell,function = "gpio";
};
pmx_spi: pmx-spi {
marvell,pins = "mpp36", "mpp37", "mpp38", "mpp39";
marvell,function = "spi";
};
pmx_phy_int: pmx-phy-int {
marvell,pins = "mpp32";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
......@@ -118,14 +84,14 @@ phy1: ethernet-phy@1 {
};
ethernet@70000 {
pinctrl-0 = <&pmx_ge0>;
pinctrl-0 = <&pmx_ge0_rgmii>;
pinctrl-names = "default";
status = "okay";
phy = <&phy0>;
phy-mode = "rgmii-id";
};
ethernet@74000 {
pinctrl-0 = <&pmx_ge1>;
pinctrl-0 = <&pmx_ge1_rgmii>;
pinctrl-names = "default";
status = "okay";
phy = <&phy1>;
......@@ -162,3 +128,23 @@ button@1 {
};
};
};
&pinctrl {
pinctrl-0 = <&pmx_phy_int>;
pinctrl-names = "default";
pmx_keys: pmx-keys {
marvell,pins = "mpp33";
marvell,function = "gpio";
};
pmx_spi: pmx-spi {
marvell,pins = "mpp36", "mpp37", "mpp38", "mpp39";
marvell,function = "spi";
};
pmx_phy_int: pmx-phy-int {
marvell,pins = "mpp32";
marvell,function = "gpio";
};
};
......@@ -51,37 +51,6 @@ pcie@5,0 {
};
internal-regs {
pinctrl {
poweroff_pin: poweroff-pin {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
power_button_pin: power-button-pin {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
reset_button_pin: reset-button-pin {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
select_button_pin: select-button-pin {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
scroll_button_pin: scroll-button-pin {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
hdd_led_pin: hdd-led-pin {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
......@@ -97,12 +66,16 @@ phy1: ethernet-phy@1 { /* Marvell 88E1318 */
};
ethernet@70000 {
pinctrl-0 = <&pmx_ge0_rgmii>;
pinctrl-names = "default";
status = "okay";
phy = <&phy0>;
phy-mode = "rgmii-id";
};
ethernet@74000 {
pinctrl-0 = <&pmx_ge1_rgmii>;
pinctrl-names = "default";
status = "okay";
phy = <&phy1>;
phy-mode = "rgmii-id";
......@@ -125,6 +98,11 @@ adt7473@2e {
reg = <0x2e>;
};
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
pcf8563@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
......@@ -226,7 +204,7 @@ gpio_spi: gpio_spi@0 {
gpio-controller;
#gpio-cells = <2>;
reg = <0>;
registers-number = <2>;
registers-number = <1>;
spi-max-frequency = <100000>;
};
};
......@@ -282,3 +260,34 @@ gpio-poweroff {
gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
};
};
&pinctrl {
poweroff_pin: poweroff-pin {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
power_button_pin: power-button-pin {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
reset_button_pin: reset-button-pin {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
select_button_pin: select-button-pin {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
scroll_button_pin: scroll-button-pin {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
hdd_led_pin: hdd-led-pin {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
};
......@@ -167,17 +167,6 @@ pcie@5,0 {
};
internal-regs {
pinctrl {
compatible = "marvell,mv78230-pinctrl";
reg = <0x18000 0x38>;
sdio_pins: sdio-pins {
marvell,pins = "mpp30", "mpp31", "mpp32",
"mpp33", "mpp34", "mpp35";
marvell,function = "sd0";
};
};
gpio0: gpio@18100 {
compatible = "marvell,orion-gpio";
reg = <0x18100 0x40>;
......@@ -202,3 +191,7 @@ gpio1: gpio@18140 {
};
};
};
&pinctrl {
compatible = "marvell,mv78230-pinctrl";
};
......@@ -251,17 +251,6 @@ pcie@9,0 {
};
internal-regs {
pinctrl {
compatible = "marvell,mv78260-pinctrl";
reg = <0x18000 0x38>;
sdio_pins: sdio-pins {
marvell,pins = "mpp30", "mpp31", "mpp32",
"mpp33", "mpp34", "mpp35";
marvell,function = "sd0";
};
};
gpio0: gpio@18100 {
compatible = "marvell,orion-gpio";
reg = <0x18100 0x40>;
......@@ -305,3 +294,7 @@ eth3: ethernet@34000 {
};
};
};
&pinctrl {
compatible = "marvell,mv78260-pinctrl";
};
......@@ -289,17 +289,6 @@ pcie@10,0 {
};
internal-regs {
pinctrl {
compatible = "marvell,mv78460-pinctrl";
reg = <0x18000 0x38>;
sdio_pins: sdio-pins {
marvell,pins = "mpp30", "mpp31", "mpp32",
"mpp33", "mpp34", "mpp35";
marvell,function = "sd0";
};
};
gpio0: gpio@18100 {
compatible = "marvell,orion-gpio";
reg = <0x18100 0x40>;
......@@ -343,3 +332,7 @@ eth3: ethernet@34000 {
};
};
};
&pinctrl {
compatible = "marvell,mv78460-pinctrl";
};
......@@ -55,86 +55,10 @@ pcie@5,0 {
};
internal-regs {
pinctrl {
poweroff: poweroff {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
power_button_pin: power-button-pin {
marvell,pins = "mpp27";
marvell,function = "gpio";
};
reset_button_pin: reset-button-pin {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
sata1_led_pin: sata1-led-pin {
marvell,pins = "mpp31";
marvell,function = "gpio";
};
sata2_led_pin: sata2-led-pin {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
sata3_led_pin: sata3-led-pin {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
sata4_led_pin: sata4-led-pin {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
sata1_power_pin: sata1-power-pin {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
sata2_power_pin: sata2-power-pin {
marvell,pins = "mpp25";
marvell,function = "gpio";
};
sata3_power_pin: sata3-power-pin {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
sata4_power_pin: sata4-power-pin {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
sata1_pres_pin: sata1-pres-pin {
marvell,pins = "mpp32";
marvell,function = "gpio";
};
sata2_pres_pin: sata2-pres-pin {
marvell,pins = "mpp33";
marvell,function = "gpio";
};
sata3_pres_pin: sata3-pres-pin {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
sata4_pres_pin: sata4-pres-pin {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
err_led_pin: err-led-pin {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
/* Two rear eSATA ports */
sata@a0000 {
nr-ports = <2>;
status = "okay";
};
serial@12000 {
......@@ -328,3 +252,85 @@ gpio-poweroff {
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
};
&pinctrl {
poweroff: poweroff {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
power_button_pin: power-button-pin {
marvell,pins = "mpp27";
marvell,function = "gpio";
};
reset_button_pin: reset-button-pin {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
sata1_led_pin: sata1-led-pin {
marvell,pins = "mpp31";
marvell,function = "gpio";
};
sata2_led_pin: sata2-led-pin {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
sata3_led_pin: sata3-led-pin {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
sata4_led_pin: sata4-led-pin {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
sata1_power_pin: sata1-power-pin {
marvell,pins = "mpp24";
marvell,function = "gpio";
};
sata2_power_pin: sata2-power-pin {
marvell,pins = "mpp25";
marvell,function = "gpio";
};
sata3_power_pin: sata3-power-pin {
marvell,pins = "mpp26";
marvell,function = "gpio";
};
sata4_power_pin: sata4-power-pin {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
sata1_pres_pin: sata1-pres-pin {
marvell,pins = "mpp32";
marvell,function = "gpio";
};
sata2_pres_pin: sata2-pres-pin {
marvell,pins = "mpp33";
marvell,function = "gpio";
};
sata3_pres_pin: sata3-pres-pin {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
sata4_pres_pin: sata4-pres-pin {
marvell,pins = "mpp35";
marvell,function = "gpio";
};
err_led_pin: err-led-pin {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
};
......@@ -77,12 +77,7 @@ serial@12000 {
serial@12100 {
status = "okay";
};
pinctrl {
led_pins: led-pins-0 {
marvell,pins = "mpp49", "mpp51", "mpp53";
marvell,function = "gpio";
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
......@@ -187,3 +182,10 @@ usb@51000 {
};
};
};
&pinctrl {
led_pins: led-pins-0 {
marvell,pins = "mpp49", "mpp51", "mpp53";
marvell,function = "gpio";
};
};
......@@ -39,6 +39,7 @@ L2: l2-cache {
compatible = "marvell,aurora-system-cache";
reg = <0x08000 0x1000>;
cache-id-part = <0x100>;
cache-unified;
wt-override;
};
......@@ -71,6 +72,43 @@ serial@12300 {
status = "disabled";
};
pinctrl: pin-ctrl@18000 {
reg = <0x18000 0x38>;
pmx_ge0_gmii: pmx-ge0-gmii {
marvell,pins =
"mpp0", "mpp1", "mpp2", "mpp3",
"mpp4", "mpp5", "mpp6", "mpp7",
"mpp8", "mpp9", "mpp10", "mpp11",
"mpp12", "mpp13", "mpp14", "mpp15",
"mpp16", "mpp17", "mpp18", "mpp19",
"mpp20", "mpp21", "mpp22", "mpp23";
marvell,function = "ge0";
};
pmx_ge0_rgmii: pmx-ge0-rgmii {
marvell,pins =
"mpp0", "mpp1", "mpp2", "mpp3",
"mpp4", "mpp5", "mpp6", "mpp7",
"mpp8", "mpp9", "mpp10", "mpp11";
marvell,function = "ge0";
};
pmx_ge1_rgmii: pmx-ge1-rgmii {
marvell,pins =
"mpp12", "mpp13", "mpp14", "mpp15",
"mpp16", "mpp17", "mpp18", "mpp19",
"mpp20", "mpp21", "mpp22", "mpp23";
marvell,function = "ge1";
};
sdio_pins: sdio-pins {
marvell,pins = "mpp30", "mpp31", "mpp32",
"mpp33", "mpp34", "mpp35";
marvell,function = "sd0";
};
};
system-controller@18200 {
compatible = "marvell,armada-370-xp-system-controller";
reg = <0x18200 0x500>;
......
/*
* Copyright (C) 2014 Claudio Leite <leitec@staticky.com>
*
* 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-6281.dtsi"
/ {
model = "D-Link DIR-665";
compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x8000000>; /* 128 MB */
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pinctrl-0 =< &pmx_led_usb
&pmx_led_internet_blue
&pmx_led_internet_amber
&pmx_led_5g &pmx_led_status_blue
&pmx_led_wps &pmx_led_status_amber
&pmx_led_24g
&pmx_btn_restart &pmx_btn_wps>;
pinctrl-names = "default";
pmx_led_usb: pmx-led-usb {
marvell,pins = "mpp12";
marvell,function = "gpio";
};
pmx_led_internet_blue: pmx-led-internet-blue {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
pmx_led_internet_amber: pmx-led-internet-amber {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
pmx_led_5g: pmx-led-5g {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_led_status_blue: pmx-led-status-blue {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_led_wps: pmx-led-wps {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_led_status_amber: pmx-led-status-amber {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
pmx_led_24g: pmx-led-24g {
marvell,pins = "mpp49";
marvell,function = "gpio";
};
pmx_btn_restart: pmx-btn-restart {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_btn_wps: pmx-btn-wps {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
};
spi@10600 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l12805d";
spi-max-frequency = <50000000>;
reg = <0>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "nvram";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "kernel";
reg = <0x40000 0x180000>;
};
partition@1c0000 {
label = "rootfs";
reg = <0x1c0000 0xe00000>;
};
cal_data: partition@fc0000 {
label = "cal_data";
reg = <0xfc0000 0x10000>;
read-only;
};
partition@fd0000 {
label = "lang_pack";
reg = <0xfd0000 0x30000>;
read-only;
};
};
};
serial@12000 {
status = "okay";
};
i2c@11000 {
status = "okay";
};
ehci@50000 {
status = "okay";
};
};
gpio-leds {
compatible = "gpio-leds";
blue-usb {
label = "dir665:blue:usb";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
blue-internet {
/* Can only be turned on if the Internet
* Ethernet port has Link
*/
label = "dir665:blue:internet";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
amber-internet {
label = "dir665:amber:internet";
gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
};
blue-wifi5g {
label = "dir665:blue:5g";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
blue-status {
label = "dir665:blue:status";
gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
};
blue-wps {
label = "dir665:blue:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
};
amber-status {
label = "dir665:amber:status";
gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
};
blue-24g {
label = "dir665:blue:24g";
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};
};
gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
};
dsa@0 {
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
dsa,ethernet = <&eth0port>;
dsa,mii-bus = <&mdio>;
switch@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0 0>; /* MDIO address 0, switch 0 in tree */
port@0 {
reg = <0>;
label = "lan4";
};
port@1 {
reg = <1>;
label = "lan3";
};
port@2 {
reg = <2>;
label = "lan2";
};
port@3 {
reg = <3>;
label = "lan1";
};
port@4 {
reg = <4>;
label = "wan";
};
port@6 {
reg = <6>;
label = "cpu";
};
};
};
};
&mdio {
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 as well. However DSA only supports a
* single CPU port. So leave this port disabled to avoid confusion. */
&eth1 {
status = "disabled";
};
/* There is no battery on the boards, so the RTC does not keep time
* when there is no power, making it useless. */
&rtc {
status = "disabled";
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment