Skip to content

Commit c58181e

Browse files
committed
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 <[email protected]>
2 parents 9df6990 + 7a5b293 commit c58181e

11 files changed

+432
-1
lines changed

arch/arm/boot/dts/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-b3.dtb \
113113
kirkwood-nsa310a.dtb \
114114
kirkwood-openblocks_a6.dtb \
115115
kirkwood-openblocks_a7.dtb \
116+
kirkwood-rd88f6192.dtb \
117+
kirkwood-rd88f6281-a0.dtb \
118+
kirkwood-rd88f6281-a1.dtb \
116119
kirkwood-sheevaplug.dtb \
117120
kirkwood-sheevaplug-esata.dtb \
118121
kirkwood-topkick.dtb \

arch/arm/boot/dts/armada-370-db.dts

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,22 @@
6464
phy-mode = "rgmii-id";
6565
};
6666

67+
i2c@11000 {
68+
pinctrl-0 = <&i2c0_pins>;
69+
pinctrl-names = "default";
70+
status = "okay";
71+
audio_codec: audio-codec@4a {
72+
compatible = "cirrus,cs42l51";
73+
reg = <0x4a>;
74+
};
75+
};
76+
77+
audio-controller@30000 {
78+
pinctrl-0 = <&i2s_pins2>;
79+
pinctrl-names = "default";
80+
status = "okay";
81+
};
82+
6783
mvsdio@d4000 {
6884
pinctrl-0 = <&sdio_pins1>;
6985
pinctrl-names = "default";
@@ -80,6 +96,30 @@
8096
broken-cd;
8197
};
8298

99+
pinctrl {
100+
/*
101+
* These pins might be muxed as I2S by
102+
* the bootloader, but it conflicts
103+
* with the real I2S pins that are
104+
* muxed using i2s_pins. We must mux
105+
* those pins to a function other than
106+
* I2S.
107+
*/
108+
pinctrl-0 = <&hog_pins1 &hog_pins2>;
109+
pinctrl-names = "default";
110+
111+
hog_pins1: hog-pins1 {
112+
marvell,pins = "mpp6", "mpp8", "mpp10",
113+
"mpp12", "mpp13";
114+
marvell,function = "gpio";
115+
};
116+
117+
hog_pins2: hog-pins2 {
118+
marvell,pins = "mpp5", "mpp7", "mpp9";
119+
marvell,function = "gpo";
120+
};
121+
};
122+
83123
usb@50000 {
84124
status = "okay";
85125
};
@@ -112,10 +152,26 @@
112152
/* Port 0, Lane 0 */
113153
status = "okay";
114154
};
155+
115156
pcie@2,0 {
116157
/* Port 1, Lane 0 */
117158
status = "okay";
118159
};
119160
};
120161
};
162+
163+
sound {
164+
compatible = "marvell,a370db-audio";
165+
marvell,audio-controller = <&audio_controller>;
166+
marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
167+
status = "okay";
168+
};
169+
170+
spdif_out: spdif-out {
171+
compatible = "linux,spdif-dit";
172+
};
173+
174+
spdif_in: spdif-in {
175+
compatible = "linux,spdif-dir";
176+
};
121177
};

arch/arm/boot/dts/armada-370-xp.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,10 @@
199199
interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
200200
};
201201

202+
watchdog@20300 {
203+
reg = <0x20300 0x34>, <0x20704 0x4>;
204+
};
205+
202206
usb@50000 {
203207
compatible = "marvell,orion-ehci";
204208
reg = <0x50000 0x500>;

arch/arm/boot/dts/armada-370.dtsi

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,25 @@
132132
"mpp51", "mpp52", "mpp53";
133133
marvell,function = "sd0";
134134
};
135+
136+
i2c0_pins: i2c0-pins {
137+
marvell,pins = "mpp2", "mpp3";
138+
marvell,function = "i2c0";
139+
};
140+
141+
i2s_pins1: i2s-pins1 {
142+
marvell,pins = "mpp5", "mpp6", "mpp7",
143+
"mpp8", "mpp9", "mpp10",
144+
"mpp12", "mpp13";
145+
marvell,function = "audio";
146+
};
147+
148+
i2s_pins2: i2s-pins2 {
149+
marvell,pins = "mpp49", "mpp47", "mpp50",
150+
"mpp59", "mpp57", "mpp61",
151+
"mpp62", "mpp60", "mpp58";
152+
marvell,function = "audio";
153+
};
135154
};
136155

137156
gpio0: gpio@18100 {
@@ -196,6 +215,20 @@
196215
clocks = <&coreclk 2>;
197216
};
198217

218+
watchdog@20300 {
219+
compatible = "marvell,armada-370-wdt";
220+
clocks = <&coreclk 2>;
221+
};
222+
223+
audio_controller: audio-controller@30000 {
224+
compatible = "marvell,armada370-audio";
225+
reg = <0x30000 0x4000>;
226+
interrupts = <93>;
227+
clocks = <&gateclk 0>;
228+
clock-names = "internal";
229+
status = "disabled";
230+
};
231+
199232
usb@50000 {
200233
clocks = <&coreclk 0>;
201234
};

arch/arm/boot/dts/armada-xp.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@
111111
clock-names = "nbclk", "fixed";
112112
};
113113

114+
watchdog@20300 {
115+
compatible = "marvell,armada-xp-wdt";
116+
clocks = <&coreclk 2>, <&refclk>;
117+
clock-names = "nbclk", "fixed";
118+
};
119+
114120
armada-370-xp-pmsu@22000 {
115121
compatible = "marvell,armada-370-xp-pmsu";
116122
reg = <0x22100 0x400>, <0x20800 0x20>;

arch/arm/boot/dts/dove.dtsi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,14 @@
210210
clocks = <&core_clk 0>;
211211
};
212212

