1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Copyright 2013 Armadeus Systems - <support@armadeus.com> 4*724ba675SRob Herring */ 5*724ba675SRob Herring 6*724ba675SRob Herring/* APF51Dev is a docking board for the APF51 SOM */ 7*724ba675SRob Herring#include "imx51-apf51.dts" 8*724ba675SRob Herring 9*724ba675SRob Herring/ { 10*724ba675SRob Herring model = "Armadeus Systems APF51Dev docking/development board"; 11*724ba675SRob Herring compatible = "armadeus,imx51-apf51dev", "armadeus,imx51-apf51", "fsl,imx51"; 12*724ba675SRob Herring 13*724ba675SRob Herring backlight { 14*724ba675SRob Herring pinctrl-names = "default"; 15*724ba675SRob Herring pinctrl-0 = <&pinctrl_backlight>; 16*724ba675SRob Herring compatible = "gpio-backlight"; 17*724ba675SRob Herring gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>; 18*724ba675SRob Herring default-on; 19*724ba675SRob Herring }; 20*724ba675SRob Herring 21*724ba675SRob Herring disp1 { 22*724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 23*724ba675SRob Herring interface-pix-fmt = "bgr666"; 24*724ba675SRob Herring pinctrl-names = "default"; 25*724ba675SRob Herring pinctrl-0 = <&pinctrl_ipu_disp1>; 26*724ba675SRob Herring 27*724ba675SRob Herring display-timings { 28*724ba675SRob Herring lw700 { 29*724ba675SRob Herring native-mode; 30*724ba675SRob Herring clock-frequency = <33000033>; 31*724ba675SRob Herring hactive = <800>; 32*724ba675SRob Herring vactive = <480>; 33*724ba675SRob Herring hback-porch = <96>; 34*724ba675SRob Herring hfront-porch = <96>; 35*724ba675SRob Herring vback-porch = <20>; 36*724ba675SRob Herring vfront-porch = <21>; 37*724ba675SRob Herring hsync-len = <64>; 38*724ba675SRob Herring vsync-len = <4>; 39*724ba675SRob Herring hsync-active = <1>; 40*724ba675SRob Herring vsync-active = <1>; 41*724ba675SRob Herring de-active = <1>; 42*724ba675SRob Herring pixelclk-active = <0>; 43*724ba675SRob Herring }; 44*724ba675SRob Herring }; 45*724ba675SRob Herring 46*724ba675SRob Herring port { 47*724ba675SRob Herring display_in: endpoint { 48*724ba675SRob Herring remote-endpoint = <&ipu_di0_disp1>; 49*724ba675SRob Herring }; 50*724ba675SRob Herring }; 51*724ba675SRob Herring }; 52*724ba675SRob Herring 53*724ba675SRob Herring gpio-keys { 54*724ba675SRob Herring compatible = "gpio-keys"; 55*724ba675SRob Herring 56*724ba675SRob Herring user-key { 57*724ba675SRob Herring label = "user"; 58*724ba675SRob Herring gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; 59*724ba675SRob Herring linux,code = <256>; /* BTN_0 */ 60*724ba675SRob Herring }; 61*724ba675SRob Herring }; 62*724ba675SRob Herring 63*724ba675SRob Herring leds { 64*724ba675SRob Herring compatible = "gpio-leds"; 65*724ba675SRob Herring 66*724ba675SRob Herring led-user { 67*724ba675SRob Herring label = "Heartbeat"; 68*724ba675SRob Herring gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 69*724ba675SRob Herring linux,default-trigger = "heartbeat"; 70*724ba675SRob Herring }; 71*724ba675SRob Herring }; 72*724ba675SRob Herring}; 73*724ba675SRob Herring 74*724ba675SRob Herring&ecspi1 { 75*724ba675SRob Herring pinctrl-names = "default"; 76*724ba675SRob Herring pinctrl-0 = <&pinctrl_ecspi1>; 77*724ba675SRob Herring cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>, 78*724ba675SRob Herring <&gpio4 25 GPIO_ACTIVE_LOW>; 79*724ba675SRob Herring status = "okay"; 80*724ba675SRob Herring}; 81*724ba675SRob Herring 82*724ba675SRob Herring&ecspi2 { 83*724ba675SRob Herring pinctrl-names = "default"; 84*724ba675SRob Herring pinctrl-0 = <&pinctrl_ecspi2>; 85*724ba675SRob Herring cs-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>, 86*724ba675SRob Herring <&gpio3 27 GPIO_ACTIVE_LOW>; 87*724ba675SRob Herring status = "okay"; 88*724ba675SRob Herring}; 89*724ba675SRob Herring 90*724ba675SRob Herring&esdhc1 { 91*724ba675SRob Herring pinctrl-names = "default"; 92*724ba675SRob Herring pinctrl-0 = <&pinctrl_esdhc1>; 93*724ba675SRob Herring cd-gpios = <&gpio2 29 GPIO_ACTIVE_LOW>; 94*724ba675SRob Herring bus-width = <4>; 95*724ba675SRob Herring status = "okay"; 96*724ba675SRob Herring}; 97*724ba675SRob Herring 98*724ba675SRob Herring&esdhc2 { 99*724ba675SRob Herring pinctrl-names = "default"; 100*724ba675SRob Herring pinctrl-0 = <&pinctrl_esdhc2>; 101*724ba675SRob Herring bus-width = <4>; 102*724ba675SRob Herring non-removable; 103*724ba675SRob Herring status = "okay"; 104*724ba675SRob Herring}; 105*724ba675SRob Herring 106*724ba675SRob Herring&i2c2 { 107*724ba675SRob Herring pinctrl-names = "default"; 108*724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 109*724ba675SRob Herring status = "okay"; 110*724ba675SRob Herring}; 111*724ba675SRob Herring 112*724ba675SRob Herring&iomuxc { 113*724ba675SRob Herring pinctrl-names = "default"; 114*724ba675SRob Herring pinctrl-0 = <&pinctrl_hog>; 115*724ba675SRob Herring 116*724ba675SRob Herring imx51-apf51dev { 117*724ba675SRob Herring pinctrl_backlight: backlightgrp { 118*724ba675SRob Herring fsl,pins = < 119*724ba675SRob Herring MX51_PAD_DI1_D1_CS__GPIO3_4 0x1F5 120*724ba675SRob Herring >; 121*724ba675SRob Herring }; 122*724ba675SRob Herring 123*724ba675SRob Herring pinctrl_hog: hoggrp { 124*724ba675SRob Herring fsl,pins = < 125*724ba675SRob Herring MX51_PAD_EIM_EB2__GPIO2_22 0x0C5 126*724ba675SRob Herring MX51_PAD_EIM_EB3__GPIO2_23 0x0C5 127*724ba675SRob Herring MX51_PAD_EIM_CS4__GPIO2_29 0x100 128*724ba675SRob Herring MX51_PAD_NANDF_D13__GPIO3_27 0x0C5 129*724ba675SRob Herring MX51_PAD_NANDF_D12__GPIO3_28 0x0C5 130*724ba675SRob Herring MX51_PAD_CSPI1_SS0__GPIO4_24 0x0C5 131*724ba675SRob Herring MX51_PAD_CSPI1_SS1__GPIO4_25 0x0C5 132*724ba675SRob Herring MX51_PAD_GPIO1_2__GPIO1_2 0x0C5 133*724ba675SRob Herring MX51_PAD_GPIO1_3__GPIO1_3 0x0C5 134*724ba675SRob Herring >; 135*724ba675SRob Herring }; 136*724ba675SRob Herring 137*724ba675SRob Herring pinctrl_ecspi1: ecspi1grp { 138*724ba675SRob Herring fsl,pins = < 139*724ba675SRob Herring MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185 140*724ba675SRob Herring MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185 141*724ba675SRob Herring MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185 142*724ba675SRob Herring >; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring pinctrl_ecspi2: ecspi2grp { 146*724ba675SRob Herring fsl,pins = < 147*724ba675SRob Herring MX51_PAD_NANDF_RB3__ECSPI2_MISO 0x185 148*724ba675SRob Herring MX51_PAD_NANDF_D15__ECSPI2_MOSI 0x185 149*724ba675SRob Herring MX51_PAD_NANDF_RB2__ECSPI2_SCLK 0x185 150*724ba675SRob Herring >; 151*724ba675SRob Herring }; 152*724ba675SRob Herring 153*724ba675SRob Herring pinctrl_esdhc1: esdhc1grp { 154*724ba675SRob Herring fsl,pins = < 155*724ba675SRob Herring MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5 156*724ba675SRob Herring MX51_PAD_SD1_CLK__SD1_CLK 0x20d5 157*724ba675SRob Herring MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5 158*724ba675SRob Herring MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5 159*724ba675SRob Herring MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5 160*724ba675SRob Herring MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5 161*724ba675SRob Herring >; 162*724ba675SRob Herring }; 163*724ba675SRob Herring 164*724ba675SRob Herring pinctrl_esdhc2: esdhc2grp { 165*724ba675SRob Herring fsl,pins = < 166*724ba675SRob Herring MX51_PAD_SD2_CMD__SD2_CMD 0x400020d5 167*724ba675SRob Herring MX51_PAD_SD2_CLK__SD2_CLK 0x20d5 168*724ba675SRob Herring MX51_PAD_SD2_DATA0__SD2_DATA0 0x20d5 169*724ba675SRob Herring MX51_PAD_SD2_DATA1__SD2_DATA1 0x20d5 170*724ba675SRob Herring MX51_PAD_SD2_DATA2__SD2_DATA2 0x20d5 171*724ba675SRob Herring MX51_PAD_SD2_DATA3__SD2_DATA3 0x20d5 172*724ba675SRob Herring >; 173*724ba675SRob Herring }; 174*724ba675SRob Herring 175*724ba675SRob Herring pinctrl_i2c2: i2c2grp { 176*724ba675SRob Herring fsl,pins = < 177*724ba675SRob Herring MX51_PAD_EIM_D27__I2C2_SCL 0x400001ed 178*724ba675SRob Herring MX51_PAD_EIM_D24__I2C2_SDA 0x400001ed 179*724ba675SRob Herring >; 180*724ba675SRob Herring }; 181*724ba675SRob Herring 182*724ba675SRob Herring pinctrl_ipu_disp1: ipudisp1grp { 183*724ba675SRob Herring fsl,pins = < 184*724ba675SRob Herring MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5 185*724ba675SRob Herring MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5 186*724ba675SRob Herring MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5 187*724ba675SRob Herring MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5 188*724ba675SRob Herring MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5 189*724ba675SRob Herring MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5 190*724ba675SRob Herring MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5 191*724ba675SRob Herring MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5 192*724ba675SRob Herring MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5 193*724ba675SRob Herring MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5 194*724ba675SRob Herring MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5 195*724ba675SRob Herring MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5 196*724ba675SRob Herring MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5 197*724ba675SRob Herring MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5 198*724ba675SRob Herring MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5 199*724ba675SRob Herring MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5 200*724ba675SRob Herring MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5 201*724ba675SRob Herring MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5 202*724ba675SRob Herring MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5 203*724ba675SRob Herring MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5 204*724ba675SRob Herring MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5 205*724ba675SRob Herring MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5 206*724ba675SRob Herring MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5 207*724ba675SRob Herring MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5 208*724ba675SRob Herring MX51_PAD_DI1_PIN2__DI1_PIN2 0x5 209*724ba675SRob Herring MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 210*724ba675SRob Herring >; 211*724ba675SRob Herring }; 212*724ba675SRob Herring }; 213*724ba675SRob Herring}; 214*724ba675SRob Herring 215*724ba675SRob Herring&ipu_di0_disp1 { 216*724ba675SRob Herring remote-endpoint = <&display_in>; 217*724ba675SRob Herring}; 218