Linux 5.6.13
[linux/fpc-iii.git] / arch / arm / boot / dts / imx28-evk.dts
blob96c1d106bc641ab57c0c62a408e7829be6cb386e
1 // SPDX-License-Identifier: GPL-2.0+
2 //
3 // Copyright 2012 Freescale Semiconductor, Inc.
5 /dts-v1/;
6 #include "imx28.dtsi"
8 / {
9         model = "Freescale i.MX28 Evaluation Kit";
10         compatible = "fsl,imx28-evk", "fsl,imx28";
12         memory@40000000 {
13                 device_type = "memory";
14                 reg = <0x40000000 0x08000000>;
15         };
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         };
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         };
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         };
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         };
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         };
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         };
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         };
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         };
85         panel {
86                 compatible = "sii,43wvf1g";
87                 backlight = <&backlight_display>;
88                 dvdd-supply = <&reg_lcd_3v3>;
89                 avdd-supply = <&reg_lcd_5v>;
91                 port {
92                         panel_in: endpoint {
93                                 remote-endpoint = <&display_out>;
94                         };
95                 };
96         };
98         apb@80000000 {
99                 apbh@80000000 {
100                         gpmi-nand@8000c000 {
101                                 pinctrl-names = "default";
102                                 pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
103                                              &gpmi_pins_evk>;
104                                 status = "okay";
105                         };
107                         ssp0: spi@80010000 {
108                                 compatible = "fsl,imx28-mmc";
109                                 pinctrl-names = "default";
110                                 pinctrl-0 = <&mmc0_8bit_pins_a
111                                         &mmc0_cd_cfg &mmc0_sck_cfg>;
112                                 bus-width = <8>;
113                                 wp-gpios = <&gpio2 12 0>;
114                                 vmmc-supply = <&reg_vddio_sd0>;
115                                 status = "okay";
116                         };
118                         ssp1: spi@80012000 {
119                                 compatible = "fsl,imx28-mmc";
120                                 bus-width = <8>;
121                                 wp-gpios = <&gpio0 28 0>;
122                         };
124                         ssp2: spi@80014000 {
125                                 #address-cells = <1>;
126                                 #size-cells = <0>;
127                                 compatible = "fsl,imx28-spi";
128                                 pinctrl-names = "default";
129                                 pinctrl-0 = <&spi2_pins_a>;
130                                 status = "okay";
132                                 flash: m25p80@0 {
133                                         #address-cells = <1>;
134                                         #size-cells = <1>;
135                                         compatible = "sst,sst25vf016b", "jedec,spi-nor";
136                                         spi-max-frequency = <40000000>;
137                                         reg = <0>;
138                                 };
139                         };
141                         pinctrl@80018000 {
142                                 pinctrl-names = "default";
143                                 pinctrl-0 = <&hog_pins_a>;
145                                 hog_pins_a: hog@0 {
146                                         reg = <0>;
147                                         fsl,pinmux-ids = <
148                                                 MX28_PAD_SSP1_CMD__GPIO_2_13
149                                                 MX28_PAD_SSP1_DATA3__GPIO_2_15
150                                                 MX28_PAD_ENET0_RX_CLK__GPIO_4_13
151                                                 MX28_PAD_SSP1_SCK__GPIO_2_12
152                                                 MX28_PAD_PWM3__GPIO_3_28
153                                                 MX28_PAD_LCD_RESET__GPIO_3_30
154                                                 MX28_PAD_AUART2_RX__GPIO_3_8
155                                                 MX28_PAD_AUART2_TX__GPIO_3_9
156                                         >;
157                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
158                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
159                                         fsl,pull-up = <MXS_PULL_DISABLE>;
160                                 };
162                                 led_pin_gpio3_5: led_gpio3_5@0 {
163                                         reg = <0>;
164                                         fsl,pinmux-ids = <
165                                                 MX28_PAD_AUART1_TX__GPIO_3_5
166                                         >;
167                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
168                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
169                                         fsl,pull-up = <MXS_PULL_DISABLE>;
170                                 };
172                                 gpmi_pins_evk: gpmi-nand-evk@0 {
173                                         reg = <0>;
174                                         fsl,pinmux-ids = <
175                                                 MX28_PAD_GPMI_CE1N__GPMI_CE1N
176                                                 MX28_PAD_GPMI_RDY1__GPMI_READY1
177                                         >;
178                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
179                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
180                                         fsl,pull-up = <MXS_PULL_DISABLE>;
181                                 };
183                                 lcdif_pins_evk: lcdif-evk@0 {
184                                         reg = <0>;
185                                         fsl,pinmux-ids = <
186                                                 MX28_PAD_LCD_RD_E__LCD_VSYNC
187                                                 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
188                                                 MX28_PAD_LCD_RS__LCD_DOTCLK
189                                                 MX28_PAD_LCD_CS__LCD_ENABLE
190                                         >;
191                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
192                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
193                                         fsl,pull-up = <MXS_PULL_DISABLE>;
194                                 };
195                         };
197                         lcdif@80030000 {
198                                 pinctrl-names = "default";
199                                 pinctrl-0 = <&lcdif_24bit_pins_a
200                                              &lcdif_pins_evk>;
201                                 status = "okay";
203                                 port {
204                                         display_out: endpoint {
205                                                 remote-endpoint = <&panel_in>;
206                                         };
207                                 };
208                         };
210                         can0: can@80032000 {
211                                 pinctrl-names = "default";
212                                 pinctrl-0 = <&can0_pins_a>;
213                                 xceiver-supply = <&reg_can_3v3>;
214                                 status = "okay";
215                         };
217                         can1: can@80034000 {
218                                 pinctrl-names = "default";
219                                 pinctrl-0 = <&can1_pins_a>;
220                                 xceiver-supply = <&reg_can_3v3>;
221                                 status = "okay";
222                         };
223                 };
225                 apbx@80040000 {
226                         saif0: saif@80042000 {
227                                 pinctrl-names = "default";
228                                 pinctrl-0 = <&saif0_pins_a>;
229                                 status = "okay";
230                         };
232                         saif1: saif@80046000 {
233                                 pinctrl-names = "default";
234                                 pinctrl-0 = <&saif1_pins_a>;
235                                 fsl,saif-master = <&saif0>;
236                                 status = "okay";
237                         };
239                         lradc@80050000 {
240                                 status = "okay";
241                                 fsl,lradc-touchscreen-wires = <4>;
242                                 fsl,ave-ctrl = <4>;
243                                 fsl,ave-delay = <2>;
244                                 fsl,settling = <10>;
245                         };
247                         i2c0: i2c@80058000 {
248                                 pinctrl-names = "default";
249                                 pinctrl-0 = <&i2c0_pins_a>;
250                                 status = "okay";
252                                 sgtl5000: codec@a {
253                                         compatible = "fsl,sgtl5000";
254                                         reg = <0x0a>;
255                                         #sound-dai-cells = <0>;
256                                         VDDA-supply = <&reg_3p3v>;
257                                         VDDIO-supply = <&reg_3p3v>;
258                                         clocks = <&saif0>;
259                                 };
261                                 at24@51 {
262                                         compatible = "atmel,24c32";
263                                         pagesize = <32>;
264                                         reg = <0x51>;
265                                 };
266                         };
268                         pwm: pwm@80064000 {
269                                 pinctrl-names = "default";
270                                 pinctrl-0 = <&pwm2_pins_a>;
271                                 status = "okay";
272                         };
274                         duart: serial@80074000 {
275                                 pinctrl-names = "default";
276                                 pinctrl-0 = <&duart_pins_a>;
277                                 status = "okay";
278                         };
280                         auart0: serial@8006a000 {
281                                 pinctrl-names = "default";
282                                 pinctrl-0 = <&auart0_pins_a>;
283                                 uart-has-rtscts;
284                                 status = "okay";
285                         };
287                         auart3: serial@80070000 {
288                                 pinctrl-names = "default";
289                                 pinctrl-0 = <&auart3_pins_a>;
290                                 status = "okay";
291                         };
293                         usbphy0: usbphy@8007c000 {
294                                 status = "okay";
295                         };
297                         usbphy1: usbphy@8007e000 {
298                                 status = "okay";
299                         };
300                 };
301         };
303         ahb@80080000 {
304                 usb0: usb@80080000 {
305                         pinctrl-names = "default";
306                         pinctrl-0 = <&usb0_id_pins_a>;
307                         vbus-supply = <&reg_usb0_vbus>;
308                         status = "okay";
309                 };
311                 usb1: usb@80090000 {
312                         vbus-supply = <&reg_usb1_vbus>;
313                         status = "okay";
314                 };
316                 mac0: ethernet@800f0000 {
317                         phy-mode = "rmii";
318                         pinctrl-names = "default";
319                         pinctrl-0 = <&mac0_pins_a>;
320                         phy-supply = <&reg_fec_3v3>;
321                         phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
322                         phy-reset-duration = <100>;
323                         status = "okay";
324                 };
326                 mac1: ethernet@800f4000 {
327                         phy-mode = "rmii";
328                         pinctrl-names = "default";
329                         pinctrl-0 = <&mac1_pins_a>;
330                         status = "okay";
331                 };
332         };
334         sound {
335                 compatible = "fsl,imx28-evk-sgtl5000",
336                              "fsl,mxs-audio-sgtl5000";
337                 model = "imx28-evk-sgtl5000";
338                 saif-controllers = <&saif0 &saif1>;
339                 audio-codec = <&sgtl5000>;
340         };
342         leds {
343                 compatible = "gpio-leds";
344                 pinctrl-names = "default";
345                 pinctrl-0 = <&led_pin_gpio3_5>;
347                 user {
348                         label = "Heartbeat";
349                         gpios = <&gpio3 5 0>;
350                         linux,default-trigger = "heartbeat";
351                 };
352         };
354         backlight_display: backlight {
355                 compatible = "pwm-backlight";
356                 pwms = <&pwm 2 5000000>;
357                 brightness-levels = <0 4 8 16 32 64 128 255>;
358                 default-brightness-level = <6>;
359         };