Merge remote-tracking branch 'asoc/fix/sgtl5000' into asoc-linus
[cascardo/linux.git] / arch / arm / boot / dts / imx28-cfa10057.dts
1 /*
2  * Copyright 2013 Crystalfontz America, Inc.
3  * Copyright 2012 Free Electrons
4  *
5  * The code contained herein is licensed under the GNU General Public
6  * License. You may obtain a copy of the GNU General Public License
7  * Version 2 or later at the following locations:
8  *
9  * http://www.opensource.org/licenses/gpl-license.html
10  * http://www.gnu.org/copyleft/gpl.html
11  */
12
13 /*
14  * The CFA-10057 is an expansion board for the CFA-10036 module, thus we
15  * need to include the CFA-10036 DTS.
16  */
17 /include/ "imx28-cfa10036.dts"
18
19 / {
20         model = "Crystalfontz CFA-10057 Board";
21         compatible = "crystalfontz,cfa10057", "crystalfontz,cfa10036", "fsl,imx28";
22
23         apb@80000000 {
24                 apbh@80000000 {
25                         pinctrl@80018000 {
26                                 pinctrl-names = "default", "default";
27                                 pinctrl-1 = <&hog_pins_cfa10057
28                                         &hog_pins_cfa10057_pullup>;
29
30                                 hog_pins_cfa10057: hog-10057@0 {
31                                         reg = <0>;
32                                         fsl,pinmux-ids = <
33                                                 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
34                                                 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
35                                         >;
36                                         fsl,drive-strength = <0>;
37                                         fsl,voltage = <1>;
38                                         fsl,pull-up = <0>;
39                                 };
40
41                                 hog_pins_cfa10057_pullup: hog-10057-pullup@0 {
42                                         reg = <0>;
43                                         fsl,pinmux-ids = <
44                                                 0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
45                                                 0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
46                                                 0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
47                                                 0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
48                                                 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
49                                         >;
50                                         fsl,drive-strength = <0>;
51                                         fsl,voltage = <1>;
52                                         fsl,pull-up = <1>;
53                                 };
54
55                                 lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
56                                         reg = <0>;
57                                         fsl,pinmux-ids = <
58                                                 0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */
59                                                 0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */
60                                                 0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */
61                                                 0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */
62                                                 0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */
63                                                 0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */
64                                                 0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */
65                                                 0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */
66                                                 0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */
67                                                 0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */
68                                                 0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */
69                                                 0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */
70                                                 0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */
71                                                 0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */
72                                                 0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */
73                                                 0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */
74                                                 0x1100 /* MX28_PAD_LCD_D16__LCD_D16 */
75                                                 0x1110 /* MX28_PAD_LCD_D17__LCD_D17 */
76                                         >;
77                                         fsl,drive-strength = <0>;
78                                         fsl,voltage = <1>;
79                                         fsl,pull-up = <0>;
80                                 };
81
82                                 lcdif_pins_cfa10057: lcdif-evk@0 {
83                                         reg = <0>;
84                                         fsl,pinmux-ids = <
85                                                 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
86                                                 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
87                                                 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
88                                                 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
89                                         >;
90                                         fsl,drive-strength = <0>;
91                                         fsl,voltage = <1>;
92                                         fsl,pull-up = <0>;
93                                 };
94                         };
95
96                         lcdif@80030000 {
97                                 pinctrl-names = "default";
98                                 pinctrl-0 = <&lcdif_18bit_pins_cfa10057
99                                              &lcdif_pins_cfa10057>;
100                                 display = <&display>;
101                                 status = "okay";
102
103                                 display: display {
104                                         bits-per-pixel = <32>;
105                                         bus-width = <18>;
106
107                                         display-timings {
108                                                 native-mode = <&timing0>;
109                                                 timing0: timing0 {
110                                                         clock-frequency = <30000000>;
111                                                         hactive = <480>;
112                                                         vactive = <800>;
113                                                         hfront-porch = <12>;
114                                                         hback-porch = <2>;
115                                                         vfront-porch = <5>;
116                                                         vback-porch = <3>;
117                                                         hsync-len = <2>;
118                                                         vsync-len = <2>;
119                                                         hsync-active = <0>;
120                                                         vsync-active = <0>;
121                                                         de-active = <1>;
122                                                         pixelclk-active = <1>;
123                                                 };
124                                         };
125                                 };
126                         };
127                 };
128
129                 apbx@80040000 {
130                         lradc@80050000 {
131                                 fsl,lradc-touchscreen-wires = <4>;
132                                 status = "okay";
133                         };
134
135                         pwm: pwm@80064000 {
136                                 pinctrl-names = "default";
137                                 pinctrl-0 = <&pwm3_pins_b>;
138                                 status = "okay";
139                         };
140
141                         i2c1: i2c@8005a000 {
142                                 pinctrl-names = "default";
143                                 pinctrl-0 = <&i2c1_pins_a>;
144                                 status = "okay";
145                         };
146
147                         usbphy1: usbphy@8007e000 {
148                                 status = "okay";
149                         };
150                 };
151         };
152
153         ahb@80080000 {
154                 usb1: usb@80090000 {
155                         vbus-supply = <&reg_usb1_vbus>;
156                         pinctrl-0 = <&usbphy1_pins_a>;
157                         pinctrl-names = "default";
158                         status = "okay";
159                 };
160         };
161
162         regulators {
163                 compatible = "simple-bus";
164
165                 reg_usb1_vbus: usb1_vbus {
166                         compatible = "regulator-fixed";
167                         regulator-name = "usb1_vbus";
168                         regulator-min-microvolt = <5000000>;
169                         regulator-max-microvolt = <5000000>;
170                         gpio = <&gpio0 7 1>;
171                 };
172         };
173
174         ahb@80080000 {
175                 mac0: ethernet@800f0000 {
176                         phy-mode = "rmii";
177                         pinctrl-names = "default";
178                         pinctrl-0 = <&mac0_pins_a>;
179                         phy-reset-gpios = <&gpio2 21 0>;
180                         phy-reset-duration = <100>;
181                         status = "okay";
182                 };
183         };
184
185         backlight {
186                 compatible = "pwm-backlight";
187                 pwms = <&pwm 3 5000000>;
188                 brightness-levels = <0 4 8 16 32 64 128 255>;
189                 default-brightness-level = <7>;
190         };
191 };