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

Merge "mvebu DT changes for v3.16 (incremental #2)" from Jason Cooper:

 - kirkwood
    - add OpenRD boards
    - make keymile boards bootable with latest kernels

 - mvebu
    - add ehci/xhci to Armada 375/38x boards

* tag 'mvebu-dt-3.16-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file
  ARM: dts: kirkwood: add kirkwood-km_common DTSI files
  ARM: dts: kirkwood: resynch 98dx4122 dtsi
  ARM: mvebu: add Device Tree description for the EHCI controllers on Armada 375
  ARM: mvebu: add Device Tree description of the xHCI controller on Armada 375
  ARM: mvebu: add Device Tree description of the EHCI controller on Armada 38x
  ARM: mvebu: add Device Tree description of xHCI controllers on Armada 38x
  ARM: Kirkwood: DT versions of OpenRD boards

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2014-05-23 22:44:47 +02:00
commit 704ef0bd23
14 changed files with 453 additions and 37 deletions

View File

@ -128,6 +128,9 @@ kirkwood := \
kirkwood-nsa310a.dtb \
kirkwood-openblocks_a6.dtb \
kirkwood-openblocks_a7.dtb \
kirkwood-openrd-base.dtb \
kirkwood-openrd-client.dtb \
kirkwood-openrd-ultimate.dtb \
kirkwood-rd88f6192.dtb \
kirkwood-rd88f6281-a0.dtb \
kirkwood-rd88f6281-a1.dtb \

View File

