Merge remote-tracking branch 'spi/fix/core' into spi-linus
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / imx28-cfa10055.dts
1 /*
2  * Copyright 2013 Crystalfontz America, Inc.
3  *                                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-10055 is an expansion board for the CFA-10036 module and
15  * CFA-10037, thus we need to include the CFA-10037 DTS.
16  */
17 #include "imx28-cfa10037.dts"
18
19 / {
20         model = "Crystalfontz CFA-10055 Board";
21         compatible = "crystalfontz,cfa10055", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
22
23         apb@80000000 {
24                 apbh@80000000 {
25                         pinctrl@80018000 {
26                                 spi2_pins_cfa10055: spi2-cfa10055@0 {
27                                         reg = <0>;
28                                         fsl,pinmux-ids = <
29                                                 MX28_PAD_SSP2_SCK__GPIO_2_16
30                                                 MX28_PAD_SSP2_MOSI__GPIO_2_17
31                                                 MX28_PAD_SSP2_MISO__GPIO_2_18
32                                                 MX28_PAD_AUART1_TX__GPIO_3_5
33                                         >;
34                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
35                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
36                                         fsl,pull-up = <MXS_PULL_ENABLE>;
37                                 };
38
39                                 lcdif_18bit_pins_cfa10055: lcdif-18bit@0 {
40                                         reg = <0>;
41                                         fsl,pinmux-ids = <
42                                                 MX28_PAD_LCD_D00__LCD_D0
43                                                 MX28_PAD_LCD_D01__LCD_D1
44                                                 MX28_PAD_LCD_D02__LCD_D2
45                                                 MX28_PAD_LCD_D03__LCD_D3
46                                                 MX28_PAD_LCD_D04__LCD_D4
47                                                 MX28_PAD_LCD_D05__LCD_D5
48                                                 MX28_PAD_LCD_D06__LCD_D6
49                                                 MX28_PAD_LCD_D07__LCD_D7
50                                                 MX28_PAD_LCD_D08__LCD_D8
51                                                 MX28_PAD_LCD_D09__LCD_D9
52                                                 MX28_PAD_LCD_D10__LCD_D10
53                                                 MX28_PAD_LCD_D11__LCD_D11
54                                                 MX28_PAD_LCD_D12__LCD_D12
55                                                 MX28_PAD_LCD_D13__LCD_D13
56                                                 MX28_PAD_LCD_D14__LCD_D14
57                                                 MX28_PAD_LCD_D15__LCD_D15
58                                                 MX28_PAD_LCD_D16__LCD_D16
59                                                 MX28_PAD_LCD_D17__LCD_D17
60                                         >;
61                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
62                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
63                                         fsl,pull-up = <MXS_PULL_DISABLE>;
64                                 };
65
66                                 lcdif_pins_cfa10055: lcdif-evk@0 {
67                                         reg = <0>;
68                                         fsl,pinmux-ids = <
69                                                 MX28_PAD_LCD_RD_E__LCD_VSYNC
70                                                 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
71                                                 MX28_PAD_LCD_RS__LCD_DOTCLK
72                                                 MX28_PAD_LCD_CS__LCD_ENABLE
73                                         >;
74                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
75                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
76                                         fsl,pull-up = <MXS_PULL_DISABLE>;
77                                 };
78
79                                 lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
80                                         reg = <0>;
81                                         fsl,pinmux-ids = <
82                                                 MX28_PAD_LCD_RESET__GPIO_3_30
83                                         >;
84                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
85                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
86                                         fsl,pull-up = <MXS_PULL_ENABLE>;
87                                 };
88                         };
89
90                         lcdif@80030000 {
91                                 pinctrl-names = "default";
92                                 pinctrl-0 = <&lcdif_18bit_pins_cfa10055
93                                              &lcdif_pins_cfa10055
94                                              &lcdif_pins_cfa10055_pullup>;
95                                 display = <&display>;
96                                 status = "okay";
97
98                                 display: display {
99                                         bits-per-pixel = <32>;
100                                         bus-width = <18>;
101
102                                         display-timings {
103                                                 native-mode = <&timing0>;
104                                                 timing0: timing0 {
105                                                         clock-frequency = <9216000>;
106                                                         hactive = <320>;
107                                                         vactive = <480>;
108                                                         hback-porch = <2>;
109                                                         hfront-porch = <2>;
110                                                         vback-porch = <2>;
111                                                         vfront-porch = <2>;
112                                                         hsync-len = <15>;
113                                                         vsync-len = <15>;
114                                                         hsync-active = <0>;
115                                                         vsync-active = <0>;
116                                                         de-active = <1>;
117                                                         pixelclk-active = <1>;
118                                                 };
119                                         };
120                                 };
121                         };
122                 };
123
124                 apbx@80040000 {
125                         lradc@80050000 {
126                                 fsl,lradc-touchscreen-wires = <4>;
127                                 status = "okay";
128                         };
129
130                         pwm: pwm@80064000 {
131                                 pinctrl-names = "default";
132                                 pinctrl-0 = <&pwm3_pins_b>;
133                                 status = "okay";
134                         };
135                 };
136         };
137
138         spi2 {
139                 compatible = "spi-gpio";
140                 pinctrl-names = "default";
141                 pinctrl-0 = <&spi2_pins_cfa10055>;
142                 status = "okay";
143                 gpio-sck = <&gpio2 16 0>;
144                 gpio-mosi = <&gpio2 17 0>;
145                 gpio-miso = <&gpio2 18 0>;
146                 cs-gpios = <&gpio3 5 0>;
147                 num-chipselects = <1>;
148                 #address-cells = <1>;
149                 #size-cells = <0>;
150
151                 hx8357: hx8357@0 {
152                         compatible = "himax,hx8357b", "himax,hx8357";
153                         reg = <0>;
154                         spi-max-frequency = <100000>;
155                         spi-cpol;
156                         spi-cpha;
157                         gpios-reset = <&gpio3 30 0>;
158                 };
159         };
160
161         backlight {
162                 compatible = "pwm-backlight";
163                 pwms = <&pwm 3 5000000>;
164                 brightness-levels = <0 4 8 16 32 64 128 255>;
165                 default-brightness-level = <6>;
166         };
167 };