1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * Copyright 2012 Armadeus Systems - <support@armadeus.com> 4 */ 5 6/* APF28Dev is a docking board for the APF28 SOM */ 7#include "imx28-apf28.dts" 8 9/ { 10 model = "Armadeus Systems APF28Dev docking/development board"; 11 compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28"; 12 13 regulators { 14 compatible = "simple-bus"; 15 #address-cells = <1>; 16 #size-cells = <0>; 17 18 reg_usb0_vbus: regulator@0 { 19 compatible = "regulator-fixed"; 20 reg = <0>; 21 regulator-name = "usb0_vbus"; 22 regulator-min-microvolt = <5000000>; 23 regulator-max-microvolt = <5000000>; 24 gpio = <&gpio1 23 1>; 25 enable-active-high; 26 }; 27 28 reg_can0_vcc: regulator@1 { 29 compatible = "regulator-fixed"; 30 reg = <1>; 31 regulator-name = "can0_vcc"; 32 regulator-min-microvolt = <5000000>; 33 regulator-max-microvolt = <5000000>; 34 }; 35 }; 36 37 leds { 38 compatible = "gpio-leds"; 39 40 user { 41 label = "Heartbeat"; 42 gpios = <&gpio0 21 0>; 43 linux,default-trigger = "heartbeat"; 44 }; 45 }; 46 47 backlight { 48 compatible = "pwm-backlight"; 49 50 pwms = <&pwm 3 191000>; 51 brightness-levels = <0 4 8 16 32 64 128 255>; 52 default-brightness-level = <6>; 53 }; 54 55 gpio-keys { 56 compatible = "gpio-keys"; 57 58 user-button { 59 label = "User button"; 60 gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; 61 linux,code = <0x100>; 62 wakeup-source; 63 }; 64 }; 65}; 66 67&auart0 { 68 pinctrl-names = "default"; 69 pinctrl-0 = <&auart0_pins_a>; 70 uart-has-rtscts; 71 status = "okay"; 72}; 73 74&can0 { 75 pinctrl-names = "default"; 76 pinctrl-0 = <&can0_pins_a>; 77 xceiver-supply = <®_can0_vcc>; 78 status = "okay"; 79}; 80 81&i2c0 { 82 pinctrl-names = "default"; 83 pinctrl-0 = <&i2c0_pins_a>; 84 status = "okay"; 85}; 86 87&lcdif { 88 pinctrl-names = "default"; 89 pinctrl-0 = <&lcdif_16bit_pins_a 90 &lcdif_pins_apf28dev>; 91 display = <&display0>; 92 status = "okay"; 93 94 display0: display0 { 95 bits-per-pixel = <16>; 96 bus-width = <16>; 97 98 display-timings { 99 native-mode = <&timing0>; 100 timing0: timing0 { 101 clock-frequency = <33000033>; 102 hactive = <800>; 103 vactive = <480>; 104 hback-porch = <96>; 105 hfront-porch = <96>; 106 vback-porch = <20>; 107 vfront-porch = <21>; 108 hsync-len = <64>; 109 vsync-len = <4>; 110 hsync-active = <1>; 111 vsync-active = <1>; 112 de-active = <1>; 113 pixelclk-active = <0>; 114 }; 115 }; 116 }; 117}; 118 119&lradc { 120 fsl,lradc-touchscreen-wires = <4>; 121 status = "okay"; 122}; 123 124&mac1 { 125 phy-mode = "rmii"; 126 pinctrl-names = "default"; 127 pinctrl-0 = <&mac1_pins_a>; 128 phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 129 status = "okay"; 130}; 131 132&pinctrl { 133 pinctrl-names = "default"; 134 pinctrl-0 = <&hog_pins_apf28dev>; 135 136 hog_pins_apf28dev: hog@0 { 137 reg = <0>; 138 fsl,pinmux-ids = < 139 MX28_PAD_LCD_D16__GPIO_1_16 140 MX28_PAD_LCD_D17__GPIO_1_17 141 MX28_PAD_LCD_D18__GPIO_1_18 142 MX28_PAD_LCD_D19__GPIO_1_19 143 MX28_PAD_LCD_D20__GPIO_1_20 144 MX28_PAD_LCD_D21__GPIO_1_21 145 MX28_PAD_LCD_D22__GPIO_1_22 146 MX28_PAD_GPMI_CE1N__GPIO_0_17 147 >; 148 fsl,drive-strength = <MXS_DRIVE_4mA>; 149 fsl,voltage = <MXS_VOLTAGE_HIGH>; 150 fsl,pull-up = <MXS_PULL_DISABLE>; 151 }; 152 153 lcdif_pins_apf28dev: lcdif-apf28dev@0 { 154 reg = <0>; 155 fsl,pinmux-ids = < 156 MX28_PAD_LCD_RD_E__LCD_VSYNC 157 MX28_PAD_LCD_WR_RWN__LCD_HSYNC 158 MX28_PAD_LCD_RS__LCD_DOTCLK 159 MX28_PAD_LCD_CS__LCD_ENABLE 160 >; 161 fsl,drive-strength = <MXS_DRIVE_4mA>; 162 fsl,voltage = <MXS_VOLTAGE_HIGH>; 163 fsl,pull-up = <MXS_PULL_DISABLE>; 164 }; 165 166 usb0_otg_apf28dev: otg-apf28dev@0 { 167 reg = <0>; 168 fsl,pinmux-ids = < 169 MX28_PAD_LCD_D23__GPIO_1_23 170 >; 171 fsl,drive-strength = <MXS_DRIVE_4mA>; 172 fsl,voltage = <MXS_VOLTAGE_HIGH>; 173 fsl,pull-up = <MXS_PULL_DISABLE>; 174 }; 175}; 176 177&pwm { 178 pinctrl-names = "default"; 179 pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>; 180 status = "okay"; 181}; 182 183&ssp0 { 184 compatible = "fsl,imx28-mmc"; 185 pinctrl-names = "default"; 186 pinctrl-0 = <&mmc0_4bit_pins_a 187 &mmc0_cd_cfg &mmc0_sck_cfg>; 188 bus-width = <4>; 189 status = "okay"; 190}; 191 192&ssp2 { 193 compatible = "fsl,imx28-spi"; 194 pinctrl-names = "default"; 195 pinctrl-0 = <&spi2_pins_a>; 196 status = "okay"; 197}; 198 199&usb0 { 200 pinctrl-names = "default"; 201 pinctrl-0 = <&usb0_otg_apf28dev 202 &usb0_id_pins_b>; 203 vbus-supply = <®_usb0_vbus>; 204 status = "okay"; 205}; 206 207&usb1 { 208 status = "okay"; 209}; 210 211&usbphy0 { 212 status = "okay"; 213}; 214 215&usbphy1 { 216 status = "okay"; 217}; 218