1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (c) 2016 Protonic Holland 4 * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix 5 */ 6 7/dts-v1/; 8#include <dt-bindings/display/sdtv-standards.h> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/leds/common.h> 12#include <dt-bindings/media/tvp5150.h> 13#include <dt-bindings/sound/fsl-imx-audmux.h> 14#include "imx6dl.dtsi" 15 16/ { 17 model = "Kverneland TGO"; 18 compatible = "kvg,victgo", "fsl,imx6dl"; 19 20 chosen { 21 stdout-path = &uart4; 22 }; 23 24 backlight: backlight { 25 compatible = "pwm-backlight"; 26 pinctrl-names = "default"; 27 pinctrl-0 = <&pinctrl_backlight>; 28 pwms = <&pwm1 0 5000000 0>; 29 brightness-levels = <0 16 64 255>; 30 num-interpolated-steps = <16>; 31 default-brightness-level = <1>; 32 power-supply = <®_3v3>; 33 enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 34 }; 35 36 connector { 37 compatible = "composite-video-connector"; 38 label = "Composite0"; 39 sdtv-standards = <SDTV_STD_PAL_B>; 40 41 port { 42 comp0_out: endpoint { 43 remote-endpoint = <&tvp5150_comp0_in>; 44 }; 45 }; 46 }; 47 48 gpio-keys { 49 compatible = "gpio-keys"; 50 pinctrl-names = "default"; 51 pinctrl-0 = <&pinctrl_gpiokeys>; 52 autorepeat; 53 54 power { 55 label = "Power Button"; 56 gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; 57 linux,code = <KEY_POWER>; 58 wakeup-source; 59 }; 60 61 enter { 62 label = "Rotary Key"; 63 gpios = <&gpio2 05 GPIO_ACTIVE_LOW>; 64 linux,code = <KEY_ENTER>; 65 wakeup-source; 66 }; 67 }; 68 69 leds { 70 compatible = "gpio-leds"; 71 pinctrl-names = "default"; 72 pinctrl-0 = <&pinctrl_leds>; 73 74 led-0 { 75 label = "debug0"; 76 function = LED_FUNCTION_HEARTBEAT; 77 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 78 linux,default-trigger = "heartbeat"; 79 }; 80 81 led-1 { 82 label = "debug1"; 83 function = LED_FUNCTION_DISK; 84 gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; 85 linux,default-trigger = "disk-activity"; 86 }; 87 88 led-2 { 89 label = "power_led"; 90 function = LED_FUNCTION_POWER; 91 gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; 92 default-state = "on"; 93 }; 94 }; 95 96 panel { 97 compatible = "kyo,tcg121xglp"; 98 backlight = <&backlight>; 99 power-supply = <®_3v3>; 100 101 port { 102 panel_in: endpoint { 103 remote-endpoint = <&lvds0_out>; 104 }; 105 }; 106 }; 107 108 clk50m_phy: phy-clock { 109 compatible = "fixed-clock"; 110 #clock-cells = <0>; 111 clock-frequency = <50000000>; 112 }; 113 114 reg_1v8: regulator-1v8 { 115 compatible = "regulator-fixed"; 116 regulator-name = "1v8"; 117 regulator-min-microvolt = <1800000>; 118 regulator-max-microvolt = <1800000>; 119 }; 120 121 reg_3v3: regulator-3v3 { 122 compatible = "regulator-fixed"; 123 regulator-name = "3v3"; 124 regulator-min-microvolt = <3300000>; 125 regulator-max-microvolt = <3300000>; 126 }; 127 128 reg_h1_vbus: regulator-h1-vbus { 129 compatible = "regulator-fixed"; 130 regulator-name = "h1-vbus"; 131 regulator-min-microvolt = <5000000>; 132 regulator-max-microvolt = <5000000>; 133 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 134 enable-active-high; 135 }; 136 137 reg_otg_vbus: regulator-otg-vbus { 138 compatible = "regulator-fixed"; 139 regulator-name = "otg-vbus"; 140 regulator-min-microvolt = <5000000>; 141 regulator-max-microvolt = <5000000>; 142 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 143 enable-active-high; 144 }; 145 146 rotary-encoder { 147 compatible = "rotary-encoder"; 148 pinctrl-0 = <&pinctrl_rotary_ch>; 149 gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>, 150 <&gpio2 4 GPIO_ACTIVE_HIGH>; 151 linux,axis = <REL_WHEEL>; 152 rotary-encoder,steps-per-period = <4>; 153 rotary-encoder,relative-axis; 154 rotary-encoder,rollover; 155 wakeup-source; 156 }; 157 158 sound { 159 compatible = "simple-audio-card"; 160 simple-audio-card,name = "prti6q-sgtl5000"; 161 simple-audio-card,format = "i2s"; 162 simple-audio-card,widgets = 163 "Microphone", "Microphone Jack", 164 "Line", "Line In Jack", 165 "Headphone", "Headphone Jack", 166 "Speaker", "External Speaker"; 167 simple-audio-card,routing = 168 "MIC_IN", "Microphone Jack", 169 "LINE_IN", "Line In Jack", 170 "Headphone Jack", "HP_OUT", 171 "External Speaker", "LINE_OUT"; 172 173 simple-audio-card,cpu { 174 sound-dai = <&ssi1>; 175 system-clock-frequency = <0>; 176 }; 177 178 simple-audio-card,codec { 179 sound-dai = <&codec>; 180 bitclock-master; 181 frame-master; 182 }; 183 }; 184}; 185 186&audmux { 187 pinctrl-names = "default"; 188 pinctrl-0 = <&pinctrl_audmux>; 189 status = "okay"; 190 191 mux-ssi1 { 192 fsl,audmux-port = <0>; 193 fsl,port-config = < 194 IMX_AUDMUX_V2_PTCR_SYN 0 195 IMX_AUDMUX_V2_PTCR_TFSEL(2) 0 196 IMX_AUDMUX_V2_PTCR_TCSEL(2) 0 197 IMX_AUDMUX_V2_PTCR_TFSDIR 0 198 IMX_AUDMUX_V2_PTCR_TCLKDIR IMX_AUDMUX_V2_PDCR_RXDSEL(2) 199 >; 200 }; 201 202 mux-pins3 { 203 fsl,audmux-port = <2>; 204 fsl,port-config = < 205 IMX_AUDMUX_V2_PTCR_SYN IMX_AUDMUX_V2_PDCR_RXDSEL(0) 206 0 IMX_AUDMUX_V2_PDCR_TXRXEN 207 >; 208 }; 209}; 210 211&can1 { 212 pinctrl-names = "default"; 213 pinctrl-0 = <&pinctrl_can1>; 214 status = "okay"; 215}; 216 217&can2 { 218 pinctrl-names = "default"; 219 pinctrl-0 = <&pinctrl_can2>; 220 status = "okay"; 221}; 222 223&clks { 224 assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>; 225 assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>; 226}; 227 228&ecspi1 { 229 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; 230 pinctrl-names = "default"; 231 pinctrl-0 = <&pinctrl_ecspi1>; 232 status = "okay"; 233 234 flash@0 { 235 compatible = "jedec,spi-nor"; 236 reg = <0>; 237 spi-max-frequency = <20000000>; 238 }; 239}; 240 241&ecspi2 { 242 cs-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; 243 pinctrl-names = "default"; 244 pinctrl-0 = <&pinctrl_ecspi2>; 245 status = "okay"; 246 247 touchscreen@0 { 248 compatible = "ti,tsc2046"; 249 reg = <0>; 250 pinctrl-names = "default"; 251 pinctrl-0 = <&pinctrl_touchscreen>; 252 spi-max-frequency = <200000>; 253 interrupts-extended = <&gpio5 8 IRQ_TYPE_EDGE_FALLING>; 254 pendown-gpio = <&gpio5 8 GPIO_ACTIVE_LOW>; 255 touchscreen-size-x = <800>; 256 touchscreen-size-y = <480>; 257 touchscreen-inverted-y; 258 touchscreen-max-pressure = <4095>; 259 ti,vref-delay-usecs = /bits/ 16 <100>; 260 ti,x-plate-ohms = /bits/ 16 <800>; 261 ti,y-plate-ohms = /bits/ 16 <300>; 262 wakeup-source; 263 }; 264}; 265 266&fec { 267 pinctrl-names = "default"; 268 pinctrl-0 = <&pinctrl_enet>; 269 phy-mode = "rmii"; 270 clocks = <&clks IMX6QDL_CLK_ENET>, 271 <&clks IMX6QDL_CLK_ENET>, 272 <&clk50m_phy>; 273 clock-names = "ipg", "ahb", "ptp"; 274 phy-handle = <&rmii_phy>; 275 status = "okay"; 276 277 mdio { 278 #address-cells = <1>; 279 #size-cells = <0>; 280 281 /* Microchip KSZ8081RNA PHY */ 282 rmii_phy: ethernet-phy@0 { 283 reg = <0>; 284 interrupts-extended = <&gpio4 30 IRQ_TYPE_LEVEL_LOW>; 285 reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; 286 reset-assert-us = <10000>; 287 reset-deassert-us = <300>; 288 }; 289 }; 290}; 291 292&gpio1 { 293 gpio-line-names = 294 "CAN1_TERM", "SD1_CD", "ITU656_RESET", "CAM1_MIRROR", 295 "CAM2_MIRROR", "", "", "SMBALERT", 296 "DEBUG_0", "DEBUG_1", "", "", "", "", "", "", 297 "SD1_DATA0", "SD1_DATA1", "SD1_CMD", "SD1_DATA2", "SD1_CLK", 298 "SD1_DATA3", "", "", 299 "", "", "", "", "", "", "", ""; 300}; 301 302&gpio2 { 303 gpio-line-names = 304 "", "", "", "", "", "", "", "", 305 "REV_ID0", "REV_ID1", "REV_ID2", "REV_ID3", "REV_ID4", 306 "BOARD_ID0", "BOARD_ID1", "BOARD_ID2", 307 "", "", "", "", "", "", "ISB_IN1", "ON_SWITCH", 308 "POWER_LED", "", "", "", "", "", "", ""; 309}; 310 311&gpio3 { 312 gpio-line-names = 313 "", "", "", "", "", "", "", "", 314 "", "", "", "", "", "", "", "", 315 "ECSPI1_SCLK", "ECSPI1_MISO", "ECSPI1_MOSI", "ECSPI1_SS1", 316 "CPU_ON1_FB", "USB_EXT1_OC", "USB_EXT1_PWR", "YACO_IRQ", 317 "TSS_TXD", "TSS_RXD", "", "", "", "", "YACO_BOOT0", 318 "YACO_RESET"; 319}; 320 321&gpio4 { 322 gpio-line-names = 323 "", "", "", "", "", "", "", "", 324 "", "", "", "", "CAN1_SR", "CAN2_SR", "CAN2_TX", "CAN2_RX", 325 "", "", "DIP1_FB", "", "VCAM_EN", "", "", "", 326 "CPU_LIGHT_ON", "", "ETH_RESET", "CPU_CONTACT_IN", "BL_EN", 327 "BL_PWM", "ETH_INTRP", "ISB_LED"; 328}; 329 330&gpio5 { 331 gpio-line-names = 332 "", "", "", "", "", "", "", "", 333 "TSC_PENIRQ", "TSC_BUSY", "ECSPI2_MOSI", "ECSPI2_MISO", 334 "ECSPI2_SS0", "ECSPI2_SCLK", "", "", 335 "", "", "", "", "", "", "", "", 336 "I2S_LRCLK", "I2S_DIN", "I2C1_SDA", "I2C1_SCL", "YACO_AUX_RX", 337 "YACO_AUX_TX", "ITU656_D0", "ITU656_D1"; 338}; 339 340&i2c1 { 341 clock-frequency = <100000>; 342 pinctrl-names = "default"; 343 pinctrl-0 = <&pinctrl_i2c1>; 344 status = "okay"; 345 346 codec: audio-codec@a { 347 compatible = "fsl,sgtl5000"; 348 reg = <0xa>; 349 #sound-dai-cells = <0>; 350 clocks = <&clks 201>; 351 VDDA-supply = <®_3v3>; 352 VDDIO-supply = <®_3v3>; 353 VDDD-supply = <®_1v8>; 354 }; 355 356 video-decoder@5c { 357 compatible = "ti,tvp5150"; 358 reg = <0x5c>; 359 #address-cells = <1>; 360 #size-cells = <0>; 361 362 port@0 { 363 reg = <0>; 364 365 tvp5150_comp0_in: endpoint { 366 remote-endpoint = <&comp0_out>; 367 }; 368 }; 369 370 /* Output port 2 is video output pad */ 371 port@2 { 372 reg = <2>; 373 374 tvp5151_to_ipu1_csi0_mux: endpoint { 375 remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>; 376 }; 377 }; 378 }; 379 380 keypad@70 { 381 compatible = "holtek,ht16k33"; 382 pinctrl-names = "default"; 383 pinctrl-0 = <&pinctrl_keypad>; 384 reg = <0x70>; 385 refresh-rate-hz = <20>; 386 debounce-delay-ms = <50>; 387 interrupts-extended = <&gpio4 5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>; 388 keypad,num-rows = <12>; 389 keypad,num-columns = <3>; 390 linux,keymap = < 391 MATRIX_KEY(2, 0, KEY_F6) 392 MATRIX_KEY(3, 0, KEY_F8) 393 MATRIX_KEY(4, 0, KEY_F10) 394 MATRIX_KEY(5, 0, KEY_F4) 395 MATRIX_KEY(6, 0, KEY_F2) 396 MATRIX_KEY(2, 1, KEY_F5) 397 MATRIX_KEY(3, 1, KEY_F7) 398 MATRIX_KEY(4, 1, KEY_F9) 399 MATRIX_KEY(5, 1, KEY_F3) 400 MATRIX_KEY(6, 1, KEY_F1) 401 >; 402 }; 403 404 /* additional i2c devices are added automatically by the boot loader */ 405}; 406 407&i2c3 { 408 clock-frequency = <100000>; 409 pinctrl-names = "default"; 410 pinctrl-0 = <&pinctrl_i2c3>; 411 status = "okay"; 412 413 adc@49 { 414 compatible = "ti,ads1015"; 415 reg = <0x49>; 416 #address-cells = <1>; 417 #size-cells = <0>; 418 419 channel@4 { 420 reg = <4>; 421 ti,gain = <3>; 422 ti,datarate = <3>; 423 }; 424 425 channel@5 { 426 reg = <5>; 427 ti,gain = <3>; 428 ti,datarate = <3>; 429 }; 430 431 channel@6 { 432 reg = <6>; 433 ti,gain = <3>; 434 ti,datarate = <3>; 435 }; 436 437 channel@7 { 438 reg = <7>; 439 ti,gain = <3>; 440 ti,datarate = <3>; 441 }; 442 }; 443 444 rtc@51 { 445 compatible = "nxp,pcf8563"; 446 reg = <0x51>; 447 }; 448 449 temperature-sensor@70 { 450 compatible = "ti,tmp103"; 451 reg = <0x70>; 452 }; 453}; 454 455&ipu1_csi0 { 456 pinctrl-names = "default"; 457 pinctrl-0 = <&pinctrl_ipu1_csi0>; 458 status = "okay"; 459}; 460 461&ipu1_csi0_mux_from_parallel_sensor { 462 remote-endpoint = <&tvp5151_to_ipu1_csi0_mux>; 463}; 464 465&ldb { 466 status = "okay"; 467 468 lvds-channel@0 { 469 status = "okay"; 470 471 port@4 { 472 reg = <4>; 473 474 lvds0_out: endpoint { 475 remote-endpoint = <&panel_in>; 476 }; 477 }; 478 }; 479}; 480 481&pwm1 { 482 pinctrl-names = "default"; 483 pinctrl-0 = <&pinctrl_pwm1>; 484 status = "okay"; 485}; 486 487&pwm3 { 488 pinctrl-names = "default"; 489 pinctrl-0 = <&pinctrl_pwm3>; 490 status = "okay"; 491}; 492 493&ssi1 { 494 #sound-dai-cells = <0>; 495 fsl,mode = "ac97-slave"; 496 status = "okay"; 497}; 498 499&uart1 { 500 pinctrl-names = "default"; 501 pinctrl-0 = <&pinctrl_uart1>; 502 status = "okay"; 503}; 504 505&uart2 { 506 pinctrl-names = "default"; 507 pinctrl-0 = <&pinctrl_uart2>; 508 status = "okay"; 509}; 510 511&uart3 { 512 pinctrl-names = "default"; 513 pinctrl-0 = <&pinctrl_uart3>; 514 status = "okay"; 515}; 516 517&uart4 { 518 pinctrl-names = "default"; 519 pinctrl-0 = <&pinctrl_uart4>; 520 status = "okay"; 521}; 522 523&uart5 { 524 pinctrl-names = "default"; 525 pinctrl-0 = <&pinctrl_uart5>; 526 status = "okay"; 527}; 528 529&usbh1 { 530 vbus-supply = <®_h1_vbus>; 531 pinctrl-names = "default"; 532 phy_type = "utmi"; 533 dr_mode = "host"; 534 status = "okay"; 535}; 536 537&usbotg { 538 vbus-supply = <®_otg_vbus>; 539 pinctrl-names = "default"; 540 pinctrl-0 = <&pinctrl_usbotg>; 541 phy_type = "utmi"; 542 dr_mode = "host"; 543 disable-over-current; 544 status = "okay"; 545}; 546 547&usdhc1 { 548 pinctrl-names = "default"; 549 pinctrl-0 = <&pinctrl_usdhc1>; 550 cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; 551 no-1-8-v; 552 disable-wp; 553 cap-sd-highspeed; 554 no-mmc; 555 no-sdio; 556 status = "okay"; 557}; 558 559&usdhc3 { 560 pinctrl-names = "default"; 561 pinctrl-0 = <&pinctrl_usdhc3>; 562 bus-width = <8>; 563 no-1-8-v; 564 non-removable; 565 no-sd; 566 no-sdio; 567 status = "okay"; 568}; 569 570&iomuxc { 571 pinctrl-names = "default"; 572 pinctrl-0 = <&pinctrl_hog>; 573 574 pinctrl_audmux: audmuxgrp { 575 fsl,pins = < 576 /* SGTL5000 sys_mclk */ 577 MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1 0x030b0 578 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 579 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 580 MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 581 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 582 >; 583 }; 584 585 pinctrl_backlight: backlightgrp { 586 fsl,pins = < 587 MX6QDL_PAD_DISP0_DAT7__GPIO4_IO28 0x1b0b0 588 >; 589 }; 590 591 pinctrl_can1: can1grp { 592 fsl,pins = < 593 MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b000 594 MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x3008 595 /* CAN1_SR */ 596 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x13008 597 /* CAN1_TERM */ 598 MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b088 599 >; 600 }; 601 602 pinctrl_can2: can2grp { 603 fsl,pins = < 604 MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b000 605 MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x3008 606 /* CAN2_SR */ 607 MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x13008 608 >; 609 }; 610 611 pinctrl_ecspi1: ecspi1grp { 612 fsl,pins = < 613 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1 614 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1 615 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1 616 /* CS */ 617 MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x000b1 618 >; 619 }; 620 621 pinctrl_ecspi2: ecspi2grp { 622 fsl,pins = < 623 MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI 0x100b1 624 MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO 0x100b1 625 MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12 0x100b1 626 MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK 0x100b1 627 >; 628 }; 629 630 pinctrl_enet: enetgrp { 631 fsl,pins = < 632 /* MX6QDL_ENET_PINGRP4 */ 633 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 634 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 635 MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0 636 MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0 637 MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER 0x1b0b0 638 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 639 MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0 640 MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0 641 MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 642 MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x1b0b0 643 /* Phy reset */ 644 MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x1b0b0 645 /* nINTRP */ 646 MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 647 >; 648 }; 649 650 pinctrl_gpiokeys: gpiokeygrp { 651 fsl,pins = < 652 /* ROTARY_BTN */ 653 MX6QDL_PAD_NANDF_D5__GPIO2_IO05 0x1b0b0 654 /* nON_SWITCH */ 655 MX6QDL_PAD_EIM_CS0__GPIO2_IO23 0x1b0b0 656 >; 657 }; 658 659 pinctrl_hog: hoggrp { 660 fsl,pins = < 661 /* ITU656_nRESET */ 662 MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 663 /* CAM1_MIRROR */ 664 MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x130b0 665 /* CAM2_MIRROR */ 666 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x130b0 667 /* CAM_nDETECT */ 668 MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 669 /* ISB_IN1 */ 670 MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x130b0 671 /* ISB_nIN2 */ 672 MX6QDL_PAD_EIM_A17__GPIO2_IO21 0x1b0b0 673 /* WARN_LIGHT */ 674 MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x100b0 675 /* ON2_FB */ 676 MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x100b0 677 /* YACO_nIRQ */ 678 MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x1b0b0 679 /* YACO_BOOT0 */ 680 MX6QDL_PAD_EIM_D30__GPIO3_IO30 0x130b0 681 /* YACO_nRESET */ 682 MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0 683 /* FORCE_ON1 */ 684 MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0 685 /* AUDIO_nRESET */ 686 MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x1f0b0 687 /* ITU656_nPDN */ 688 MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x1b0b0 689 690 /* HW revision detect */ 691 /* REV_ID0 */ 692 MX6QDL_PAD_SD4_DAT0__GPIO2_IO08 0x1b0b0 693 /* REV_ID1 is shared with PWM3 */ 694 /* REV_ID2 */ 695 MX6QDL_PAD_SD4_DAT2__GPIO2_IO10 0x1b0b0 696 /* REV_ID3 */ 697 MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b0 698 /* REV_ID4 */ 699 MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0 700 701 /* New in HW revision 1 */ 702 /* ON1_FB */ 703 MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x100b0 704 /* DIP1_FB */ 705 MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x1b0b0 706 >; 707 }; 708 709 pinctrl_i2c1: i2c1grp { 710 fsl,pins = < 711 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001f8b1 712 MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001f8b1 713 >; 714 }; 715 716 pinctrl_i2c3: i2c3grp { 717 fsl,pins = < 718 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1 719 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 720 >; 721 }; 722 723 pinctrl_ipu1_csi0: ipu1csi0grp { 724 fsl,pins = < 725 MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12 0x1b0b0 726 MX6QDL_PAD_CSI0_DAT13__IPU1_CSI0_DATA13 0x1b0b0 727 MX6QDL_PAD_CSI0_DAT14__IPU1_CSI0_DATA14 0x1b0b0 728 MX6QDL_PAD_CSI0_DAT15__IPU1_CSI0_DATA15 0x1b0b0 729 MX6QDL_PAD_CSI0_DAT16__IPU1_CSI0_DATA16 0x1b0b0 730 MX6QDL_PAD_CSI0_DAT17__IPU1_CSI0_DATA17 0x1b0b0 731 MX6QDL_PAD_CSI0_DAT18__IPU1_CSI0_DATA18 0x1b0b0 732 MX6QDL_PAD_CSI0_DAT19__IPU1_CSI0_DATA19 0x1b0b0 733 MX6QDL_PAD_CSI0_PIXCLK__IPU1_CSI0_PIXCLK 0x1b0b0 734 >; 735 }; 736 737 pinctrl_keypad: keypadgrp { 738 fsl,pins = < 739 MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x1b0b0 740 >; 741 }; 742 743 pinctrl_leds: ledsgrp { 744 fsl,pins = < 745 /* DEBUG0 */ 746 MX6QDL_PAD_DI0_DISP_CLK__GPIO4_IO16 0x1b0b0 747 /* DEBUG1 */ 748 MX6QDL_PAD_DI0_PIN15__GPIO4_IO17 0x1b0b0 749 /* POWER_LED */ 750 MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x1b0b0 751 >; 752 }; 753 754 pinctrl_pwm1: pwm1grp { 755 fsl,pins = < 756 MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b0 757 >; 758 }; 759 760 pinctrl_pwm3: pwm3grp { 761 fsl,pins = < 762 MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b0 763 >; 764 }; 765 766 pinctrl_rotary_ch: rotarychgrp { 767 fsl,pins = < 768 MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0 769 MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x1b0b0 770 >; 771 }; 772 773 pinctrl_touchscreen: touchscreengrp { 774 fsl,pins = < 775 MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08 0x1b0b0 776 MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x1b0b0 777 >; 778 }; 779 780 /* YaCO AUX Uart */ 781 pinctrl_uart1: uart1grp { 782 fsl,pins = < 783 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 784 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 785 >; 786 }; 787 788 pinctrl_uart2: uart2grp { 789 fsl,pins = < 790 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 791 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 792 >; 793 }; 794 795 /* YaCO Touchscreen UART */ 796 pinctrl_uart3: uart3grp { 797 fsl,pins = < 798 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 799 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 800 >; 801 }; 802 803 pinctrl_uart4: uart4grp { 804 fsl,pins = < 805 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 806 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 807 >; 808 }; 809 810 pinctrl_uart5: uart5grp { 811 fsl,pins = < 812 MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1 813 MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1 814 >; 815 }; 816 817 pinctrl_usbotg: usbotggrp { 818 fsl,pins = < 819 MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x1b0b0 820 /* power enable, high active */ 821 MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0 822 >; 823 }; 824 825 pinctrl_usdhc1: usdhc1grp { 826 fsl,pins = < 827 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170f9 828 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100f9 829 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f9 830 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f9 831 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f9 832 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f9 833 MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1b0b0 834 >; 835 }; 836 837 pinctrl_usdhc3: usdhc3grp { 838 fsl,pins = < 839 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17099 840 MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10099 841 MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17099 842 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17099 843 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17099 844 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17099 845 MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17099 846 MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17099 847 MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17099 848 MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17099 849 MX6QDL_PAD_SD3_RST__SD3_RESET 0x1b0b1 850 >; 851 }; 852}; 853