blob: a495e5821ab80c779d916f600724492d6771e25a [file] [log] [blame]
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +02001/*
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/;
Ezequiel Garcia38149882013-07-26 10:17:56 -030017#include "armada-370.dtsi"
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020018
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";
Gregory CLEMENT11d59932013-01-10 13:15:14 +010029 reg = <0x00000000 0x40000000>; /* 1 GB */
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +020030 };
31
32 soc {
Ezequiel Garcia0cd37542013-07-26 10:17:58 -030033 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
34 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
Ezequiel Garcia5e12a612013-07-26 10:17:57 -030035
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020036 internal-regs {
37 serial@12000 {
Thomas Petazzoni3b723ae2013-04-09 23:06:38 +020038 status = "okay";
39 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020040 sata@a0000 {
41 nr-ports = <2>;
Thomas Petazzoni3b723ae2013-04-09 23:06:38 +020042 status = "okay";
43 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020044
45 mdio {
Ezequiel Garciafea038e2014-08-11 09:14:38 -030046 pinctrl-0 = <&mdio_pins>;
47 pinctrl-names = "default";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020048 phy0: ethernet-phy@0 {
49 reg = <0>;
50 };
51
52 phy1: ethernet-phy@1 {
53 reg = <1>;
54 };
55 };
56
57 ethernet@70000 {
Ezequiel Garciafea038e2014-08-11 09:14:38 -030058 pinctrl-0 = <&ge0_rgmii_pins>;
59 pinctrl-names = "default";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020060 status = "okay";
61 phy = <&phy0>;
62 phy-mode = "rgmii-id";
63 };
64 ethernet@74000 {
Ezequiel Garciafea038e2014-08-11 09:14:38 -030065 pinctrl-0 = <&ge1_rgmii_pins>;
66 pinctrl-names = "default";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020067 status = "okay";
68 phy = <&phy1>;
69 phy-mode = "rgmii-id";
70 };
71
Thomas Petazzoni249f3822014-02-12 18:21:00 +010072 i2c@11000 {
73 pinctrl-0 = <&i2c0_pins>;
74 pinctrl-names = "default";
Thomas Petazzoniac164d12014-04-18 09:41:44 +020075 clock-frequency = <100000>;
Thomas Petazzoni249f3822014-02-12 18:21:00 +010076 status = "okay";
77 audio_codec: audio-codec@4a {
78 compatible = "cirrus,cs42l51";
79 reg = <0x4a>;
80 };
81 };
82
83 audio-controller@30000 {
84 pinctrl-0 = <&i2s_pins2>;
85 pinctrl-names = "default";
86 status = "okay";
87 };
88
Gregory CLEMENT467f54b2013-04-12 16:29:09 +020089 mvsdio@d4000 {
90 pinctrl-0 = <&sdio_pins1>;
91 pinctrl-names = "default";
92 /*
93 * This device is disabled by default, because
94 * using the SD card connector requires
95 * changing the default CON40 connector
96 * "DB-88F6710_MPP_2xRGMII_DEVICE_Jumper" to a
97 * different connector
98 * "DB-88F6710_MPP_RGMII_SD_Jumper".
99 */
100 status = "disabled";
101 /* No CD or WP GPIOs */
Simon Baatzd87b5fb2013-05-13 23:18:58 +0200102 broken-cd;
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200103 };
104
Thomas Petazzoni249f3822014-02-12 18:21:00 +0100105 pinctrl {
106 /*
107 * These pins might be muxed as I2S by
108 * the bootloader, but it conflicts
109 * with the real I2S pins that are
110 * muxed using i2s_pins. We must mux
111 * those pins to a function other than
112 * I2S.
113 */
114 pinctrl-0 = <&hog_pins1 &hog_pins2>;
115 pinctrl-names = "default";
116
117 hog_pins1: hog-pins1 {
118 marvell,pins = "mpp6", "mpp8", "mpp10",
119 "mpp12", "mpp13";
120 marvell,function = "gpio";
121 };
122
123 hog_pins2: hog-pins2 {
124 marvell,pins = "mpp5", "mpp7", "mpp9";
125 marvell,function = "gpo";
126 };
127 };
128
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200129 usb@50000 {
130 status = "okay";
131 };
132
133 usb@51000 {
134 status = "okay";
135 };
136
137 spi0: spi@10600 {
138 status = "okay";
139
140 spi-flash@0 {
141 #address-cells = <1>;
142 #size-cells = <1>;
143 compatible = "mx25l25635e";
144 reg = <0>; /* Chip select 0 */
145 spi-max-frequency = <50000000>;
146 };
147 };
Thomas Petazzoni96039f72013-11-25 17:26:47 +0100148 };
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200149
Thomas Petazzoni96039f72013-11-25 17:26:47 +0100150 pcie-controller {
151 status = "okay";
152 /*
153 * The two PCIe units are accessible through
154 * both standard PCIe slots and mini-PCIe
155 * slots on the board.
156 */
157 pcie@1,0 {
158 /* Port 0, Lane 0 */
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200159 status = "okay";
Thomas Petazzoni96039f72013-11-25 17:26:47 +0100160 };
Thomas Petazzoni249f3822014-02-12 18:21:00 +0100161
Thomas Petazzoni96039f72013-11-25 17:26:47 +0100162 pcie@2,0 {
163 /* Port 1, Lane 0 */
164 status = "okay";
Gregory CLEMENT467f54b2013-04-12 16:29:09 +0200165 };
Thomas Petazzoni3b723ae2013-04-09 23:06:38 +0200166 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +0200167 };
Thomas Petazzoni249f3822014-02-12 18:21:00 +0100168
169 sound {
170 compatible = "marvell,a370db-audio";
171 marvell,audio-controller = <&audio_controller>;
Thomas Petazzoni5b26bd82014-02-12 18:21:01 +0100172 marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
Thomas Petazzoni249f3822014-02-12 18:21:00 +0100173 status = "okay";
174 };
Thomas Petazzoni5b26bd82014-02-12 18:21:01 +0100175
176 spdif_out: spdif-out {
177 compatible = "linux,spdif-dit";
178 };
179
180 spdif_in: spdif-in {
181 compatible = "linux,spdif-dir";
182 };
Thomas Petazzoni9ae6f742012-06-13 19:01:28 +0200183};