]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/arm/boot/dts/armada-370-db.dts
Merge branches 'acpi-fan', 'acpi-video' and 'acpi-ec'
[mirror_ubuntu-focal-kernel.git] / arch / arm / boot / dts / armada-370-db.dts
1 /*
2 * Device Tree file for Marvell Armada 370 evaluation board
3 * (DB-88F6710-BP-DDR3)
4 *
5 * Copyright (C) 2012 Marvell
6 *
7 * Lior Amsalem <alior@marvell.com>
8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14 */
15
16 /dts-v1/;
17 #include "armada-370.dtsi"
18
19 / {
20 model = "Marvell Armada 370 Evaluation Board";
21 compatible = "marvell,a370-db", "marvell,armada370", "marvell,armada-370-xp";
22
23 chosen {
24 bootargs = "console=ttyS0,115200 earlyprintk";
25 };
26
27 memory {
28 device_type = "memory";
29 reg = <0x00000000 0x40000000>; /* 1 GB */
30 };
31
32 soc {
33 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
34 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
35
36 internal-regs {
37 serial@12000 {
38 status = "okay";
39 };
40 sata@a0000 {
41 nr-ports = <2>;
42 status = "okay";
43 };
44
45 mdio {
46 pinctrl-0 = <&mdio_pins>;
47 pinctrl-names = "default";
48 phy0: ethernet-phy@0 {
49 reg = <0>;
50 };
51
52 phy1: ethernet-phy@1 {
53 reg = <1>;
54 };
55 };
56
57 ethernet@70000 {
58 pinctrl-0 = <&ge0_rgmii_pins>;
59 pinctrl-names = "default";
60 status = "okay";
61 phy = <&phy0>;
62 phy-mode = "rgmii-id";
63 };
64 ethernet@74000 {
65 pinctrl-0 = <&ge1_rgmii_pins>;
66 pinctrl-names = "default";
67 status = "okay";
68 phy = <&phy1>;
69 phy-mode = "rgmii-id";
70 };
71
72 i2c@11000 {
73 pinctrl-0 = <&i2c0_pins>;
74 pinctrl-names = "default";
75 clock-frequency = <100000>;
76 status = "okay";
77 audio_codec: audio-codec@4a {
78 #sound-dai-cells = <0>;
79 compatible = "cirrus,cs42l51";
80 reg = <0x4a>;
81 };
82 };
83
84 audio-controller@30000 {
85 pinctrl-0 = <&i2s_pins2>;
86 pinctrl-names = "default";
87 status = "okay";
88 };
89
90 mvsdio@d4000 {
91 pinctrl-0 = <&sdio_pins1>;
92 pinctrl-names = "default";
93 /*
94 * This device is disabled by default, because
95 * using the SD card connector requires
96 * changing the default CON40 connector
97 * "DB-88F6710_MPP_2xRGMII_DEVICE_Jumper" to a
98 * different connector
99 * "DB-88F6710_MPP_RGMII_SD_Jumper".
100 */
101 status = "disabled";
102 /* No CD or WP GPIOs */
103 broken-cd;
104 };
105
106 usb@50000 {
107 status = "okay";
108 };
109
110 usb@51000 {
111 status = "okay";
112 };
113
114 spi0: spi@10600 {
115 pinctrl-0 = <&spi0_pins2>;
116 pinctrl-names = "default";
117 status = "okay";
118
119 spi-flash@0 {
120 #address-cells = <1>;
121 #size-cells = <1>;
122 compatible = "mx25l25635e";
123 reg = <0>; /* Chip select 0 */
124 spi-max-frequency = <50000000>;
125 };
126 };
127 };
128
129 pcie-controller {
130 status = "okay";
131 /*
132 * The two PCIe units are accessible through
133 * both standard PCIe slots and mini-PCIe
134 * slots on the board.
135 */
136 pcie@1,0 {
137 /* Port 0, Lane 0 */
138 status = "okay";
139 };
140
141 pcie@2,0 {
142 /* Port 1, Lane 0 */
143 status = "okay";
144 };
145 };
146 };
147
148 sound {
149 compatible = "simple-audio-card";
150 simple-audio-card,name = "Armada 370 DB Audio";
151 simple-audio-card,mclk-fs = <256>;
152 simple-audio-card,widgets =
153 "Headphone", "Out Jack",
154 "Line", "In Jack";
155 simple-audio-card,routing =
156 "Out Jack", "HPL",
157 "Out Jack", "HPR",
158 "AIN1L", "In Jack",
159 "AIN1L", "In Jack";
160 status = "okay";
161
162 simple-audio-card,dai-link@0 {
163 format = "i2s";
164 cpu {
165 sound-dai = <&audio_controller 0>;
166 };
167
168 codec {
169 sound-dai = <&audio_codec>;
170 };
171 };
172
173 simple-audio-card,dai-link@1 {
174 format = "i2s";
175 cpu {
176 sound-dai = <&audio_controller 1>;
177 };
178
179 codec {
180 sound-dai = <&spdif_out>;
181 };
182 };
183
184 simple-audio-card,dai-link@2 {
185 format = "i2s";
186 cpu {
187 sound-dai = <&audio_controller 1>;
188 };
189
190 codec {
191 sound-dai = <&spdif_in>;
192 };
193 };
194 };
195
196 spdif_out: spdif-out {
197 #sound-dai-cells = <0>;
198 compatible = "linux,spdif-dit";
199 };
200
201 spdif_in: spdif-in {
202 #sound-dai-cells = <0>;
203 compatible = "linux,spdif-dir";
204 };
205 };
206
207 &pinctrl {
208 /*
209 * These pins might be muxed as I2S by
210 * the bootloader, but it conflicts
211 * with the real I2S pins that are
212 * muxed using i2s_pins. We must mux
213 * those pins to a function other than
214 * I2S.
215 */
216 pinctrl-0 = <&hog_pins1 &hog_pins2>;
217 pinctrl-names = "default";
218
219 hog_pins1: hog-pins1 {
220 marvell,pins = "mpp6", "mpp8", "mpp10",
221 "mpp12", "mpp13";
222 marvell,function = "gpio";
223 };
224
225 hog_pins2: hog-pins2 {
226 marvell,pins = "mpp5", "mpp7", "mpp9";
227 marvell,function = "gpo";
228 };
229 };