18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright 2012 Armadeus Systems - <support@armadeus.com>
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci/* APF28Dev is a docking board for the APF28 SOM */
78c2ecf20Sopenharmony_ci#include "imx28-apf28.dts"
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	model = "Armadeus Systems APF28Dev docking/development board";
118c2ecf20Sopenharmony_ci	compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28";
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	apb@80000000 {
148c2ecf20Sopenharmony_ci		apbh@80000000 {
158c2ecf20Sopenharmony_ci			ssp0: spi@80010000 {
168c2ecf20Sopenharmony_ci				compatible = "fsl,imx28-mmc";
178c2ecf20Sopenharmony_ci				pinctrl-names = "default";
188c2ecf20Sopenharmony_ci				pinctrl-0 = <&mmc0_4bit_pins_a
198c2ecf20Sopenharmony_ci					&mmc0_cd_cfg &mmc0_sck_cfg>;
208c2ecf20Sopenharmony_ci				bus-width = <4>;
218c2ecf20Sopenharmony_ci				status = "okay";
228c2ecf20Sopenharmony_ci			};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci			ssp2: spi@80014000 {
258c2ecf20Sopenharmony_ci				compatible = "fsl,imx28-spi";
268c2ecf20Sopenharmony_ci				pinctrl-names = "default";
278c2ecf20Sopenharmony_ci				pinctrl-0 = <&spi2_pins_a>;
288c2ecf20Sopenharmony_ci				status = "okay";
298c2ecf20Sopenharmony_ci			};
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci			pinctrl@80018000 {
328c2ecf20Sopenharmony_ci				pinctrl-names = "default";
338c2ecf20Sopenharmony_ci				pinctrl-0 = <&hog_pins_apf28dev>;
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci				hog_pins_apf28dev: hog@0 {
368c2ecf20Sopenharmony_ci					reg = <0>;
378c2ecf20Sopenharmony_ci					fsl,pinmux-ids = <
388c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D16__GPIO_1_16
398c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D17__GPIO_1_17
408c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D18__GPIO_1_18
418c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D19__GPIO_1_19
428c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D20__GPIO_1_20
438c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D21__GPIO_1_21
448c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D22__GPIO_1_22
458c2ecf20Sopenharmony_ci						MX28_PAD_GPMI_CE1N__GPIO_0_17
468c2ecf20Sopenharmony_ci					>;
478c2ecf20Sopenharmony_ci					fsl,drive-strength = <MXS_DRIVE_4mA>;
488c2ecf20Sopenharmony_ci					fsl,voltage = <MXS_VOLTAGE_HIGH>;
498c2ecf20Sopenharmony_ci					fsl,pull-up = <MXS_PULL_DISABLE>;
508c2ecf20Sopenharmony_ci				};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci				lcdif_pins_apf28dev: lcdif-apf28dev@0 {
538c2ecf20Sopenharmony_ci					reg = <0>;
548c2ecf20Sopenharmony_ci					fsl,pinmux-ids = <
558c2ecf20Sopenharmony_ci						MX28_PAD_LCD_RD_E__LCD_VSYNC
568c2ecf20Sopenharmony_ci						MX28_PAD_LCD_WR_RWN__LCD_HSYNC
578c2ecf20Sopenharmony_ci						MX28_PAD_LCD_RS__LCD_DOTCLK
588c2ecf20Sopenharmony_ci						MX28_PAD_LCD_CS__LCD_ENABLE
598c2ecf20Sopenharmony_ci					>;
608c2ecf20Sopenharmony_ci					fsl,drive-strength = <MXS_DRIVE_4mA>;
618c2ecf20Sopenharmony_ci					fsl,voltage = <MXS_VOLTAGE_HIGH>;
628c2ecf20Sopenharmony_ci					fsl,pull-up = <MXS_PULL_DISABLE>;
638c2ecf20Sopenharmony_ci				};
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci				usb0_otg_apf28dev: otg-apf28dev@0 {
668c2ecf20Sopenharmony_ci					reg = <0>;
678c2ecf20Sopenharmony_ci					fsl,pinmux-ids = <
688c2ecf20Sopenharmony_ci						MX28_PAD_LCD_D23__GPIO_1_23
698c2ecf20Sopenharmony_ci					>;
708c2ecf20Sopenharmony_ci					fsl,drive-strength = <MXS_DRIVE_4mA>;
718c2ecf20Sopenharmony_ci					fsl,voltage = <MXS_VOLTAGE_HIGH>;
728c2ecf20Sopenharmony_ci					fsl,pull-up = <MXS_PULL_DISABLE>;
738c2ecf20Sopenharmony_ci				};
748c2ecf20Sopenharmony_ci			};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci			lcdif@80030000 {
778c2ecf20Sopenharmony_ci				pinctrl-names = "default";
788c2ecf20Sopenharmony_ci				pinctrl-0 = <&lcdif_16bit_pins_a
798c2ecf20Sopenharmony_ci						&lcdif_pins_apf28dev>;
808c2ecf20Sopenharmony_ci				display = <&display0>;
818c2ecf20Sopenharmony_ci				status = "okay";
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci				display0: display0 {
848c2ecf20Sopenharmony_ci					bits-per-pixel = <16>;
858c2ecf20Sopenharmony_ci					bus-width = <16>;
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci					display-timings {
888c2ecf20Sopenharmony_ci						native-mode = <&timing0>;
898c2ecf20Sopenharmony_ci						timing0: timing0 {
908c2ecf20Sopenharmony_ci							clock-frequency = <33000033>;
918c2ecf20Sopenharmony_ci							hactive = <800>;
928c2ecf20Sopenharmony_ci							vactive = <480>;
938c2ecf20Sopenharmony_ci							hback-porch = <96>;
948c2ecf20Sopenharmony_ci							hfront-porch = <96>;
958c2ecf20Sopenharmony_ci							vback-porch = <20>;
968c2ecf20Sopenharmony_ci							vfront-porch = <21>;
978c2ecf20Sopenharmony_ci							hsync-len = <64>;
988c2ecf20Sopenharmony_ci							vsync-len = <4>;
998c2ecf20Sopenharmony_ci							hsync-active = <1>;
1008c2ecf20Sopenharmony_ci							vsync-active = <1>;
1018c2ecf20Sopenharmony_ci							de-active = <1>;
1028c2ecf20Sopenharmony_ci							pixelclk-active = <0>;
1038c2ecf20Sopenharmony_ci						};
1048c2ecf20Sopenharmony_ci					};
1058c2ecf20Sopenharmony_ci				};
1068c2ecf20Sopenharmony_ci			};
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci			can0: can@80032000 {
1098c2ecf20Sopenharmony_ci				pinctrl-names = "default";
1108c2ecf20Sopenharmony_ci				pinctrl-0 = <&can0_pins_a>;
1118c2ecf20Sopenharmony_ci				xceiver-supply = <&reg_can0_vcc>;
1128c2ecf20Sopenharmony_ci				status = "okay";
1138c2ecf20Sopenharmony_ci			};
1148c2ecf20Sopenharmony_ci		};
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci		apbx@80040000 {
1178c2ecf20Sopenharmony_ci			lradc@80050000 {
1188c2ecf20Sopenharmony_ci				fsl,lradc-touchscreen-wires = <4>;
1198c2ecf20Sopenharmony_ci				status = "okay";
1208c2ecf20Sopenharmony_ci			};
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci			i2c0: i2c@80058000 {
1238c2ecf20Sopenharmony_ci				pinctrl-names = "default";
1248c2ecf20Sopenharmony_ci				pinctrl-0 = <&i2c0_pins_a>;
1258c2ecf20Sopenharmony_ci				status = "okay";
1268c2ecf20Sopenharmony_ci			};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci			pwm: pwm@80064000 {
1298c2ecf20Sopenharmony_ci				pinctrl-names = "default";
1308c2ecf20Sopenharmony_ci				pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
1318c2ecf20Sopenharmony_ci				status = "okay";
1328c2ecf20Sopenharmony_ci			};
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci			auart0: serial@8006a000 {
1358c2ecf20Sopenharmony_ci				pinctrl-names = "default";
1368c2ecf20Sopenharmony_ci				pinctrl-0 = <&auart0_pins_a>;
1378c2ecf20Sopenharmony_ci				uart-has-rtscts;
1388c2ecf20Sopenharmony_ci				status = "okay";
1398c2ecf20Sopenharmony_ci			};
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci			usbphy0: usbphy@8007c000 {
1428c2ecf20Sopenharmony_ci				status = "okay";
1438c2ecf20Sopenharmony_ci			};
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci			usbphy1: usbphy@8007e000 {
1468c2ecf20Sopenharmony_ci				status = "okay";
1478c2ecf20Sopenharmony_ci			};
1488c2ecf20Sopenharmony_ci		};
1498c2ecf20Sopenharmony_ci	};
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	ahb@80080000 {
1528c2ecf20Sopenharmony_ci		usb0: usb@80080000 {
1538c2ecf20Sopenharmony_ci			pinctrl-names = "default";
1548c2ecf20Sopenharmony_ci			pinctrl-0 = <&usb0_otg_apf28dev
1558c2ecf20Sopenharmony_ci					&usb0_id_pins_b>;
1568c2ecf20Sopenharmony_ci			vbus-supply = <&reg_usb0_vbus>;
1578c2ecf20Sopenharmony_ci			status = "okay";
1588c2ecf20Sopenharmony_ci		};
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci		usb1: usb@80090000 {
1618c2ecf20Sopenharmony_ci			status = "okay";
1628c2ecf20Sopenharmony_ci		};
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci		mac1: ethernet@800f4000 {
1658c2ecf20Sopenharmony_ci			phy-mode = "rmii";
1668c2ecf20Sopenharmony_ci			pinctrl-names = "default";
1678c2ecf20Sopenharmony_ci			pinctrl-0 = <&mac1_pins_a>;
1688c2ecf20Sopenharmony_ci			phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
1698c2ecf20Sopenharmony_ci			status = "okay";
1708c2ecf20Sopenharmony_ci		};
1718c2ecf20Sopenharmony_ci	};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	regulators {
1748c2ecf20Sopenharmony_ci		compatible = "simple-bus";
1758c2ecf20Sopenharmony_ci		#address-cells = <1>;
1768c2ecf20Sopenharmony_ci		#size-cells = <0>;
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci		reg_usb0_vbus: regulator@0 {
1798c2ecf20Sopenharmony_ci			compatible = "regulator-fixed";
1808c2ecf20Sopenharmony_ci			reg = <0>;
1818c2ecf20Sopenharmony_ci			regulator-name = "usb0_vbus";
1828c2ecf20Sopenharmony_ci			regulator-min-microvolt = <5000000>;
1838c2ecf20Sopenharmony_ci			regulator-max-microvolt = <5000000>;
1848c2ecf20Sopenharmony_ci			gpio = <&gpio1 23 1>;
1858c2ecf20Sopenharmony_ci			enable-active-high;
1868c2ecf20Sopenharmony_ci		};
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci		reg_can0_vcc: regulator@1 {
1898c2ecf20Sopenharmony_ci			compatible = "regulator-fixed";
1908c2ecf20Sopenharmony_ci			reg = <1>;
1918c2ecf20Sopenharmony_ci			regulator-name = "can0_vcc";
1928c2ecf20Sopenharmony_ci			regulator-min-microvolt = <5000000>;
1938c2ecf20Sopenharmony_ci			regulator-max-microvolt = <5000000>;
1948c2ecf20Sopenharmony_ci		};
1958c2ecf20Sopenharmony_ci	};
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ci	leds {
1988c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci		user {
2018c2ecf20Sopenharmony_ci			label = "Heartbeat";
2028c2ecf20Sopenharmony_ci			gpios = <&gpio0 21 0>;
2038c2ecf20Sopenharmony_ci			linux,default-trigger = "heartbeat";
2048c2ecf20Sopenharmony_ci		};
2058c2ecf20Sopenharmony_ci	};
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_ci	backlight {
2088c2ecf20Sopenharmony_ci		compatible = "pwm-backlight";
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci		pwms = <&pwm 3 191000>;
2118c2ecf20Sopenharmony_ci		brightness-levels = <0 4 8 16 32 64 128 255>;
2128c2ecf20Sopenharmony_ci		default-brightness-level = <6>;
2138c2ecf20Sopenharmony_ci	};
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci	gpio-keys {
2168c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci		user-button {
2198c2ecf20Sopenharmony_ci			label = "User button";
2208c2ecf20Sopenharmony_ci			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
2218c2ecf20Sopenharmony_ci			linux,code = <0x100>;
2228c2ecf20Sopenharmony_ci			wakeup-source;
2238c2ecf20Sopenharmony_ci		};
2248c2ecf20Sopenharmony_ci	};
2258c2ecf20Sopenharmony_ci};
226