0be7356941ee99d84b2a0f2235164d66e1146c7d
[linux-2.6-block.git] / arch / arm / boot / dts / nxp / mxs / imx28-cfa10057.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright 2013 Crystalfontz America, Inc.
4  * Copyright 2012 Free Electrons
5  */
6
7 /*
8  * The CFA-10057 is an expansion board for the CFA-10036 module, thus we
9  * need to include the CFA-10036 DTS.
10  */
11 #include "imx28-cfa10036.dts"
12
13 / {
14         model = "Crystalfontz CFA-10057 Board";
15         compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28";
16
17         reg_usb1_vbus: regulator-0 {
18                 compatible = "regulator-fixed";
19                 pinctrl-names = "default";
20                 pinctrl-0 = <&usb_pins_cfa10057>;
21                 regulator-name = "usb1_vbus";
22                 regulator-min-microvolt = <5000000>;
23                 regulator-max-microvolt = <5000000>;
24                 gpio = <&gpio0 7 1>;
25         };
26
27         backlight {
28                 compatible = "pwm-backlight";
29                 pwms = <&pwm 4 5000000>;
30                 brightness-levels = <0 4 8 16 32 64 128 255>;
31                 default-brightness-level = <7>;
32         };
33 };
34
35 &lcdif {
36         pinctrl-names = "default";
37         pinctrl-0 = <&lcdif_18bit_pins_cfa10057
38                      &lcdif_pins_cfa10057>;
39         display = <&display0>;
40         status = "okay";
41
42         display0: display0 {
43                 bits-per-pixel = <32>;
44                 bus-width = <18>;
45
46                 display-timings {
47                         native-mode = <&timing0>;
48                         timing0: timing0 {
49                                 clock-frequency = <30000000>;
50                                 hactive = <480>;
51                                 vactive = <800>;
52                                 hfront-porch = <12>;
53                                 hback-porch = <2>;
54                                 vfront-porch = <5>;
55                                 vback-porch = <3>;
56                                 hsync-len = <2>;
57                                 vsync-len = <2>;
58                                 hsync-active = <0>;
59                                 vsync-active = <0>;
60                                 de-active = <1>;
61                                 pixelclk-active = <1>;
62                         };
63                 };
64         };
65 };
66
67 &lradc {
68         fsl,lradc-touchscreen-wires = <4>;
69         status = "okay";
70 };
71
72 &i2c1 {
73         pinctrl-names = "default";
74         pinctrl-0 = <&i2c1_pins_a>;
75         status = "okay";
76 };
77
78 &mac0 {
79         phy-mode = "rmii";
80         pinctrl-names = "default";
81         pinctrl-0 = <&mac0_pins_a>;
82         phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
83         phy-reset-duration = <100>;
84         status = "okay";
85 };
86
87 &pinctrl {
88         usb_pins_cfa10057: usb-10057@0 {
89                 reg = <0>;
90                 fsl,pinmux-ids = <
91                         MX28_PAD_GPMI_D07__GPIO_0_7
92                 >;
93                 fsl,drive-strength = <MXS_DRIVE_4mA>;
94                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
95                 fsl,pull-up = <MXS_PULL_DISABLE>;
96         };
97
98         lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
99                 reg = <0>;
100                 fsl,pinmux-ids = <
101                         MX28_PAD_LCD_D00__LCD_D0
102                         MX28_PAD_LCD_D01__LCD_D1
103                         MX28_PAD_LCD_D02__LCD_D2
104                         MX28_PAD_LCD_D03__LCD_D3
105                         MX28_PAD_LCD_D04__LCD_D4
106                         MX28_PAD_LCD_D05__LCD_D5
107                         MX28_PAD_LCD_D06__LCD_D6
108                         MX28_PAD_LCD_D07__LCD_D7
109                         MX28_PAD_LCD_D08__LCD_D8
110                         MX28_PAD_LCD_D09__LCD_D9
111                         MX28_PAD_LCD_D10__LCD_D10
112                         MX28_PAD_LCD_D11__LCD_D11
113                         MX28_PAD_LCD_D12__LCD_D12
114                         MX28_PAD_LCD_D13__LCD_D13
115                         MX28_PAD_LCD_D14__LCD_D14
116                         MX28_PAD_LCD_D15__LCD_D15
117                         MX28_PAD_LCD_D16__LCD_D16
118                         MX28_PAD_LCD_D17__LCD_D17
119                 >;
120                 fsl,drive-strength = <MXS_DRIVE_4mA>;
121                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
122                 fsl,pull-up = <MXS_PULL_DISABLE>;
123         };
124
125         lcdif_pins_cfa10057: lcdif-evk@0 {
126                 reg = <0>;
127                 fsl,pinmux-ids = <
128                         MX28_PAD_LCD_RD_E__LCD_VSYNC
129                         MX28_PAD_LCD_WR_RWN__LCD_HSYNC
130                         MX28_PAD_LCD_RS__LCD_DOTCLK
131                         MX28_PAD_LCD_CS__LCD_ENABLE
132                 >;
133                 fsl,drive-strength = <MXS_DRIVE_4mA>;
134                 fsl,voltage = <MXS_VOLTAGE_HIGH>;
135                 fsl,pull-up = <MXS_PULL_DISABLE>;
136         };
137 };
138
139 &pwm {
140         pinctrl-names = "default";
141         pinctrl-0 = <&pwm4_pins_a>;
142         status = "okay";
143 };
144
145 &usb1 {
146         vbus-supply = <&reg_usb1_vbus>;
147         pinctrl-0 = <&usb1_pins_a>;
148         pinctrl-names = "default";
149         status = "okay";
150 };
151
152 &usbphy1 {
153         status = "okay";
154 };