18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright 2013 Armadeus Systems - <support@armadeus.com>
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci/* APF27Dev is a docking board for the APF27 SOM */
78c2ecf20Sopenharmony_ci#include "imx27-apf27.dts"
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	model = "Armadeus Systems APF27Dev docking/development board";
118c2ecf20Sopenharmony_ci	compatible = "armadeus,imx27-apf27dev", "armadeus,imx27-apf27", "fsl,imx27";
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	display: display {
148c2ecf20Sopenharmony_ci		model = "Chimei-LW700AT9003";
158c2ecf20Sopenharmony_ci		bits-per-pixel = <16>;  /* non-standard but required */
168c2ecf20Sopenharmony_ci		fsl,pcr = <0xfae80083>;	/* non-standard but required */
178c2ecf20Sopenharmony_ci		display-timings {
188c2ecf20Sopenharmony_ci			native-mode = <&timing0>;
198c2ecf20Sopenharmony_ci			timing0: timing0 {
208c2ecf20Sopenharmony_ci				clock-frequency = <33000033>;
218c2ecf20Sopenharmony_ci				hactive = <800>;
228c2ecf20Sopenharmony_ci				vactive = <480>;
238c2ecf20Sopenharmony_ci				hback-porch = <96>;
248c2ecf20Sopenharmony_ci				hfront-porch = <96>;
258c2ecf20Sopenharmony_ci				vback-porch = <20>;
268c2ecf20Sopenharmony_ci				vfront-porch = <21>;
278c2ecf20Sopenharmony_ci				hsync-len = <64>;
288c2ecf20Sopenharmony_ci				vsync-len = <4>;
298c2ecf20Sopenharmony_ci			};
308c2ecf20Sopenharmony_ci		};
318c2ecf20Sopenharmony_ci	};
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	gpio-keys {
348c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
358c2ecf20Sopenharmony_ci		pinctrl-names = "default";
368c2ecf20Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_keys>;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci		user-key {
398c2ecf20Sopenharmony_ci			label = "user";
408c2ecf20Sopenharmony_ci			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
418c2ecf20Sopenharmony_ci			linux,code = <276>; /* BTN_EXTRA */
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci	};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	leds {
468c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
478c2ecf20Sopenharmony_ci		pinctrl-names = "default";
488c2ecf20Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_leds>;
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci		led-user {
518c2ecf20Sopenharmony_ci			label = "Heartbeat";
528c2ecf20Sopenharmony_ci			gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
538c2ecf20Sopenharmony_ci			linux,default-trigger = "heartbeat";
548c2ecf20Sopenharmony_ci		};
558c2ecf20Sopenharmony_ci	};
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci	regulators {
588c2ecf20Sopenharmony_ci		compatible = "simple-bus";
598c2ecf20Sopenharmony_ci		#address-cells = <1>;
608c2ecf20Sopenharmony_ci		#size-cells = <0>;
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci		reg_max5821: regulator@0 {
638c2ecf20Sopenharmony_ci			compatible = "regulator-fixed";
648c2ecf20Sopenharmony_ci			reg = <0>;
658c2ecf20Sopenharmony_ci			regulator-name = "max5821-reg";
668c2ecf20Sopenharmony_ci			regulator-min-microvolt = <2500000>;
678c2ecf20Sopenharmony_ci			regulator-max-microvolt = <2500000>;
688c2ecf20Sopenharmony_ci			regulator-always-on;
698c2ecf20Sopenharmony_ci		};
708c2ecf20Sopenharmony_ci	};
718c2ecf20Sopenharmony_ci};
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci&cspi1 {
748c2ecf20Sopenharmony_ci	cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
758c2ecf20Sopenharmony_ci	pinctrl-names = "default";
768c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_cspi1 &pinctrl_cspi1_cs>;
778c2ecf20Sopenharmony_ci	status = "okay";
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	adc@0 {
808c2ecf20Sopenharmony_ci		compatible = "maxim,max1027";
818c2ecf20Sopenharmony_ci		reg = <0>;
828c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio5>;
838c2ecf20Sopenharmony_ci		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
848c2ecf20Sopenharmony_ci		pinctrl-names = "default";
858c2ecf20Sopenharmony_ci		pinctrl-0 = <&pinctrl_max1027>;
868c2ecf20Sopenharmony_ci		spi-max-frequency = <10000000>;
878c2ecf20Sopenharmony_ci	};
888c2ecf20Sopenharmony_ci};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci&cspi2 {
918c2ecf20Sopenharmony_ci	cs-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>,
928c2ecf20Sopenharmony_ci		   <&gpio4 27 GPIO_ACTIVE_LOW>,
938c2ecf20Sopenharmony_ci		   <&gpio2 17 GPIO_ACTIVE_LOW>;
948c2ecf20Sopenharmony_ci	pinctrl-names = "default";
958c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_cspi2 &pinctrl_cspi2_cs>;
968c2ecf20Sopenharmony_ci	status = "okay";
978c2ecf20Sopenharmony_ci};
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci&fb {
1008c2ecf20Sopenharmony_ci	display = <&display>;
1018c2ecf20Sopenharmony_ci	fsl,dmacr = <0x00020010>;
1028c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1038c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_imxfb1>;
1048c2ecf20Sopenharmony_ci	status = "okay";
1058c2ecf20Sopenharmony_ci};
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci&i2c1 {
1088c2ecf20Sopenharmony_ci	clock-frequency = <400000>;
1098c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1108c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
1118c2ecf20Sopenharmony_ci	status = "okay";
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci	rtc@68 {
1148c2ecf20Sopenharmony_ci		compatible = "dallas,ds1374";
1158c2ecf20Sopenharmony_ci		reg = <0x68>;
1168c2ecf20Sopenharmony_ci	};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci	max5821@38 {
1198c2ecf20Sopenharmony_ci		compatible = "maxim,max5821";
1208c2ecf20Sopenharmony_ci		reg = <0x38>;
1218c2ecf20Sopenharmony_ci		vref-supply = <&reg_max5821>;
1228c2ecf20Sopenharmony_ci	};
1238c2ecf20Sopenharmony_ci};
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci&i2c2 {
1268c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1278c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c2>;
1288c2ecf20Sopenharmony_ci	status = "okay";
1298c2ecf20Sopenharmony_ci};
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci&iomuxc {
1328c2ecf20Sopenharmony_ci	imx27-apf27dev {
1338c2ecf20Sopenharmony_ci		pinctrl_cspi1: cspi1grp {
1348c2ecf20Sopenharmony_ci			fsl,pins = <
1358c2ecf20Sopenharmony_ci				MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
1368c2ecf20Sopenharmony_ci				MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
1378c2ecf20Sopenharmony_ci				MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
1388c2ecf20Sopenharmony_ci			>;
1398c2ecf20Sopenharmony_ci		};
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci		pinctrl_cspi1_cs: cspi1csgrp {
1428c2ecf20Sopenharmony_ci			fsl,pins = <MX27_PAD_CSPI1_SS0__GPIO4_28 0x0>;
1438c2ecf20Sopenharmony_ci		};
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci		pinctrl_cspi2: cspi2grp {
1468c2ecf20Sopenharmony_ci			fsl,pins = <
1478c2ecf20Sopenharmony_ci				MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
1488c2ecf20Sopenharmony_ci				MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
1498c2ecf20Sopenharmony_ci				MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
1508c2ecf20Sopenharmony_ci			>;
1518c2ecf20Sopenharmony_ci		};
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci		pinctrl_cspi2_cs: cspi2csgrp {
1548c2ecf20Sopenharmony_ci			fsl,pins = <
1558c2ecf20Sopenharmony_ci				MX27_PAD_CSI_D5__GPIO2_17 0x0
1568c2ecf20Sopenharmony_ci				MX27_PAD_CSPI2_SS0__GPIO4_21 0x0
1578c2ecf20Sopenharmony_ci				MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
1588c2ecf20Sopenharmony_ci			>;
1598c2ecf20Sopenharmony_ci		};
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci		pinctrl_gpio_leds: gpioledsgrp {
1628c2ecf20Sopenharmony_ci			fsl,pins = <MX27_PAD_PC_VS1__GPIO6_14 0x0>;
1638c2ecf20Sopenharmony_ci		};
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci		pinctrl_gpio_keys: gpiokeysgrp {
1668c2ecf20Sopenharmony_ci			fsl,pins = <MX27_PAD_PC_VS2__GPIO6_13 0x0>;
1678c2ecf20Sopenharmony_ci		};
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci		pinctrl_imxfb1: imxfbgrp {
1708c2ecf20Sopenharmony_ci			fsl,pins = <
1718c2ecf20Sopenharmony_ci				MX27_PAD_CLS__CLS 0x0
1728c2ecf20Sopenharmony_ci				MX27_PAD_CONTRAST__CONTRAST 0x0
1738c2ecf20Sopenharmony_ci				MX27_PAD_LD0__LD0 0x0
1748c2ecf20Sopenharmony_ci				MX27_PAD_LD1__LD1 0x0
1758c2ecf20Sopenharmony_ci				MX27_PAD_LD2__LD2 0x0
1768c2ecf20Sopenharmony_ci				MX27_PAD_LD3__LD3 0x0
1778c2ecf20Sopenharmony_ci				MX27_PAD_LD4__LD4 0x0
1788c2ecf20Sopenharmony_ci				MX27_PAD_LD5__LD5 0x0
1798c2ecf20Sopenharmony_ci				MX27_PAD_LD6__LD6 0x0
1808c2ecf20Sopenharmony_ci				MX27_PAD_LD7__LD7 0x0
1818c2ecf20Sopenharmony_ci				MX27_PAD_LD8__LD8 0x0
1828c2ecf20Sopenharmony_ci				MX27_PAD_LD9__LD9 0x0
1838c2ecf20Sopenharmony_ci				MX27_PAD_LD10__LD10 0x0
1848c2ecf20Sopenharmony_ci				MX27_PAD_LD11__LD11 0x0
1858c2ecf20Sopenharmony_ci				MX27_PAD_LD12__LD12 0x0
1868c2ecf20Sopenharmony_ci				MX27_PAD_LD13__LD13 0x0
1878c2ecf20Sopenharmony_ci				MX27_PAD_LD14__LD14 0x0
1888c2ecf20Sopenharmony_ci				MX27_PAD_LD15__LD15 0x0
1898c2ecf20Sopenharmony_ci				MX27_PAD_LD16__LD16 0x0
1908c2ecf20Sopenharmony_ci				MX27_PAD_LD17__LD17 0x0
1918c2ecf20Sopenharmony_ci				MX27_PAD_LSCLK__LSCLK 0x0
1928c2ecf20Sopenharmony_ci				MX27_PAD_OE_ACD__OE_ACD 0x0
1938c2ecf20Sopenharmony_ci				MX27_PAD_PS__PS 0x0
1948c2ecf20Sopenharmony_ci				MX27_PAD_REV__REV 0x0
1958c2ecf20Sopenharmony_ci				MX27_PAD_SPL_SPR__SPL_SPR 0x0
1968c2ecf20Sopenharmony_ci				MX27_PAD_HSYNC__HSYNC 0x0
1978c2ecf20Sopenharmony_ci				MX27_PAD_VSYNC__VSYNC 0x0
1988c2ecf20Sopenharmony_ci			>;
1998c2ecf20Sopenharmony_ci		};
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci		pinctrl_i2c1: i2c1grp {
2028c2ecf20Sopenharmony_ci			fsl,pins = <
2038c2ecf20Sopenharmony_ci				MX27_PAD_I2C_DATA__I2C_DATA 0x0
2048c2ecf20Sopenharmony_ci				MX27_PAD_I2C_CLK__I2C_CLK 0x0
2058c2ecf20Sopenharmony_ci			>;
2068c2ecf20Sopenharmony_ci		};
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci		pinctrl_i2c2: i2c2grp {
2098c2ecf20Sopenharmony_ci			fsl,pins = <
2108c2ecf20Sopenharmony_ci				MX27_PAD_I2C2_SDA__I2C2_SDA 0x0
2118c2ecf20Sopenharmony_ci				MX27_PAD_I2C2_SCL__I2C2_SCL 0x0
2128c2ecf20Sopenharmony_ci			>;
2138c2ecf20Sopenharmony_ci		};
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci		pinctrl_max1027: max1027 {
2168c2ecf20Sopenharmony_ci			 fsl,pins = <
2178c2ecf20Sopenharmony_ci				 MX27_PAD_UART1_CTS__GPIO5_14 0x0 /* CNVST */
2188c2ecf20Sopenharmony_ci				 MX27_PAD_UART1_RTS__GPIO5_15 0x0 /* EOC */
2198c2ecf20Sopenharmony_ci			>;
2208c2ecf20Sopenharmony_ci		};
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci		pinctrl_pwm: pwmgrp {
2238c2ecf20Sopenharmony_ci			fsl,pins = <
2248c2ecf20Sopenharmony_ci				MX27_PAD_PWMO__PWMO 0x0
2258c2ecf20Sopenharmony_ci			>;
2268c2ecf20Sopenharmony_ci		};
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci		pinctrl_sdhc2: sdhc2grp {
2298c2ecf20Sopenharmony_ci			fsl,pins = <
2308c2ecf20Sopenharmony_ci				MX27_PAD_SD2_CLK__SD2_CLK 0x0
2318c2ecf20Sopenharmony_ci				MX27_PAD_SD2_CMD__SD2_CMD 0x0
2328c2ecf20Sopenharmony_ci				MX27_PAD_SD2_D0__SD2_D0 0x0
2338c2ecf20Sopenharmony_ci				MX27_PAD_SD2_D1__SD2_D1 0x0
2348c2ecf20Sopenharmony_ci				MX27_PAD_SD2_D2__SD2_D2 0x0
2358c2ecf20Sopenharmony_ci				MX27_PAD_SD2_D3__SD2_D3 0x0
2368c2ecf20Sopenharmony_ci			>;
2378c2ecf20Sopenharmony_ci		};
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci		pinctrl_sdhc2_cd: sdhc2cdgrp {
2408c2ecf20Sopenharmony_ci			fsl,pins = <MX27_PAD_TOUT__GPIO3_14 0x0>;
2418c2ecf20Sopenharmony_ci		};
2428c2ecf20Sopenharmony_ci	};
2438c2ecf20Sopenharmony_ci};
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ci&sdhci2 {
2468c2ecf20Sopenharmony_ci	bus-width = <4>;
2478c2ecf20Sopenharmony_ci	cd-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
2488c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2498c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_sdhc2 &pinctrl_sdhc2_cd>;
2508c2ecf20Sopenharmony_ci	status = "okay";
2518c2ecf20Sopenharmony_ci};
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ci&pwm {
2548c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2558c2ecf20Sopenharmony_ci	pinctrl-0 = <&pinctrl_pwm>;
2568c2ecf20Sopenharmony_ci};
257