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