0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright 2013 Armadeus Systems - <support@armadeus.com>
0004 */
0005
0006 /* APF27Dev is a docking board for the APF27 SOM */
0007 #include "imx27-apf27.dts"
0008
0009 / {
0010 model = "Armadeus Systems APF27Dev docking/development board";
0011 compatible = "armadeus,imx27-apf27dev", "armadeus,imx27-apf27", "fsl,imx27";
0012
0013 display: display {
0014 model = "Chimei-LW700AT9003";
0015 bits-per-pixel = <16>; /* non-standard but required */
0016 fsl,pcr = <0xfae80083>; /* non-standard but required */
0017 display-timings {
0018 native-mode = <&timing0>;
0019 timing0: 800x480 {
0020 clock-frequency = <33000033>;
0021 hactive = <800>;
0022 vactive = <480>;
0023 hback-porch = <96>;
0024 hfront-porch = <96>;
0025 vback-porch = <20>;
0026 vfront-porch = <21>;
0027 hsync-len = <64>;
0028 vsync-len = <4>;
0029 };
0030 };
0031 };
0032
0033 gpio-keys {
0034 compatible = "gpio-keys";
0035 pinctrl-names = "default";
0036 pinctrl-0 = <&pinctrl_gpio_keys>;
0037
0038 user-key {
0039 label = "user";
0040 gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
0041 linux,code = <276>; /* BTN_EXTRA */
0042 };
0043 };
0044
0045 leds {
0046 compatible = "gpio-leds";
0047 pinctrl-names = "default";
0048 pinctrl-0 = <&pinctrl_gpio_leds>;
0049
0050 user {
0051 label = "Heartbeat";
0052 gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
0053 linux,default-trigger = "heartbeat";
0054 };
0055 };
0056
0057 regulators {
0058 compatible = "simple-bus";
0059 #address-cells = <1>;
0060 #size-cells = <0>;
0061
0062 reg_max5821: regulator@0 {
0063 compatible = "regulator-fixed";
0064 reg = <0>;
0065 regulator-name = "max5821-reg";
0066 regulator-min-microvolt = <2500000>;
0067 regulator-max-microvolt = <2500000>;
0068 regulator-always-on;
0069 };
0070 };
0071 };
0072
0073 &cspi1 {
0074 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
0075 pinctrl-names = "default";
0076 pinctrl-0 = <&pinctrl_cspi1 &pinctrl_cspi1_cs>;
0077 status = "okay";
0078
0079 adc@0 {
0080 compatible = "maxim,max1027";
0081 reg = <0>;
0082 interrupt-parent = <&gpio5>;
0083 interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
0084 pinctrl-names = "default";
0085 pinctrl-0 = <&pinctrl_max1027>;
0086 spi-max-frequency = <10000000>;
0087 };
0088 };
0089
0090 &cspi2 {
0091 cs-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>,
0092 <&gpio4 27 GPIO_ACTIVE_LOW>,
0093 <&gpio2 17 GPIO_ACTIVE_LOW>;
0094 pinctrl-names = "default";
0095 pinctrl-0 = <&pinctrl_cspi2 &pinctrl_cspi2_cs>;
0096 status = "okay";
0097 };
0098
0099 &fb {
0100 display = <&display>;
0101 fsl,dmacr = <0x00020010>;
0102 pinctrl-names = "default";
0103 pinctrl-0 = <&pinctrl_imxfb1>;
0104 status = "okay";
0105 };
0106
0107 &i2c1 {
0108 clock-frequency = <400000>;
0109 pinctrl-names = "default";
0110 pinctrl-0 = <&pinctrl_i2c1>;
0111 status = "okay";
0112
0113 rtc@68 {
0114 compatible = "dallas,ds1374";
0115 reg = <0x68>;
0116 };
0117
0118 max5821@38 {
0119 compatible = "maxim,max5821";
0120 reg = <0x38>;
0121 vref-supply = <®_max5821>;
0122 };
0123 };
0124
0125 &i2c2 {
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&pinctrl_i2c2>;
0128 status = "okay";
0129 };
0130
0131 &iomuxc {
0132 imx27-apf27dev {
0133 pinctrl_cspi1: cspi1grp {
0134 fsl,pins = <
0135 MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
0136 MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
0137 MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
0138 >;
0139 };
0140
0141 pinctrl_cspi1_cs: cspi1csgrp {
0142 fsl,pins = <MX27_PAD_CSPI1_SS0__GPIO4_28 0x0>;
0143 };
0144
0145 pinctrl_cspi2: cspi2grp {
0146 fsl,pins = <
0147 MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
0148 MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
0149 MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
0150 >;
0151 };
0152
0153 pinctrl_cspi2_cs: cspi2csgrp {
0154 fsl,pins = <
0155 MX27_PAD_CSI_D5__GPIO2_17 0x0
0156 MX27_PAD_CSPI2_SS0__GPIO4_21 0x0
0157 MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
0158 >;
0159 };
0160
0161 pinctrl_gpio_leds: gpioledsgrp {
0162 fsl,pins = <MX27_PAD_PC_VS1__GPIO6_14 0x0>;
0163 };
0164
0165 pinctrl_gpio_keys: gpiokeysgrp {
0166 fsl,pins = <MX27_PAD_PC_VS2__GPIO6_13 0x0>;
0167 };
0168
0169 pinctrl_imxfb1: imxfbgrp {
0170 fsl,pins = <
0171 MX27_PAD_CLS__CLS 0x0
0172 MX27_PAD_CONTRAST__CONTRAST 0x0
0173 MX27_PAD_LD0__LD0 0x0
0174 MX27_PAD_LD1__LD1 0x0
0175 MX27_PAD_LD2__LD2 0x0
0176 MX27_PAD_LD3__LD3 0x0
0177 MX27_PAD_LD4__LD4 0x0
0178 MX27_PAD_LD5__LD5 0x0
0179 MX27_PAD_LD6__LD6 0x0
0180 MX27_PAD_LD7__LD7 0x0
0181 MX27_PAD_LD8__LD8 0x0
0182 MX27_PAD_LD9__LD9 0x0
0183 MX27_PAD_LD10__LD10 0x0
0184 MX27_PAD_LD11__LD11 0x0
0185 MX27_PAD_LD12__LD12 0x0
0186 MX27_PAD_LD13__LD13 0x0
0187 MX27_PAD_LD14__LD14 0x0
0188 MX27_PAD_LD15__LD15 0x0
0189 MX27_PAD_LD16__LD16 0x0
0190 MX27_PAD_LD17__LD17 0x0
0191 MX27_PAD_LSCLK__LSCLK 0x0
0192 MX27_PAD_OE_ACD__OE_ACD 0x0
0193 MX27_PAD_PS__PS 0x0
0194 MX27_PAD_REV__REV 0x0
0195 MX27_PAD_SPL_SPR__SPL_SPR 0x0
0196 MX27_PAD_HSYNC__HSYNC 0x0
0197 MX27_PAD_VSYNC__VSYNC 0x0
0198 >;
0199 };
0200
0201 pinctrl_i2c1: i2c1grp {
0202 fsl,pins = <
0203 MX27_PAD_I2C_DATA__I2C_DATA 0x0
0204 MX27_PAD_I2C_CLK__I2C_CLK 0x0
0205 >;
0206 };
0207
0208 pinctrl_i2c2: i2c2grp {
0209 fsl,pins = <
0210 MX27_PAD_I2C2_SDA__I2C2_SDA 0x0
0211 MX27_PAD_I2C2_SCL__I2C2_SCL 0x0
0212 >;
0213 };
0214
0215 pinctrl_max1027: max1027 {
0216 fsl,pins = <
0217 MX27_PAD_UART1_CTS__GPIO5_14 0x0 /* CNVST */
0218 MX27_PAD_UART1_RTS__GPIO5_15 0x0 /* EOC */
0219 >;
0220 };
0221
0222 pinctrl_pwm: pwmgrp {
0223 fsl,pins = <
0224 MX27_PAD_PWMO__PWMO 0x0
0225 >;
0226 };
0227
0228 pinctrl_sdhc2: sdhc2grp {
0229 fsl,pins = <
0230 MX27_PAD_SD2_CLK__SD2_CLK 0x0
0231 MX27_PAD_SD2_CMD__SD2_CMD 0x0
0232 MX27_PAD_SD2_D0__SD2_D0 0x0
0233 MX27_PAD_SD2_D1__SD2_D1 0x0
0234 MX27_PAD_SD2_D2__SD2_D2 0x0
0235 MX27_PAD_SD2_D3__SD2_D3 0x0
0236 >;
0237 };
0238
0239 pinctrl_sdhc2_cd: sdhc2cdgrp {
0240 fsl,pins = <MX27_PAD_TOUT__GPIO3_14 0x0>;
0241 };
0242 };
0243 };
0244
0245 &sdhci2 {
0246 bus-width = <4>;
0247 cd-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
0248 pinctrl-names = "default";
0249 pinctrl-0 = <&pinctrl_sdhc2 &pinctrl_sdhc2_cd>;
0250 status = "okay";
0251 };
0252
0253 &pwm {
0254 pinctrl-names = "default";
0255 pinctrl-0 = <&pinctrl_pwm>;
0256 };