Linux Audio

Check our new training course

In-person Linux kernel drivers training

Jun 16-20, 2025
Register
Loading...
v5.4
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 * Copyright 2013 Free Electrons
 
 
 
 
 
 
 
  4 */
  5
  6/*
  7 * The CFA-10055 is an expansion board for the CFA-10036 module and
  8 * CFA-10037, thus we need to include the CFA-10037 DTS.
  9 */
 10#include "imx28-cfa10037.dts"
 11
 12/ {
 13	model = "Crystalfontz CFA-10056 Board";
 14	compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
 15
 16	apb@80000000 {
 17		apbh@80000000 {
 18			pinctrl@80018000 {
 19				spi2_pins_cfa10056: spi2-cfa10056@0 {
 20					reg = <0>;
 21					fsl,pinmux-ids = <
 22						MX28_PAD_SSP2_SCK__GPIO_2_16
 23						MX28_PAD_SSP2_MOSI__GPIO_2_17
 24						MX28_PAD_SSP2_MISO__GPIO_2_18
 25						MX28_PAD_AUART1_TX__GPIO_3_5
 26					>;
 27					fsl,drive-strength = <MXS_DRIVE_8mA>;
 28					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 29					fsl,pull-up = <MXS_PULL_ENABLE>;
 30				};
 31
 32				lcdif_pins_cfa10056: lcdif-10056@0 {
 33					reg = <0>;
 34					fsl,pinmux-ids = <
 35						MX28_PAD_LCD_RD_E__LCD_VSYNC
 36						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
 37						MX28_PAD_LCD_RS__LCD_DOTCLK
 38						MX28_PAD_LCD_CS__LCD_ENABLE
 39					>;
 40					fsl,drive-strength = <MXS_DRIVE_4mA>;
 41					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 42					fsl,pull-up = <MXS_PULL_DISABLE>;
 43				};
 44
 45				lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
 46					reg = <0>;
 47					fsl,pinmux-ids = <
 48						MX28_PAD_LCD_RESET__GPIO_3_30
 49					>;
 50					fsl,drive-strength = <MXS_DRIVE_4mA>;
 51					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 52					fsl,pull-up = <MXS_PULL_ENABLE>;
 53				};
 54			};
 55
 56			lcdif@80030000 {
 57				pinctrl-names = "default";
 58				pinctrl-0 = <&lcdif_24bit_pins_a
 59						&lcdif_pins_cfa10056
 60						&lcdif_pins_cfa10056_pullup >;
 61				display = <&display0>;
 62				status = "okay";
 63
 64				display0: display0 {
 65					bits-per-pixel = <32>;
 66					bus-width = <24>;
 67
 68					display-timings {
 69						native-mode = <&timing0>;
 70						timing0: timing0 {
 71							clock-frequency = <32000000>;
 72							hactive = <480>;
 73							vactive = <800>;
 74							hback-porch = <2>;
 75							hfront-porch = <2>;
 76							vback-porch = <2>;
 77							vfront-porch = <2>;
 78							hsync-len = <5>;
 79							vsync-len = <5>;
 80							hsync-active = <0>;
 81							vsync-active = <0>;
 82							de-active = <1>;
 83							pixelclk-active = <1>;
 84						};
 85					};
 86				};
 87			};
 88		};
 89	};
 90
 91	spi2 {
 92		compatible = "spi-gpio";
 93		pinctrl-names = "default";
 94		pinctrl-0 = <&spi2_pins_cfa10056>;
 95		status = "okay";
 96		gpio-sck = <&gpio2 16 0>;
 97		gpio-mosi = <&gpio2 17 0>;
 98		gpio-miso = <&gpio2 18 0>;
 99		cs-gpios = <&gpio3 5 0>;
100		num-chipselects = <1>;
101		#address-cells = <1>;
102		#size-cells = <0>;
103
104		hx8369: hx8369@0 {
105			compatible = "himax,hx8369a", "himax,hx8369";
106			reg = <0>;
107			spi-max-frequency = <100000>;
108			spi-cpol;
109			spi-cpha;
110			gpios-reset = <&gpio3 30 0>;
111		};
112	};
113};
v4.10.11
 
  1/*
  2 * Copyright 2013 Free Electrons
  3 *
  4 * The code contained herein is licensed under the GNU General Public
  5 * License. You may obtain a copy of the GNU General Public License
  6 * Version 2 or later at the following locations:
  7 *
  8 * http://www.opensource.org/licenses/gpl-license.html
  9 * http://www.gnu.org/copyleft/gpl.html
 10 */
 11
 12/*
 13 * The CFA-10055 is an expansion board for the CFA-10036 module and
 14 * CFA-10037, thus we need to include the CFA-10037 DTS.
 15 */
 16#include "imx28-cfa10037.dts"
 17
 18/ {
 19	model = "Crystalfontz CFA-10056 Board";
 20	compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
 21
 22	apb@80000000 {
 23		apbh@80000000 {
 24			pinctrl@80018000 {
 25				spi2_pins_cfa10056: spi2-cfa10056@0 {
 26					reg = <0>;
 27					fsl,pinmux-ids = <
 28						MX28_PAD_SSP2_SCK__GPIO_2_16
 29						MX28_PAD_SSP2_MOSI__GPIO_2_17
 30						MX28_PAD_SSP2_MISO__GPIO_2_18
 31						MX28_PAD_AUART1_TX__GPIO_3_5
 32					>;
 33					fsl,drive-strength = <MXS_DRIVE_8mA>;
 34					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 35					fsl,pull-up = <MXS_PULL_ENABLE>;
 36				};
 37
 38				lcdif_pins_cfa10056: lcdif-10056@0 {
 39					reg = <0>;
 40					fsl,pinmux-ids = <
 41						MX28_PAD_LCD_RD_E__LCD_VSYNC
 42						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
 43						MX28_PAD_LCD_RS__LCD_DOTCLK
 44						MX28_PAD_LCD_CS__LCD_ENABLE
 45					>;
 46					fsl,drive-strength = <MXS_DRIVE_4mA>;
 47					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 48					fsl,pull-up = <MXS_PULL_DISABLE>;
 49				};
 50
 51				lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
 52					reg = <0>;
 53					fsl,pinmux-ids = <
 54						MX28_PAD_LCD_RESET__GPIO_3_30
 55					>;
 56					fsl,drive-strength = <MXS_DRIVE_4mA>;
 57					fsl,voltage = <MXS_VOLTAGE_HIGH>;
 58					fsl,pull-up = <MXS_PULL_ENABLE>;
 59				};
 60			};
 61
 62			lcdif@80030000 {
 63				pinctrl-names = "default";
 64				pinctrl-0 = <&lcdif_24bit_pins_a
 65						&lcdif_pins_cfa10056
 66						&lcdif_pins_cfa10056_pullup >;
 67				display = <&display0>;
 68				status = "okay";
 69
 70				display0: display0 {
 71					bits-per-pixel = <32>;
 72					bus-width = <24>;
 73
 74					display-timings {
 75						native-mode = <&timing0>;
 76						timing0: timing0 {
 77							clock-frequency = <32000000>;
 78							hactive = <480>;
 79							vactive = <800>;
 80							hback-porch = <2>;
 81							hfront-porch = <2>;
 82							vback-porch = <2>;
 83							vfront-porch = <2>;
 84							hsync-len = <5>;
 85							vsync-len = <5>;
 86							hsync-active = <0>;
 87							vsync-active = <0>;
 88							de-active = <1>;
 89							pixelclk-active = <1>;
 90						};
 91					};
 92				};
 93			};
 94		};
 95	};
 96
 97	spi2 {
 98		compatible = "spi-gpio";
 99		pinctrl-names = "default";
100		pinctrl-0 = <&spi2_pins_cfa10056>;
101		status = "okay";
102		gpio-sck = <&gpio2 16 0>;
103		gpio-mosi = <&gpio2 17 0>;
104		gpio-miso = <&gpio2 18 0>;
105		cs-gpios = <&gpio3 5 0>;
106		num-chipselects = <1>;
107		#address-cells = <1>;
108		#size-cells = <0>;
109
110		hx8369: hx8369@0 {
111			compatible = "himax,hx8369a", "himax,hx8369";
112			reg = <0>;
113			spi-max-frequency = <100000>;
114			spi-cpol;
115			spi-cpha;
116			gpios-reset = <&gpio3 30 0>;
117		};
118	};
119};