Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / arm64 / boot / dts / ti / k3-am654-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 <dt-bindings/input/input.h>
10
11 / {
12         compatible =  "ti,am654-evm", "ti,am654";
13         model = "Texas Instruments AM654 Base Board";
14
15         chosen {
16                 stdout-path = "serial2:115200n8";
17                 bootargs = "earlycon=ns16550a,mmio32,0x02800000";
18         };
19
20         memory@80000000 {
21                 device_type = "memory";
22                 /* 4G RAM */
23                 reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
24                       <0x00000008 0x80000000 0x00000000 0x80000000>;
25         };
26
27         reserved-memory {
28                 #address-cells = <2>;
29                 #size-cells = <2>;
30                 ranges;
31                 secure_ddr: secure_ddr@9e800000 {
32                         reg = <0 0x9e800000 0 0x01800000>; /* for OP-TEE */
33                         alignment = <0x1000>;
34                         no-map;
35                 };
36         };
37
38         gpio-keys {
39                 compatible = "gpio-keys";
40                 autorepeat;
41                 pinctrl-names = "default";
42                 pinctrl-0 = <&push_button_pins_default>;
43
44                 sw5 {
45                         label = "GPIO Key USER1";
46                         linux,code = <BTN_0>;
47                         gpios = <&wkup_gpio0 24 GPIO_ACTIVE_LOW>;
48                 };
49
50                 sw6 {
51                         label = "GPIO Key USER2";
52                         linux,code = <BTN_1>;
53                         gpios = <&wkup_gpio0 27 GPIO_ACTIVE_LOW>;
54                 };
55         };
56 };
57
58 &wkup_pmx0 {
59         wkup_i2c0_pins_default: wkup-i2c0-pins-default {
60                 pinctrl-single,pins = <
61                         AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0) /* (AC7) WKUP_I2C0_SCL */
62                         AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0) /* (AD6) WKUP_I2C0_SDA */
63                 >;
64         };
65
66         push_button_pins_default: push_button__pins_default {
67                 pinctrl-single,pins = <
68                         AM65X_WKUP_IOPAD(0x0030, PIN_INPUT, 7) /* (R5) WKUP_GPIO0_24 */
69                         AM65X_WKUP_IOPAD(0x003c, PIN_INPUT, 7) /* (P2) WKUP_GPIO0_27 */
70                 >;
71         };
72 };
73
74 &main_pmx0 {
75         main_uart0_pins_default: main-uart0-pins-default {
76                 pinctrl-single,pins = <
77                         AM65X_IOPAD(0x01e4, PIN_INPUT, 0)       /* (AF11) UART0_RXD */
78                         AM65X_IOPAD(0x01e8, PIN_OUTPUT, 0)      /* (AE11) UART0_TXD */
79                         AM65X_IOPAD(0x01ec, PIN_INPUT, 0)       /* (AG11) UART0_CTSn */
80                         AM65X_IOPAD(0x01f0, PIN_OUTPUT, 0)      /* (AD11) UART0_RTSn */
81                 >;
82         };
83
84         main_i2c2_pins_default: main-i2c2-pins-default {
85                 pinctrl-single,pins = <
86                         AM65X_IOPAD(0x0074, PIN_INPUT, 5) /* (T27) GPMC0_CSn3.I2C2_SCL */
87                         AM65X_IOPAD(0x0070, PIN_INPUT, 5) /* (R25) GPMC0_CSn2.I2C2_SDA */
88                 >;
89         };
90
91         main_spi0_pins_default: main-spi0-pins-default {
92                 pinctrl-single,pins = <
93                         AM65X_IOPAD(0x01c4, PIN_INPUT, 0) /* (AH13) SPI0_CLK */
94                         AM65X_IOPAD(0x01c8, PIN_INPUT, 0) /* (AE13) SPI0_D0 */
95                         AM65X_IOPAD(0x01cc, PIN_INPUT, 0) /* (AD13) SPI0_D1 */
96                         AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (AG13) SPI0_CS0 */
97                 >;
98         };
99
100         main_mmc0_pins_default: main-mmc0-pins-default {
101                 pinctrl-single,pins = <
102                         AM65X_IOPAD(0x01a8, PIN_INPUT_PULLDOWN, 0) /* (B25) MMC0_CLK */
103                         AM65X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 0) /* (B27) MMC0_CMD */
104                         AM65X_IOPAD(0x01a4, PIN_INPUT_PULLUP, 0) /* (A26) MMC0_DAT0 */
105                         AM65X_IOPAD(0x01a0, PIN_INPUT_PULLUP, 0) /* (E25) MMC0_DAT1 */
106                         AM65X_IOPAD(0x019c, PIN_INPUT_PULLUP, 0) /* (C26) MMC0_DAT2 */
107                         AM65X_IOPAD(0x0198, PIN_INPUT_PULLUP, 0) /* (A25) MMC0_DAT3 */
108                         AM65X_IOPAD(0x0194, PIN_INPUT_PULLUP, 0) /* (E24) MMC0_DAT4 */
109                         AM65X_IOPAD(0x0190, PIN_INPUT_PULLUP, 0) /* (A24) MMC0_DAT5 */
110                         AM65X_IOPAD(0x018c, PIN_INPUT_PULLUP, 0) /* (B26) MMC0_DAT6 */
111                         AM65X_IOPAD(0x0188, PIN_INPUT_PULLUP, 0) /* (D25) MMC0_DAT7 */
112                         AM65X_IOPAD(0x01b4, PIN_INPUT_PULLUP, 0) /* (A23) MMC0_SDCD */
113                         AM65X_IOPAD(0x01b0, PIN_INPUT, 0) /* (C25) MMC0_DS */
114                 >;
115         };
116
117         usb1_pins_default: usb1_pins_default {
118                 pinctrl-single,pins = <
119                         AM65X_IOPAD(0x02c0, PIN_OUTPUT, 0) /* (AC8) USB1_DRVVBUS */
120                 >;
121         };
122 };
123
124 &main_pmx1 {
125         main_i2c0_pins_default: main-i2c0-pins-default {
126                 pinctrl-single,pins = <
127                         AM65X_IOPAD(0x0000, PIN_INPUT, 0) /* (D20) I2C0_SCL */
128                         AM65X_IOPAD(0x0004, PIN_INPUT, 0) /* (C21) I2C0_SDA */
129                 >;
130         };
131
132         main_i2c1_pins_default: main-i2c1-pins-default {
133                 pinctrl-single,pins = <
134                         AM65X_IOPAD(0x0008, PIN_INPUT, 0) /* (B21) I2C1_SCL */
135                         AM65X_IOPAD(0x000c, PIN_INPUT, 0) /* (E21) I2C1_SDA */
136                 >;
137         };
138
139         ecap0_pins_default: ecap0-pins-default {
140                 pinctrl-single,pins = <
141                         AM65X_IOPAD(0x0010, PIN_INPUT, 0) /* (D21) ECAP0_IN_APWM_OUT */
142                 >;
143         };
144 };
145
146 &wkup_uart0 {
147         /* Wakeup UART is used by System firmware */
148         status = "disabled";
149 };
150
151 &main_uart0 {
152         pinctrl-names = "default";
153         pinctrl-0 = <&main_uart0_pins_default>;
154 };
155
156 &wkup_i2c0 {
157         pinctrl-names = "default";
158         pinctrl-0 = <&wkup_i2c0_pins_default>;
159         clock-frequency = <400000>;
160
161         pca9554: gpio@39 {
162                 compatible = "nxp,pca9554";
163                 reg = <0x39>;
164                 gpio-controller;
165                 #gpio-cells = <2>;
166         };
167 };
168
169 &main_i2c0 {
170         pinctrl-names = "default";
171         pinctrl-0 = <&main_i2c0_pins_default>;
172         clock-frequency = <400000>;
173
174         pca9555: gpio@21 {
175                 compatible = "nxp,pca9555";
176                 reg = <0x21>;
177                 gpio-controller;
178                 #gpio-cells = <2>;
179         };
180 };
181
182 &main_i2c1 {
183         pinctrl-names = "default";
184         pinctrl-0 = <&main_i2c1_pins_default>;
185         clock-frequency = <400000>;
186 };
187
188 &main_i2c2 {
189         pinctrl-names = "default";
190         pinctrl-0 = <&main_i2c2_pins_default>;
191         clock-frequency = <400000>;
192 };
193
194 &ecap0 {
195         pinctrl-names = "default";
196         pinctrl-0 = <&ecap0_pins_default>;
197 };
198
199 &main_spi0 {
200         pinctrl-names = "default";
201         pinctrl-0 = <&main_spi0_pins_default>;
202         #address-cells = <1>;
203         #size-cells= <0>;
204         ti,pindir-d0-out-d1-in = <1>;
205
206         flash@0{
207                 compatible = "jedec,spi-nor";
208                 reg = <0x0>;
209                 spi-tx-bus-width = <1>;
210                 spi-rx-bus-width = <1>;
211                 spi-max-frequency = <48000000>;
212                 #address-cells = <1>;
213                 #size-cells= <1>;
214         };
215 };
216
217 &sdhci0 {
218         pinctrl-names = "default";
219         pinctrl-0 = <&main_mmc0_pins_default>;
220         bus-width = <8>;
221         non-removable;
222         ti,driver-strength-ohm = <50>;
223 };
224
225 &dwc3_1 {
226         status = "okay";
227 };
228
229 &usb1_phy {
230         status = "okay";
231 };
232
233 &usb1 {
234         pinctrl-names = "default";
235         pinctrl-0 = <&usb1_pins_default>;
236         dr_mode = "otg";
237 };
238
239 &dwc3_0 {
240         status = "disabled";
241 };
242
243 &usb0_phy {
244         status = "disabled";
245 };
246
247 &tscadc0 {
248         adc {
249                 ti,adc-channels = <0 1 2 3 4 5 6 7>;
250         };
251 };
252
253 &tscadc1 {
254         adc {
255                 ti,adc-channels = <0 1 2 3 4 5 6 7>;
256         };
257 };
258
259 &serdes0 {
260         status = "disabled";
261 };
262
263 &serdes1 {
264         status = "disabled";
265 };
266
267 &pcie0_rc {
268         status = "disabled";
269 };
270
271 &pcie0_ep {
272         status = "disabled";
273 };
274
275 &pcie1_rc {
276         status = "disabled";
277 };
278
279 &pcie1_ep {
280         status = "disabled";
281 };