1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright 2012 Armadeus Systems - <support@armadeus.com> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring/* APF28Dev is a docking board for the APF28 SOM */ 7724ba675SRob Herring#include "imx28-apf28.dts" 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring model = "Armadeus Systems APF28Dev docking/development board"; 11724ba675SRob Herring compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28"; 12724ba675SRob Herring 13*29e0e9b4SKrzysztof Kozlowski reg_usb0_vbus: regulator-0 { 14724ba675SRob Herring compatible = "regulator-fixed"; 15724ba675SRob Herring regulator-name = "usb0_vbus"; 16724ba675SRob Herring regulator-min-microvolt = <5000000>; 17724ba675SRob Herring regulator-max-microvolt = <5000000>; 18724ba675SRob Herring gpio = <&gpio1 23 1>; 19724ba675SRob Herring enable-active-high; 20724ba675SRob Herring }; 21724ba675SRob Herring 22*29e0e9b4SKrzysztof Kozlowski reg_can0_vcc: regulator-1 { 23724ba675SRob Herring compatible = "regulator-fixed"; 24724ba675SRob Herring regulator-name = "can0_vcc"; 25724ba675SRob Herring regulator-min-microvolt = <5000000>; 26724ba675SRob Herring regulator-max-microvolt = <5000000>; 27724ba675SRob Herring }; 28724ba675SRob Herring 29724ba675SRob Herring leds { 30724ba675SRob Herring compatible = "gpio-leds"; 31724ba675SRob Herring 32724ba675SRob Herring user { 33724ba675SRob Herring label = "Heartbeat"; 34724ba675SRob Herring gpios = <&gpio0 21 0>; 35724ba675SRob Herring linux,default-trigger = "heartbeat"; 36724ba675SRob Herring }; 37724ba675SRob Herring }; 38724ba675SRob Herring 39724ba675SRob Herring backlight { 40724ba675SRob Herring compatible = "pwm-backlight"; 41724ba675SRob Herring 42724ba675SRob Herring pwms = <&pwm 3 191000>; 43724ba675SRob Herring brightness-levels = <0 4 8 16 32 64 128 255>; 44724ba675SRob Herring default-brightness-level = <6>; 45724ba675SRob Herring }; 46724ba675SRob Herring 47724ba675SRob Herring gpio-keys { 48724ba675SRob Herring compatible = "gpio-keys"; 49724ba675SRob Herring 50724ba675SRob Herring user-button { 51724ba675SRob Herring label = "User button"; 52724ba675SRob Herring gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; 53724ba675SRob Herring linux,code = <0x100>; 54724ba675SRob Herring wakeup-source; 55724ba675SRob Herring }; 56724ba675SRob Herring }; 57724ba675SRob Herring}; 58724ba675SRob Herring 59724ba675SRob Herring&auart0 { 60724ba675SRob Herring pinctrl-names = "default"; 61724ba675SRob Herring pinctrl-0 = <&auart0_pins_a>; 62724ba675SRob Herring uart-has-rtscts; 63724ba675SRob Herring status = "okay"; 64724ba675SRob Herring}; 65724ba675SRob Herring 66724ba675SRob Herring&can0 { 67724ba675SRob Herring pinctrl-names = "default"; 68724ba675SRob Herring pinctrl-0 = <&can0_pins_a>; 69724ba675SRob Herring xceiver-supply = <®_can0_vcc>; 70724ba675SRob Herring status = "okay"; 71724ba675SRob Herring}; 72724ba675SRob Herring 73724ba675SRob Herring&i2c0 { 74724ba675SRob Herring pinctrl-names = "default"; 75724ba675SRob Herring pinctrl-0 = <&i2c0_pins_a>; 76724ba675SRob Herring status = "okay"; 77724ba675SRob Herring}; 78724ba675SRob Herring 79724ba675SRob Herring&lcdif { 80724ba675SRob Herring pinctrl-names = "default"; 81724ba675SRob Herring pinctrl-0 = <&lcdif_16bit_pins_a 82724ba675SRob Herring &lcdif_pins_apf28dev>; 83724ba675SRob Herring display = <&display0>; 84724ba675SRob Herring status = "okay"; 85724ba675SRob Herring 86724ba675SRob Herring display0: display0 { 87724ba675SRob Herring bits-per-pixel = <16>; 88724ba675SRob Herring bus-width = <16>; 89724ba675SRob Herring 90724ba675SRob Herring display-timings { 91724ba675SRob Herring native-mode = <&timing0>; 92724ba675SRob Herring timing0: timing0 { 93724ba675SRob Herring clock-frequency = <33000033>; 94724ba675SRob Herring hactive = <800>; 95724ba675SRob Herring vactive = <480>; 96724ba675SRob Herring hback-porch = <96>; 97724ba675SRob Herring hfront-porch = <96>; 98724ba675SRob Herring vback-porch = <20>; 99724ba675SRob Herring vfront-porch = <21>; 100724ba675SRob Herring hsync-len = <64>; 101724ba675SRob Herring vsync-len = <4>; 102724ba675SRob Herring hsync-active = <1>; 103724ba675SRob Herring vsync-active = <1>; 104724ba675SRob Herring de-active = <1>; 105724ba675SRob Herring pixelclk-active = <0>; 106724ba675SRob Herring }; 107724ba675SRob Herring }; 108724ba675SRob Herring }; 109724ba675SRob Herring}; 110724ba675SRob Herring 111724ba675SRob Herring&lradc { 112724ba675SRob Herring fsl,lradc-touchscreen-wires = <4>; 113724ba675SRob Herring status = "okay"; 114724ba675SRob Herring}; 115724ba675SRob Herring 116724ba675SRob Herring&mac1 { 117724ba675SRob Herring phy-mode = "rmii"; 118724ba675SRob Herring pinctrl-names = "default"; 119724ba675SRob Herring pinctrl-0 = <&mac1_pins_a>; 120724ba675SRob Herring phy-reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 121724ba675SRob Herring status = "okay"; 122724ba675SRob Herring}; 123724ba675SRob Herring 124724ba675SRob Herring&pinctrl { 125724ba675SRob Herring pinctrl-names = "default"; 126724ba675SRob Herring pinctrl-0 = <&hog_pins_apf28dev>; 127724ba675SRob Herring 128724ba675SRob Herring hog_pins_apf28dev: hog@0 { 129724ba675SRob Herring reg = <0>; 130724ba675SRob Herring fsl,pinmux-ids = < 131724ba675SRob Herring MX28_PAD_LCD_D16__GPIO_1_16 132724ba675SRob Herring MX28_PAD_LCD_D17__GPIO_1_17 133724ba675SRob Herring MX28_PAD_LCD_D18__GPIO_1_18 134724ba675SRob Herring MX28_PAD_LCD_D19__GPIO_1_19 135724ba675SRob Herring MX28_PAD_LCD_D20__GPIO_1_20 136724ba675SRob Herring MX28_PAD_LCD_D21__GPIO_1_21 137724ba675SRob Herring MX28_PAD_LCD_D22__GPIO_1_22 138724ba675SRob Herring MX28_PAD_GPMI_CE1N__GPIO_0_17 139724ba675SRob Herring >; 140724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 141724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 142724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 143724ba675SRob Herring }; 144724ba675SRob Herring 145724ba675SRob Herring lcdif_pins_apf28dev: lcdif-apf28dev@0 { 146724ba675SRob Herring reg = <0>; 147724ba675SRob Herring fsl,pinmux-ids = < 148724ba675SRob Herring MX28_PAD_LCD_RD_E__LCD_VSYNC 149724ba675SRob Herring MX28_PAD_LCD_WR_RWN__LCD_HSYNC 150724ba675SRob Herring MX28_PAD_LCD_RS__LCD_DOTCLK 151724ba675SRob Herring MX28_PAD_LCD_CS__LCD_ENABLE 152724ba675SRob Herring >; 153724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 154724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 155724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 156724ba675SRob Herring }; 157724ba675SRob Herring 158724ba675SRob Herring usb0_otg_apf28dev: otg-apf28dev@0 { 159724ba675SRob Herring reg = <0>; 160724ba675SRob Herring fsl,pinmux-ids = < 161724ba675SRob Herring MX28_PAD_LCD_D23__GPIO_1_23 162724ba675SRob Herring >; 163724ba675SRob Herring fsl,drive-strength = <MXS_DRIVE_4mA>; 164724ba675SRob Herring fsl,voltage = <MXS_VOLTAGE_HIGH>; 165724ba675SRob Herring fsl,pull-up = <MXS_PULL_DISABLE>; 166724ba675SRob Herring }; 167724ba675SRob Herring}; 168724ba675SRob Herring 169724ba675SRob Herring&pwm { 170724ba675SRob Herring pinctrl-names = "default"; 171724ba675SRob Herring pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>; 172724ba675SRob Herring status = "okay"; 173724ba675SRob Herring}; 174724ba675SRob Herring 175724ba675SRob Herring&ssp0 { 176724ba675SRob Herring compatible = "fsl,imx28-mmc"; 177724ba675SRob Herring pinctrl-names = "default"; 178724ba675SRob Herring pinctrl-0 = <&mmc0_4bit_pins_a 179724ba675SRob Herring &mmc0_cd_cfg &mmc0_sck_cfg>; 180724ba675SRob Herring bus-width = <4>; 181724ba675SRob Herring status = "okay"; 182724ba675SRob Herring}; 183724ba675SRob Herring 184724ba675SRob Herring&ssp2 { 185724ba675SRob Herring compatible = "fsl,imx28-spi"; 186724ba675SRob Herring pinctrl-names = "default"; 187724ba675SRob Herring pinctrl-0 = <&spi2_pins_a>; 188724ba675SRob Herring status = "okay"; 189724ba675SRob Herring}; 190724ba675SRob Herring 191724ba675SRob Herring&usb0 { 192724ba675SRob Herring pinctrl-names = "default"; 193724ba675SRob Herring pinctrl-0 = <&usb0_otg_apf28dev 194724ba675SRob Herring &usb0_id_pins_b>; 195724ba675SRob Herring vbus-supply = <®_usb0_vbus>; 196724ba675SRob Herring status = "okay"; 197724ba675SRob Herring}; 198724ba675SRob Herring 199724ba675SRob Herring&usb1 { 200724ba675SRob Herring status = "okay"; 201724ba675SRob Herring}; 202724ba675SRob Herring 203724ba675SRob Herring&usbphy0 { 204724ba675SRob Herring status = "okay"; 205724ba675SRob Herring}; 206724ba675SRob Herring 207724ba675SRob Herring&usbphy1 { 208724ba675SRob Herring status = "okay"; 209724ba675SRob Herring}; 210