spi: zynqmp_gqspi: fix set_speed bug on multiple runs
[platform/kernel/u-boot.git] / arch / arm / dts / k3-am654-r5-base-board.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (C) 2016-2018 Texas Instruments Incorporated - http://www.ti.com/
4  */
5
6 /dts-v1/;
7
8 #include "k3-am654.dtsi"
9 #include "k3-am654-base-board-u-boot.dtsi"
10 #include "k3-am654-base-board-ddr4-1600MTs.dtsi"
11 #include "k3-am654-ddr.dtsi"
12
13 / {
14         compatible =  "ti,am654-evm", "ti,am654";
15         model = "Texas Instruments AM654 R5 Base Board";
16
17         aliases {
18                 serial0 = &wkup_uart0;
19                 serial1 = &mcu_uart0;
20                 serial2 = &main_uart0;
21         };
22
23         chosen {
24                 stdout-path = "serial2:115200n8";
25                 tick-timer = &timer1;
26         };
27
28         aliases {
29                 remoteproc0 = &sysctrler;
30                 remoteproc1 = &a53_0;
31         };
32
33         a53_0: a53@0 {
34                 compatible = "ti,am654-rproc";
35                 reg = <0x0 0x00a90000 0x0 0x10>;
36                 power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
37                                 <&k3_pds 202 TI_SCI_PD_EXCLUSIVE>;
38                 resets = <&k3_reset 202 0>;
39                 clocks = <&k3_clks 61 0>;
40                 assigned-clocks = <&k3_clks 202 0>;
41                 assigned-clock-rates = <800000000>;
42                 ti,sci = <&dmsc>;
43                 ti,sci-proc-id = <32>;
44                 ti,sci-host-id = <10>;
45                 u-boot,dm-spl;
46         };
47
48         vtt_supply: vtt_supply {
49                 compatible = "regulator-gpio";
50                 regulator-name = "vtt";
51                 regulator-min-microvolt = <0>;
52                 regulator-max-microvolt = <3300000>;
53                 gpios = <&wkup_gpio0 28 GPIO_ACTIVE_HIGH>;
54                 states = <0 0x0 3300000 0x1>;
55                 u-boot,dm-spl;
56         };
57 };
58
59 &cbass_main {
60         timer1: timer@40400000 {
61                 compatible = "ti,omap5430-timer";
62                 reg = <0x0 0x40400000 0x0 0x80>;
63                 ti,timer-alwon;
64                 clock-frequency = <25000000>;
65                 u-boot,dm-pre-reloc;
66         };
67 };
68
69 &cbass_mcu {
70         mcu_secproxy: secproxy@28380000 {
71                 compatible = "ti,am654-secure-proxy";
72                 reg = <0x0 0x2a380000 0x0 0x80000>,
73                       <0x0 0x2a400000 0x0 0x80000>,
74                       <0x0 0x2a480000 0x0 0x80000>;
75                 reg-names = "rt", "scfg", "target_data";
76                 #mbox-cells = <1>;
77                 u-boot,dm-spl;
78         };
79 };
80
81 &cbass_wakeup {
82         sysctrler: sysctrler {
83                 compatible = "ti,am654-system-controller";
84                 mboxes= <&mcu_secproxy 4>, <&mcu_secproxy 5>;
85                 mbox-names = "tx", "rx";
86                 u-boot,dm-spl;
87         };
88
89         wkup_gpio0: wkup_gpio0@42110000 {
90                 compatible = "ti,k2g-gpio", "ti,keystone-gpio";
91                 reg = <0x42110000 0x100>;
92                 gpio-controller;
93                 #gpio-cells = <2>;
94                 ti,ngpio = <56>;
95                 ti,davinci-gpio-unbanked = <0>;
96                 clocks = <&k3_clks 59 0>;
97                 clock-names = "gpio";
98                 u-boot,dm-spl;
99         };
100
101         wkup_vtm0: wkup_vtm@42050000 {
102                 compatible = "ti,am654-vtm", "ti,am654-avs";
103                 reg = <0x42050000 0x25c>;
104                 power-domains = <&k3_pds 80 TI_SCI_PD_EXCLUSIVE>;
105                 #thermal-sensor-cells = <1>;
106         };
107
108         clk_200mhz: dummy_clock {
109                 compatible = "fixed-clock";
110                 #clock-cells = <0>;
111                 clock-frequency = <200000000>;
112                 u-boot,dm-spl;
113         };
114 };
115
116 &dmsc {
117         mboxes= <&mcu_secproxy 8>, <&mcu_secproxy 6>, <&mcu_secproxy 5>;
118         mbox-names = "tx", "rx", "notify";
119         ti,host-id = <4>;
120         ti,secure-host;
121 };
122
123 &wkup_uart0 {
124         u-boot,dm-spl;
125         pinctrl-names = "default";
126         pinctrl-0 = <&wkup_uart0_pins_default>;
127         status = "okay";
128 };
129
130 &mcu_uart0 {
131         u-boot,dm-spl;
132         pinctrl-names = "default";
133         pinctrl-0 = <&mcu_uart0_pins_default>;
134         clock-frequency = <48000000>;
135         status = "okay";
136 };
137
138 &main_uart0 {
139         power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
140 };
141
142 &wkup_vtm0 {
143         vdd-supply-3 = <&vdd_mpu>;
144         vdd-supply-4 = <&vdd_mpu>;
145         u-boot,dm-spl;
146 };
147
148 &wkup_pmx0 {
149         u-boot,dm-spl;
150         wkup_uart0_pins_default: wkup_uart0_pins_default {
151                 pinctrl-single,pins = <
152                         AM65X_WKUP_IOPAD(0x00a0, PIN_INPUT, 0)  /* (AB1) WKUP_UART0_RXD */
153                         AM65X_WKUP_IOPAD(0x00a4, PIN_OUTPUT, 0) /* (AB5) WKUP_UART0_TXD */
154                         AM65X_WKUP_IOPAD(0x00c8, PIN_INPUT, 1)  /* (AC2) WKUP_GPIO0_6.WKUP_UART0_CTSn */
155                         AM65X_WKUP_IOPAD(0x00cc, PIN_OUTPUT, 1) /* (AC1) WKUP_GPIO0_7.WKUP_UART0_RTSn */
156                 >;
157                 u-boot,dm-spl;
158         };
159
160         wkup_vtt_pins_default: wkup_vtt_pins_default {
161                 pinctrl-single,pins = <
162                         AM65X_WKUP_IOPAD(0x0040, PIN_OUTPUT_PULLUP, 7)  /* WKUP_GPIO0_28 */
163                 >;
164                 u-boot,dm-spl;
165         };
166
167         mcu_uart0_pins_default: mcu_uart0_pins_default {
168                 pinctrl-single,pins = <
169                         AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4)  /* (P4) MCU_OSPI1_D1.MCU_UART0_RXD */
170                         AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4) /* (P5) MCU_OSPI1_D2.MCU_UART0_TXD */
171                         AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 4)  /* (P1) MCU_OSPI1_D3.MCU_UART0_CTSn */
172                         AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 4) /* (N3) MCU_OSPI1_CSn1.MCU_UART0_RTSn */
173                 >;
174                 u-boot,dm-spl;
175         };
176
177         wkup_i2c0_pins_default: wkup-i2c0-pins-default {
178                 pinctrl-single,pins = <
179                         AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0) /* (AC7) WKUP_I2C0_SCL */
180                         AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0) /* (AD6) WKUP_I2C0_SDA */
181                 >;
182         };
183
184         mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-pins_default {
185                 pinctrl-single,pins = <
186                         AM65X_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* (V1) MCU_OSPI0_CLK */
187                         AM65X_WKUP_IOPAD(0x0008, PIN_INPUT, 0)   /* (U2) MCU_OSPI0_DQS */
188                         AM65X_WKUP_IOPAD(0x000c, PIN_INPUT, 0)  /* (U4) MCU_OSPI0_D0 */
189                         AM65X_WKUP_IOPAD(0x0010, PIN_INPUT, 0)  /* (U5) MCU_OSPI0_D1 */
190                         AM65X_WKUP_IOPAD(0x0014, PIN_INPUT, 0)  /* (T2) MCU_OSPI0_D2 */
191                         AM65X_WKUP_IOPAD(0x0018, PIN_INPUT, 0)  /* (T3) MCU_OSPI0_D3 */
192                         AM65X_WKUP_IOPAD(0x001c, PIN_INPUT, 0)  /* (T4) MCU_OSPI0_D4 */
193                         AM65X_WKUP_IOPAD(0x0020, PIN_INPUT, 0)  /* (T5) MCU_OSPI0_D5 */
194                         AM65X_WKUP_IOPAD(0x0024, PIN_INPUT, 0)  /* (R2) MCU_OSPI0_D6 */
195                         AM65X_WKUP_IOPAD(0x0028, PIN_INPUT, 0)  /* (R3) MCU_OSPI0_D7 */
196                         AM65X_WKUP_IOPAD(0x002c, PIN_OUTPUT, 0) /* (R4) MCU_OSPI0_CSn0 */
197                 >;
198         };
199 };
200
201 &main_pmx0 {
202         u-boot,dm-spl;
203         main_mmc0_pins_default: main_mmc0_pins_default {
204                 pinctrl-single,pins = <
205                         AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0)      /* (B25) MMC0_CLK */
206                         AM65X_IOPAD(0x01aC, PIN_INPUT_PULLUP, 0)        /* (B27) MMC0_CMD */
207                         AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0)        /* (A26) MMC0_DAT0 */
208                         AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0)        /* (E25) MMC0_DAT1 */
209                         AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0)        /* (C26) MMC0_DAT2 */
210                         AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0)        /* (A25) MMC0_DAT3 */
211                         AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0)        /* (E24) MMC0_DAT4 */
212                         AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0)        /* (A24) MMC0_DAT5 */
213                         AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0)        /* (B26) MMC0_DAT6 */
214                         AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0)        /* (D25) MMC0_DAT7 */
215                         AM65X_IOPAD(0x01b0, PIN_INPUT, 0)               /* (C25) MMC0_DS */
216                 >;
217         };
218 };
219
220 &memorycontroller {
221         vtt-supply = <&vtt_supply>;
222         pinctrl-names = "default";
223         pinctrl-0 = <&wkup_vtt_pins_default>;
224 };
225
226 &sdhci0 {
227         clock-names = "clk_xin";
228         clocks = <&clk_200mhz>;
229         /delete-property/ power-domains;
230         ti,driver-strength-ohm = <50>;
231 };
232
233 &sdhci1 {
234         clock-names = "clk_xin";
235         clocks = <&clk_200mhz>;
236         /delete-property/ power-domains;
237         ti,driver-strength-ohm = <50>;
238 };
239
240 &wkup_i2c0 {
241         pinctrl-names = "default";
242         pinctrl-0 = <&wkup_i2c0_pins_default>;
243         clock-frequency = <400000>;
244         u-boot,dm-spl;
245
246         vdd_mpu: tps62363@60 {
247                 compatible = "ti,tps62363";
248                 reg = <0x60>;
249                 regulator-name = "VDD_MPU";
250                 regulator-min-microvolt = <500000>;
251                 regulator-max-microvolt = <1770000>;
252                 regulator-always-on;
253                 regulator-boot-on;
254                 ti,vsel0-state-high;
255                 ti,vsel1-state-high;
256                 u-boot,dm-spl;
257         };
258 };
259
260 &ospi0 {
261         pinctrl-names = "default";
262         pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
263
264         reg = <0x0 0x47040000 0x0 0x100>,
265               <0x0 0x50000000 0x0 0x8000000>;
266
267         flash@0{
268                 compatible = "jedec,spi-nor";
269                 reg = <0x0>;
270                 spi-tx-bus-width = <1>;
271                 spi-rx-bus-width = <8>;
272                 spi-max-frequency = <50000000>;
273                 cdns,tshsl-ns = <60>;
274                 cdns,tsd2d-ns = <60>;
275                 cdns,tchsh-ns = <60>;
276                 cdns,tslch-ns = <60>;
277                 cdns,read-delay = <0>;
278                 #address-cells = <1>;
279                 #size-cells = <1>;
280         };
281 };
282
283 &main_pmx0 {
284         u-boot,dm-spl;
285         usb0_pins_default: usb0_pins_default {
286                 pinctrl-single,pins = <
287                         AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
288                 >;
289                 u-boot,dm-spl;
290         };
291 };
292
293 &dwc3_0 {
294         status = "okay";
295         u-boot,dm-spl;
296         /delete-property/ power-domains;
297         /delete-property/ assigned-clocks;
298         /delete-property/ assigned-clock-parents;
299 };
300
301 &usb0_phy {
302         status = "okay";
303         u-boot,dm-spl;
304         /delete-property/ clocks;
305 };
306
307 &usb0 {
308         pinctrl-names = "default";
309         pinctrl-0 = <&usb0_pins_default>;
310         dr_mode = "peripheral";
311         u-boot,dm-spl;
312 };
313
314 &scm_conf {
315         u-boot,dm-spl;
316 };