1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2015-2021 DH electronics GmbH 4724ba675SRob Herring * Copyright (C) 2018 Marek Vasut <marex@denx.de> 5724ba675SRob Herring */ 6724ba675SRob Herring 7724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 8724ba675SRob Herring#include <dt-bindings/input/input.h> 9724ba675SRob Herring#include <dt-bindings/leds/common.h> 10724ba675SRob Herring#include <dt-bindings/pwm/pwm.h> 11724ba675SRob Herring 12724ba675SRob Herring/ { 13724ba675SRob Herring chosen { 14724ba675SRob Herring stdout-path = "serial0:115200n8"; 15724ba675SRob Herring }; 16724ba675SRob Herring 17724ba675SRob Herring clk_ext_audio_codec: clock-codec { 18724ba675SRob Herring #clock-cells = <0>; 19724ba675SRob Herring clock-frequency = <24000000>; 20724ba675SRob Herring compatible = "fixed-clock"; 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring display_bl: display-bl { 24724ba675SRob Herring brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 25724ba675SRob Herring compatible = "pwm-backlight"; 26724ba675SRob Herring default-brightness-level = <8>; 27724ba675SRob Herring enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>; /* GPIO G */ 28724ba675SRob Herring pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>; 29724ba675SRob Herring status = "okay"; 30724ba675SRob Herring }; 31724ba675SRob Herring 32724ba675SRob Herring lcd_display: disp0 { 33724ba675SRob Herring #address-cells = <1>; 34724ba675SRob Herring #size-cells = <0>; 35724ba675SRob Herring compatible = "fsl,imx-parallel-display"; 36724ba675SRob Herring interface-pix-fmt = "rgb24"; 37724ba675SRob Herring pinctrl-0 = <&pinctrl_ipu1_lcdif &pinctrl_dhcom_g>; 38724ba675SRob Herring pinctrl-names = "default"; 39724ba675SRob Herring status = "okay"; 40724ba675SRob Herring 41724ba675SRob Herring port@0 { 42724ba675SRob Herring reg = <0>; 43724ba675SRob Herring 44724ba675SRob Herring lcd_display_in: endpoint { 45724ba675SRob Herring remote-endpoint = <&ipu1_di0_disp0>; 46724ba675SRob Herring }; 47724ba675SRob Herring }; 48724ba675SRob Herring 49724ba675SRob Herring port@1 { 50724ba675SRob Herring reg = <1>; 51724ba675SRob Herring 52724ba675SRob Herring lcd_display_out: endpoint { 53724ba675SRob Herring remote-endpoint = <&lcd_panel_in>; 54724ba675SRob Herring }; 55724ba675SRob Herring }; 56724ba675SRob Herring }; 57724ba675SRob Herring 58724ba675SRob Herring gpio-keys { 59724ba675SRob Herring compatible = "gpio-keys"; 60724ba675SRob Herring 61724ba675SRob Herring button-0 { 62724ba675SRob Herring gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; /* GPIO A */ 63724ba675SRob Herring label = "TA1-GPIO-A"; 64724ba675SRob Herring linux,code = <KEY_A>; 65724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_a>; 66724ba675SRob Herring pinctrl-names = "default"; 67724ba675SRob Herring wakeup-source; 68724ba675SRob Herring }; 69724ba675SRob Herring 70724ba675SRob Herring button-1 { 71724ba675SRob Herring gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* GPIO B */ 72724ba675SRob Herring label = "TA2-GPIO-B"; 73724ba675SRob Herring linux,code = <KEY_B>; 74724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_b>; 75724ba675SRob Herring pinctrl-names = "default"; 76724ba675SRob Herring wakeup-source; 77724ba675SRob Herring }; 78724ba675SRob Herring 79724ba675SRob Herring button-2 { 80724ba675SRob Herring gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; /* GPIO C */ 81724ba675SRob Herring label = "TA3-GPIO-C"; 82724ba675SRob Herring linux,code = <KEY_C>; 83724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_c>; 84724ba675SRob Herring pinctrl-names = "default"; 85724ba675SRob Herring wakeup-source; 86724ba675SRob Herring }; 87724ba675SRob Herring 88724ba675SRob Herring button-3 { 89724ba675SRob Herring gpios = <&gpio6 3 GPIO_ACTIVE_LOW>; /* GPIO D */ 90724ba675SRob Herring label = "TA4-GPIO-D"; 91724ba675SRob Herring linux,code = <KEY_D>; 92724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_d>; 93724ba675SRob Herring pinctrl-names = "default"; 94724ba675SRob Herring wakeup-source; 95724ba675SRob Herring }; 96724ba675SRob Herring }; 97724ba675SRob Herring 98724ba675SRob Herring led { 99724ba675SRob Herring compatible = "gpio-leds"; 100724ba675SRob Herring 101724ba675SRob Herring /* 102724ba675SRob Herring * Disable led-5, because GPIO E is 103724ba675SRob Herring * already used as touch interrupt. 104724ba675SRob Herring */ 105724ba675SRob Herring led-5 { 106724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 107724ba675SRob Herring default-state = "off"; 108724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 109724ba675SRob Herring gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* GPIO E */ 110724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_e>; 111724ba675SRob Herring pinctrl-names = "default"; 112724ba675SRob Herring status = "disabled"; 113724ba675SRob Herring }; 114724ba675SRob Herring 115724ba675SRob Herring led-6 { 116724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 117724ba675SRob Herring default-state = "off"; 118724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 119724ba675SRob Herring gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>; /* GPIO F */ 120724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_f>; 121724ba675SRob Herring pinctrl-names = "default"; 122724ba675SRob Herring }; 123724ba675SRob Herring 124724ba675SRob Herring led-7 { 125724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 126724ba675SRob Herring default-state = "off"; 127724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 128724ba675SRob Herring gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* GPIO H */ 129724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_h>; 130724ba675SRob Herring pinctrl-names = "default"; 131724ba675SRob Herring }; 132724ba675SRob Herring 133724ba675SRob Herring led-8 { 134724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 135724ba675SRob Herring default-state = "off"; 136724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 137724ba675SRob Herring gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* GPIO I */ 138724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_i>; 139724ba675SRob Herring pinctrl-names = "default"; 140724ba675SRob Herring }; 141724ba675SRob Herring }; 142724ba675SRob Herring 143724ba675SRob Herring panel { 144724ba675SRob Herring backlight = <&display_bl>; 145724ba675SRob Herring compatible = "edt,etm0700g0edh6"; 146*8a00ce56SMarek Vasut power-supply = <®_panel_3v3>; 147724ba675SRob Herring 148724ba675SRob Herring port { 149724ba675SRob Herring lcd_panel_in: endpoint { 150724ba675SRob Herring remote-endpoint = <&lcd_display_out>; 151724ba675SRob Herring }; 152724ba675SRob Herring }; 153724ba675SRob Herring }; 154724ba675SRob Herring 155*8a00ce56SMarek Vasut /* Filtered supply voltage */ 156*8a00ce56SMarek Vasut reg_pdk2_24v: regulator-pdk2-24v { 157*8a00ce56SMarek Vasut compatible = "regulator-fixed"; 158*8a00ce56SMarek Vasut regulator-always-on; 159*8a00ce56SMarek Vasut regulator-max-microvolt = <24000000>; 160*8a00ce56SMarek Vasut regulator-min-microvolt = <24000000>; 161*8a00ce56SMarek Vasut regulator-name = "24V_PDK2"; 162*8a00ce56SMarek Vasut }; 163*8a00ce56SMarek Vasut 164*8a00ce56SMarek Vasut /* 560-200 U1 */ 165*8a00ce56SMarek Vasut reg_panel_3v3: regulator-panel-3v3 { 166*8a00ce56SMarek Vasut compatible = "regulator-fixed"; 167*8a00ce56SMarek Vasut regulator-always-on; 168*8a00ce56SMarek Vasut regulator-min-microvolt = <3300000>; 169*8a00ce56SMarek Vasut regulator-max-microvolt = <3300000>; 170*8a00ce56SMarek Vasut regulator-name = "3V3_PANEL"; 171*8a00ce56SMarek Vasut vin-supply = <®_pdk2_24v>; 172*8a00ce56SMarek Vasut }; 173*8a00ce56SMarek Vasut 174724ba675SRob Herring sound { 175724ba675SRob Herring audio-codec = <&sgtl5000>; 176724ba675SRob Herring audio-routing = 177724ba675SRob Herring "MIC_IN", "Mic Jack", 178724ba675SRob Herring "Mic Jack", "Mic Bias", 179724ba675SRob Herring "LINE_IN", "Line In Jack", 180724ba675SRob Herring "Headphone Jack", "HP_OUT"; 181724ba675SRob Herring compatible = "fsl,imx-audio-sgtl5000"; 182724ba675SRob Herring model = "imx-sgtl5000"; 183724ba675SRob Herring mux-ext-port = <3>; 184724ba675SRob Herring mux-int-port = <1>; 185724ba675SRob Herring ssi-controller = <&ssi1>; 186724ba675SRob Herring }; 187724ba675SRob Herring}; 188724ba675SRob Herring 189724ba675SRob Herring&audmux { 190724ba675SRob Herring pinctrl-0 = <&pinctrl_audmux_ext>; 191724ba675SRob Herring pinctrl-names = "default"; 192724ba675SRob Herring status = "okay"; 193724ba675SRob Herring}; 194724ba675SRob Herring 195724ba675SRob Herring&can1 { 196724ba675SRob Herring status = "okay"; 197724ba675SRob Herring}; 198724ba675SRob Herring 199724ba675SRob Herring&can2 { 200724ba675SRob Herring status = "disabled"; 201724ba675SRob Herring}; 202724ba675SRob Herring 203724ba675SRob Herring/* 1G ethernet */ 204724ba675SRob Herring/delete-node/ ðphy0; 205724ba675SRob Herring&fec { 206724ba675SRob Herring phy-mode = "rgmii"; 207724ba675SRob Herring phy-handle = <ðphy7>; 208724ba675SRob Herring pinctrl-0 = <&pinctrl_enet_1G>; 209724ba675SRob Herring pinctrl-names = "default"; 210724ba675SRob Herring status = "okay"; 211724ba675SRob Herring 212724ba675SRob Herring mdio { 213724ba675SRob Herring #address-cells = <1>; 214724ba675SRob Herring #size-cells = <0>; 215724ba675SRob Herring 216724ba675SRob Herring ethphy7: ethernet-phy@7 { /* KSZ 9021 */ 217724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c22"; 218724ba675SRob Herring interrupt-parent = <&gpio1>; 219724ba675SRob Herring interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 220724ba675SRob Herring pinctrl-0 = <&pinctrl_ethphy7>; 221724ba675SRob Herring pinctrl-names = "default"; 222724ba675SRob Herring reg = <7>; 223724ba675SRob Herring reset-assert-us = <1000>; 224724ba675SRob Herring reset-deassert-us = <1000>; 225724ba675SRob Herring reset-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>; 226724ba675SRob Herring rxc-skew-ps = <3000>; 227724ba675SRob Herring rxd0-skew-ps = <0>; 228724ba675SRob Herring rxd1-skew-ps = <0>; 229724ba675SRob Herring rxd2-skew-ps = <0>; 230724ba675SRob Herring rxd3-skew-ps = <0>; 231724ba675SRob Herring rxdv-skew-ps = <0>; 232724ba675SRob Herring txc-skew-ps = <3000>; 233724ba675SRob Herring txd0-skew-ps = <0>; 234724ba675SRob Herring txd1-skew-ps = <0>; 235724ba675SRob Herring txd2-skew-ps = <0>; 236724ba675SRob Herring txd3-skew-ps = <0>; 237724ba675SRob Herring txen-skew-ps = <0>; 238724ba675SRob Herring }; 239724ba675SRob Herring }; 240724ba675SRob Herring}; 241724ba675SRob Herring 242724ba675SRob Herring&hdmi { 243724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 244724ba675SRob Herring status = "okay"; 245724ba675SRob Herring}; 246724ba675SRob Herring 247724ba675SRob Herring&i2c2 { 248724ba675SRob Herring sgtl5000: codec@a { 249724ba675SRob Herring #sound-dai-cells = <0>; 250724ba675SRob Herring clocks = <&clk_ext_audio_codec>; 251724ba675SRob Herring compatible = "fsl,sgtl5000"; 252724ba675SRob Herring reg = <0x0a>; 253724ba675SRob Herring VDDA-supply = <®_3p3v>; 254724ba675SRob Herring VDDIO-supply = <&sw2_reg>; 255724ba675SRob Herring }; 256724ba675SRob Herring 257724ba675SRob Herring touchscreen@38 { 258724ba675SRob Herring compatible = "edt,edt-ft5406"; 259724ba675SRob Herring interrupt-parent = <&gpio4>; 260724ba675SRob Herring interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 261724ba675SRob Herring pinctrl-0 = <&pinctrl_dhcom_e>; 262724ba675SRob Herring pinctrl-names = "default"; 263724ba675SRob Herring reg = <0x38>; 264724ba675SRob Herring }; 265724ba675SRob Herring}; 266724ba675SRob Herring 267724ba675SRob Herring&ipu1_di0_disp0 { 268724ba675SRob Herring remote-endpoint = <&lcd_display_in>; 269724ba675SRob Herring}; 270724ba675SRob Herring 271724ba675SRob Herring&pcie { 272724ba675SRob Herring pinctrl-0 = <&pinctrl_pcie &pinctrl_dhcom_j>; 273724ba675SRob Herring reset-gpio = <&gpio6 14 GPIO_ACTIVE_LOW>; /* GPIO J */ 274724ba675SRob Herring status = "okay"; 275724ba675SRob Herring}; 276724ba675SRob Herring 277724ba675SRob Herring&pwm1 { 278724ba675SRob Herring status = "okay"; 279724ba675SRob Herring}; 280724ba675SRob Herring 281724ba675SRob Herring&ssi1 { 282724ba675SRob Herring status = "okay"; 283724ba675SRob Herring}; 284724ba675SRob Herring 285724ba675SRob Herring&usbh1 { 286724ba675SRob Herring disable-over-current; 287724ba675SRob Herring}; 288724ba675SRob Herring 289724ba675SRob Herring&usdhc2 { /* SD card */ 290724ba675SRob Herring status = "okay"; 291724ba675SRob Herring}; 292724ba675SRob Herring 293724ba675SRob Herring&iomuxc { 294724ba675SRob Herring pinctrl-0 = < 295724ba675SRob Herring /* 296724ba675SRob Herring * The following DHCOM GPIOs are used on this board. 297724ba675SRob Herring * Therefore, they have been removed from the list below. 298724ba675SRob Herring * A: key TA1 299724ba675SRob Herring * B: key TA2 300724ba675SRob Herring * C: key TA3 301724ba675SRob Herring * D: key TA4 302724ba675SRob Herring * E: touchscreen 303724ba675SRob Herring * F: led6 304724ba675SRob Herring * G: backlight enable 305724ba675SRob Herring * H: led7 306724ba675SRob Herring * I: led8 307724ba675SRob Herring * J: PCIe reset 308724ba675SRob Herring */ 309724ba675SRob Herring &pinctrl_hog_base 310724ba675SRob Herring &pinctrl_dhcom_k &pinctrl_dhcom_l 311724ba675SRob Herring &pinctrl_dhcom_m &pinctrl_dhcom_n &pinctrl_dhcom_o 312724ba675SRob Herring &pinctrl_dhcom_p &pinctrl_dhcom_q &pinctrl_dhcom_r 313724ba675SRob Herring &pinctrl_dhcom_s &pinctrl_dhcom_t &pinctrl_dhcom_u 314724ba675SRob Herring &pinctrl_dhcom_v &pinctrl_dhcom_w &pinctrl_dhcom_int 315724ba675SRob Herring >; 316724ba675SRob Herring pinctrl-names = "default"; 317724ba675SRob Herring 318724ba675SRob Herring pinctrl_audmux_ext: audmux-ext-grp { 319724ba675SRob Herring fsl,pins = < 320724ba675SRob Herring MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 321724ba675SRob Herring MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 322724ba675SRob Herring MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 323724ba675SRob Herring MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 324724ba675SRob Herring >; 325724ba675SRob Herring }; 326724ba675SRob Herring 327724ba675SRob Herring pinctrl_enet_1G: enet-1G-grp { 328724ba675SRob Herring fsl,pins = < 329724ba675SRob Herring MX6QDL_PAD_ENET_MDC__ENET_MDC 0x100b0 330724ba675SRob Herring MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x100b0 331724ba675SRob Herring MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x100b0 332724ba675SRob Herring MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 333724ba675SRob Herring MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 334724ba675SRob Herring MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 335724ba675SRob Herring MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 336724ba675SRob Herring MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 337724ba675SRob Herring MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 338724ba675SRob Herring MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x100b0 339724ba675SRob Herring MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x100b0 340724ba675SRob Herring MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x100b0 341724ba675SRob Herring MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x100b0 342724ba675SRob Herring MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x100b0 343724ba675SRob Herring MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x100b0 344724ba675SRob Herring >; 345724ba675SRob Herring }; 346724ba675SRob Herring 347724ba675SRob Herring pinctrl_ethphy7: ethphy7-grp { 348724ba675SRob Herring fsl,pins = < 349724ba675SRob Herring MX6QDL_PAD_EIM_D26__GPIO3_IO26 0xb1 /* WOL */ 350724ba675SRob Herring MX6QDL_PAD_EIM_D29__GPIO3_IO29 0xb0 /* Reset */ 351724ba675SRob Herring MX6QDL_PAD_GPIO_0__GPIO1_IO00 0xb1 /* Int */ 352724ba675SRob Herring >; 353724ba675SRob Herring }; 354724ba675SRob Herring}; 355