ARM: dts: synquacer: Add device trees for DeveloperBox
[platform/kernel/u-boot.git] / arch / arm / dts / imxrt1050-evk.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2 /*
3  * Copyright (C) 2019
4  * Author(s): Giulio Benetti <giulio.benetti@benettiengineering.com>
5  */
6
7 /dts-v1/;
8 #include "imxrt1050.dtsi"
9 #include "imxrt1050-evk-u-boot.dtsi"
10 #include <dt-bindings/pinctrl/pins-imxrt1050.h>
11
12 / {
13         model = "NXP IMXRT1050-evk board";
14         compatible = "fsl,imxrt1050-evk", "fsl,imxrt1050";
15
16         chosen {
17                 bootargs = "root=/dev/ram";
18                 stdout-path = "serial0:115200n8";
19                 tick-timer = &gpt1;
20         };
21
22         memory {
23                 device_type = "memory";
24                 reg = <0x80000000 0x2000000>;
25         };
26 };
27
28 &lpuart1 { /* console */
29         pinctrl-names = "default";
30         pinctrl-0 = <&pinctrl_lpuart1>;
31         status = "okay";
32 };
33
34 &semc {
35         /*
36          * Memory configuration from sdram datasheet IS42S16160J-6BLI
37          */
38         fsl,sdram-mux = /bits/ 8 <MUX_A8_SDRAM_A8
39                                 MUX_CSX0_SDRAM_CS1
40                                 0
41                                 0
42                                 0
43                                 0>;
44         fsl,sdram-control = /bits/ 8 <MEM_WIDTH_16BITS
45                                         BL_8
46                                         COL_9BITS
47                                         CL_3>;
48         fsl,sdram-timing = /bits/ 8 <0x2
49                                      0x2
50                                      0x9
51                                      0x1
52                                      0x5
53                                      0x6
54
55                                      0x20
56                                      0x09
57                                      0x01
58                                      0x00
59
60                                      0x04
61                                      0x0A
62                                      0x21
63                                      0x50>;
64
65         bank1: bank@0 {
66                 fsl,base-address = <0x80000000>;
67                 fsl,memory-size = <MEM_SIZE_32M>;
68         };
69 };
70
71 &iomuxc {
72         pinctrl-names = "default";
73         pinctrl-0 = <&pinctrl_lpuart1>;
74
75         imxrt1050-evk {
76                 pinctrl_lpuart1: lpuart1grp {
77                         fsl,pins = <
78                                 MXRT1050_IOMUXC_GPIO_AD_B0_12_LPUART1_TXD
79                                         0xf1
80                                 MXRT1050_IOMUXC_GPIO_AD_B0_13_LPUART1_RXD
81                                         0xf1
82                         >;
83                 };
84
85                 pinctrl_semc: semcgrp {
86                         fsl,pins = <
87                                 MXRT1050_IOMUXC_GPIO_EMC_00_SEMC_DA00
88                                         0xf1    /* SEMC_D0 */
89                                 MXRT1050_IOMUXC_GPIO_EMC_01_SEMC_DA01
90                                         0xf1    /* SEMC_D1 */
91                                 MXRT1050_IOMUXC_GPIO_EMC_02_SEMC_DA02
92                                         0xf1    /* SEMC_D2 */
93                                 MXRT1050_IOMUXC_GPIO_EMC_03_SEMC_DA03
94                                         0xf1    /* SEMC_D3 */
95                                 MXRT1050_IOMUXC_GPIO_EMC_04_SEMC_DA04
96                                         0xf1    /* SEMC_D4 */
97                                 MXRT1050_IOMUXC_GPIO_EMC_05_SEMC_DA05
98                                         0xf1    /* SEMC_D5 */
99                                 MXRT1050_IOMUXC_GPIO_EMC_06_SEMC_DA06
100                                         0xf1    /* SEMC_D6 */
101                                 MXRT1050_IOMUXC_GPIO_EMC_07_SEMC_DA07
102                                         0xf1    /* SEMC_D7 */
103                                 MXRT1050_IOMUXC_GPIO_EMC_08_SEMC_DM00
104                                         0xf1    /* SEMC_DM0 */
105                                 MXRT1050_IOMUXC_GPIO_EMC_09_SEMC_ADDR00
106                                         0xf1    /* SEMC_A0 */
107                                 MXRT1050_IOMUXC_GPIO_EMC_10_SEMC_ADDR01
108                                         0xf1    /* SEMC_A1 */
109                                 MXRT1050_IOMUXC_GPIO_EMC_11_SEMC_ADDR02
110                                         0xf1    /* SEMC_A2 */
111                                 MXRT1050_IOMUXC_GPIO_EMC_12_SEMC_ADDR03
112                                         0xf1    /* SEMC_A3 */
113                                 MXRT1050_IOMUXC_GPIO_EMC_13_SEMC_ADDR04
114                                         0xf1    /* SEMC_A4 */
115                                 MXRT1050_IOMUXC_GPIO_EMC_14_SEMC_ADDR05
116                                         0xf1    /* SEMC_A5 */
117                                 MXRT1050_IOMUXC_GPIO_EMC_15_SEMC_ADDR06
118                                         0xf1    /* SEMC_A6 */
119                                 MXRT1050_IOMUXC_GPIO_EMC_16_SEMC_ADDR07
120                                         0xf1    /* SEMC_A7 */
121                                 MXRT1050_IOMUXC_GPIO_EMC_17_SEMC_ADDR08
122                                         0xf1    /* SEMC_A8 */
123                                 MXRT1050_IOMUXC_GPIO_EMC_18_SEMC_ADDR09
124                                         0xf1    /* SEMC_A9 */
125                                 MXRT1050_IOMUXC_GPIO_EMC_19_SEMC_ADDR11
126                                         0xf1    /* SEMC_A11 */
127                                 MXRT1050_IOMUXC_GPIO_EMC_20_SEMC_ADDR12
128                                         0xf1    /* SEMC_A12 */
129                                 MXRT1050_IOMUXC_GPIO_EMC_21_SEMC_BA0
130                                         0xf1    /* SEMC_BA0 */
131                                 MXRT1050_IOMUXC_GPIO_EMC_22_SEMC_BA1
132                                         0xf1    /* SEMC_BA1 */
133                                 MXRT1050_IOMUXC_GPIO_EMC_23_SEMC_ADDR10
134                                         0xf1    /* SEMC_A10 */
135                                 MXRT1050_IOMUXC_GPIO_EMC_24_SEMC_CAS
136                                         0xf1    /* SEMC_CAS */
137                                 MXRT1050_IOMUXC_GPIO_EMC_25_SEMC_RAS
138                                         0xf1    /* SEMC_RAS */
139                                 MXRT1050_IOMUXC_GPIO_EMC_26_SEMC_CLK
140                                         0xf1    /* SEMC_CLK */
141                                 MXRT1050_IOMUXC_GPIO_EMC_27_SEMC_CKE
142                                         0xf1    /* SEMC_CKE */
143                                 MXRT1050_IOMUXC_GPIO_EMC_28_SEMC_WE
144                                         0xf1    /* SEMC_WE */
145                                 MXRT1050_IOMUXC_GPIO_EMC_29_SEMC_CS0
146                                         0xf1    /* SEMC_CS0 */
147                                 MXRT1050_IOMUXC_GPIO_EMC_30_SEMC_DA08
148                                         0xf1    /* SEMC_D8 */
149                                 MXRT1050_IOMUXC_GPIO_EMC_31_SEMC_DA09
150                                         0xf1    /* SEMC_D9 */
151                                 MXRT1050_IOMUXC_GPIO_EMC_32_SEMC_DA10
152                                         0xf1    /* SEMC_D10 */
153                                 MXRT1050_IOMUXC_GPIO_EMC_33_SEMC_DA11
154                                         0xf1    /* SEMC_D11 */
155                                 MXRT1050_IOMUXC_GPIO_EMC_34_SEMC_DA12
156                                         0xf1    /* SEMC_D12 */
157                                 MXRT1050_IOMUXC_GPIO_EMC_35_SEMC_DA13
158                                         0xf1    /* SEMC_D13 */
159                                 MXRT1050_IOMUXC_GPIO_EMC_36_SEMC_DA14
160                                         0xf1    /* SEMC_D14 */
161                                 MXRT1050_IOMUXC_GPIO_EMC_37_SEMC_DA15
162                                         0xf1    /* SEMC_D15 */
163                                 MXRT1050_IOMUXC_GPIO_EMC_38_SEMC_DM01
164                                         0xf1    /* SEMC_DM1 */
165                                 MXRT1050_IOMUXC_GPIO_EMC_39_SEMC_DQS
166                                         (IMX_PAD_SION | 0xf1)   /* SEMC_DQS */
167                         >;
168                 };
169
170                 pinctrl_usdhc0: usdhc0grp {
171                         fsl,pins = <
172                                 MXRT1050_IOMUXC_GPIO_B1_12_USDHC1_CD_B
173                                         0x1B000
174                                 MXRT1050_IOMUXC_GPIO_B1_14_USDHC1_VSELECT
175                                         0xB069
176                                 MXRT1050_IOMUXC_GPIO_SD_B0_00_USDHC1_CMD
177                                         0x17061
178                                 MXRT1050_IOMUXC_GPIO_SD_B0_01_USDHC1_CLK
179                                         0x17061
180                                 MXRT1050_IOMUXC_GPIO_SD_B0_05_USDHC1_DATA3
181                                         0x17061
182                                 MXRT1050_IOMUXC_GPIO_SD_B0_04_USDHC1_DATA2
183                                         0x17061
184                                 MXRT1050_IOMUXC_GPIO_SD_B0_03_USDHC1_DATA1
185                                         0x17061
186                                 MXRT1050_IOMUXC_GPIO_SD_B0_02_USDHC1_DATA0
187                                         0x17061
188                         >;
189                 };
190
191                 pinctrl_lcdif: lcdifgrp {
192                         fsl,pins = <
193                                 MXRT1050_IOMUXC_GPIO_B0_00_LCD_CLK              0x1b0b1
194                                 MXRT1050_IOMUXC_GPIO_B0_01_LCD_ENABLE           0x1b0b1
195                                 MXRT1050_IOMUXC_GPIO_B0_02_LCD_HSYNC            0x1b0b1
196                                 MXRT1050_IOMUXC_GPIO_B0_03_LCD_VSYNC            0x1b0b1
197                                 MXRT1050_IOMUXC_GPIO_B0_04_LCD_DATA00           0x1b0b1
198                                 MXRT1050_IOMUXC_GPIO_B0_05_LCD_DATA01           0x1b0b1
199                                 MXRT1050_IOMUXC_GPIO_B0_06_LCD_DATA02           0x1b0b1
200                                 MXRT1050_IOMUXC_GPIO_B0_07_LCD_DATA03           0x1b0b1
201                                 MXRT1050_IOMUXC_GPIO_B0_08_LCD_DATA04           0x1b0b1
202                                 MXRT1050_IOMUXC_GPIO_B0_09_LCD_DATA05           0x1b0b1
203                                 MXRT1050_IOMUXC_GPIO_B0_10_LCD_DATA06           0x1b0b1
204                                 MXRT1050_IOMUXC_GPIO_B0_11_LCD_DATA07           0x1b0b1
205                                 MXRT1050_IOMUXC_GPIO_B0_12_LCD_DATA08           0x1b0b1
206                                 MXRT1050_IOMUXC_GPIO_B0_13_LCD_DATA09           0x1b0b1
207                                 MXRT1050_IOMUXC_GPIO_B0_14_LCD_DATA10           0x1b0b1
208                                 MXRT1050_IOMUXC_GPIO_B0_15_LCD_DATA11           0x1b0b1
209                                 MXRT1050_IOMUXC_GPIO_B1_01_LCD_DATA13           0x1b0b1
210                                 MXRT1050_IOMUXC_GPIO_B1_02_LCD_DATA14           0x1b0b1
211                                 MXRT1050_IOMUXC_GPIO_B1_03_LCD_DATA15           0x1b0b1
212                                 MXRT1050_IOMUXC_GPIO_B1_15_GPIO2_IO31           0x0b069
213                                 MXRT1050_IOMUXC_GPIO_AD_B0_02_GPIO1_IO02        0x0b069
214                         >;
215                 };
216         };
217 };
218
219 &gpt1 {
220         status = "okay";
221 };
222
223 &usdhc1 {
224         pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
225         pinctrl-0 = <&pinctrl_usdhc0>;
226         pinctrl-1 = <&pinctrl_usdhc0>;
227         pinctrl-2 = <&pinctrl_usdhc0>;
228         pinctrl-3 = <&pinctrl_usdhc0>;
229         status = "okay";
230
231         cd-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
232 };
233
234 &lcdif {
235         pinctrl-names = "default";
236         pinctrl-0 = <&pinctrl_lcdif>;
237         display = <&display0>;
238         status = "okay";
239
240         display0: display0 {
241                 bits-per-pixel = <16>;
242                 bus-width = <16>;
243
244                 display-timings {
245                         timing0: timing0 {
246                                 clock-frequency = <9300000>;
247                                 hactive = <480>;
248                                 vactive = <272>;
249                                 hback-porch = <4>;
250                                 hfront-porch = <8>;
251                                 vback-porch = <4>;
252                                 vfront-porch = <8>;
253                                 hsync-len = <41>;
254                                 vsync-len = <10>;
255                                 de-active = <1>;
256                                 pixelclk-active = <0>;
257                                 hsync-active = <0>;
258                                 vsync-active = <0>;
259                         };
260                 };
261         };
262 };
263
264 &usbotg1 {
265         dr_mode = "host";
266         status = "okay";
267 };