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