GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / bcm53016-meraki-mr32.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Broadcom BCM470X / BCM5301X ARM platform code.
4  * DTS for Meraki MR32 / Codename: Espresso
5  *
6  * Copyright (C) 2018-2020 Christian Lamparter <chunkeey@gmail.com>
7  */
8
9 /dts-v1/;
10
11 #include "bcm4708.dtsi"
12 #include "bcm5301x-nand-cs0-bch8.dtsi"
13 #include <dt-bindings/leds/common.h>
14
15 / {
16         compatible = "meraki,mr32", "brcm,bcm53016", "brcm,bcm4708";
17         model = "Meraki MR32";
18
19         chosen {
20                 bootargs = " console=ttyS0,115200n8 earlycon";
21         };
22
23         memory@0 {
24                 reg = <0x00000000 0x08000000>;
25                 device_type = "memory";
26         };
27
28         aliases {
29                 serial1 = &uart2;
30         };
31
32         leds {
33                 compatible = "gpio-leds";
34
35                 sysled3 {
36                         function = LED_FUNCTION_FAULT;
37                         color = <LED_COLOR_ID_AMBER>;
38                         gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
39                         panic-indicator;
40                 };
41                 sysled2 {
42                         function = LED_FUNCTION_INDICATOR;
43                         color = <LED_COLOR_ID_WHITE>;
44                         gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
45                 };
46         };
47
48         keys {
49                 compatible = "gpio-keys";
50
51                 button-restart {
52                         label = "Reset";
53                         linux,code = <KEY_RESTART>;
54                         gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
55                 };
56         };
57
58         pwm-leds {
59                 compatible = "pwm-leds";
60
61                 red {
62                         /* SYS-LED 1 - Tricolor */
63                         function = LED_FUNCTION_INDICATOR;
64                         color = <LED_COLOR_ID_RED>;
65                         pwms = <&pwm 0 50000 0>;
66                         max-brightness = <255>;
67                 };
68
69                 green {
70                         /* SYS-LED 1 - Tricolor */
71                         function = LED_FUNCTION_POWER;
72                         color = <LED_COLOR_ID_GREEN>;
73                         pwms = <&pwm 1 50000 0>;
74                         max-brightness = <255>;
75                 };
76
77                 blue {
78                         /* SYS-LED 1 - Tricolor */
79                         function = LED_FUNCTION_INDICATOR;
80                         color = <LED_COLOR_ID_BLUE>;
81                         pwms = <&pwm 2 50000 0>;
82                         max-brightness = <255>;
83                 };
84         };
85 };
86
87 &uart0 {
88         clock-frequency = <62500000>;
89         /delete-property/ clocks;
90 };
91
92 &uart1 {
93         status = "disabled";
94 };
95
96 &uart2 {
97         status = "okay";
98         /*
99          * bluetooth-le {
100          *      compatible = "brcm,bcm20732";
101          *      enable-gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
102          *};
103          */
104 };
105
106 &gmac0 {
107         nvmem-cell-names = "mac-address";
108         nvmem-cells = <&mac_address>;
109 };
110
111 &gmac1 {
112         status = "disabled";
113 };
114 &gmac2 {
115         status = "disabled";
116 };
117 &gmac3 {
118         status = "disabled";
119 };
120
121 &pwm {
122         status = "okay";
123         pinctrl-names = "default";
124         pinctrl-0 = <&pinmux_pwm>;
125 };
126
127 &nandcs {
128         nand-ecc-algo = "hw";
129
130         partitions {
131                 /*
132                  * The partition autodetection does not work for this device.
133                  * It will only detect the "nvram" partition with an incorrect size.
134                  *      [    1.721667] 1 bcm47xxpart partitions found on MTD device brcmnand.0
135                  *      [    1.727962] Creating 1 MTD partitions on "brcmnand.0":
136                  *      [    1.733117] 0x000000400000-0x000008000000 : "nvram"
137                  */
138
139                 compatible = "fixed-partitions";
140                 #address-cells = <0x1>;
141                 #size-cells = <0x1>;
142
143                 partition0@0 {
144                         label = "u-boot";
145                         reg = <0x0 0x100000>;
146                         read-only;
147                 };
148
149                 partition1@100000 {
150                         label = "bootkernel1";
151                         reg = <0x100000 0x300000>;
152                         read-only;
153                 };
154
155                 partition2@400000 {
156                         label = "nvram";
157                         reg = <0x400000 0x100000>;
158                         read-only;
159                 };
160
161                 partition3@500000 {
162                         label = "bootkernel2";
163                         reg = <0x500000 0x300000>;
164                         read-only;
165                 };
166
167                 partition4@800000 {
168                         label = "ubi";
169                         reg = <0x800000 0x7780000>;
170                 };
171         };
172 };
173
174 &srab {
175         status = "okay";
176
177         ports {
178                 port@0 {
179                         reg = <0>;
180                         label = "poe";
181                 };
182
183                 port@5 {
184                         reg = <5>;
185                         label = "cpu";
186                         ethernet = <&gmac0>;
187
188                         fixed-link {
189                                 speed = <1000>;
190                                 full-duplex;
191                         };
192                 };
193         };
194 };
195
196 &i2c0 {
197         status = "okay";
198
199         pinctrl-names = "default";
200         pinctrl-0 = <&pinmux_i2c>;
201
202         clock-frequency = <100000>;
203
204         current_sense: ina219@45 {
205                 compatible = "ti,ina219";
206                 reg = <0x45>;
207                 shunt-resistor = <60000>; /* = 60 mOhms */
208         };
209
210         eeprom: eeprom@50 {
211                 compatible = "atmel,24c64";
212                 reg = <0x50>;
213                 pagesize = <32>;
214                 read-only;
215                 #address-cells = <1>;
216                 #size-cells = <1>;
217
218                 mac_address: mac-address@66 {
219                         reg = <0x66 0x6>;
220                 };
221         };
222 };