213+
watchdog@20300 {
214+
compatible = "marvell,orion-wdt";
215+
reg = <0x20300 0x28>, <0x20108 0x4>;
216+
interrupt-parent = <&bridge_intc>;
217+
interrupts = <3>;
218+
clocks = <&core_clk 0>;
219+
};
220+
213221
crypto: crypto-engine@30000 {
214222
compatible = "marvell,orion-crypto";
215223
reg = <0x30000 0x10000>,
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
/*
2+
* Marvell RD88F6192 Board descrition
3+
*
4+
* Andrew Lunn <[email protected]>
5+
*
6+
* This file is licensed under the terms of the GNU General Public
7+
* License version 2. This program is licensed "as is" without any
8+
* warranty of any kind, whether express or implied.
9+
*
10+
* This file contains the definitions that are common between the three
11+
* variants of the Marvell Kirkwood Development Board.
12+
*/
13+
/dts-v1/;
14+
15+
#include "kirkwood.dtsi"
16+
#include "kirkwood-6192.dtsi"
17+
18+
/ {
19+
model = "Marvell RD88F6192 reference design";
20+
compatible = "marvell,rd88f6192", "marvell,kirkwood-88f6192", "marvell,kirkwood";
21+
22+
memory {
23+
device_type = "memory";
24+
reg = <0x00000000 0x20000000>;
25+
};
26+
27+
chosen {
28+
bootargs = "console=ttyS0,115200n8";
29+
};
30+
31+
mbus {
32+
pcie-controller {
33+
status = "okay";
34+
35+
pcie@1,0 {
36+
status = "okay";
37+
};
38+
};
39+
};
40+
41+
ocp@f1000000 {
42+
pinctrl: pinctrl@10000 {
43+
pinctrl-0 = <&pmx_usb_power>;
44+
pinctrl-names = "default";
45+
46+
pmx_usb_power: pmx-usb-power {
47+
marvell,pins = "mpp10";
48+
marvell,function = "gpo";
49+
};
50+
};
51+
52+
serial@12000 {
53+
status = "okay";
54+
55+
};
56+
57+
spi@10600 {
58+
status = "okay";
59+
pinctrl-0 = <&pmx_spi>;
60+
pinctrl-names = "default";
61+
62+
m25p128@0 {
63+
#address-cells = <1>;
64+
#size-cells = <1>;
65+
compatible = "st,m25p128";
66+
reg = <0>;
67+
spi-max-frequency = <20000000>;
68+
mode = <0>;
69+
};
70+
};
71+
72+
sata@80000 {
73+
status = "okay";
74+
nr-ports = <2>;
75+
};
76+
};
77+
78+
regulators {
79+
compatible = "simple-bus";
80+
#address-cells = <1>;
81+
#size-cells = <0>;
82+
pinctrl-0 = <&pmx_usb_power>;
83+
pinctrl-names = "default";
84+
85+
usb_power: regulator@0 {
86+
compatible = "regulator-fixed";
87+
reg = <0>;
88+
regulator-name = "USB VBUS";
89+
regulator-min-microvolt = <5000000>;
90+
regulator-max-microvolt = <5000000>;
91+
enable-active-high;
92+
regulator-always-on;
93+
regulator-boot-on;
94+
gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>;
95+
};
96+
};
97+
};
98+
99+
&mdio {
100+
status = "okay";
101+
102+
ethphy0: ethernet-phy@8 {
103+
reg = <8>;
104+
};
105+
};
106+
107+
&eth0 {
108+
status = "okay";
109+
ethernet0-port@0 {
110+
phy-handle = <&ethphy0>;
111+
};
112+
};
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
* Marvell RD88F6181 A0 Board descrition
3+
*
4+
* Andrew Lunn <[email protected]>
5+
*
6+
* This file is licensed under the terms of the GNU General Public
7+
* License version 2. This program is licensed "as is" without any
8+
* warranty of any kind, whether express or implied.
9+
*
10+
* This file contains the definitions for the board with the A0 variant of
11+
* the SoC. The ethernet switch does not have a "wan" port.
12+
*/
13+
14+
/dts-v1/;
15+
#include "kirkwood-rd88f6281.dtsi"
16+
17+
/ {
18+
model = "Marvell RD88f6281 Reference design, with A0 SoC";
19+
compatible = "marvell,rd88f6281-a0", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
20+
21+
dsa@0 {
22+
switch@0 {
23+
reg = <10 0>; /* MDIO address 10, switch 0 in tree */
24+
};
25+
};
26+
};
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Marvell RD88F6181 A1 Board descrition
3+
*
4+
* Andrew Lunn <[email protected]>
5+
*
6+
* This file is licensed under the terms of the GNU General Public
7+
* License version 2. This program is licensed "as is" without any
8+
* warranty of any kind, whether express or implied.
9+
*
10+
* This file contains the definitions for the board with the A1 variant of
11+
* the SoC. The ethernet switch has a "wan" port.
12+
*/
13+
14+
/dts-v1/;
15+
16+
#include "kirkwood-rd88f6281.dtsi"
17+
18+
/ {
19+
model = "Marvell RD88f6281 Reference design, with A1 SoC";
20+
compatible = "marvell,rd88f6281-a1", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
21+
22+
dsa@0 {
23+
switch@0 {
24+
reg = <0 0>; /* MDIO address 0, switch 0 in tree */
25+
port@4 {
26+
reg = <4>;
27+
label = "wan";
28+
};
29+
};
30+
};
31+
};

0 commit comments

Comments
 (0)