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 = <®_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 = <®_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