162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2013 Free Electrons
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/*
762306a36Sopenharmony_ci * The CFA-10055 is an expansion board for the CFA-10036 module and
862306a36Sopenharmony_ci * CFA-10037, thus we need to include the CFA-10037 DTS.
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci#include "imx28-cfa10037.dts"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "Crystalfontz CFA-10056 Board";
1462306a36Sopenharmony_ci	compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	spi-2 {
1762306a36Sopenharmony_ci		compatible = "spi-gpio";
1862306a36Sopenharmony_ci		pinctrl-names = "default";
1962306a36Sopenharmony_ci		pinctrl-0 = <&spi2_pins_cfa10056>;
2062306a36Sopenharmony_ci		status = "okay";
2162306a36Sopenharmony_ci		sck-gpios = <&gpio2 16 0>;
2262306a36Sopenharmony_ci		mosi-gpios = <&gpio2 17 0>;
2362306a36Sopenharmony_ci		miso-gpios = <&gpio2 18 0>;
2462306a36Sopenharmony_ci		cs-gpios = <&gpio3 5 0>;
2562306a36Sopenharmony_ci		num-chipselects = <1>;
2662306a36Sopenharmony_ci		#address-cells = <1>;
2762306a36Sopenharmony_ci		#size-cells = <0>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		hx8369: hx8369@0 {
3062306a36Sopenharmony_ci			compatible = "himax,hx8369a", "himax,hx8369";
3162306a36Sopenharmony_ci			reg = <0>;
3262306a36Sopenharmony_ci			spi-max-frequency = <100000>;
3362306a36Sopenharmony_ci			spi-cpol;
3462306a36Sopenharmony_ci			spi-cpha;
3562306a36Sopenharmony_ci			gpios-reset = <&gpio3 30 0>;
3662306a36Sopenharmony_ci		};
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&pinctrl {
4162306a36Sopenharmony_ci	spi2_pins_cfa10056: spi2-cfa10056@0 {
4262306a36Sopenharmony_ci		reg = <0>;
4362306a36Sopenharmony_ci		fsl,pinmux-ids = <
4462306a36Sopenharmony_ci			MX28_PAD_SSP2_SCK__GPIO_2_16
4562306a36Sopenharmony_ci			MX28_PAD_SSP2_MOSI__GPIO_2_17
4662306a36Sopenharmony_ci			MX28_PAD_SSP2_MISO__GPIO_2_18
4762306a36Sopenharmony_ci			MX28_PAD_AUART1_TX__GPIO_3_5
4862306a36Sopenharmony_ci		>;
4962306a36Sopenharmony_ci		fsl,drive-strength = <MXS_DRIVE_8mA>;
5062306a36Sopenharmony_ci		fsl,voltage = <MXS_VOLTAGE_HIGH>;
5162306a36Sopenharmony_ci		fsl,pull-up = <MXS_PULL_ENABLE>;
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	lcdif_pins_cfa10056: lcdif-10056@0 {
5562306a36Sopenharmony_ci		reg = <0>;
5662306a36Sopenharmony_ci		fsl,pinmux-ids = <
5762306a36Sopenharmony_ci			MX28_PAD_LCD_RD_E__LCD_VSYNC
5862306a36Sopenharmony_ci			MX28_PAD_LCD_WR_RWN__LCD_HSYNC
5962306a36Sopenharmony_ci			MX28_PAD_LCD_RS__LCD_DOTCLK
6062306a36Sopenharmony_ci			MX28_PAD_LCD_CS__LCD_ENABLE
6162306a36Sopenharmony_ci		>;
6262306a36Sopenharmony_ci		fsl,drive-strength = <MXS_DRIVE_4mA>;
6362306a36Sopenharmony_ci		fsl,voltage = <MXS_VOLTAGE_HIGH>;
6462306a36Sopenharmony_ci		fsl,pull-up = <MXS_PULL_DISABLE>;
6562306a36Sopenharmony_ci	};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
6862306a36Sopenharmony_ci		reg = <0>;
6962306a36Sopenharmony_ci		fsl,pinmux-ids = <
7062306a36Sopenharmony_ci			MX28_PAD_LCD_RESET__GPIO_3_30
7162306a36Sopenharmony_ci		>;
7262306a36Sopenharmony_ci		fsl,drive-strength = <MXS_DRIVE_4mA>;
7362306a36Sopenharmony_ci		fsl,voltage = <MXS_VOLTAGE_HIGH>;
7462306a36Sopenharmony_ci		fsl,pull-up = <MXS_PULL_ENABLE>;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci&lcdif {
7962306a36Sopenharmony_ci	pinctrl-names = "default";
8062306a36Sopenharmony_ci	pinctrl-0 = <&lcdif_24bit_pins_a
8162306a36Sopenharmony_ci			&lcdif_pins_cfa10056
8262306a36Sopenharmony_ci			&lcdif_pins_cfa10056_pullup >;
8362306a36Sopenharmony_ci	display = <&display0>;
8462306a36Sopenharmony_ci	status = "okay";
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	display0: display0 {
8762306a36Sopenharmony_ci		bits-per-pixel = <32>;
8862306a36Sopenharmony_ci		bus-width = <24>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci		display-timings {
9162306a36Sopenharmony_ci			native-mode = <&timing0>;
9262306a36Sopenharmony_ci			timing0: timing0 {
9362306a36Sopenharmony_ci				clock-frequency = <32000000>;
9462306a36Sopenharmony_ci				hactive = <480>;
9562306a36Sopenharmony_ci				vactive = <800>;
9662306a36Sopenharmony_ci				hback-porch = <2>;
9762306a36Sopenharmony_ci				hfront-porch = <2>;
9862306a36Sopenharmony_ci				vback-porch = <2>;
9962306a36Sopenharmony_ci				vfront-porch = <2>;
10062306a36Sopenharmony_ci				hsync-len = <5>;
10162306a36Sopenharmony_ci				vsync-len = <5>;
10262306a36Sopenharmony_ci				hsync-active = <0>;
10362306a36Sopenharmony_ci				vsync-active = <0>;
10462306a36Sopenharmony_ci				de-active = <1>;
10562306a36Sopenharmony_ci				pixelclk-active = <1>;
10662306a36Sopenharmony_ci			};
10762306a36Sopenharmony_ci		};
10862306a36Sopenharmony_ci	};
10962306a36Sopenharmony_ci};
110