GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / dra7-evm-common.dtsi
1 /*
2  * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/clk/ti-dra7-atl.h>
11 #include <dt-bindings/input/input.h>
12
13 / {
14         chosen {
15                 stdout-path = &uart1;
16         };
17
18         extcon_usb1: extcon_usb1 {
19                 compatible = "linux,extcon-usb-gpio";
20                 id-gpio = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
21         };
22
23         extcon_usb2: extcon_usb2 {
24                 compatible = "linux,extcon-usb-gpio";
25                 id-gpio = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
26         };
27
28         sound0: sound0 {
29                 compatible = "simple-audio-card";
30                 simple-audio-card,name = "DRA7xx-EVM";
31                 simple-audio-card,widgets =
32                         "Headphone", "Headphone Jack",
33                         "Line", "Line Out",
34                         "Microphone", "Mic Jack",
35                         "Line", "Line In";
36                 simple-audio-card,routing =
37                         "Headphone Jack",       "HPLOUT",
38                         "Headphone Jack",       "HPROUT",
39                         "Line Out",             "LLOUT",
40                         "Line Out",             "RLOUT",
41                         "MIC3L",                "Mic Jack",
42                         "MIC3R",                "Mic Jack",
43                         "Mic Jack",             "Mic Bias",
44                         "LINE1L",               "Line In",
45                         "LINE1R",               "Line In";
46                 simple-audio-card,format = "dsp_b";
47                 simple-audio-card,bitclock-master = <&sound0_master>;
48                 simple-audio-card,frame-master = <&sound0_master>;
49                 simple-audio-card,bitclock-inversion;
50
51                 sound0_master: simple-audio-card,cpu {
52                         sound-dai = <&mcasp3>;
53                         system-clock-frequency = <5644800>;
54                 };
55
56                 simple-audio-card,codec {
57                         sound-dai = <&tlv320aic3106>;
58                         clocks = <&atl_clkin2_ck>;
59                 };
60         };
61
62         leds {
63                 compatible = "gpio-leds";
64                 led0 {
65                         label = "dra7:usr1";
66                         gpios = <&pcf_lcd 4 GPIO_ACTIVE_LOW>;
67                         default-state = "off";
68                 };
69
70                 led1 {
71                         label = "dra7:usr2";
72                         gpios = <&pcf_lcd 5 GPIO_ACTIVE_LOW>;
73                         default-state = "off";
74                 };
75
76                 led2 {
77                         label = "dra7:usr3";
78                         gpios = <&pcf_lcd 6 GPIO_ACTIVE_LOW>;
79                         default-state = "off";
80                 };
81
82                 led3 {
83                         label = "dra7:usr4";
84                         gpios = <&pcf_lcd 7 GPIO_ACTIVE_LOW>;
85                         default-state = "off";
86                 };
87         };
88
89         gpio_keys {
90                 compatible = "gpio-keys";
91                 #address-cells = <1>;
92                 #size-cells = <0>;
93                 autorepeat;
94
95                 USER1 {
96                         label = "btnUser1";
97                         linux,code = <BTN_0>;
98                         gpios = <&pcf_lcd 2 GPIO_ACTIVE_LOW>;
99                 };
100
101                 USER2 {
102                         label = "btnUser2";
103                         linux,code = <BTN_1>;
104                         gpios = <&pcf_lcd 3 GPIO_ACTIVE_LOW>;
105                 };
106         };
107 };
108
109 &i2c3 {
110         status = "okay";
111         clock-frequency = <400000>;
112 };
113
114 &mcspi1 {
115         status = "okay";
116 };
117
118 &mcspi2 {
119         status = "okay";
120 };
121
122 &uart1 {
123         status = "okay";
124         interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
125                               <&dra7_pmx_core 0x3e0>;
126 };
127
128 &uart2 {
129         status = "okay";
130 };
131
132 &uart3 {
133         status = "okay";
134 };
135
136 &qspi {
137         status = "okay";
138
139         spi-max-frequency = <76800000>;
140         m25p80@0 {
141                 compatible = "s25fl256s1";
142                 spi-max-frequency = <76800000>;
143                 reg = <0>;
144                 spi-tx-bus-width = <1>;
145                 spi-rx-bus-width = <4>;
146                 #address-cells = <1>;
147                 #size-cells = <1>;
148
149                 /* MTD partition table.
150                  * The ROM checks the first four physical blocks
151                  * for a valid file to boot and the flash here is
152                  * 64KiB block size.
153                  */
154                 partition@0 {
155                         label = "QSPI.SPL";
156                         reg = <0x00000000 0x000010000>;
157                 };
158                 partition@1 {
159                         label = "QSPI.SPL.backup1";
160                         reg = <0x00010000 0x00010000>;
161                 };
162                 partition@2 {
163                         label = "QSPI.SPL.backup2";
164                         reg = <0x00020000 0x00010000>;
165                 };
166                 partition@3 {
167                         label = "QSPI.SPL.backup3";
168                         reg = <0x00030000 0x00010000>;
169                 };
170                 partition@4 {
171                         label = "QSPI.u-boot";
172                         reg = <0x00040000 0x00100000>;
173                 };
174                 partition@5 {
175                         label = "QSPI.u-boot-spl-os";
176                         reg = <0x00140000 0x00080000>;
177                 };
178                 partition@6 {
179                         label = "QSPI.u-boot-env";
180                         reg = <0x001c0000 0x00010000>;
181                 };
182                 partition@7 {
183                         label = "QSPI.u-boot-env.backup1";
184                         reg = <0x001d0000 0x0010000>;
185                 };
186                 partition@8 {
187                         label = "QSPI.kernel";
188                         reg = <0x001e0000 0x0800000>;
189                 };
190                 partition@9 {
191                         label = "QSPI.file-system";
192                         reg = <0x009e0000 0x01620000>;
193                 };
194         };
195 };
196
197 &omap_dwc3_1 {
198         extcon = <&extcon_usb1>;
199 };
200
201 &usb1 {
202         dr_mode = "otg";
203         extcon = <&extcon_usb1>;
204 };
205
206 &omap_dwc3_2 {
207         extcon = <&extcon_usb2>;
208 };
209
210 &usb2 {
211         dr_mode = "host";
212         extcon = <&extcon_usb2>;
213 };
214
215 &atl {
216         assigned-clocks = <&abe_dpll_sys_clk_mux>,
217                           <&atl_clkctrl DRA7_ATL_CLKCTRL 26>,
218                           <&dpll_abe_ck>,
219                           <&dpll_abe_m2x2_ck>,
220                           <&atl_clkin2_ck>;
221         assigned-clock-parents = <&sys_clkin2>, <&dpll_abe_m2_ck>;
222         assigned-clock-rates = <0>, <0>, <180633600>, <361267200>, <5644800>;
223
224         status = "okay";
225
226         atl2 {
227                 bws = <DRA7_ATL_WS_MCASP2_FSX>;
228                 aws = <DRA7_ATL_WS_MCASP3_FSX>;
229         };
230 };
231
232 &mcasp3 {
233         #sound-dai-cells = <0>;
234
235         assigned-clocks = <&l4per_clkctrl DRA7_MCASP3_CLKCTRL 24>;
236         assigned-clock-parents = <&atl_clkin2_ck>;
237
238         status = "okay";
239
240         op-mode = <0>;          /* MCASP_IIS_MODE */
241         tdm-slots = <2>;
242         /* 4 serializer */
243         serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
244                 1 2 0 0
245         >;
246         tx-num-evt = <32>;
247         rx-num-evt = <32>;
248 };
249
250 &mailbox5 {
251         status = "okay";
252         mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
253                 status = "okay";
254         };
255         mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
256                 status = "okay";
257         };
258 };
259
260 &mailbox6 {
261         status = "okay";
262         mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
263                 status = "okay";
264         };
265         mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
266                 status = "okay";
267         };
268 };
269
270 &pcie1_rc {
271         status = "okay";
272 };
273
274 &mmc4 {
275         bus-width = <4>;
276         cap-power-off-card;
277         keep-power-in-suspend;
278         non-removable;
279         #address-cells = <1>;
280         #size-cells = <0>;
281         wifi@2 {
282                 compatible = "ti,wl1835";
283                 reg = <2>;
284                 interrupt-parent = <&gpio5>;
285                 interrupts = <7 IRQ_TYPE_EDGE_RISING>;
286         };
287 };