Merge https://gitlab.denx.de/u-boot/custodians/u-boot-sh
[platform/kernel/u-boot.git] / arch / arm / dts / beacon-renesom-som.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright 2020, Compass Electronics Group, LLC
4  */
5
6 #include <dt-bindings/gpio/gpio.h>
7
8 / {
9         memory@48000000 {
10                 device_type = "memory";
11                 /* first 128MB is reserved for secure area. */
12                 reg = <0x0 0x48000000 0x0 0x78000000>;
13         };
14
15         memory@600000000 {
16                 device_type = "memory";
17                 reg = <0x6 0x00000000 0x0 0x80000000>;
18         };
19
20         osc_32k: osc_32k {
21                 compatible = "fixed-clock";
22                 #clock-cells = <0>;
23                 clock-frequency = <32768>;
24                 clock-output-names = "osc_32k";
25         };
26
27         reg_1p8v: regulator0 {
28                 compatible = "regulator-fixed";
29                 regulator-name = "fixed-1.8V";
30                 regulator-min-microvolt = <1800000>;
31                 regulator-max-microvolt = <1800000>;
32                 regulator-boot-on;
33                 regulator-always-on;
34         };
35
36         reg_3p3v: regulator1 {
37                 compatible = "regulator-fixed";
38                 regulator-name = "fixed-3.3V";
39                 regulator-min-microvolt = <3300000>;
40                 regulator-max-microvolt = <3300000>;
41                 regulator-boot-on;
42                 regulator-always-on;
43         };
44
45         wlan_pwrseq: wlan_pwrseq {
46                 compatible = "mmc-pwrseq-simple";
47                 reset-gpios = <&pca9654 1 GPIO_ACTIVE_LOW>;
48                 clocks = <&osc_32k>;
49                 clock-names = "ext_clock";
50                 post-power-on-delay-ms = <80>;
51         };
52 };
53
54 &avb {
55         pinctrl-0 = <&avb_pins>;
56         pinctrl-names = "default";
57         phy-handle = <&phy0>;
58         phy-mode = "rgmii-id";
59         status = "okay";
60
61         phy0: ethernet-phy@0 {
62                 reg = <0>;
63                 interrupt-parent = <&gpio2>;
64                 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
65                 reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
66         };
67 };
68
69 &extal_clk {
70         clock-frequency = <16666666>;
71 };
72
73 &extalr_clk {
74         clock-frequency = <32768>;
75 };
76
77 &gpio6 {
78         usb_hub_reset {
79                 gpio-hog;
80                 gpios = <10 GPIO_ACTIVE_HIGH>;
81                 output-high;
82                 line-name = "usb-hub-reset";
83         };
84 };
85
86 &hscif0 {
87         pinctrl-0 = <&hscif0_pins>;
88         pinctrl-names = "default";
89         uart-has-rtscts;
90         status = "okay";
91         max-speed = <4000000>;
92
93         bluetooth {
94                 compatible = "brcm,bcm43438-bt";
95                 shutdown-gpios = <&pca9654 2 GPIO_ACTIVE_HIGH>;
96                 host-wakeup-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
97                 device-wakeup-gpios = <&pca9654 5 GPIO_ACTIVE_HIGH>;
98                 clocks = <&osc_32k>;
99                 clock-names = "extclk";
100         };
101 };
102
103 &hscif2 {
104         status = "okay";
105         pinctrl-0 = <&hscif2_pins>;
106         pinctrl-names = "default";
107 };
108
109 &i2c4 {
110         status = "okay";
111         clock-frequency = <400000>;
112
113         pca9654: gpio@20 {
114                 compatible = "onnn,pca9654";
115                 reg = <0x20>;
116                 gpio-controller;
117                 #gpio-cells = <2>;
118                 gpio-line-names =
119                         "i2c4_20_0",
120                         "wl_reg_on",
121                         "bt_reg_on",
122                         "i2c4_20_3",
123                         "i2c4_20_4",
124                         "bt_dev_wake",
125                         "i2c4_20_6",
126                         "i2c4_20_7";
127         };
128
129         pca9654_lte: gpio@21 {
130                 compatible = "onnn,pca9654";
131                 reg = <0x21>;
132                 interrupt-parent = <&gpio5>;
133                 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
134                 interrupt-controller;
135                 #interrupt-cells = <2>;
136                 gpio-controller;
137                 #gpio-cells = <2>;
138                 gpio-line-names =
139                         "i2c4_21_0",
140                         "zoe_pwr_on",
141                         "zoe_extint",
142                         "zoe_reset_n",
143                         "sara_reset",
144                         "i2c4_21_5",
145                         "sara_pwr_off",
146                         "sara_networking_status";
147         };
148
149         eeprom@50 {
150                 compatible = "microchip, at24c64", "atmel,24c64";
151                 pagesize = <32>;
152                 read-only;      /* Manufacturing EEPROM programmed at factory */
153                 reg = <0x50>;
154         };
155
156         rtc@51 {
157                 compatible = "nxp,pcf85263";
158                 reg = <0x51>;
159         };
160
161         versaclock5: versaclock_som@6a {
162                 compatible = "idt,5p49v6965";
163                 reg = <0x6a>;
164                 #clock-cells = <1>;
165                 clocks = <&x304_clk>;
166                 clock-names = "xin";
167                 /* du_dotclkin0, du_dotclkin2, usb_extal, avb_txcrefclk */
168                 assigned-clocks = <&versaclock5 1>,
169                                    <&versaclock5 2>,
170                                    <&versaclock5 3>,
171                                    <&versaclock5 4>;
172                 assigned-clock-rates = <33333333>, <33333333>, <50000000>, <125000000>;
173         };
174 };
175
176 &pfc {
177         pinctrl-0 = <&scif_clk_pins>;
178         pinctrl-names = "default";
179
180         avb_pins: avb {
181                 mux {
182                         groups = "avb_link", "avb_mdio", "avb_mii";
183                         function = "avb";
184                 };
185
186                 pins_mdio {
187                         groups = "avb_mdio";
188                         drive-strength = <24>;
189                 };
190
191                 pins_mii_tx {
192                         pins = "PIN_AVB_TX_CTL", "PIN_AVB_TXC", "PIN_AVB_TD0",
193                                "PIN_AVB_TD1", "PIN_AVB_TD2", "PIN_AVB_TD3";
194                         drive-strength = <12>;
195                 };
196         };
197
198         scif2_pins: scif2 {
199                 groups = "scif2_data_a";
200                 function = "scif2";
201         };
202
203         hscif0_pins: hscif0 {
204                 groups = "hscif0_data", "hscif0_ctrl";
205                 function = "hscif0";
206         };
207
208         hscif1_pins: hscif1 {
209                 groups = "hscif1_data_a", "hscif1_ctrl_a";
210                 function = "hscif1";
211         };
212
213         hscif2_pins: hscif2 {
214                 groups = "hscif2_data_a";
215                 function = "hscif2";
216         };
217
218         scif0_pins: scif0 {
219                 groups = "scif0_data";
220                 function = "scif0";
221         };
222
223         scif5_pins: scif5 {
224                 groups = "scif5_data_a";
225                 function = "scif5";
226         };
227
228         scif_clk_pins: scif_clk {
229                 groups = "scif_clk_a";
230                 function = "scif_clk";
231         };
232
233         i2c0_pins: i2c0 {
234                 groups = "i2c0";
235                 function = "i2c0";
236         };
237
238         sdhi2_pins: sd2 {
239                 groups = "sdhi2_data4", "sdhi2_ctrl";
240                 function = "sdhi2";
241                 power-source = <1800>;
242         };
243
244         sdhi3_pins: sd3 {
245                 groups = "sdhi3_data8", "sdhi3_ctrl", "sdhi3_ds";
246                 function = "sdhi3";
247                 power-source = <1800>;
248         };
249 };
250
251 &scif_clk {
252         clock-frequency = <14745600>;
253 };
254
255 &scif2 {
256         pinctrl-0 = <&scif2_pins>;
257         pinctrl-names = "default";
258         status = "okay";
259 };
260
261 &sdhi2 {
262         pinctrl-names = "default";
263         pinctrl-0 = <&sdhi2_pins>;
264         bus-width = <4>;
265         vmmc-supply = <&reg_3p3v>;
266         vqmmc-supply = <&reg_1p8v>;
267         non-removable;
268         cap-power-off-card;
269         pm-ignore-notify;
270         keep-power-in-suspend;
271         mmc-pwrseq = <&wlan_pwrseq>;
272         status = "okay";
273         #address-cells = <1>;
274         #size-cells = <0>;
275
276         brcmf: bcrmf@1 {
277                 reg = <1>;
278                 compatible = "brcm,bcm4329-fmac";
279                 interrupt-parent = <&gpio1>;
280                 interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
281                 interrupt-names = "host-wake";
282         };
283 };
284
285 &sdhi3 {
286         pinctrl-0 = <&sdhi3_pins>;
287         pinctrl-1 = <&sdhi3_pins>;
288         pinctrl-names = "default", "state_uhs";
289         vmmc-supply = <&reg_3p3v>;
290         vqmmc-supply = <&reg_1p8v>;
291         bus-width = <8>;
292         mmc-hs200-1_8v;
293         non-removable;
294         fixed-emmc-driver-type = <1>;
295         status = "okay";
296 };
297
298 &usb_extal_clk {
299         clock-frequency = <50000000>;
300 };
301
302 &usb3s0_clk {
303         clock-frequency = <100000000>;
304 };
305
306 &vspb {
307         status = "okay";
308 };
309
310 &vspi0 {
311         status = "okay";
312 };