]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm/imx28-evk.dts
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / src / arm / imx28-evk.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright 2012 Freescale Semiconductor, Inc.
4
5 /dts-v1/;
6 #include "imx28.dtsi"
7
8 / {
9         model = "Freescale i.MX28 Evaluation Kit";
10         compatible = "fsl,imx28-evk", "fsl,imx28";
11
12         memory@40000000 {
13                 device_type = "memory";
14                 reg = <0x40000000 0x08000000>;
15         };
16
17
18         reg_3p3v: regulator-3p3v {
19                 compatible = "regulator-fixed";
20                 regulator-name = "3P3V";
21                 regulator-min-microvolt = <3300000>;
22                 regulator-max-microvolt = <3300000>;
23                 regulator-always-on;
24         };
25
26         reg_vddio_sd0: regulator-vddio-sd0 {
27                 compatible = "regulator-fixed";
28                 regulator-name = "vddio-sd0";
29                 regulator-min-microvolt = <3300000>;
30                 regulator-max-microvolt = <3300000>;
31                 gpio = <&gpio3 28 0>;
32         };
33
34         reg_fec_3v3: regulator-fec-3v3 {
35                 compatible = "regulator-fixed";
36                 regulator-name = "fec-3v3";
37                 regulator-min-microvolt = <3300000>;
38                 regulator-max-microvolt = <3300000>;
39                 gpio = <&gpio2 15 0>;
40         };
41
42         reg_usb0_vbus: regulator-usb0-vbus {
43                 compatible = "regulator-fixed";
44                 regulator-name = "usb0_vbus";
45                 regulator-min-microvolt = <5000000>;
46                 regulator-max-microvolt = <5000000>;
47                 gpio = <&gpio3 9 0>;
48                 enable-active-high;
49         };
50
51         reg_usb1_vbus: regulator-usb1-vbus {
52                 compatible = "regulator-fixed";
53                 regulator-name = "usb1_vbus";
54                 regulator-min-microvolt = <5000000>;
55                 regulator-max-microvolt = <5000000>;
56                 gpio = <&gpio3 8 0>;
57                 enable-active-high;
58         };
59
60         reg_lcd_3v3: regulator-lcd-3v3 {
61                 compatible = "regulator-fixed";
62                 regulator-name = "lcd-3v3";
63                 regulator-min-microvolt = <3300000>;
64                 regulator-max-microvolt = <3300000>;
65                 gpio = <&gpio3 30 0>;
66                 enable-active-high;
67         };
68
69         reg_can_3v3: regulator-can-3v3 {
70                 compatible = "regulator-fixed";
71                 regulator-name = "can-3v3";
72                 regulator-min-microvolt = <3300000>;
73                 regulator-max-microvolt = <3300000>;
74                 gpio = <&gpio2 13 0>;
75                 enable-active-high;
76         };
77
78         reg_lcd_5v: regulator-lcd-5v {
79                 compatible = "regulator-fixed";
80                 regulator-name = "lcd-5v";
81                 regulator-min-microvolt = <5000000>;
82                 regulator-max-microvolt = <5000000>;
83         };
84
85         panel {
86                 compatible = "sii,43wvf1g";
87                 backlight = <&backlight_display>;
88                 dvdd-supply = <&reg_lcd_3v3>;
89                 avdd-supply = <&reg_lcd_5v>;
90
91                 port {
92                         panel_in: endpoint {
93                                 remote-endpoint = <&display_out>;
94                         };
95                 };
96         };
97
98         sound {
99                 compatible = "fsl,imx28-evk-sgtl5000",
100                              "fsl,mxs-audio-sgtl5000";
101                 model = "imx28-evk-sgtl5000";
102                 saif-controllers = <&saif0 &saif1>;
103                 audio-codec = <&sgtl5000>;
104         };
105
106         leds {
107                 compatible = "gpio-leds";
108                 pinctrl-names = "default";
109                 pinctrl-0 = <&led_pin_gpio3_5>;
110
111                 user {
112                         label = "Heartbeat";
113                         gpios = <&gpio3 5 0>;
114                         linux,default-trigger = "heartbeat";
115                 };
116         };
117
118         backlight_display: backlight {
119                 compatible = "pwm-backlight";
120                 pwms = <&pwm 2 5000000>;
121                 brightness-levels = <0 4 8 16 32 64 128 255>;
122                 default-brightness-level = <6>;
123         };
124 };
125
126 &auart0 {
127         pinctrl-names = "default";
128         pinctrl-0 = <&auart0_pins_a>;
129         uart-has-rtscts;
130         status = "okay";
131 };
132
133 &auart3 {
134         pinctrl-names = "default";
135         pinctrl-0 = <&auart3_pins_a>;
136         status = "okay";
137 };
138
139 &can0 {
140         pinctrl-names = "default";
141         pinctrl-0 = <&can0_pins_a>;
142         xceiver-supply = <&reg_can_3v3>;
143         status = "okay";
144 };
145
146 &can1 {
147         pinctrl-names = "default";
148         pinctrl-0 = <&can1_pins_a>;
149         xceiver-supply = <&reg_can_3v3>;
150         status = "okay";
151 };
152
153 &duart {
154         pinctrl-names = "default";
155         pinctrl-0 = <&duart_pins_a>;
156         status = "okay";
157 };
158
159 &gpmi {
160         pinctrl-names = "default";
161         pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
162                      &gpmi_pins_evk>;
163         status = "okay";
164 };
165
166 &lcdif {
167         pinctrl-names = "default";
168         pinctrl-0 = <&lcdif_24bit_pins_a
169                      &lcdif_pins_evk>;
170         status = "okay";
171
172         port {
173                 display_out: endpoint {
174                         remote-endpoint = <&panel_in>;
175                 };
176         };
177 };
178
179 &lradc {
180         fsl,lradc-touchscreen-wires = <4>;
181         fsl,ave-ctrl = <4>;
182         fsl,ave-delay = <2>;
183         fsl,settling = <10>;
184         status = "okay";
185 };
186
187 &i2c0 {
188         pinctrl-names = "default";
189         pinctrl-0 = <&i2c0_pins_a>;
190         status = "okay";
191
192         sgtl5000: codec@a {
193                 compatible = "fsl,sgtl5000";
194                 reg = <0x0a>;
195                 #sound-dai-cells = <0>;
196                 VDDA-supply = <&reg_3p3v>;
197                 VDDIO-supply = <&reg_3p3v>;
198                 clocks = <&saif0>;
199         };
200
201         at24@51 {
202                 compatible = "atmel,24c32";
203                 pagesize = <32>;
204                 reg = <0x51>;
205         };
206 };
207
208 &mac0 {
209         phy-mode = "rmii";
210         pinctrl-names = "default";
211         pinctrl-0 = <&mac0_pins_a>;
212         phy-supply = <&reg_fec_3v3>;
213         phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
214         phy-reset-duration = <100>;
215         status = "okay";
216 };
217
218 &mac1 {
219         phy-mode = "rmii";
220         pinctrl-names = "default";
221         pinctrl-0 = <&mac1_pins_a>;
222         status = "okay";
223 };
224
225 &pinctrl {
226         pinctrl-names = "default";
227         pinctrl-0 = <&hog_pins_a>;
228
229         hog_pins_a: hog@0 {
230                 reg = <0>;
231                 fsl,pinmux-ids = <
232                         MX28_PAD_SSP1_CMD__GPIO_2_13
233                         MX28_PAD_SSP1_DATA3__GPIO_2_15
234                         MX28_PAD_ENET0_RX_CLK__GPIO_4_13
235                         MX28_PAD_SSP1_SCK__GPIO_2_12
236                         MX28_PAD_PWM3__GPIO_3_28
237                         MX28_PAD_LCD_RESET__GPIO_3_30
238                         MX28_PAD_AUART2_RX__GPIO_3_8
239                         MX28_PAD_AUART2_TX__GPIO_3_9
240                 >;
241                 fsl,drive-strength = <MXS_DRIVE_4mA>;
242                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
243                 fsl,pull-up = <MXS_PULL_DISABLE>;
244         };
245
246         led_pin_gpio3_5: led_gpio3_5@0 {
247                 reg = <0>;
248                 fsl,pinmux-ids = <
249                         MX28_PAD_AUART1_TX__GPIO_3_5
250                 >;
251                 fsl,drive-strength = <MXS_DRIVE_4mA>;
252                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
253                 fsl,pull-up = <MXS_PULL_DISABLE>;
254         };
255
256         gpmi_pins_evk: gpmi-nand-evk@0 {
257                 reg = <0>;
258                 fsl,pinmux-ids = <
259                         MX28_PAD_GPMI_CE1N__GPMI_CE1N
260                         MX28_PAD_GPMI_RDY1__GPMI_READY1
261                 >;
262                 fsl,drive-strength = <MXS_DRIVE_4mA>;
263                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
264                 fsl,pull-up = <MXS_PULL_DISABLE>;
265         };
266
267         lcdif_pins_evk: lcdif-evk@0 {
268                 reg = <0>;
269                 fsl,pinmux-ids = <
270                         MX28_PAD_LCD_RD_E__LCD_VSYNC
271                         MX28_PAD_LCD_WR_RWN__LCD_HSYNC
272                         MX28_PAD_LCD_RS__LCD_DOTCLK
273                         MX28_PAD_LCD_CS__LCD_ENABLE
274                 >;
275                 fsl,drive-strength = <MXS_DRIVE_4mA>;
276                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
277                 fsl,pull-up = <MXS_PULL_DISABLE>;
278         };
279 };
280
281 &pwm {
282         pinctrl-names = "default";
283         pinctrl-0 = <&pwm2_pins_a>;
284         status = "okay";
285 };
286
287 &saif0 {
288         pinctrl-names = "default";
289         pinctrl-0 = <&saif0_pins_a>;
290         status = "okay";
291 };
292
293 &saif1 {
294         pinctrl-names = "default";
295         pinctrl-0 = <&saif1_pins_a>;
296         fsl,saif-master = <&saif0>;
297         status = "okay";
298 };
299
300 &ssp0 {
301         compatible = "fsl,imx28-mmc";
302         pinctrl-names = "default";
303         pinctrl-0 = <&mmc0_8bit_pins_a
304                 &mmc0_cd_cfg &mmc0_sck_cfg>;
305         bus-width = <8>;
306         wp-gpios = <&gpio2 12 0>;
307         vmmc-supply = <&reg_vddio_sd0>;
308         status = "okay";
309 };
310
311 &ssp1 {
312         compatible = "fsl,imx28-mmc";
313         bus-width = <8>;
314         wp-gpios = <&gpio0 28 0>;
315 };
316
317 &ssp2 {
318         #address-cells = <1>;
319         #size-cells = <0>;
320         compatible = "fsl,imx28-spi";
321         pinctrl-names = "default";
322         pinctrl-0 = <&spi2_pins_a>;
323         status = "okay";
324
325         flash: flash@0 {
326                 reg = <0>;
327                 #address-cells = <1>;
328                 #size-cells = <1>;
329                 compatible = "sst,sst25vf016b", "jedec,spi-nor";
330                 spi-max-frequency = <40000000>;
331         };
332 };
333
334 &usb0 {
335         pinctrl-names = "default";
336         pinctrl-0 = <&usb0_id_pins_a>;
337         vbus-supply = <&reg_usb0_vbus>;
338         status = "okay";
339 };
340
341 &usb1 {
342         vbus-supply = <&reg_usb1_vbus>;
343         status = "okay";
344 };
345
346 &usbphy0 {
347         status = "okay";
348 };
349
350 &usbphy1 {
351         status = "okay";
352 };