xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/mxs/imx28-cfa10056.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright 2013 Free Electrons
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/*
7*f126890aSEmmanuel Vadot * The CFA-10055 is an expansion board for the CFA-10036 module and
8*f126890aSEmmanuel Vadot * CFA-10037, thus we need to include the CFA-10037 DTS.
9*f126890aSEmmanuel Vadot */
10*f126890aSEmmanuel Vadot#include "imx28-cfa10037.dts"
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	model = "Crystalfontz CFA-10056 Board";
14*f126890aSEmmanuel Vadot	compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
15*f126890aSEmmanuel Vadot
16*f126890aSEmmanuel Vadot	spi-2 {
17*f126890aSEmmanuel Vadot		compatible = "spi-gpio";
18*f126890aSEmmanuel Vadot		pinctrl-names = "default";
19*f126890aSEmmanuel Vadot		pinctrl-0 = <&spi2_pins_cfa10056>;
20*f126890aSEmmanuel Vadot		status = "okay";
21*f126890aSEmmanuel Vadot		sck-gpios = <&gpio2 16 0>;
22*f126890aSEmmanuel Vadot		mosi-gpios = <&gpio2 17 0>;
23*f126890aSEmmanuel Vadot		miso-gpios = <&gpio2 18 0>;
24*f126890aSEmmanuel Vadot		cs-gpios = <&gpio3 5 0>;
25*f126890aSEmmanuel Vadot		num-chipselects = <1>;
26*f126890aSEmmanuel Vadot		#address-cells = <1>;
27*f126890aSEmmanuel Vadot		#size-cells = <0>;
28*f126890aSEmmanuel Vadot
29*f126890aSEmmanuel Vadot		hx8369: hx8369@0 {
30*f126890aSEmmanuel Vadot			compatible = "himax,hx8369a", "himax,hx8369";
31*f126890aSEmmanuel Vadot			reg = <0>;
32*f126890aSEmmanuel Vadot			spi-max-frequency = <100000>;
33*f126890aSEmmanuel Vadot			spi-cpol;
34*f126890aSEmmanuel Vadot			spi-cpha;
35*f126890aSEmmanuel Vadot			gpios-reset = <&gpio3 30 0>;
36*f126890aSEmmanuel Vadot		};
37*f126890aSEmmanuel Vadot	};
38*f126890aSEmmanuel Vadot};
39*f126890aSEmmanuel Vadot
40*f126890aSEmmanuel Vadot&pinctrl {
41*f126890aSEmmanuel Vadot	spi2_pins_cfa10056: spi2-cfa10056@0 {
42*f126890aSEmmanuel Vadot		reg = <0>;
43*f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
44*f126890aSEmmanuel Vadot			MX28_PAD_SSP2_SCK__GPIO_2_16
45*f126890aSEmmanuel Vadot			MX28_PAD_SSP2_MOSI__GPIO_2_17
46*f126890aSEmmanuel Vadot			MX28_PAD_SSP2_MISO__GPIO_2_18
47*f126890aSEmmanuel Vadot			MX28_PAD_AUART1_TX__GPIO_3_5
48*f126890aSEmmanuel Vadot		>;
49*f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_8mA>;
50*f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
51*f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_ENABLE>;
52*f126890aSEmmanuel Vadot	};
53*f126890aSEmmanuel Vadot
54*f126890aSEmmanuel Vadot	lcdif_pins_cfa10056: lcdif-10056@0 {
55*f126890aSEmmanuel Vadot		reg = <0>;
56*f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
57*f126890aSEmmanuel Vadot			MX28_PAD_LCD_RD_E__LCD_VSYNC
58*f126890aSEmmanuel Vadot			MX28_PAD_LCD_WR_RWN__LCD_HSYNC
59*f126890aSEmmanuel Vadot			MX28_PAD_LCD_RS__LCD_DOTCLK
60*f126890aSEmmanuel Vadot			MX28_PAD_LCD_CS__LCD_ENABLE
61*f126890aSEmmanuel Vadot		>;
62*f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
63*f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
64*f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_DISABLE>;
65*f126890aSEmmanuel Vadot	};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot	lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
68*f126890aSEmmanuel Vadot		reg = <0>;
69*f126890aSEmmanuel Vadot		fsl,pinmux-ids = <
70*f126890aSEmmanuel Vadot			MX28_PAD_LCD_RESET__GPIO_3_30
71*f126890aSEmmanuel Vadot		>;
72*f126890aSEmmanuel Vadot		fsl,drive-strength = <MXS_DRIVE_4mA>;
73*f126890aSEmmanuel Vadot		fsl,voltage = <MXS_VOLTAGE_HIGH>;
74*f126890aSEmmanuel Vadot		fsl,pull-up = <MXS_PULL_ENABLE>;
75*f126890aSEmmanuel Vadot	};
76*f126890aSEmmanuel Vadot};
77*f126890aSEmmanuel Vadot
78*f126890aSEmmanuel Vadot&lcdif {
79*f126890aSEmmanuel Vadot	pinctrl-names = "default";
80*f126890aSEmmanuel Vadot	pinctrl-0 = <&lcdif_24bit_pins_a
81*f126890aSEmmanuel Vadot			&lcdif_pins_cfa10056
82*f126890aSEmmanuel Vadot			&lcdif_pins_cfa10056_pullup >;
83*f126890aSEmmanuel Vadot	display = <&display0>;
84*f126890aSEmmanuel Vadot	status = "okay";
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot	display0: display0 {
87*f126890aSEmmanuel Vadot		bits-per-pixel = <32>;
88*f126890aSEmmanuel Vadot		bus-width = <24>;
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot		display-timings {
91*f126890aSEmmanuel Vadot			native-mode = <&timing0>;
92*f126890aSEmmanuel Vadot			timing0: timing0 {
93*f126890aSEmmanuel Vadot				clock-frequency = <32000000>;
94*f126890aSEmmanuel Vadot				hactive = <480>;
95*f126890aSEmmanuel Vadot				vactive = <800>;
96*f126890aSEmmanuel Vadot				hback-porch = <2>;
97*f126890aSEmmanuel Vadot				hfront-porch = <2>;
98*f126890aSEmmanuel Vadot				vback-porch = <2>;
99*f126890aSEmmanuel Vadot				vfront-porch = <2>;
100*f126890aSEmmanuel Vadot				hsync-len = <5>;
101*f126890aSEmmanuel Vadot				vsync-len = <5>;
102*f126890aSEmmanuel Vadot				hsync-active = <0>;
103*f126890aSEmmanuel Vadot				vsync-active = <0>;
104*f126890aSEmmanuel Vadot				de-active = <1>;
105*f126890aSEmmanuel Vadot				pixelclk-active = <1>;
106*f126890aSEmmanuel Vadot			};
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot	};
109*f126890aSEmmanuel Vadot};
110