blob: f47ced05c531b9211e08df8178e95ef122069c7a [file] [log] [blame]
Marek Behúnf835bed2018-04-24 17:21:31 +02001// SPDX-License-Identifier: GPL-2.0+ or X11
2/*
3 * Device Tree file for CZ.NIC Turris Mox Board
4 * 2018 by Marek Behun <marek.behun@nic.cz>
5 *
6 * Based on armada-3720-espressobin.dts by:
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Konstantin Porotchkin <kostap@marvell.com>
9 */
10
11/dts-v1/;
12
13#include <dt-bindings/gpio/gpio.h>
Marek Behúnfe254c42021-06-07 16:34:46 +020014#include <dt-bindings/input/input.h>
15#include <dt-bindings/leds/common.h>
Marek Behúnf835bed2018-04-24 17:21:31 +020016#include "armada-372x.dtsi"
17
18/ {
19 model = "CZ.NIC Turris Mox Board";
20 compatible = "cznic,turris-mox", "marvell,armada3720",
21 "marvell,armada3710";
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 aliases {
28 ethernet0 = &eth0;
Marek Behún4feafb22018-12-17 16:10:04 +010029 ethernet1 = &eth1;
Marek Behúnf835bed2018-04-24 17:21:31 +020030 i2c0 = &i2c0;
31 spi0 = &spi0;
32 };
33
34 memory {
35 device_type = "memory";
36 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
37 };
38
Marek Behúnfe254c42021-06-07 16:34:46 +020039 leds {
40 compatible = "gpio-leds";
41
42 led {
43 gpios = <&gpiosb 21 GPIO_ACTIVE_LOW>;
44 color = <LED_COLOR_ID_RED>;
45 function = LED_FUNCTION_ACTIVITY;
46 };
47 };
48
49 gpio-keys {
50 compatible = "gpio-keys";
51
52 reset {
53 compatible = "gpio-keys";
54 label = "reset";
55 linux,code = <KEY_RESTART>;
56 gpios = <&gpiosb 20 GPIO_ACTIVE_LOW>;
57 debounce-interval = <60>;
58 };
59 };
60
Marek Behúnf835bed2018-04-24 17:21:31 +020061 reg_usb3_vbus: usb3_vbus@0 {
62 compatible = "regulator-fixed";
63 regulator-name = "usb3-vbus";
64 regulator-min-microvolt = <5000000>;
65 regulator-max-microvolt = <5000000>;
Marek Behún4feafb22018-12-17 16:10:04 +010066 startup-delay-us = <2000000>;
Marek Behúnf835bed2018-04-24 17:21:31 +020067 shutdown-delay-us = <1000000>;
68 gpio = <&gpiosb 0 GPIO_ACTIVE_HIGH>;
Marek Behúnde13b612020-04-08 12:02:06 +020069 enable-active-high;
Marek Behúnf835bed2018-04-24 17:21:31 +020070 regulator-boot-on;
71 };
72
Marek Behúnb78519b2020-04-08 12:02:04 +020073 vsdc_reg: vsdc-reg {
74 compatible = "regulator-gpio";
75 regulator-name = "vsdc";
76 regulator-min-microvolt = <1800000>;
77 regulator-max-microvolt = <3300000>;
78 regulator-boot-on;
79
80 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
81 gpios-states = <0>;
82 states = <1800000 0x1
83 3300000 0x0>;
84 enable-active-high;
85 };
86
Marek Behúnf835bed2018-04-24 17:21:31 +020087 mdio {
Marek Behún4feafb22018-12-17 16:10:04 +010088 #address-cells = <1>;
89 #size-cells = <0>;
90
Marek Behúnf835bed2018-04-24 17:21:31 +020091 eth_phy1: ethernet-phy@1 {
92 reg = <1>;
93 };
94 };
95};
96
97&comphy {
98 max-lanes = <3>;
99 phy0 {
Igal Libermanffd5d2f2017-04-26 15:40:00 +0300100 phy-type = <COMPHY_TYPE_SGMII1>;
101 phy-speed = <COMPHY_SPEED_3_125G>;
Marek Behúnf835bed2018-04-24 17:21:31 +0200102 };
103
104 phy1 {
Igal Libermanffd5d2f2017-04-26 15:40:00 +0300105 phy-type = <COMPHY_TYPE_PEX0>;
106 phy-speed = <COMPHY_SPEED_5G>;
Marek Behúnf835bed2018-04-24 17:21:31 +0200107 };
108
109 phy2 {
Igal Libermanffd5d2f2017-04-26 15:40:00 +0300110 phy-type = <COMPHY_TYPE_USB3_HOST0>;
111 phy-speed = <COMPHY_SPEED_5G>;
Marek Behúnf835bed2018-04-24 17:21:31 +0200112 };
113};
114
115&eth0 {
116 status = "okay";
117 pinctrl-names = "default";
118 pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
119 phy-mode = "rgmii";
120 phy = <&eth_phy1>;
121};
122
123&i2c0 {
124 pinctrl-names = "default";
125 pinctrl-0 = <&i2c1_pins>;
126 status = "okay";
Stefan Roese50ec50c2020-08-10 10:16:56 +0200127 #address-cells = <1>;
128 #size-cells = <0>;
Marek Behún4feafb22018-12-17 16:10:04 +0100129
130 rtc@6f {
131 compatible = "microchip,mcp7941x";
132 reg = <0x6f>;
133 };
Marek Behúnf835bed2018-04-24 17:21:31 +0200134};
135
136&sdhci1 {
Marek Behúnb78519b2020-04-08 12:02:04 +0200137 wp-inverted;
Marek Behúnf835bed2018-04-24 17:21:31 +0200138 bus-width = <4>;
Marek Behúnb78519b2020-04-08 12:02:04 +0200139 cd-gpios = <&gpionb 10 GPIO_ACTIVE_HIGH>;
140 vqmmc-supply = <&vsdc_reg>;
141 marvell,pad-type = "sd";
Marek Behúnf835bed2018-04-24 17:21:31 +0200142 status = "okay";
143};
144
145&pinctrl_nb {
146 spi_cs1_pins: spi-cs1-pins {
147 groups = "spi_cs1";
148 function = "spi";
149 };
150};
151
Marek Behúnf835bed2018-04-24 17:21:31 +0200152&spi0 {
153 status = "okay";
154 pinctrl-names = "default";
155 pinctrl-0 = <&spi_cs1_pins>;
Marek Behúnf94ec8a2018-08-17 12:59:01 +0200156 assigned-clocks = <&nb_periph_clk 7>;
157 assigned-clock-parents = <&tbg 1>;
158 assigned-clock-rates = <20000000>;
Marek Behúnf835bed2018-04-24 17:21:31 +0200159
160 spi-flash@0 {
161 #address-cells = <1>;
162 #size-cells = <1>;
Neil Armstronga009fa72019-02-10 10:16:20 +0000163 compatible = "st,s25fl064l", "jedec,spi-nor";
Marek Behúnf835bed2018-04-24 17:21:31 +0200164 reg = <0>;
165 spi-max-frequency = <20000000>;
166 m25p,fast-read;
Marek Behún59b50af2021-06-07 16:34:50 +0200167
168 partitions {
169 compatible = "fixed-partitions";
170 #address-cells = <1>;
171 #size-cells = <1>;
172
173 partition@0 {
174 label = "secure-firmware";
175 reg = <0x0 0x20000>;
176 };
177
178 partition@20000 {
179 label = "a53-firmware";
180 reg = <0x20000 0x160000>;
181 };
182
183 partition@180000 {
184 label = "u-boot-env";
185 reg = <0x180000 0x10000>;
186 };
187
188 partition@190000 {
189 label = "Rescue system";
190 reg = <0x190000 0x660000>;
191 };
192
193 partition@7f0000 {
194 label = "dtb";
195 reg = <0x7f0000 0x10000>;
196 };
197 };
Marek Behúnf835bed2018-04-24 17:21:31 +0200198 };
Marek Behún35b35132018-12-17 16:10:03 +0100199
200 moxtet@1 {
201 #address-cells = <1>;
202 #size-cells = <0>;
203 compatible = "cznic,moxtet";
204 reg = <1>;
205 reset-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
206 spi-max-frequency = <1000000>;
207 spi-cpol;
208 spi-cpha;
209 };
Marek Behúnf835bed2018-04-24 17:21:31 +0200210};
211
212&uart0 {
213 pinctrl-names = "default";
214 pinctrl-0 = <&uart1_pins>;
215 status = "okay";
216};
217
218&usb2 {
219 status = "okay";
220};
221
222&usb3 {
223 vbus-supply = <&reg_usb3_vbus>;
224 status = "okay";
225};
Marek Behún9602a8c2018-08-21 12:22:09 +0200226
227&pcie0 {
228 pinctrl-names = "default";
229 pinctrl-0 = <&pcie_pins>;
Pali Rohár0130a612020-08-19 15:57:06 +0200230 reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
Marek Behún9602a8c2018-08-21 12:22:09 +0200231 status = "disabled";
232};