0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2013 Crystalfontz America, Inc.
0004 * Free Electrons
0005 */
0006
0007 /*
0008 * The CFA-10055 is an expansion board for the CFA-10036 module and
0009 * CFA-10037, thus we need to include the CFA-10037 DTS.
0010 */
0011 #include "imx28-cfa10037.dts"
0012
0013 / {
0014 model = "Crystalfontz CFA-10055 Board";
0015 compatible = "crystalfontz,cfa10055", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
0016
0017 apb@80000000 {
0018 apbh@80000000 {
0019 pinctrl@80018000 {
0020 spi2_pins_cfa10055: spi2-cfa10055@0 {
0021 reg = <0>;
0022 fsl,pinmux-ids = <
0023 MX28_PAD_SSP2_SCK__GPIO_2_16
0024 MX28_PAD_SSP2_MOSI__GPIO_2_17
0025 MX28_PAD_SSP2_MISO__GPIO_2_18
0026 MX28_PAD_AUART1_TX__GPIO_3_5
0027 >;
0028 fsl,drive-strength = <MXS_DRIVE_8mA>;
0029 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0030 fsl,pull-up = <MXS_PULL_ENABLE>;
0031 };
0032
0033 lcdif_18bit_pins_cfa10055: lcdif-18bit@0 {
0034 reg = <0>;
0035 fsl,pinmux-ids = <
0036 MX28_PAD_LCD_D00__LCD_D0
0037 MX28_PAD_LCD_D01__LCD_D1
0038 MX28_PAD_LCD_D02__LCD_D2
0039 MX28_PAD_LCD_D03__LCD_D3
0040 MX28_PAD_LCD_D04__LCD_D4
0041 MX28_PAD_LCD_D05__LCD_D5
0042 MX28_PAD_LCD_D06__LCD_D6
0043 MX28_PAD_LCD_D07__LCD_D7
0044 MX28_PAD_LCD_D08__LCD_D8
0045 MX28_PAD_LCD_D09__LCD_D9
0046 MX28_PAD_LCD_D10__LCD_D10
0047 MX28_PAD_LCD_D11__LCD_D11
0048 MX28_PAD_LCD_D12__LCD_D12
0049 MX28_PAD_LCD_D13__LCD_D13
0050 MX28_PAD_LCD_D14__LCD_D14
0051 MX28_PAD_LCD_D15__LCD_D15
0052 MX28_PAD_LCD_D16__LCD_D16
0053 MX28_PAD_LCD_D17__LCD_D17
0054 >;
0055 fsl,drive-strength = <MXS_DRIVE_4mA>;
0056 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0057 fsl,pull-up = <MXS_PULL_DISABLE>;
0058 };
0059
0060 lcdif_pins_cfa10055: lcdif-evk@0 {
0061 reg = <0>;
0062 fsl,pinmux-ids = <
0063 MX28_PAD_LCD_RD_E__LCD_VSYNC
0064 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
0065 MX28_PAD_LCD_RS__LCD_DOTCLK
0066 MX28_PAD_LCD_CS__LCD_ENABLE
0067 >;
0068 fsl,drive-strength = <MXS_DRIVE_4mA>;
0069 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0070 fsl,pull-up = <MXS_PULL_DISABLE>;
0071 };
0072
0073 lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
0074 reg = <0>;
0075 fsl,pinmux-ids = <
0076 MX28_PAD_LCD_RESET__GPIO_3_30
0077 >;
0078 fsl,drive-strength = <MXS_DRIVE_4mA>;
0079 fsl,voltage = <MXS_VOLTAGE_HIGH>;
0080 fsl,pull-up = <MXS_PULL_ENABLE>;
0081 };
0082 };
0083
0084 lcdif@80030000 {
0085 pinctrl-names = "default";
0086 pinctrl-0 = <&lcdif_18bit_pins_cfa10055
0087 &lcdif_pins_cfa10055
0088 &lcdif_pins_cfa10055_pullup>;
0089 display = <&display0>;
0090 status = "okay";
0091
0092 display0: display0 {
0093 bits-per-pixel = <32>;
0094 bus-width = <18>;
0095
0096 display-timings {
0097 native-mode = <&timing0>;
0098 timing0: timing0 {
0099 clock-frequency = <9216000>;
0100 hactive = <320>;
0101 vactive = <480>;
0102 hback-porch = <2>;
0103 hfront-porch = <2>;
0104 vback-porch = <2>;
0105 vfront-porch = <2>;
0106 hsync-len = <15>;
0107 vsync-len = <15>;
0108 hsync-active = <0>;
0109 vsync-active = <0>;
0110 de-active = <1>;
0111 pixelclk-active = <1>;
0112 };
0113 };
0114 };
0115 };
0116 };
0117
0118 apbx@80040000 {
0119 lradc@80050000 {
0120 fsl,lradc-touchscreen-wires = <4>;
0121 status = "okay";
0122 };
0123
0124 pwm: pwm@80064000 {
0125 pinctrl-names = "default";
0126 pinctrl-0 = <&pwm3_pins_b>;
0127 status = "okay";
0128 };
0129 };
0130 };
0131
0132 spi2 {
0133 compatible = "spi-gpio";
0134 pinctrl-names = "default";
0135 pinctrl-0 = <&spi2_pins_cfa10055>;
0136 status = "okay";
0137 gpio-sck = <&gpio2 16 0>;
0138 gpio-mosi = <&gpio2 17 0>;
0139 gpio-miso = <&gpio2 18 0>;
0140 cs-gpios = <&gpio3 5 0>;
0141 num-chipselects = <1>;
0142 #address-cells = <1>;
0143 #size-cells = <0>;
0144
0145 hx8357: hx8357@0 {
0146 compatible = "himax,hx8357b", "himax,hx8357";
0147 reg = <0>;
0148 spi-max-frequency = <100000>;
0149 spi-cpol;
0150 spi-cpha;
0151 gpios-reset = <&gpio3 30 0>;
0152 };
0153 };
0154
0155 backlight {
0156 compatible = "pwm-backlight";
0157 pwms = <&pwm 3 5000000>;
0158 brightness-levels = <0 4 8 16 32 64 128 255>;
0159 default-brightness-level = <6>;
0160 };
0161 };