]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/marvell/armada-3720-db.dts
Update our copies of the Device Tree Source to Linux 4.15
[FreeBSD/FreeBSD.git] / src / arm64 / marvell / armada-3720-db.dts
1 /*
2  * Device Tree file for Marvell Armada 3720 development board
3  * (DB-88F3720-DDR3)
4  * Copyright (C) 2016 Marvell
5  *
6  * Gregory CLEMENT <gregory.clement@free-electrons.com>
7  *
8  * This file is dual-licensed: you can use it either under the terms
9  * of the GPL or the X11 license, at your option. Note that this dual
10  * licensing only applies to this file, and not this project as a
11  * whole.
12  *
13  *  a) This file is free software; you can redistribute it and/or
14  *     modify it under the terms of the GNU General Public License as
15  *     published by the Free Software Foundation; either version 2 of the
16  *     License, or (at your option) any later version.
17  *
18  *     This file is distributed in the hope that it will be useful,
19  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
20  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  *     GNU General Public License for more details.
22  *
23  * Or, alternatively,
24  *
25  *  b) Permission is hereby granted, free of charge, to any person
26  *     obtaining a copy of this software and associated documentation
27  *     files (the "Software"), to deal in the Software without
28  *     restriction, including without limitation the rights to use,
29  *     copy, modify, merge, publish, distribute, sublicense, and/or
30  *     sell copies of the Software, and to permit persons to whom the
31  *     Software is furnished to do so, subject to the following
32  *     conditions:
33  *
34  *     The above copyright notice and this permission notice shall be
35  *     included in all copies or substantial portions of the Software.
36  *
37  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44  *     OTHER DEALINGS IN THE SOFTWARE.
45  *
46  * This file is compatible with the version 1.4 and the version 2.0 of
47  * the board, however the CON numbers are different between the 2
48  * version
49  */
50
51 /dts-v1/;
52
53 #include <dt-bindings/gpio/gpio.h>
54 #include "armada-372x.dtsi"
55
56 / {
57         model = "Marvell Armada 3720 Development Board DB-88F3720-DDR3";
58         compatible = "marvell,armada-3720-db", "marvell,armada3720", "marvell,armada3710";
59
60         chosen {
61                 stdout-path = "serial0:115200n8";
62         };
63
64         memory@0 {
65                 device_type = "memory";
66                 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
67         };
68
69         exp_usb3_vbus: usb3-vbus {
70                 compatible = "regulator-fixed";
71                 regulator-name = "usb3-vbus";
72                 regulator-min-microvolt = <5000000>;
73                 regulator-max-microvolt = <5000000>;
74                 enable-active-high;
75                 regulator-always-on;
76                 gpio = <&gpio_exp 1 GPIO_ACTIVE_HIGH>;
77         };
78
79         usb3_phy: usb3-phy {
80                 compatible = "usb-nop-xceiv";
81                 vcc-supply = <&exp_usb3_vbus>;
82         };
83
84         vcc_sd_reg1: regulator {
85                 compatible = "regulator-gpio";
86                 regulator-name = "vcc_sd1";
87                 regulator-min-microvolt = <1800000>;
88                 regulator-max-microvolt = <3300000>;
89                 regulator-boot-on;
90
91                 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
92                 gpios-states = <0>;
93                 states = <1800000 0x1
94                           3300000 0x0>;
95                 enable-active-high;
96         };
97
98         vcc_sd_reg2: regulator-vmcc {
99                 compatible = "regulator-fixed";
100                 regulator-name = "vcc_sd2";
101                 regulator-min-microvolt = <3300000>;
102                 regulator-max-microvolt = <3300000>;
103                 regulator-boot-on;
104                 enable-active-high;
105                 gpio = <&gpio_exp 4 GPIO_ACTIVE_HIGH>;
106         };
107 };
108
109 /* Gigabit module on CON19(V2.0)/CON21(V1.4) */
110 &eth0 {
111         pinctrl-names = "default";
112         pinctrl-0 = <&rgmii_pins>;
113         phy-mode = "rgmii-id";
114         phy = <&phy0>;
115         status = "okay";
116 };
117
118 /* Gigabit module on CON18(V2.0)/CON20(V1.4) */
119 &eth1 {
120         phy-mode = "sgmii";
121         phy = <&phy1>;
122         status = "okay";
123 };
124
125 &i2c0 {
126         pinctrl-names = "default";
127         pinctrl-0 = <&i2c1_pins>;
128         status = "okay";
129
130         gpio_exp: pca9555@22 {
131                 compatible = "nxp,pca9555";
132                 gpio-controller;
133                 #gpio-cells = <2>;
134
135                 reg = <0x22>;
136                 /*
137                  * IO0_0: PWR_EN_USB2   IO1_0: PWR_EN_VTT
138                  * IO0_1: PWR_EN_USB23  IO1_1: MPCIE_WDISABLE
139                  * IO0_2: PWR_EN_SATA   IO1_2: RGMII_DEV_RSTN
140                  * IO0_3: PWR_EN_PCIE   IO1_3: SGMII_DEV_RSTN
141                  * IO0_4: PWR_EN_SD
142                  * IO0_5: PWR_EN_EMMC
143                  * IO0_6: PWR_EN_RGMII  IO1_6: SATA_USB3.0_SEL
144                  * IO0_7: PWR_EN_SGMII  IO1_7: PWR_MCI_PS
145                  */
146         };
147
148         rtc@68  {
149                 /* PT7C4337A from pericom fully compatible with the ds1337 */
150                 compatible = "dallas,ds1337";
151                 reg = <0x68>;
152         };
153 };
154
155 &mdio {
156         status = "okay";
157         phy0: ethernet-phy@0 {
158                 reg = <0>;
159         };
160
161         phy1: ethernet-phy@1 {
162                 reg = <1>;
163         };
164 };
165
166 /* CON15(V2.0)/CON17(V1.4) : PCIe / CON15(V2.0)/CON12(V1.4) :mini-PCIe */
167 &pcie0 {
168         status = "okay";
169 };
170
171 /* CON3 */
172 &sata {
173         status = "okay";
174 };
175
176 &sdhci0 {
177         non-removable;
178         bus-width = <8>;
179         mmc-ddr-1_8v;
180         mmc-hs400-1_8v;
181         marvell,pad-type = "fixed-1-8v";
182         status = "okay";
183 };
184
185 /* SD slot module on CON14(V2.0)/CON15(V1.4) */
186 &sdhci1 {
187         wp-inverted;
188         cd-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
189         bus-width = <4>;
190         marvell,pad-type = "sd";
191         vqmmc-supply = <&vcc_sd_reg1>;
192         vmmc-supply = <&vcc_sd_reg2>;
193         status = "okay";
194 };
195
196 &spi0 {
197         status = "okay";
198         pinctrl-names = "default";
199         pinctrl-0 = <&spi_quad_pins>;
200
201         m25p80@0 {
202                 compatible = "jedec,spi-nor";
203                 reg = <0>;
204                 spi-max-frequency = <108000000>;
205                 spi-rx-bus-width = <4>;
206                 spi-tx-bus-width = <4>;
207
208                 partitions {
209                         compatible = "fixed-partitions";
210                         #address-cells = <1>;
211                         #size-cells = <1>;
212                         partition@0 {
213                                 label = "bootloader";
214                                 reg = <0x0 0x200000>;
215                         };
216                         partition@200000 {
217                                 label = "U-boot Env";
218                                 reg = <0x200000 0x10000>;
219                         };
220                         partition@210000 {
221                                 label = "Linux";
222                                 reg = <0x210000 0xDF0000>;
223                         };
224                 };
225         };
226 };
227
228 /*
229  * Exported on the micro USB connector CON30(V2.0)/CON32(V1.4) through
230  * an FTDI (also on CON24(V2.0)/CON26(V1.4)).
231  */
232 &uart0 {
233         pinctrl-names = "default";
234         pinctrl-0 = <&uart1_pins>;
235         status = "okay";
236 };
237
238 /* CON26(V2.0)/CON28(V1.4) */
239 &uart1 {
240         pinctrl-names = "default";
241         pinctrl-0 = <&uart2_pins>;
242         status = "okay";
243 };
244
245 /* CON27(V2.0)/CON29(V1.4) */
246 &usb2 {
247         status = "okay";
248 };
249
250 /* CON29(V2.0)/CON31(V1.4) */
251 &usb3 {
252         status = "okay";
253         usb-phy = <&usb3_phy>;
254 };