1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+) 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright (C) 2015 DH electronics GmbH 4*4882a593Smuzhiyun * Copyright (C) 2018 Marek Vasut <marex@denx.de> 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/dts-v1/; 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include "imx6q-dhcom-som.dtsi" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/ { 12*4882a593Smuzhiyun model = "Freescale i.MX6 Quad DHCOM Premium Developer Kit (2)"; 13*4882a593Smuzhiyun compatible = "dh,imx6q-dhcom-pdk2", "dh,imx6q-dhcom-som", "fsl,imx6q"; 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun chosen { 16*4882a593Smuzhiyun stdout-path = &uart1; 17*4882a593Smuzhiyun }; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun clk_ext_audio_codec: clock-codec { 20*4882a593Smuzhiyun compatible = "fixed-clock"; 21*4882a593Smuzhiyun #clock-cells = <0>; 22*4882a593Smuzhiyun clock-frequency = <24000000>; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun display_bl: display-bl { 26*4882a593Smuzhiyun compatible = "pwm-backlight"; 27*4882a593Smuzhiyun pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>; 28*4882a593Smuzhiyun brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 29*4882a593Smuzhiyun default-brightness-level = <8>; 30*4882a593Smuzhiyun enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; 31*4882a593Smuzhiyun status = "okay"; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun lcd_display: disp0 { 35*4882a593Smuzhiyun compatible = "fsl,imx-parallel-display"; 36*4882a593Smuzhiyun #address-cells = <1>; 37*4882a593Smuzhiyun #size-cells = <0>; 38*4882a593Smuzhiyun interface-pix-fmt = "rgb24"; 39*4882a593Smuzhiyun pinctrl-names = "default"; 40*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_ipu1_lcdif>; 41*4882a593Smuzhiyun status = "okay"; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun port@0 { 44*4882a593Smuzhiyun reg = <0>; 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun lcd_display_in: endpoint { 47*4882a593Smuzhiyun remote-endpoint = <&ipu1_di0_disp0>; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun port@1 { 52*4882a593Smuzhiyun reg = <1>; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun lcd_display_out: endpoint { 55*4882a593Smuzhiyun remote-endpoint = <&lcd_panel_in>; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun }; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun panel { 61*4882a593Smuzhiyun compatible = "edt,etm0700g0edh6"; 62*4882a593Smuzhiyun ddc-i2c-bus = <&i2c2>; 63*4882a593Smuzhiyun backlight = <&display_bl>; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun port { 66*4882a593Smuzhiyun lcd_panel_in: endpoint { 67*4882a593Smuzhiyun remote-endpoint = <&lcd_display_out>; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun }; 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun sound { 73*4882a593Smuzhiyun compatible = "fsl,imx-audio-sgtl5000"; 74*4882a593Smuzhiyun model = "imx-sgtl5000"; 75*4882a593Smuzhiyun ssi-controller = <&ssi1>; 76*4882a593Smuzhiyun audio-codec = <&sgtl5000>; 77*4882a593Smuzhiyun audio-routing = 78*4882a593Smuzhiyun "MIC_IN", "Mic Jack", 79*4882a593Smuzhiyun "Mic Jack", "Mic Bias", 80*4882a593Smuzhiyun "LINE_IN", "Line In Jack", 81*4882a593Smuzhiyun "Headphone Jack", "HP_OUT"; 82*4882a593Smuzhiyun mux-int-port = <1>; 83*4882a593Smuzhiyun mux-ext-port = <3>; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun}; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun&audmux { 88*4882a593Smuzhiyun pinctrl-names = "default"; 89*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_audmux_ext>; 90*4882a593Smuzhiyun status = "okay"; 91*4882a593Smuzhiyun}; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun&can1 { 94*4882a593Smuzhiyun status = "okay"; 95*4882a593Smuzhiyun}; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun&can2 { 98*4882a593Smuzhiyun status = "disabled"; 99*4882a593Smuzhiyun}; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun&hdmi { 102*4882a593Smuzhiyun ddc-i2c-bus = <&i2c2>; 103*4882a593Smuzhiyun status = "okay"; 104*4882a593Smuzhiyun}; 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun&i2c2 { 107*4882a593Smuzhiyun sgtl5000: codec@a { 108*4882a593Smuzhiyun compatible = "fsl,sgtl5000"; 109*4882a593Smuzhiyun reg = <0x0a>; 110*4882a593Smuzhiyun #sound-dai-cells = <0>; 111*4882a593Smuzhiyun clocks = <&clk_ext_audio_codec>; 112*4882a593Smuzhiyun VDDA-supply = <®_3p3v>; 113*4882a593Smuzhiyun VDDIO-supply = <&sw2_reg>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun touchscreen@38 { 117*4882a593Smuzhiyun pinctrl-names = "default"; 118*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_touchscreen>; 119*4882a593Smuzhiyun compatible = "edt,edt-ft5406"; 120*4882a593Smuzhiyun reg = <0x38>; 121*4882a593Smuzhiyun interrupt-parent = <&gpio4>; 122*4882a593Smuzhiyun interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun}; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun&iomuxc { 127*4882a593Smuzhiyun pinctrl-names = "default"; 128*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_hog_base &pinctrl_hog>; 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun pinctrl_hog: hog-grp { 131*4882a593Smuzhiyun fsl,pins = < 132*4882a593Smuzhiyun MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x400120b0 133*4882a593Smuzhiyun MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x400120b0 134*4882a593Smuzhiyun MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x400120b0 135*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x400120b0 136*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x400120b0 137*4882a593Smuzhiyun MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x120b0 138*4882a593Smuzhiyun MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x400120b0 139*4882a593Smuzhiyun MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x400120b0 140*4882a593Smuzhiyun MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x400120b0 141*4882a593Smuzhiyun MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x400120b0 142*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x400120b0 143*4882a593Smuzhiyun MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x400120b0 144*4882a593Smuzhiyun MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x400120b0 145*4882a593Smuzhiyun MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x400120b0 146*4882a593Smuzhiyun MX6QDL_PAD_SD1_CMD__GPIO1_IO18 0x400120b0 147*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x400120b0 148*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x400120b0 149*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT2__GPIO1_IO19 0x400120b0 150*4882a593Smuzhiyun MX6QDL_PAD_SD1_CLK__GPIO1_IO20 0x400120b0 151*4882a593Smuzhiyun MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x400120b0 152*4882a593Smuzhiyun MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19 0x400120b0 153*4882a593Smuzhiyun MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x400120b0 154*4882a593Smuzhiyun >; 155*4882a593Smuzhiyun }; 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun pinctrl_audmux_ext: audmux-ext-grp { 158*4882a593Smuzhiyun fsl,pins = < 159*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 160*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 161*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 162*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 163*4882a593Smuzhiyun >; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun pinctrl_enet_1G: enet-1G-grp { 167*4882a593Smuzhiyun fsl,pins = < 168*4882a593Smuzhiyun MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x100b0 169*4882a593Smuzhiyun MX6QDL_PAD_ENET_MDC__ENET_MDC 0x100b0 170*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x100b0 171*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x100b0 172*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x100b0 173*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x100b0 174*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x100b0 175*4882a593Smuzhiyun MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x100b0 176*4882a593Smuzhiyun MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x100b0 177*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 178*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 179*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 180*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 181*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 182*4882a593Smuzhiyun MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 183*4882a593Smuzhiyun MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x000b0 184*4882a593Smuzhiyun MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x000b1 185*4882a593Smuzhiyun MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x000b1 186*4882a593Smuzhiyun >; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun pinctrl_ipu1_lcdif: ipu1-lcdif-grp { 190*4882a593Smuzhiyun fsl,pins = < 191*4882a593Smuzhiyun MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x38 192*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x38 193*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x38 194*4882a593Smuzhiyun MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x38 195*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x38 196*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x38 197*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x38 198*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x38 199*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x38 200*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x38 201*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x38 202*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x38 203*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x38 204*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x38 205*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x38 206*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x38 207*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x38 208*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x38 209*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x38 210*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x38 211*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x38 212*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x38 213*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x38 214*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x38 215*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x38 216*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x38 217*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x38 218*4882a593Smuzhiyun MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x38 219*4882a593Smuzhiyun MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x120b0 220*4882a593Smuzhiyun >; 221*4882a593Smuzhiyun }; 222*4882a593Smuzhiyun 223*4882a593Smuzhiyun pinctrl_pwm1: pwm1-grp { 224*4882a593Smuzhiyun fsl,pins = < 225*4882a593Smuzhiyun MX6QDL_PAD_SD1_DAT3__PWM1_OUT 0x1b0b1 226*4882a593Smuzhiyun >; 227*4882a593Smuzhiyun }; 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun pinctrl_touchscreen: touchscreen-grp { 230*4882a593Smuzhiyun fsl,pins = < 231*4882a593Smuzhiyun MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b0b1 232*4882a593Smuzhiyun >; 233*4882a593Smuzhiyun }; 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun pinctrl_pcie: pcie-grp { 236*4882a593Smuzhiyun fsl,pins = < 237*4882a593Smuzhiyun MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b1 238*4882a593Smuzhiyun >; 239*4882a593Smuzhiyun }; 240*4882a593Smuzhiyun}; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun&ipu1_di0_disp0 { 243*4882a593Smuzhiyun remote-endpoint = <&lcd_display_in>; 244*4882a593Smuzhiyun}; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun&pcie { 247*4882a593Smuzhiyun pinctrl-names = "default"; 248*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_pcie>; 249*4882a593Smuzhiyun reset-gpio = <&gpio6 14 GPIO_ACTIVE_LOW>; 250*4882a593Smuzhiyun status = "okay"; 251*4882a593Smuzhiyun}; 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun&pwm1 { 254*4882a593Smuzhiyun pinctrl-names = "default"; 255*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_pwm1>; 256*4882a593Smuzhiyun status = "okay"; 257*4882a593Smuzhiyun}; 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun&ssi1 { 260*4882a593Smuzhiyun status = "okay"; 261*4882a593Smuzhiyun}; 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun&sata { 264*4882a593Smuzhiyun status = "okay"; 265*4882a593Smuzhiyun}; 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun&usdhc3 { 268*4882a593Smuzhiyun status = "okay"; 269*4882a593Smuzhiyun}; 270