Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

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