0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
0004 */
0005
0006 #include "imx27-eukrea-cpuimx27.dtsi"
0007
0008 / {
0009 model = "Eukrea MBIMXSD27";
0010 compatible = "eukrea,mbimxsd27-baseboard", "eukrea,cpuimx27", "fsl,imx27";
0011
0012 display0: CMO-QVGA {
0013 model = "CMO-QVGA";
0014 bits-per-pixel = <16>;
0015 fsl,pcr = <0xfad08b80>;
0016
0017 display-timings {
0018 native-mode = <&timing0>;
0019 timing0: 320x240 {
0020 clock-frequency = <6500000>;
0021 hactive = <320>;
0022 vactive = <240>;
0023 hback-porch = <20>;
0024 hsync-len = <30>;
0025 hfront-porch = <38>;
0026 vback-porch = <4>;
0027 vsync-len = <3>;
0028 vfront-porch = <15>;
0029 };
0030 };
0031 };
0032
0033 backlight {
0034 compatible = "gpio-backlight";
0035 pinctrl-names = "default";
0036 pinctrl-0 = <&pinctrl_backlight>;
0037 gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
0038 };
0039
0040 leds {
0041 compatible = "gpio-leds";
0042 pinctrl-names = "default";
0043 pinctrl-0 = <&pinctrl_gpioleds>;
0044
0045 led1 {
0046 label = "system::live";
0047 gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;
0048 linux,default-trigger = "heartbeat";
0049 };
0050
0051 led2 {
0052 label = "system::user";
0053 gpios = <&gpio6 19 GPIO_ACTIVE_LOW>;
0054 };
0055 };
0056
0057 regulators {
0058 #address-cells = <1>;
0059 #size-cells = <0>;
0060 compatible = "simple-bus";
0061
0062 reg_lcd: regulator@0 {
0063 pinctrl-names = "default";
0064 pinctrl-0 = <&pinctrl_lcdreg>;
0065 compatible = "regulator-fixed";
0066 reg = <0>;
0067 regulator-name = "LCD";
0068 regulator-min-microvolt = <5000000>;
0069 regulator-max-microvolt = <5000000>;
0070 gpio = <&gpio1 25 GPIO_ACTIVE_HIGH>;
0071 enable-active-high;
0072 };
0073 };
0074 };
0075
0076 &cspi1 {
0077 pinctrl-0 = <&pinctrl_cspi1>;
0078 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
0079 status = "okay";
0080
0081 ads7846@0 {
0082 compatible = "ti,ads7846";
0083 pinctrl-names = "default";
0084 pinctrl-0 = <&pinctrl_touch>;
0085 reg = <0>;
0086 interrupts = <&gpio4 25 IRQ_TYPE_LEVEL_LOW>;
0087 spi-cpol;
0088 spi-max-frequency = <1500000>;
0089 ti,keep-vref-on;
0090 };
0091 };
0092
0093 &fb {
0094 pinctrl-names = "default";
0095 pinctrl-0 = <&pinctrl_imxfb>;
0096 display = <&display0>;
0097 lcd-supply = <®_lcd>;
0098 fsl,dmacr = <0x00040060>;
0099 fsl,lscr1 = <0x00120300>;
0100 fsl,lpccr = <0x00a903ff>;
0101 status = "okay";
0102 };
0103
0104 &i2c1 {
0105 codec: codec@1a {
0106 compatible = "ti,tlv320aic23";
0107 reg = <0x1a>;
0108 };
0109 };
0110
0111 &kpp {
0112 linux,keymap = <
0113 MATRIX_KEY(0, 0, KEY_UP)
0114 MATRIX_KEY(0, 1, KEY_DOWN)
0115 MATRIX_KEY(1, 0, KEY_RIGHT)
0116 MATRIX_KEY(1, 1, KEY_LEFT)
0117 >;
0118 status = "okay";
0119 };
0120
0121 &sdhci1 {
0122 pinctrl-names = "default";
0123 pinctrl-0 = <&pinctrl_sdhc1>;
0124 bus-width = <4>;
0125 status = "okay";
0126 };
0127
0128 &ssi1 {
0129 pinctrl-names = "default";
0130 pinctrl-0 = <&pinctrl_ssi1>;
0131 codec-handle = <&codec>;
0132 status = "okay";
0133 };
0134
0135 &uart1 {
0136 uart-has-rtscts;
0137 pinctrl-names = "default";
0138 pinctrl-0 = <&pinctrl_uart1>;
0139 status = "okay";
0140 };
0141
0142 &uart2 {
0143 uart-has-rtscts;
0144 pinctrl-names = "default";
0145 pinctrl-0 = <&pinctrl_uart2>;
0146 status = "okay";
0147 };
0148
0149 &uart3 {
0150 uart-has-rtscts;
0151 pinctrl-names = "default";
0152 pinctrl-0 = <&pinctrl_uart3>;
0153 status = "okay";
0154 };
0155
0156 &iomuxc {
0157 imx27-eukrea-cpuimx27-baseboard {
0158 pinctrl_cspi1: cspi1grp {
0159 fsl,pins = <
0160 MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
0161 MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
0162 MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
0163 MX27_PAD_CSPI1_SS0__GPIO4_28 0x0 /* CS0 */
0164 >;
0165 };
0166
0167 pinctrl_backlight: backlightgrp {
0168 fsl,pins = <
0169 MX27_PAD_PWMO__GPIO5_5 0x0
0170 >;
0171 };
0172
0173 pinctrl_gpioleds: gpioledsgrp {
0174 fsl,pins = <
0175 MX27_PAD_PC_PWRON__GPIO6_16 0x0
0176 MX27_PAD_PC_CD2_B__GPIO6_19 0x0
0177 >;
0178 };
0179
0180 pinctrl_imxfb: imxfbgrp {
0181 fsl,pins = <
0182 MX27_PAD_LD0__LD0 0x0
0183 MX27_PAD_LD1__LD1 0x0
0184 MX27_PAD_LD2__LD2 0x0
0185 MX27_PAD_LD3__LD3 0x0
0186 MX27_PAD_LD4__LD4 0x0
0187 MX27_PAD_LD5__LD5 0x0
0188 MX27_PAD_LD6__LD6 0x0
0189 MX27_PAD_LD7__LD7 0x0
0190 MX27_PAD_LD8__LD8 0x0
0191 MX27_PAD_LD9__LD9 0x0
0192 MX27_PAD_LD10__LD10 0x0
0193 MX27_PAD_LD11__LD11 0x0
0194 MX27_PAD_LD12__LD12 0x0
0195 MX27_PAD_LD13__LD13 0x0
0196 MX27_PAD_LD14__LD14 0x0
0197 MX27_PAD_LD15__LD15 0x0
0198 MX27_PAD_LD16__LD16 0x0
0199 MX27_PAD_LD17__LD17 0x0
0200 MX27_PAD_CONTRAST__CONTRAST 0x0
0201 MX27_PAD_OE_ACD__OE_ACD 0x0
0202 MX27_PAD_HSYNC__HSYNC 0x0
0203 MX27_PAD_VSYNC__VSYNC 0x0
0204 >;
0205 };
0206
0207 pinctrl_lcdreg: lcdreggrp {
0208 fsl,pins = <
0209 MX27_PAD_CLS__GPIO1_25 0x0
0210 >;
0211 };
0212
0213 pinctrl_sdhc1: sdhc1grp {
0214 fsl,pins = <
0215 MX27_PAD_SD1_CLK__SD1_CLK 0x0
0216 MX27_PAD_SD1_CMD__SD1_CMD 0x0
0217 MX27_PAD_SD1_D0__SD1_D0 0x0
0218 MX27_PAD_SD1_D1__SD1_D1 0x0
0219 MX27_PAD_SD1_D2__SD1_D2 0x0
0220 MX27_PAD_SD1_D3__SD1_D3 0x0
0221 >;
0222 };
0223
0224 pinctrl_ssi1: ssi1grp {
0225 fsl,pins = <
0226 MX27_PAD_SSI4_CLK__SSI4_CLK 0x0
0227 MX27_PAD_SSI4_FS__SSI4_FS 0x0
0228 MX27_PAD_SSI4_RXDAT__SSI4_RXDAT 0x1
0229 MX27_PAD_SSI4_TXDAT__SSI4_TXDAT 0x1
0230 >;
0231 };
0232
0233 pinctrl_touch: touchgrp {
0234 fsl,pins = <
0235 MX27_PAD_CSPI1_RDY__GPIO4_25 0x0 /* IRQ */
0236 >;
0237 };
0238
0239 pinctrl_uart1: uart1grp {
0240 fsl,pins = <
0241 MX27_PAD_UART1_TXD__UART1_TXD 0x0
0242 MX27_PAD_UART1_RXD__UART1_RXD 0x0
0243 MX27_PAD_UART1_CTS__UART1_CTS 0x0
0244 MX27_PAD_UART1_RTS__UART1_RTS 0x0
0245 >;
0246 };
0247
0248 pinctrl_uart2: uart2grp {
0249 fsl,pins = <
0250 MX27_PAD_UART2_TXD__UART2_TXD 0x0
0251 MX27_PAD_UART2_RXD__UART2_RXD 0x0
0252 MX27_PAD_UART2_CTS__UART2_CTS 0x0
0253 MX27_PAD_UART2_RTS__UART2_RTS 0x0
0254 >;
0255 };
0256
0257 pinctrl_uart3: uart3grp {
0258 fsl,pins = <
0259 MX27_PAD_UART3_TXD__UART3_TXD 0x0
0260 MX27_PAD_UART3_RXD__UART3_RXD 0x0
0261 MX27_PAD_UART3_CTS__UART3_CTS 0x0
0262 MX27_PAD_UART3_RTS__UART3_RTS 0x0
0263 >;
0264 };
0265 };
0266 };