162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2013 Armadeus Systems - <support@armadeus.com>
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/* APF27Dev is a docking board for the APF27 SOM */
762306a36Sopenharmony_ci#include "imx27-apf27.dts"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	model = "Armadeus Systems APF27Dev docking/development board";
1162306a36Sopenharmony_ci	compatible = "armadeus,imx27-apf27dev", "armadeus,imx27-apf27", "fsl,imx27";
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	display: display {
1462306a36Sopenharmony_ci		model = "Chimei-LW700AT9003";
1562306a36Sopenharmony_ci		bits-per-pixel = <16>;  /* non-standard but required */
1662306a36Sopenharmony_ci		fsl,pcr = <0xfae80083>;	/* non-standard but required */
1762306a36Sopenharmony_ci		display-timings {
1862306a36Sopenharmony_ci			native-mode = <&timing0>;
1962306a36Sopenharmony_ci			timing0: timing0 {
2062306a36Sopenharmony_ci				clock-frequency = <33000033>;
2162306a36Sopenharmony_ci				hactive = <800>;
2262306a36Sopenharmony_ci				vactive = <480>;
2362306a36Sopenharmony_ci				hback-porch = <96>;
2462306a36Sopenharmony_ci				hfront-porch = <96>;
2562306a36Sopenharmony_ci				vback-porch = <20>;
2662306a36Sopenharmony_ci				vfront-porch = <21>;
2762306a36Sopenharmony_ci				hsync-len = <64>;
2862306a36Sopenharmony_ci				vsync-len = <4>;
2962306a36Sopenharmony_ci			};
3062306a36Sopenharmony_ci		};
3162306a36Sopenharmony_ci	};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	gpio-keys {
3462306a36Sopenharmony_ci		compatible = "gpio-keys";
3562306a36Sopenharmony_ci		pinctrl-names = "default";
3662306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_keys>;
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci		user-key {
3962306a36Sopenharmony_ci			label = "user";
4062306a36Sopenharmony_ci			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
4162306a36Sopenharmony_ci			linux,code = <276>; /* BTN_EXTRA */
4262306a36Sopenharmony_ci		};
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	leds {
4662306a36Sopenharmony_ci		compatible = "gpio-leds";
4762306a36Sopenharmony_ci		pinctrl-names = "default";
4862306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_gpio_leds>;
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		led-user {
5162306a36Sopenharmony_ci			label = "Heartbeat";
5262306a36Sopenharmony_ci			gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
5362306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	reg_max5821: regulator-0 {
5862306a36Sopenharmony_ci		compatible = "regulator-fixed";
5962306a36Sopenharmony_ci		regulator-name = "max5821-reg";
6062306a36Sopenharmony_ci		regulator-min-microvolt = <2500000>;
6162306a36Sopenharmony_ci		regulator-max-microvolt = <2500000>;
6262306a36Sopenharmony_ci		regulator-always-on;
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci&cspi1 {
6762306a36Sopenharmony_ci	cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
6862306a36Sopenharmony_ci	pinctrl-names = "default";
6962306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_cspi1 &pinctrl_cspi1_cs>;
7062306a36Sopenharmony_ci	status = "okay";
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	adc@0 {
7362306a36Sopenharmony_ci		compatible = "maxim,max1027";
7462306a36Sopenharmony_ci		reg = <0>;
7562306a36Sopenharmony_ci		interrupt-parent = <&gpio5>;
7662306a36Sopenharmony_ci		interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
7762306a36Sopenharmony_ci		pinctrl-names = "default";
7862306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_max1027>;
7962306a36Sopenharmony_ci		spi-max-frequency = <10000000>;
8062306a36Sopenharmony_ci	};
8162306a36Sopenharmony_ci};
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci&cspi2 {
8462306a36Sopenharmony_ci	cs-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>,
8562306a36Sopenharmony_ci		   <&gpio4 27 GPIO_ACTIVE_LOW>,
8662306a36Sopenharmony_ci		   <&gpio2 17 GPIO_ACTIVE_LOW>;
8762306a36Sopenharmony_ci	pinctrl-names = "default";
8862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_cspi2 &pinctrl_cspi2_cs>;
8962306a36Sopenharmony_ci	status = "okay";
9062306a36Sopenharmony_ci};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci&fb {
9362306a36Sopenharmony_ci	display = <&display>;
9462306a36Sopenharmony_ci	fsl,dmacr = <0x00020010>;
9562306a36Sopenharmony_ci	pinctrl-names = "default";
9662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_imxfb1>;
9762306a36Sopenharmony_ci	status = "okay";
9862306a36Sopenharmony_ci};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci&i2c1 {
10162306a36Sopenharmony_ci	clock-frequency = <400000>;
10262306a36Sopenharmony_ci	pinctrl-names = "default";
10362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c1>;
10462306a36Sopenharmony_ci	status = "okay";
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	rtc@68 {
10762306a36Sopenharmony_ci		compatible = "dallas,ds1374";
10862306a36Sopenharmony_ci		reg = <0x68>;
10962306a36Sopenharmony_ci	};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci	max5821@38 {
11262306a36Sopenharmony_ci		compatible = "maxim,max5821";
11362306a36Sopenharmony_ci		reg = <0x38>;
11462306a36Sopenharmony_ci		vref-supply = <&reg_max5821>;
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci&i2c2 {
11962306a36Sopenharmony_ci	pinctrl-names = "default";
12062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_i2c2>;
12162306a36Sopenharmony_ci	status = "okay";
12262306a36Sopenharmony_ci};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci&iomuxc {
12562306a36Sopenharmony_ci	imx27-apf27dev {
12662306a36Sopenharmony_ci		pinctrl_cspi1: cspi1grp {
12762306a36Sopenharmony_ci			fsl,pins = <
12862306a36Sopenharmony_ci				MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
12962306a36Sopenharmony_ci				MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
13062306a36Sopenharmony_ci				MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
13162306a36Sopenharmony_ci			>;
13262306a36Sopenharmony_ci		};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		pinctrl_cspi1_cs: cspi1csgrp {
13562306a36Sopenharmony_ci			fsl,pins = <MX27_PAD_CSPI1_SS0__GPIO4_28 0x0>;
13662306a36Sopenharmony_ci		};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci		pinctrl_cspi2: cspi2grp {
13962306a36Sopenharmony_ci			fsl,pins = <
14062306a36Sopenharmony_ci				MX27_PAD_CSPI2_MISO__CSPI2_MISO 0x0
14162306a36Sopenharmony_ci				MX27_PAD_CSPI2_MOSI__CSPI2_MOSI 0x0
14262306a36Sopenharmony_ci				MX27_PAD_CSPI2_SCLK__CSPI2_SCLK 0x0
14362306a36Sopenharmony_ci			>;
14462306a36Sopenharmony_ci		};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci		pinctrl_cspi2_cs: cspi2csgrp {
14762306a36Sopenharmony_ci			fsl,pins = <
14862306a36Sopenharmony_ci				MX27_PAD_CSI_D5__GPIO2_17 0x0
14962306a36Sopenharmony_ci				MX27_PAD_CSPI2_SS0__GPIO4_21 0x0
15062306a36Sopenharmony_ci				MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
15162306a36Sopenharmony_ci			>;
15262306a36Sopenharmony_ci		};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci		pinctrl_gpio_leds: gpioledsgrp {
15562306a36Sopenharmony_ci			fsl,pins = <MX27_PAD_PC_VS1__GPIO6_14 0x0>;
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci		pinctrl_gpio_keys: gpiokeysgrp {
15962306a36Sopenharmony_ci			fsl,pins = <MX27_PAD_PC_VS2__GPIO6_13 0x0>;
16062306a36Sopenharmony_ci		};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci		pinctrl_imxfb1: imxfbgrp {
16362306a36Sopenharmony_ci			fsl,pins = <
16462306a36Sopenharmony_ci				MX27_PAD_CLS__CLS 0x0
16562306a36Sopenharmony_ci				MX27_PAD_CONTRAST__CONTRAST 0x0
16662306a36Sopenharmony_ci				MX27_PAD_LD0__LD0 0x0
16762306a36Sopenharmony_ci				MX27_PAD_LD1__LD1 0x0
16862306a36Sopenharmony_ci				MX27_PAD_LD2__LD2 0x0
16962306a36Sopenharmony_ci				MX27_PAD_LD3__LD3 0x0
17062306a36Sopenharmony_ci				MX27_PAD_LD4__LD4 0x0
17162306a36Sopenharmony_ci				MX27_PAD_LD5__LD5 0x0
17262306a36Sopenharmony_ci				MX27_PAD_LD6__LD6 0x0
17362306a36Sopenharmony_ci				MX27_PAD_LD7__LD7 0x0
17462306a36Sopenharmony_ci				MX27_PAD_LD8__LD8 0x0
17562306a36Sopenharmony_ci				MX27_PAD_LD9__LD9 0x0
17662306a36Sopenharmony_ci				MX27_PAD_LD10__LD10 0x0
17762306a36Sopenharmony_ci				MX27_PAD_LD11__LD11 0x0
17862306a36Sopenharmony_ci				MX27_PAD_LD12__LD12 0x0
17962306a36Sopenharmony_ci				MX27_PAD_LD13__LD13 0x0
18062306a36Sopenharmony_ci				MX27_PAD_LD14__LD14 0x0
18162306a36Sopenharmony_ci				MX27_PAD_LD15__LD15 0x0
18262306a36Sopenharmony_ci				MX27_PAD_LD16__LD16 0x0
18362306a36Sopenharmony_ci				MX27_PAD_LD17__LD17 0x0
18462306a36Sopenharmony_ci				MX27_PAD_LSCLK__LSCLK 0x0
18562306a36Sopenharmony_ci				MX27_PAD_OE_ACD__OE_ACD 0x0
18662306a36Sopenharmony_ci				MX27_PAD_PS__PS 0x0
18762306a36Sopenharmony_ci				MX27_PAD_REV__REV 0x0
18862306a36Sopenharmony_ci				MX27_PAD_SPL_SPR__SPL_SPR 0x0
18962306a36Sopenharmony_ci				MX27_PAD_HSYNC__HSYNC 0x0
19062306a36Sopenharmony_ci				MX27_PAD_VSYNC__VSYNC 0x0
19162306a36Sopenharmony_ci			>;
19262306a36Sopenharmony_ci		};
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ci		pinctrl_i2c1: i2c1grp {
19562306a36Sopenharmony_ci			fsl,pins = <
19662306a36Sopenharmony_ci				MX27_PAD_I2C_DATA__I2C_DATA 0x0
19762306a36Sopenharmony_ci				MX27_PAD_I2C_CLK__I2C_CLK 0x0
19862306a36Sopenharmony_ci			>;
19962306a36Sopenharmony_ci		};
20062306a36Sopenharmony_ci
20162306a36Sopenharmony_ci		pinctrl_i2c2: i2c2grp {
20262306a36Sopenharmony_ci			fsl,pins = <
20362306a36Sopenharmony_ci				MX27_PAD_I2C2_SDA__I2C2_SDA 0x0
20462306a36Sopenharmony_ci				MX27_PAD_I2C2_SCL__I2C2_SCL 0x0
20562306a36Sopenharmony_ci			>;
20662306a36Sopenharmony_ci		};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci		pinctrl_max1027: max1027 {
20962306a36Sopenharmony_ci			 fsl,pins = <
21062306a36Sopenharmony_ci				 MX27_PAD_UART1_CTS__GPIO5_14 0x0 /* CNVST */
21162306a36Sopenharmony_ci				 MX27_PAD_UART1_RTS__GPIO5_15 0x0 /* EOC */
21262306a36Sopenharmony_ci			>;
21362306a36Sopenharmony_ci		};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci		pinctrl_pwm: pwmgrp {
21662306a36Sopenharmony_ci			fsl,pins = <
21762306a36Sopenharmony_ci				MX27_PAD_PWMO__PWMO 0x0
21862306a36Sopenharmony_ci			>;
21962306a36Sopenharmony_ci		};
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci		pinctrl_sdhc2: sdhc2grp {
22262306a36Sopenharmony_ci			fsl,pins = <
22362306a36Sopenharmony_ci				MX27_PAD_SD2_CLK__SD2_CLK 0x0
22462306a36Sopenharmony_ci				MX27_PAD_SD2_CMD__SD2_CMD 0x0
22562306a36Sopenharmony_ci				MX27_PAD_SD2_D0__SD2_D0 0x0
22662306a36Sopenharmony_ci				MX27_PAD_SD2_D1__SD2_D1 0x0
22762306a36Sopenharmony_ci				MX27_PAD_SD2_D2__SD2_D2 0x0
22862306a36Sopenharmony_ci				MX27_PAD_SD2_D3__SD2_D3 0x0
22962306a36Sopenharmony_ci			>;
23062306a36Sopenharmony_ci		};
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci		pinctrl_sdhc2_cd: sdhc2cdgrp {
23362306a36Sopenharmony_ci			fsl,pins = <MX27_PAD_TOUT__GPIO3_14 0x0>;
23462306a36Sopenharmony_ci		};
23562306a36Sopenharmony_ci	};
23662306a36Sopenharmony_ci};
23762306a36Sopenharmony_ci
23862306a36Sopenharmony_ci&sdhci2 {
23962306a36Sopenharmony_ci	bus-width = <4>;
24062306a36Sopenharmony_ci	cd-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
24162306a36Sopenharmony_ci	pinctrl-names = "default";
24262306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_sdhc2 &pinctrl_sdhc2_cd>;
24362306a36Sopenharmony_ci	status = "okay";
24462306a36Sopenharmony_ci};
24562306a36Sopenharmony_ci
24662306a36Sopenharmony_ci&pwm {
24762306a36Sopenharmony_ci	pinctrl-names = "default";
24862306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_pwm>;
24962306a36Sopenharmony_ci};
250