1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright 2013 Sascha Hauer, Pengutronix 4724ba675SRob Herring * 5724ba675SRob Herring * Copyright 2013-2021 TQ-Systems GmbH 6724ba675SRob Herring * Author: Markus Niebel <Markus.Niebel@tq-group.com> 7724ba675SRob Herring */ 8724ba675SRob Herring 9724ba675SRob Herring#include <dt-bindings/clock/imx6qdl-clock.h> 10724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 11724ba675SRob Herring#include <dt-bindings/input/input.h> 12724ba675SRob Herring#include <dt-bindings/sound/fsl-imx-audmux.h> 13724ba675SRob Herring 14724ba675SRob Herring/ { 15724ba675SRob Herring aliases { 16724ba675SRob Herring mmc0 = &usdhc3; 17724ba675SRob Herring mmc1 = &usdhc2; 18724ba675SRob Herring /delete-property/ mmc2; 19724ba675SRob Herring /delete-property/ mmc3; 20724ba675SRob Herring rtc0 = &rtc0; 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring chosen { 24724ba675SRob Herring stdout-path = &uart2; 25724ba675SRob Herring }; 26724ba675SRob Herring 27724ba675SRob Herring beeper: gpio-beeper { 28724ba675SRob Herring compatible = "gpio-beeper"; 29724ba675SRob Herring pinctrl-names = "default"; 30724ba675SRob Herring pinctrl-0 = <&pinctrl_gpiobeeper>; 31724ba675SRob Herring gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; 32724ba675SRob Herring }; 33724ba675SRob Herring 34724ba675SRob Herring gpio_buttons: gpio-buttons { 35724ba675SRob Herring compatible = "gpio-keys"; 36724ba675SRob Herring pinctrl-names = "default"; 37724ba675SRob Herring pinctrl-0 = <&pinctrl_gpiobuttons>; 38724ba675SRob Herring 39724ba675SRob Herring button1 { 40724ba675SRob Herring label = "s6"; 41724ba675SRob Herring linux,code = <KEY_F6>; 42724ba675SRob Herring gpios = <&gpio7 13 GPIO_ACTIVE_LOW>; 43724ba675SRob Herring wakeup-source; 44724ba675SRob Herring }; 45724ba675SRob Herring 46724ba675SRob Herring button2 { 47724ba675SRob Herring label = "s7"; 48724ba675SRob Herring linux,code = <KEY_F7>; 49724ba675SRob Herring gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; 50724ba675SRob Herring wakeup-source; 51724ba675SRob Herring }; 52724ba675SRob Herring 53724ba675SRob Herring button3 { 54724ba675SRob Herring label = "s8"; 55724ba675SRob Herring linux,code = <KEY_F8>; 56724ba675SRob Herring gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; 57724ba675SRob Herring wakeup-source; 58724ba675SRob Herring }; 59724ba675SRob Herring }; 60724ba675SRob Herring 61724ba675SRob Herring gpio-leds { 62724ba675SRob Herring compatible = "gpio-leds"; 63724ba675SRob Herring pinctrl-names = "default"; 64724ba675SRob Herring pinctrl-0 = <&pinctrl_gpioled>; 65724ba675SRob Herring 66724ba675SRob Herring led1 { 67724ba675SRob Herring label = "led1"; 68724ba675SRob Herring gpios = <&gpio6 16 GPIO_ACTIVE_HIGH>; 69724ba675SRob Herring linux,default-trigger = "default-on"; 70724ba675SRob Herring }; 71724ba675SRob Herring 72724ba675SRob Herring led2 { 73724ba675SRob Herring label = "led2"; 74724ba675SRob Herring gpios = <&gpio6 31 GPIO_ACTIVE_HIGH>; 75724ba675SRob Herring linux,default-trigger = "heartbeat"; 76724ba675SRob Herring }; 77724ba675SRob Herring }; 78724ba675SRob Herring 79724ba675SRob Herring reg_mba6_3p3v: regulator-mba6-3p3v { 80724ba675SRob Herring compatible = "regulator-fixed"; 81724ba675SRob Herring regulator-name = "supply-mba6-3p3v"; 82724ba675SRob Herring regulator-min-microvolt = <3300000>; 83724ba675SRob Herring regulator-max-microvolt = <3300000>; 84724ba675SRob Herring regulator-always-on; 85724ba675SRob Herring }; 86724ba675SRob Herring 87724ba675SRob Herring reg_pcie: regulator-pcie { 88724ba675SRob Herring compatible = "regulator-fixed"; 89724ba675SRob Herring pinctrl-names = "default"; 90724ba675SRob Herring pinctrl-0 = <&pinctrl_regpcie>; 91724ba675SRob Herring regulator-name = "supply-pcie"; 92724ba675SRob Herring regulator-min-microvolt = <3300000>; 93724ba675SRob Herring regulator-max-microvolt = <3300000>; 94724ba675SRob Herring /* PCIE.PWR_EN */ 95724ba675SRob Herring gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>; 96724ba675SRob Herring enable-active-high; 97724ba675SRob Herring regulator-always-on; 98724ba675SRob Herring vin-supply = <®_mba6_3p3v>; 99724ba675SRob Herring }; 100724ba675SRob Herring 101724ba675SRob Herring reg_vcc3v3_audio: regulator-vcc3v3-audio { 102724ba675SRob Herring compatible = "regulator-fixed"; 103724ba675SRob Herring regulator-name = "vcc3v3-audio"; 104724ba675SRob Herring regulator-min-microvolt = <3300000>; 105724ba675SRob Herring regulator-max-microvolt = <3300000>; 106724ba675SRob Herring vin-supply = <®_mba6_3p3v>; 107724ba675SRob Herring }; 108724ba675SRob Herring 109724ba675SRob Herring sound { 110724ba675SRob Herring compatible = "fsl,imx-audio-tlv320aic32x4"; 111724ba675SRob Herring pinctrl-names = "default"; 112724ba675SRob Herring pinctrl-0 = <&pinctrl_audmux>; 113724ba675SRob Herring model = "imx-audio-tlv320aic32x4"; 114724ba675SRob Herring ssi-controller = <&ssi1>; 115724ba675SRob Herring audio-codec = <&tlv320aic32x4>; 116724ba675SRob Herring audio-asrc = <&asrc>; 117724ba675SRob Herring audio-routing = 118724ba675SRob Herring "IN3_L", "Mic Jack", 119724ba675SRob Herring "Mic Jack", "Mic Bias", 120724ba675SRob Herring "IN1_L", "Line In Jack", 121724ba675SRob Herring "IN1_R", "Line In Jack", 122724ba675SRob Herring "Line Out Jack", "LOL", 123724ba675SRob Herring "Line Out Jack", "LOR"; 124724ba675SRob Herring mux-int-port = <1>; 125724ba675SRob Herring mux-ext-port = <3>; 126724ba675SRob Herring }; 127724ba675SRob Herring}; 128724ba675SRob Herring 129724ba675SRob Herring&audmux { 130724ba675SRob Herring status = "okay"; 131724ba675SRob Herring 132724ba675SRob Herring mux-ssi0 { 133724ba675SRob Herring fsl,audmux-port = <MX31_AUDMUX_PORT1_SSI0>; 134724ba675SRob Herring fsl,port-config = < 135724ba675SRob Herring (IMX_AUDMUX_V2_PTCR_SYN | 136724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSDIR | 137724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TFSEL(MX31_AUDMUX_PORT3_SSI_PINS_3) | 138724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCLKDIR | 139724ba675SRob Herring IMX_AUDMUX_V2_PTCR_TCSEL(MX31_AUDMUX_PORT3_SSI_PINS_3)) 140724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT3_SSI_PINS_3) 141724ba675SRob Herring >; 142724ba675SRob Herring }; 143724ba675SRob Herring 144724ba675SRob Herring mux-aud3 { 145724ba675SRob Herring fsl,audmux-port = <MX31_AUDMUX_PORT3_SSI_PINS_3>; 146724ba675SRob Herring fsl,port-config = < 147724ba675SRob Herring IMX_AUDMUX_V2_PTCR_SYN 148724ba675SRob Herring IMX_AUDMUX_V2_PDCR_RXDSEL(MX31_AUDMUX_PORT1_SSI0) 149724ba675SRob Herring >; 150724ba675SRob Herring }; 151724ba675SRob Herring}; 152724ba675SRob Herring 153724ba675SRob Herring&can1 { 154724ba675SRob Herring pinctrl-names = "default"; 155724ba675SRob Herring pinctrl-0 = <&pinctrl_can1>; 156724ba675SRob Herring status = "okay"; 157724ba675SRob Herring}; 158724ba675SRob Herring 159724ba675SRob Herring&can2 { 160724ba675SRob Herring pinctrl-names = "default"; 161724ba675SRob Herring pinctrl-0 = <&pinctrl_can2>; 162724ba675SRob Herring status = "okay"; 163724ba675SRob Herring}; 164724ba675SRob Herring 165724ba675SRob Herring&ecspi1 { 166724ba675SRob Herring pinctrl-names = "default"; 167724ba675SRob Herring pinctrl-0 = <&pinctrl_ecspi1>, <&pinctrl_ecspi1_mba6>; 168724ba675SRob Herring cs-gpios = <&gpio3 19 0>, <&gpio3 24 0>; 169724ba675SRob Herring}; 170724ba675SRob Herring 171724ba675SRob Herring&fec { 172724ba675SRob Herring phy-mode = "rgmii-id"; 173724ba675SRob Herring phy-handle = <ðphy>; 174724ba675SRob Herring mac-address = [00 00 00 00 00 00]; 175724ba675SRob Herring status = "okay"; 176724ba675SRob Herring 177724ba675SRob Herring mdio { 178724ba675SRob Herring #address-cells = <1>; 179724ba675SRob Herring #size-cells = <0>; 180724ba675SRob Herring 181724ba675SRob Herring ethphy: ethernet-phy@3 { 182724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c22"; 183724ba675SRob Herring reg = <3>; 184724ba675SRob Herring interrupt-parent = <&gpio1>; 185724ba675SRob Herring interrupts = <28 IRQ_TYPE_LEVEL_LOW>; 186724ba675SRob Herring reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 187724ba675SRob Herring reset-assert-us = <1000>; 188724ba675SRob Herring reset-deassert-us = <100000>; 189724ba675SRob Herring micrel,force-master; 190724ba675SRob Herring max-speed = <1000>; 191724ba675SRob Herring }; 192724ba675SRob Herring }; 193724ba675SRob Herring}; 194724ba675SRob Herring 195724ba675SRob Herring&hdmi { 196724ba675SRob Herring pinctrl-names = "default"; 197724ba675SRob Herring pinctrl-0 = <&pinctrl_hdmi>; 198724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 199724ba675SRob Herring status = "okay"; 200724ba675SRob Herring}; 201724ba675SRob Herring 202724ba675SRob Herring&i2c1 { 203724ba675SRob Herring tlv320aic32x4: audio-codec@18 { 204724ba675SRob Herring compatible = "ti,tlv320aic32x4"; 205724ba675SRob Herring reg = <0x18>; 206724ba675SRob Herring clocks = <&clks IMX6QDL_CLK_CKO>; 207724ba675SRob Herring clock-names = "mclk"; 208724ba675SRob Herring pinctrl-names = "default"; 209724ba675SRob Herring pinctrl-0 = <&pinctrl_codec>; 210724ba675SRob Herring ldoin-supply = <®_vcc3v3_audio>; 211724ba675SRob Herring iov-supply = <®_mba6_3p3v>; 212724ba675SRob Herring }; 213724ba675SRob Herring}; 214724ba675SRob Herring 215724ba675SRob Herring/* DDC */ 216724ba675SRob Herring&i2c2 { 217724ba675SRob Herring clock-frequency = <100000>; 218724ba675SRob Herring pinctrl-names = "default", "gpio"; 219724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c2>; 220724ba675SRob Herring pinctrl-1 = <&pinctrl_i2c2_recovery>; 221724ba675SRob Herring scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 222724ba675SRob Herring sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 223724ba675SRob Herring status = "okay"; 224724ba675SRob Herring}; 225724ba675SRob Herring 226724ba675SRob Herring&pcie { 227724ba675SRob Herring pinctrl-names = "default"; 228724ba675SRob Herring pinctrl-0 = <&pinctrl_pcie>; 229724ba675SRob Herring reset-gpio = <&gpio6 7 GPIO_ACTIVE_LOW>; 230*6c1561fbSLinus Torvalds vpcie-supply = <®_pcie>; 231724ba675SRob Herring status = "okay"; 232724ba675SRob Herring}; 233724ba675SRob Herring 234724ba675SRob Herring&pwm1 { 235724ba675SRob Herring pinctrl-names = "default"; 236724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm1>; 237724ba675SRob Herring status = "okay"; 238724ba675SRob Herring}; 239724ba675SRob Herring 240724ba675SRob Herring&pwm3 { 241724ba675SRob Herring pinctrl-names = "default"; 242724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm3>; 243724ba675SRob Herring status = "okay"; 244724ba675SRob Herring}; 245724ba675SRob Herring 246724ba675SRob Herring&pwm4 { 247724ba675SRob Herring pinctrl-names = "default"; 248724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm4>; 249724ba675SRob Herring status = "okay"; 250724ba675SRob Herring}; 251724ba675SRob Herring 252724ba675SRob Herring&snvs_poweroff { 253724ba675SRob Herring status = "okay"; 254724ba675SRob Herring}; 255724ba675SRob Herring 256724ba675SRob Herring&ssi1 { 257724ba675SRob Herring status = "okay"; 258724ba675SRob Herring}; 259724ba675SRob Herring 260724ba675SRob Herring&uart2 { 261724ba675SRob Herring pinctrl-names = "default"; 262724ba675SRob Herring pinctrl-0 = <&pinctrl_uart2>; 263724ba675SRob Herring status = "okay"; 264724ba675SRob Herring}; 265724ba675SRob Herring 266724ba675SRob Herring&uart3 { 267724ba675SRob Herring pinctrl-names = "default"; 268724ba675SRob Herring pinctrl-0 = <&pinctrl_uart3>; 269724ba675SRob Herring uart-has-rtscts; 270724ba675SRob Herring status = "okay"; 271724ba675SRob Herring}; 272724ba675SRob Herring 273724ba675SRob Herring&uart4 { 274724ba675SRob Herring pinctrl-names = "default"; 275724ba675SRob Herring pinctrl-0 = <&pinctrl_uart4>; 276724ba675SRob Herring uart-has-rtscts; 277724ba675SRob Herring linux,rs485-enabled-at-boot-time; 278724ba675SRob Herring rs485-rts-active-low; 279724ba675SRob Herring rs485-rx-during-tx; 280724ba675SRob Herring status = "okay"; 281724ba675SRob Herring}; 282724ba675SRob Herring 283724ba675SRob Herring&uart5 { 284724ba675SRob Herring pinctrl-names = "default"; 285724ba675SRob Herring pinctrl-0 = <&pinctrl_uart5>; 286724ba675SRob Herring uart-has-rtscts; 287724ba675SRob Herring status = "okay"; 288724ba675SRob Herring}; 289724ba675SRob Herring 290724ba675SRob Herring&usbh1 { 291724ba675SRob Herring disable-over-current; 292724ba675SRob Herring status = "okay"; 293724ba675SRob Herring #address-cells = <1>; 294724ba675SRob Herring #size-cells = <0>; 295724ba675SRob Herring 296724ba675SRob Herring hub@1 { 297724ba675SRob Herring compatible = "usb424,2517"; 298724ba675SRob Herring reg = <1>; 299724ba675SRob Herring #address-cells = <1>; 300724ba675SRob Herring #size-cells = <0>; 301724ba675SRob Herring 302724ba675SRob Herring ethernet@1 { 303724ba675SRob Herring compatible = "usb424,9e00"; 304724ba675SRob Herring reg = <1>; 305724ba675SRob Herring nvmem-cells = <&mba_mac_address>; 306724ba675SRob Herring nvmem-cell-names = "mac-address"; 307724ba675SRob Herring }; 308724ba675SRob Herring }; 309724ba675SRob Herring}; 310724ba675SRob Herring 311724ba675SRob Herring&usbotg { 312724ba675SRob Herring pinctrl-names = "default"; 313724ba675SRob Herring pinctrl-0 = <&pinctrl_usbotg>; 314724ba675SRob Herring power-active-high; 315724ba675SRob Herring over-current-active-low; 316724ba675SRob Herring srp-disable; 317724ba675SRob Herring hnp-disable; 318724ba675SRob Herring adp-disable; 319724ba675SRob Herring dr_mode = "otg"; 320724ba675SRob Herring status = "okay"; 321724ba675SRob Herring}; 322724ba675SRob Herring 323724ba675SRob Herring/* SD card slot */ 324724ba675SRob Herring&usdhc2 { 325724ba675SRob Herring pinctrl-names = "default"; 326724ba675SRob Herring pinctrl-0 = <&pinctrl_usdhc2>; 327724ba675SRob Herring vmmc-supply = <®_mba6_3p3v>; 328724ba675SRob Herring bus-width = <4>; 329724ba675SRob Herring no-1-8-v; 330724ba675SRob Herring no-mmc; 331724ba675SRob Herring no-sdio; 332724ba675SRob Herring cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; 333724ba675SRob Herring wp-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; 334724ba675SRob Herring status = "okay"; 335724ba675SRob Herring}; 336724ba675SRob Herring 337724ba675SRob Herring&wdog1 { 338724ba675SRob Herring pinctrl-names = "default"; 339724ba675SRob Herring pinctrl-0 = <&pinctrl_wdog1>; 340724ba675SRob Herring /* does not work on unmodified starter kit */ 341724ba675SRob Herring /* fsl,ext-reset-output; */ 342724ba675SRob Herring status = "okay"; 343724ba675SRob Herring}; 344724ba675SRob Herring 345724ba675SRob Herring&iomuxc { 346724ba675SRob Herring pinctrl-names = "default"; 347724ba675SRob Herring pinctrl-0 = <&pinctrl_hog>; 348724ba675SRob Herring 349724ba675SRob Herring pinctrl_audmux: audmuxgrp { 350724ba675SRob Herring fsl,pins = < 351724ba675SRob Herring MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x1b0b0 352724ba675SRob Herring MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x1b0b0 353724ba675SRob Herring MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x1b0b0 354724ba675SRob Herring MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x1b0b0 355724ba675SRob Herring >; 356724ba675SRob Herring }; 357724ba675SRob Herring 358724ba675SRob Herring pinctrl_can1: can1grp { 359724ba675SRob Herring fsl,pins = < 360724ba675SRob Herring MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0xb099 361724ba675SRob Herring MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0xb099 362724ba675SRob Herring >; 363724ba675SRob Herring }; 364724ba675SRob Herring 365724ba675SRob Herring pinctrl_can2: can2grp { 366724ba675SRob Herring fsl,pins = < 367724ba675SRob Herring MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0xb099 368724ba675SRob Herring MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0xb099 369724ba675SRob Herring >; 370724ba675SRob Herring }; 371724ba675SRob Herring 372724ba675SRob Herring pinctrl_codec: codecgrp { 373724ba675SRob Herring fsl,pins = < 374724ba675SRob Herring MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1 0xb0 /* CLK */ 375724ba675SRob Herring >; 376724ba675SRob Herring }; 377724ba675SRob Herring 378724ba675SRob Herring pinctrl_ecspi1_mba6: ecspimba6grp { 379724ba675SRob Herring fsl,pins = < 380724ba675SRob Herring MX6QDL_PAD_EIM_D24__GPIO3_IO24 0xb099 /* eCSPI1 SS2 */ 381724ba675SRob Herring >; 382724ba675SRob Herring }; 383724ba675SRob Herring 384724ba675SRob Herring pinctrl_enet: enetgrp { 385724ba675SRob Herring fsl,pins = < 386724ba675SRob Herring /* FEC phy IRQ */ 387724ba675SRob Herring MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28 0x00011008 388724ba675SRob Herring /* FEC phy reset */ 389724ba675SRob Herring MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25 0x1b099 390724ba675SRob Herring /* DSE = 100, 100k up, SPEED = MED */ 391724ba675SRob Herring MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0xb0a0 392724ba675SRob Herring MX6QDL_PAD_ENET_MDC__ENET_MDC 0xb0a0 393724ba675SRob Herring /* DSE = 111, pull 100k up */ 394724ba675SRob Herring MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0xb038 395724ba675SRob Herring MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0xb038 396724ba675SRob Herring MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0xb038 397724ba675SRob Herring MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0xb038 398724ba675SRob Herring MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0xb038 399724ba675SRob Herring MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0xb038 400724ba675SRob Herring /* DSE = 111, pull external */ 401724ba675SRob Herring MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x0038 402724ba675SRob Herring MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x0038 403724ba675SRob Herring MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x0038 404724ba675SRob Herring MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x0038 405724ba675SRob Herring MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x0038 406724ba675SRob Herring MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x0038 407724ba675SRob Herring /* HYS = 1, DSE = 111, 100k up, SPEED = HIGH */ 408724ba675SRob Herring MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0f0 409724ba675SRob Herring >; 410724ba675SRob Herring }; 411724ba675SRob Herring 412724ba675SRob Herring pinctrl_gpiobeeper: gpiobeepergrp { 413724ba675SRob Herring fsl,pins = < 414724ba675SRob Herring MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0xb099 415724ba675SRob Herring >; 416724ba675SRob Herring }; 417724ba675SRob Herring 418724ba675SRob Herring pinctrl_gpiobuttons: gpiobuttongrp { 419724ba675SRob Herring fsl,pins = < 420724ba675SRob Herring MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x0001b099 421724ba675SRob Herring MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x0001b099 422724ba675SRob Herring MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x0001b099 423724ba675SRob Herring >; 424724ba675SRob Herring }; 425724ba675SRob Herring 426724ba675SRob Herring pinctrl_gpioled: gpioledgrp { 427724ba675SRob Herring fsl,pins = < 428724ba675SRob Herring MX6QDL_PAD_NANDF_CS3__GPIO6_IO16 0xb099 /* LED V15 */ 429724ba675SRob Herring MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0xb099 /* LED V16 */ 430724ba675SRob Herring >; 431724ba675SRob Herring }; 432724ba675SRob Herring 433724ba675SRob Herring pinctrl_hdmi: hdmigrp { 434724ba675SRob Herring /* NOTE: DDC is done via I2C2, so DON'T 435724ba675SRob Herring * configure DDC pins for HDMI! 436724ba675SRob Herring */ 437724ba675SRob Herring fsl,pins = < 438724ba675SRob Herring MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE 0x1f8b0 439724ba675SRob Herring >; 440724ba675SRob Herring }; 441724ba675SRob Herring 442724ba675SRob Herring pinctrl_hog: hoggrp { 443724ba675SRob Herring fsl,pins = < 444724ba675SRob Herring MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0001b099 445724ba675SRob Herring 446724ba675SRob Herring MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x0001b099 447724ba675SRob Herring MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x0001b099 448724ba675SRob Herring MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x0001b099 449724ba675SRob Herring 450724ba675SRob Herring MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x0001b099 451724ba675SRob Herring MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x0001b099 452724ba675SRob Herring MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x0001b099 453724ba675SRob Herring MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x0001b099 454724ba675SRob Herring MX6QDL_PAD_EIM_CS0__GPIO2_IO23 0x0001b099 455724ba675SRob Herring MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x0001b099 456724ba675SRob Herring MX6QDL_PAD_EIM_OE__GPIO2_IO25 0x0001b099 457724ba675SRob Herring 458724ba675SRob Herring MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x0001b099 459724ba675SRob Herring MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x0001b099 460724ba675SRob Herring MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x0001b099 461724ba675SRob Herring MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x0001b099 462724ba675SRob Herring MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x0001b099 463724ba675SRob Herring 464724ba675SRob Herring MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x0001b099 465724ba675SRob Herring MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x0001b099 466724ba675SRob Herring MX6QDL_PAD_KEY_COL1__GPIO4_IO08 0x0001b099 467724ba675SRob Herring MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x0001b099 468724ba675SRob Herring 469724ba675SRob Herring MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x0001b099 470724ba675SRob Herring MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x0001b099 471724ba675SRob Herring MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x0001b099 472724ba675SRob Herring 473724ba675SRob Herring MX6QDL_PAD_NANDF_ALE__GPIO6_IO08 0x0001b099 474724ba675SRob Herring MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x0001b099 475724ba675SRob Herring >; 476724ba675SRob Herring }; 477724ba675SRob Herring 478724ba675SRob Herring pinctrl_i2c2: i2c2grp { 479724ba675SRob Herring fsl,pins = < 480724ba675SRob Herring MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b899 481724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b899 482724ba675SRob Herring >; 483724ba675SRob Herring }; 484724ba675SRob Herring 485724ba675SRob Herring pinctrl_i2c2_recovery: i2c2recoverygrp { 486724ba675SRob Herring fsl,pins = < 487724ba675SRob Herring MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x4001b899 488724ba675SRob Herring MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x4001b899 489724ba675SRob Herring >; 490724ba675SRob Herring }; 491724ba675SRob Herring 492724ba675SRob Herring pinctrl_pcie: pciegrp { 493724ba675SRob Herring fsl,pins = < 494724ba675SRob Herring /* HYS = 1, DSE = 110, 100k up, SPEED = HIGH (11)*/ 495724ba675SRob Herring MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x001b0f0 /* #PCIE.WAKE */ 496724ba675SRob Herring MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x001b0f0 /* #PCIE.RST */ 497724ba675SRob Herring MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x001b0f0 /* #PCIE.DIS */ 498724ba675SRob Herring >; 499724ba675SRob Herring }; 500724ba675SRob Herring 501724ba675SRob Herring pinctrl_pwm1: pwm1grp { 502724ba675SRob Herring fsl,pins = < 503724ba675SRob Herring /* 100 k PD, DSE 120 OHM, SPPEED LO */ 504724ba675SRob Herring MX6QDL_PAD_GPIO_9__PWM1_OUT 0x00003050 505724ba675SRob Herring >; 506724ba675SRob Herring }; 507724ba675SRob Herring 508724ba675SRob Herring pinctrl_pwm3: pwm3grp { 509724ba675SRob Herring fsl,pins = < 510724ba675SRob Herring /* 100 k PD, DSE 120 OHM, SPPEED LO */ 511724ba675SRob Herring MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x00003050 512724ba675SRob Herring >; 513724ba675SRob Herring }; 514724ba675SRob Herring 515724ba675SRob Herring pinctrl_pwm4: pwm4grp { 516724ba675SRob Herring fsl,pins = < 517724ba675SRob Herring /* 100 k PD, DSE 120 OHM, SPPEED LO */ 518724ba675SRob Herring MX6QDL_PAD_SD4_DAT2__PWM4_OUT 0x00003050 519724ba675SRob Herring >; 520724ba675SRob Herring }; 521724ba675SRob Herring 522724ba675SRob Herring pinctrl_regpcie: regpciegrp { 523724ba675SRob Herring fsl,pins = < 524724ba675SRob Herring /* HYS = 1, DSE = 110, PUE+PKE, SPEED = HIGH (11)*/ 525724ba675SRob Herring MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x00130f0 /* PCIE.PWR_EN */ 526724ba675SRob Herring >; 527724ba675SRob Herring }; 528724ba675SRob Herring 529724ba675SRob Herring pinctrl_uart2: uart2grp { 530724ba675SRob Herring fsl,pins = < 531724ba675SRob Herring MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b099 532724ba675SRob Herring MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b099 533724ba675SRob Herring >; 534724ba675SRob Herring }; 535724ba675SRob Herring 536724ba675SRob Herring pinctrl_uart3: uart3grp { 537724ba675SRob Herring fsl,pins = < 538724ba675SRob Herring MX6QDL_PAD_SD4_CLK__UART3_RX_DATA 0x1b0b1 539724ba675SRob Herring MX6QDL_PAD_SD4_CMD__UART3_TX_DATA 0x1b0b1 540724ba675SRob Herring MX6QDL_PAD_EIM_D30__UART3_CTS_B 0x1b0b1 541724ba675SRob Herring MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1 542724ba675SRob Herring >; 543724ba675SRob Herring }; 544724ba675SRob Herring 545724ba675SRob Herring pinctrl_uart4: uart4grp { 546724ba675SRob Herring fsl,pins = < 547724ba675SRob Herring MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1 548724ba675SRob Herring MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 549724ba675SRob Herring MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1 550724ba675SRob Herring MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1 551724ba675SRob Herring >; 552724ba675SRob Herring }; 553724ba675SRob Herring 554724ba675SRob Herring pinctrl_uart5: uart5grp { 555724ba675SRob Herring fsl,pins = < 556724ba675SRob Herring MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1 557724ba675SRob Herring MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1 558724ba675SRob Herring MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B 0x1b0b1 559724ba675SRob Herring MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B 0x1b0b1 560724ba675SRob Herring >; 561724ba675SRob Herring }; 562724ba675SRob Herring 563724ba675SRob Herring pinctrl_usdhc2: usdhc2grp { 564724ba675SRob Herring fsl,pins = < 565724ba675SRob Herring /* CLK: 47k Pup SPD_LOW DSE 40Ohm SRE_FAST HYS */ 566724ba675SRob Herring MX6QDL_PAD_SD2_CLK__SD2_CLK 0x00017071 567724ba675SRob Herring /* SD2: 47k Pup SPD_LOW DSE 80Ohm SRE_FAST HYS */ 568724ba675SRob Herring MX6QDL_PAD_SD2_CMD__SD2_CMD 0x00017059 569724ba675SRob Herring MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x00017059 570724ba675SRob Herring MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x00017059 571724ba675SRob Herring MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x00017059 572724ba675SRob Herring MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x00017059 573724ba675SRob Herring 574724ba675SRob Herring MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x0001b099 /* usdhc2 CD */ 575724ba675SRob Herring MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x0001b099 /* usdhc2 WP */ 576724ba675SRob Herring >; 577724ba675SRob Herring }; 578724ba675SRob Herring 579724ba675SRob Herring pinctrl_usbotg: usbotggrp { 580724ba675SRob Herring fsl,pins = < 581724ba675SRob Herring MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x0001b0b0 582724ba675SRob Herring MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x00017059 583724ba675SRob Herring MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x0001b099 584724ba675SRob Herring >; 585724ba675SRob Herring }; 586724ba675SRob Herring 587724ba675SRob Herring pinctrl_wdog1: wdog1grp { 588724ba675SRob Herring fsl,pins = < 589724ba675SRob Herring /* Watchdog out */ 590724ba675SRob Herring MX6QDL_PAD_SD1_DAT2__WDOG1_B 0x0000b099 591724ba675SRob Herring >; 592724ba675SRob Herring }; 593724ba675SRob Herring}; 594