Merge tag 'cxl-for-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
[linux-2.6-microblaze.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,brcm53016", "brcm,bcm4708";
17         model = "Meraki MR32";
18
19         chosen {
20                 bootargs = " console=ttyS0,115200n8 earlycon";
21         };
22
23         memory {
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                 #address-cells = <1>;
51                 #size-cells = <0>;
52
53                 restart {
54                         label = "Reset";
55                         linux,code = <KEY_RESTART>;
56                         gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
57                 };
58         };
59
60         pwm-leds {
61                 compatible = "pwm-leds";
62
63                 red {
64                         /* SYS-LED 1 - Tricolor */
65                         function = LED_FUNCTION_INDICATOR;
66                         color = <LED_COLOR_ID_RED>;
67                         pwms = <&pwm 0 50000 0>;
68                         max-brightness = <255>;
69                 };
70
71                 green {
72                         /* SYS-LED 1 - Tricolor */
73                         function = LED_FUNCTION_POWER;
74                         color = <LED_COLOR_ID_GREEN>;
75                         pwms = <&pwm 1 50000 0>;
76                         max-brightness = <255>;
77                 };
78
79                 blue {
80                         /* SYS-LED 1 - Tricolor */
81                         function = LED_FUNCTION_INDICATOR;
82                         color = <LED_COLOR_ID_BLUE>;
83                         pwms = <&pwm 2 50000 0>;
84                         max-brightness = <255>;
85                 };
86         };
87
88         i2c {
89                 /*
90                  * The platform provided I2C does not budge.
91                  * This is a replacement until I can figure
92                  * out what are the missing bits...
93                  */
94
95                 compatible = "i2c-gpio";
96                 sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
97                 scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
98                 i2c-gpio,delay-us = <10>; /* close to 100 kHz */
99                 #address-cells = <1>;
100                 #size-cells = <0>;
101
102                 current_sense: ina219@45 {
103                         compatible = "ti,ina219";
104                         reg = <0x45>;
105                         shunt-resistor = <60000>; /* = 60 mOhms */
106                 };
107
108                 eeprom: eeprom@50 {
109                         compatible = "atmel,24c64";
110                         reg = <0x50>;
111                         pagesize = <32>;
112                         read-only;
113                 };
114         };
115 };
116
117 &uart0 {
118         clock-frequency = <62500000>;
119         /delete-property/ clocks;
120 };
121
122 &uart1 {
123         status = "disabled";
124 };
125
126 &uart2 {
127         status = "okay";
128         /*
129          * bluetooth-le {
130          *      compatible = "brcm,bcm20732";
131          *      enable-gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
132          *};
133          */
134 };
135
136 &gmac1 {
137         status = "disabled";
138 };
139 &gmac2 {
140         status = "disabled";
141 };
142 &gmac3 {
143         status = "disabled";
144 };
145
146 &pwm {
147         status = "okay";
148         pinctrl-names = "default";
149         pinctrl-0 = <&pinmux_pwm>;
150 };
151
152 &nandcs {
153         nand-ecc-algo = "hw";
154
155         partitions {
156                 /*
157                  * The partition autodetection does not work for this device.
158                  * It will only detect the "nvram" partition with an incorrect size.
159                  *      [    1.721667] 1 bcm47xxpart partitions found on MTD device brcmnand.0
160                  *      [    1.727962] Creating 1 MTD partitions on "brcmnand.0":
161                  *      [    1.733117] 0x000000400000-0x000008000000 : "nvram"
162                  */
163
164                 compatible = "fixed-partitions";
165                 #address-cells = <0x1>;
166                 #size-cells = <0x1>;
167
168                 partition0@0 {
169                         label = "u-boot";
170                         reg = <0x0 0x100000>;
171                         read-only;
172                 };
173
174                 partition1@100000 {
175                         label = "bootkernel1";
176                         reg = <0x100000 0x300000>;
177                         read-only;
178                 };
179
180                 partition2@400000 {
181                         label = "nvram";
182                         reg = <0x400000 0x100000>;
183                         read-only;
184                 };
185
186                 partition3@500000 {
187                         label = "bootkernel2";
188                         reg = <0x500000 0x300000>;
189                         read-only;
190                 };
191
192                 partition4@800000 {
193                         label = "ubi";
194                         reg = <0x800000 0x7780000>;
195                 };
196         };
197 };