mvebu dt changes for v3.15 (incremental round #2)

- mvebu
     - add audio for Armada 370 DB
     - enable Armada 370/XP watchdog
 
  - kirkwood
     - convert board rd88f6281
     - add board rd88f6192
 
  - dove
     enable watchdog
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQIcBAABAgAGBQJTCDw/AAoJEP45WPkGe8ZnMtwP/2LhvbKUiYqxQAVI8wPtuTt7
 xSeQ/JFuctIY6BAjutfU+Vi4iQGjFNMy6SJVRNQKevbpZbgYnEmJua1/BHtieTYR
 vNTkoUSQiN5DlKkI3dh2FxOT4FsHFx7OaAsxKDWIHPtvaNHHAxq20RHgkbdPjlBx
 pAPpF0lvsoBEtpwPgKrLhKvO84EvD4tXaCMkx0xr1K3AAbEGJ+UxbWii21K3B7fL
 RMCPhQF0xrJ8zTND6KVdZnZ1pzsDFviBHe33ts8hAIXy8oOPyMGR9dns4mzds7vq
 mWdaL0mTzcKif2utwhr9UujEmtEu/m0ZgROMAn6kgTX3hTl8qPbUmDRVqME346aF
 eJA517gPKSuhEzrCpfRk94V0USsy7m2d37qwdlccICx9tOTdNg1u7cYOFCh0aHSW
 WRG+47x+lDDALnhnTNpRy5UtF/QQSA67QFRy2Ls44zHn7vl19ynwnP88BLWsHFJr
 9gJ+b9W9ibmH1ZTJoZhfWTffPcXTu6Cv/tIB6XMGMkFaK5hY1LspyunuWZipdhBj
 fZls0GRr7fMPa8KSBwEcIpM9W0QyWT0qOxlgXG2CnxrEZRsncHOKL7GAh4GCNCU8
 WnXs1+HB6XQR3pd2Zdbw5GCmTTITlHqbNQUvLYBQkcAOFNui5BuJcrx4tpNQLZqi
 RQ2dXD5NdMoI+NOXxX0g
 =F2YM
 -----END PGP SIGNATURE-----

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

Merge "mvebu dt changes for v3.15 (incremental round #2)" from Jason Cooper:

 - mvebu
    - add audio for Armada 370 DB
    - enable Armada 370/XP watchdog

 - kirkwood
    - convert board rd88f6281
    - add board rd88f6192

 - dove
    enable watchdog

* tag 'mvebu-dt-3.15-2' of git://git.infradead.org/linux-mvebu:
  ARM: dove: Enable Dove watchdog in the devicetree
  ARM: kirkwood: Add RSTOUT 'reg' entry to devicetree
  ARM: mvebu: Enable Armada 370/XP watchdog in the devicetree
  ARM: Kirkwood: convert rd88f6281-setup.c to DT.
  ARM: Kirkwood: Add DT description of rd88f6192.
  ARM: mvebu: enable S/PDIF audio in Armada 370 DB Device Tree
  ARM: mvebu: add audio support to Armada 370 DB
  ARM: mvebu: add I2C0 muxing option for Armada 370 SoC
  ARM: mvebu: add audio I2S controller to Armada 370 Device Tree

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2014-02-25 18:16:15 +01:00
commit c58181eb74
11 changed files with 432 additions and 1 deletions

View file

@ -113,6 +113,9 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-b3.dtb \
kirkwood-nsa310a.dtb \
kirkwood-openblocks_a6.dtb \
kirkwood-openblocks_a7.dtb \
kirkwood-rd88f6192.dtb \
kirkwood-rd88f6281-a0.dtb \
kirkwood-rd88f6281-a1.dtb \
kirkwood-sheevaplug.dtb \
kirkwood-sheevaplug-esata.dtb \
kirkwood-topkick.dtb \

View file

@ -64,6 +64,22 @@ ethernet@74000 {
phy-mode = "rgmii-id";
};
i2c@11000 {
pinctrl-0 = <&i2c0_pins>;
pinctrl-names = "default";
status = "okay";
audio_codec: audio-codec@4a {
compatible = "cirrus,cs42l51";
reg = <0x4a>;
};
};
audio-controller@30000 {
pinctrl-0 = <&i2s_pins2>;
pinctrl-names = "default";
status = "okay";
};
mvsdio@d4000 {
pinctrl-0 = <&sdio_pins1>;
pinctrl-names = "default";
@ -80,6 +96,30 @@ mvsdio@d4000 {
broken-cd;
};
pinctrl {
/*
* These pins might be muxed as I2S by
* the bootloader, but it conflicts
* with the real I2S pins that are
* muxed using i2s_pins. We must mux
* those pins to a function other than
* I2S.
*/
pinctrl-0 = <&hog_pins1 &hog_pins2>;
pinctrl-names = "default";
hog_pins1: hog-pins1 {
marvell,pins = "mpp6", "mpp8", "mpp10",
"mpp12", "mpp13";
marvell,function = "gpio";
};
hog_pins2: hog-pins2 {
marvell,pins = "mpp5", "mpp7", "mpp9";
marvell,function = "gpo";
};
};
usb@50000 {
status = "okay";
};
@ -112,10 +152,26 @@ pcie@1,0 {
/* Port 0, Lane 0 */
status = "okay";
};
pcie@2,0 {
/* Port 1, Lane 0 */
status = "okay";
};
};
};
sound {
compatible = "marvell,a370db-audio";
marvell,audio-controller = <&audio_controller>;
marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
status = "okay";
};
spdif_out: spdif-out {
compatible = "linux,spdif-dit";
};
spdif_in: spdif-in {
compatible = "linux,spdif-dir";
};
};