@ -101,6 +101,14 @@ partition@1000000 {
};
};
usb@54000 {
status = "okay";
};
usb3@58000 {
status = "okay";
};
mvsdio@d4000 {
pinctrl-0 = <&sdio_pins &sdio_st_pins>;
pinctrl-names = "default";

View File

@ -345,6 +345,30 @@ coherency-fabric@21010 {
reg = <0x21010 0x1c>;
};
usb@50000 {
compatible = "marvell,orion-ehci";
reg = <0x50000 0x500>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 18>;
status = "disabled";
};
usb@54000 {
compatible = "marvell,orion-ehci";
reg = <0x54000 0x500>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 26>;
status = "disabled";
};
usb3@58000 {
compatible = "marvell,armada-375-xhci";
reg = <0x58000 0x20000>,<0x5b880 0x80>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 16>;
status = "disabled";
};
xor@60800 {
compatible = "marvell,orion-xor";
reg = <0x60800 0x100

View File

@ -64,6 +64,10 @@ ethernet@30000 {
phy-mode = "rgmii-id";
};
usb@50000 {
status = "ok";
};
ethernet@70000 {
status = "okay";
phy = <&phy0>;
@ -116,6 +120,14 @@ sdhci@d8000 {
bus-width = <8>;
status = "okay";
};
usb3@f0000 {
status = "okay";
};
usb3@f8000 {
status = "okay";
};
};
pcie-controller {

View File

@ -76,6 +76,10 @@ phy1: ethernet-phy@1 {
reg = <1>;
};
};
usb3@f0000 {
status = "okay";
};
};
pcie-controller {

View File

@ -312,6 +312,14 @@ eth2: ethernet@34000 {
status = "disabled";
};
usb@50000 {
compatible = "marvell,orion-ehci";
reg = <0x58000 0x500>;
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 18>;
status = "disabled";
};
xor@60800 {
compatible = "marvell,orion-xor";
reg = <0x60800 0x100
@ -416,6 +424,22 @@ sdhci@d8000 {
mrvl,clk-delay-cycles = <0x1F>;
status = "disabled";
};
usb3@f0000 {
compatible = "marvell,armada-380-xhci";
reg = <0xf0000 0x4000>,<0xf4000 0x4000>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 9>;
status = "disabled";
};
usb3@f8000 {
compatible = "marvell,armada-380-xhci";
reg = <0xf8000 0x4000>,<0xfc000 0x4000>;
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&gateclk 10>;
status = "disabled";
};
};
};

View File

@ -1,4 +1,39 @@
/ {
mbus {
pciec: pcie-controller {
compatible = "marvell,kirkwood-pcie";
status = "disabled";
device_type = "pci";
#address-cells = <3>;
#size-cells = <2>;
bus-range = <0x00 0xff>;
ranges =
<0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000
0x82000000 0x1 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 0.0 MEM */
0x81000000 0x1 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 0.0 IO */>;
pcie0: pcie@1,0 {
device_type = "pci";
assigned-addresses = <0x82000800 0 0x00040000 0 0x2000>;
reg = <0x0800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
interrupt-map-mask = <0 0 0 0>;
interrupt-map = <0 0 0 0 &intc 9>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 2>;
status = "disabled";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
compatible = "marvell,98dx4122-pinctrl";
@ -6,3 +41,11 @@ pinctrl: pin-controller@10000 {
};
};
};
&sata_phy0 {
status = "disabled";
};
&sata_phy1 {
status = "disabled";
};

View File

@ -0,0 +1,48 @@
/ {
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_i2c_gpio_sda &pmx_i2c_gpio_scl >;
pinctrl-names = "default";
pmx_i2c_gpio_sda: pmx-gpio-sda {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_i2c_gpio_scl: pmx-gpio-scl {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
};
i2c@0 {
compatible = "i2c-gpio";
gpios = < &gpio0 8 GPIO_ACTIVE_HIGH /* sda */
&gpio0 9 GPIO_ACTIVE_HIGH>; /* scl */
i2c-gpio,delay-us = <2>; /* ~100 kHz */
};
};
&nand {
status = "okay";
chip-delay = <25>;
};

View File

@ -0,0 +1,23 @@
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-98dx4122.dtsi"
#include "kirkwood-km_common.dtsi"
/ {
model = "Keymile Kirkwood Fixed Eth";
compatible = "keymile,km_fixedeth", "marvell,kirkwood-98DX4122", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
speed = <1000>; /* <SPEED_1000> */
duplex = <1>; /* <DUPLEX_FULL> */
};
};

View File

@ -2,6 +2,7 @@
#include "kirkwood.dtsi"
#include "kirkwood-98dx4122.dtsi"
#include "kirkwood-km_common.dtsi"
/ {
model = "Keymile Kirkwood Reference Design";
@ -11,43 +12,6 @@ memory {
device_type = "memory";
reg = <0x00000000 0x08000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pinctrl-0 = < &pmx_i2c_gpio_sda &pmx_i2c_gpio_scl >;
pinctrl-names = "default";
pmx_i2c_gpio_sda: pmx-gpio-sda {
marvell,pins = "mpp8";
marvell,function = "gpio";
};
pmx_i2c_gpio_scl: pmx-gpio-scl {
marvell,pins = "mpp9";
marvell,function = "gpio";
};
};
serial@12000 {
status = "ok";
};
};
i2c@0 {
compatible = "i2c-gpio";
gpios = < &gpio0 8 GPIO_ACTIVE_HIGH /* sda */
&gpio0 9 GPIO_ACTIVE_HIGH>; /* scl */
i2c-gpio,delay-us = <2>; /* ~100 kHz */
};
};
&nand {
status = "okay";
chip-delay = <25>;
};
&mdio {

View File

@ -0,0 +1,42 @@
/*
* Marvell OpenRD Base Board Description
*
* Andrew Lunn <andrew@lunn.ch>
*
* 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.
*
* This file contains the definitions that are specific to OpenRD
* base variant of the Marvell Kirkwood Development Board.
*/
/dts-v1/;
#include "kirkwood-openrd.dtsi"
/ {
model = "OpenRD Base";
compatible = "marvell,openrd-base", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
ocp@f1000000 {
serial@12100 {
status = "okay";
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@8 {
reg = <8>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

View File

@ -0,0 +1,73 @@
/*
* Marvell OpenRD Client Board Description
*
* Andrew Lunn <andrew@lunn.ch>
*
* 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.
*
* This file contains the definitions that are specific to OpenRD
* client variant of the Marvell Kirkwood Development Board.
*/
/dts-v1/;
#include "kirkwood-openrd.dtsi"
/ {
model = "OpenRD Client";
compatible = "marvell,openrd-client", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
ocp@f1000000 {
i2c@11000 {
status = "okay";
clock-frequency = <400000>;
cs42l51: cs42l51@4a {
compatible = "cirrus,cs42l51";
reg = <0x4a>;
};
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&audio0>;
};
simple-audio-card,codec {
sound-dai = <&cs42l51>;
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@8 {
reg = <8>;
};
ethphy1: ethernet-phy@24 {
reg = <24>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
};
};

View File

@ -0,0 +1,58 @@
/*
* Marvell OpenRD Ultimate Board Description
*
* Andrew Lunn <andrew@lunn.ch>
*
* 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.
*
* This file contains the definitions that are specific to OpenRD
* ultimate variant of the Marvell Kirkwood Development Board.
*/
/dts-v1/;
#include "kirkwood-openrd.dtsi"
/ {
model = "OpenRD Ultimate";
compatible = "marvell,openrd-ultimate", "marvell,openrd", "marvell,kirkwood-88f6281", "marvell,kirkwood";
ocp@f1000000 {
i2c@11000 {
status = "okay";
clock-frequency = <400000>;
cs42l51: cs42l51@4a {
compatible = "cirrus,cs42l51";
reg = <0x4a>;
};
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <0>;
};
ethphy1: ethernet-phy@1 {
reg = <1>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
};
};

View File

@ -0,0 +1,90 @@
/*
* Marvell OpenRD (Base|Client|Ultimate) Board Description
*
* Andrew Lunn <andrew@lunn.ch>
*
* 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.
*
* This file contains the definitions that are common between the three
* variants of the Marvell Kirkwood Development Board.
*/
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
stdout-path = &uart0;
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pin-controller@10000 {
pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>;
pinctrl-names = "default";
pmx_select28: pmx-select-uart-sd {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_sdio_cd: pmx-sdio-cd {
marvell,pins = "mpp29";
marvell,function = "gpio";
};
pmx_select34: pmx-select-rs232-rs484 {
marvell,pins = "mpp34";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
mvsdio@90000 {
status = "okay";
cd-gpios = <&gpio0 29 9>;
};
};
};
&nand {
status = "okay";
pinctrl-0 = <&pmx_nand>;
pinctrl-names = "default";
partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
};
partition@100000 {
label = "uImage";
reg = <0x0100000 0x400000>;
};
partition@600000 {
label = "root";
reg = <0x0600000 0x1FA00000>;
};
};