View file

@ -199,6 +199,10 @@ timer@20300 {
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
};
watchdog@20300 {
reg = <0x20300 0x34>, <0x20704 0x4>;
};
usb@50000 {
compatible = "marvell,orion-ehci";
reg = <0x50000 0x500>;

View file

@ -132,6 +132,25 @@ sdio_pins3: sdio-pins3 {
"mpp51", "mpp52", "mpp53";
marvell,function = "sd0";
};
i2c0_pins: i2c0-pins {
marvell,pins = "mpp2", "mpp3";
marvell,function = "i2c0";
};
i2s_pins1: i2s-pins1 {
marvell,pins = "mpp5", "mpp6", "mpp7",
"mpp8", "mpp9", "mpp10",
"mpp12", "mpp13";
marvell,function = "audio";
};
i2s_pins2: i2s-pins2 {
marvell,pins = "mpp49", "mpp47", "mpp50",
"mpp59", "mpp57", "mpp61",
"mpp62", "mpp60", "mpp58";
marvell,function = "audio";
};
};
gpio0: gpio@18100 {
@ -196,6 +215,20 @@ timer@20300 {
clocks = <&coreclk 2>;
};
watchdog@20300 {
compatible = "marvell,armada-370-wdt";
clocks = <&coreclk 2>;
};
audio_controller: audio-controller@30000 {
compatible = "marvell,armada370-audio";
reg = <0x30000 0x4000>;
interrupts = <93>;
clocks = <&gateclk 0>;
clock-names = "internal";
status = "disabled";
};
usb@50000 {
clocks = <&coreclk 0>;
};

View file

@ -111,6 +111,12 @@ timer@20300 {
clock-names = "nbclk", "fixed";
};
watchdog@20300 {
compatible = "marvell,armada-xp-wdt";
clocks = <&coreclk 2>, <&refclk>;
clock-names = "nbclk", "fixed";
};
armada-370-xp-pmsu@22000 {
compatible = "marvell,armada-370-xp-pmsu";
reg = <0x22100 0x400>, <0x20800 0x20>;

View file

@ -210,6 +210,14 @@ timer: timer@20300 {
clocks = <&core_clk 0>;
};
watchdog@20300 {
compatible = "marvell,orion-wdt";
reg = <0x20300 0x28>, <0x20108 0x4>;
interrupt-parent = <&bridge_intc>;
interrupts = <3>;
clocks = <&core_clk 0>;
};
crypto: crypto-engine@30000 {
compatible = "marvell,orion-crypto";
reg = <0x30000 0x10000>,

View file

@ -0,0 +1,112 @@
/*
* Marvell RD88F6192 Board descrition
*
* 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.
*/
/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6192.dtsi"
/ {
model = "Marvell RD88F6192 reference design";
compatible = "marvell,rd88f6192", "marvell,kirkwood-88f6192", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8";
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pinctrl@10000 {
pinctrl-0 = <&pmx_usb_power>;
pinctrl-names = "default";
pmx_usb_power: pmx-usb-power {
marvell,pins = "mpp10";
marvell,function = "gpo";
};
};
serial@12000 {
status = "okay";
};
spi@10600 {
status = "okay";
pinctrl-0 = <&pmx_spi>;
pinctrl-names = "default";
m25p128@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "st,m25p128";
reg = <0>;
spi-max-frequency = <20000000>;
mode = <0>;
};
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
};
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&pmx_usb_power>;
pinctrl-names = "default";
usb_power: regulator@0 {
compatible = "regulator-fixed";
reg = <0>;
regulator-name = "USB VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
regulator-always-on;
regulator-boot-on;
gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>;
};
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@8 {
reg = <8>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};

View file

@ -0,0 +1,26 @@
/*
* Marvell RD88F6181 A0 Board descrition
*
* 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 for the board with the A0 variant of
* the SoC. The ethernet switch does not have a "wan" port.
*/
/dts-v1/;
#include "kirkwood-rd88f6281.dtsi"
/ {
model = "Marvell RD88f6281 Reference design, with A0 SoC";
compatible = "marvell,rd88f6281-a0", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
dsa@0 {
switch@0 {
reg = <10 0>; /* MDIO address 10, switch 0 in tree */
};
};
};

View file

@ -0,0 +1,31 @@
/*
* Marvell RD88F6181 A1 Board descrition
*
* 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 for the board with the A1 variant of
* the SoC. The ethernet switch has a "wan" port.
*/
/dts-v1/;
#include "kirkwood-rd88f6281.dtsi"
/ {
model = "Marvell RD88f6281 Reference design, with A1 SoC";
compatible = "marvell,rd88f6281-a1", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
dsa@0 {
switch@0 {
reg = <0 0>; /* MDIO address 0, switch 0 in tree */
port@4 {
reg = <4>;
label = "wan";
};
};
};
};

View file

@ -0,0 +1,152 @@
/*
* Marvell RD88F6181 Common Board descrition
*
* 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 two
* 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";
};
mbus {
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pinctrl@10000 {
pinctrl-0 = <&pmx_sdio_cd>;
pinctrl-names = "default";
pmx_sdio_cd: pmx-sdio-cd {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
};
serial@12000 {
status = "okay";
};
sata@80000 {
status = "okay";
nr-ports = <2>;
};
mvsdio@90000 {
pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
pinctrl-names = "default";
status = "okay";
cd-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
/* No WP GPIO */
};
};
dsa@0 {
compatible = "marvell,dsa";
#address-cells = <2>;
#size-cells = <0>;
dsa,ethernet = <&eth0>;
dsa,mii-bus = <&ethphy1>;
switch@0 {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
};
port@1 {
reg = <1>;
label = "lan2";
};
port@2 {
reg = <2>;
label = "lan3";
};
port@3 {
reg = <3>;
label = "lan4";
};
port@5 {
reg = <5>;
label = "cpu";
};
};
};
};
&nand {
status = "okay";
partition@0 {
label = "u-boot";
reg = <0x0000000 0x100000>;
read-only;
};
partition@100000 {
label = "uImage";
reg = <0x0100000 0x200000>;
};
partition@300000 {
label = "data";
reg = <0x0300000 0x500000>;
};
};
&mdio {
status = "okay";
ethphy0: ethernet-phy@0 {
reg = <0>;
};
ethphy1: ethernet-phy@ff {
reg = <0xff>; /* No PHY attached */
speed = <1000>;
duple = <1>;
};
};
&eth0 {
status = "okay";
ethernet0-port@0 {
phy-handle = <&ethphy0>;
};
};
&eth1 {
status = "okay";
ethernet1-port@0 {
phy-handle = <&ethphy1>;
};
};

View file

@ -178,7 +178,7 @@ timer: timer@20300 {
wdt: watchdog-timer@20300 {
compatible = "marvell,orion-wdt";
reg = <0x20300 0x28>;
reg = <0x20300 0x28>, <0x20108 0x4>;
interrupt-parent = <&bridge_intc>;
interrupts = <3>;
clocks = <&gate_clk 7>;