Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright 2015 Lothar Waßmann <LW@KARO-electronics.de>
0003  *
0004  * This file is dual-licensed: you can use it either under the terms
0005  * of the GPL or the X11 license, at your option. Note that this dual
0006  * licensing only applies to this file, and not this project as a
0007  * whole.
0008  *
0009  *  a) This file is free software; you can redistribute it and/or
0010  *     modify it under the terms of the GNU General Public License
0011  *     version 2 as published by the Free Software Foundation.
0012  *
0013  *     This file is distributed in the hope that it will be useful,
0014  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
0015  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0016  *     GNU General Public License for more details.
0017  *
0018  * Or, alternatively,
0019  *
0020  *  b) Permission is hereby granted, free of charge, to any person
0021  *     obtaining a copy of this software and associated documentation
0022  *     files (the "Software"), to deal in the Software without
0023  *     restriction, including without limitation the rights to use,
0024  *     copy, modify, merge, publish, distribute, sublicense, and/or
0025  *     sell copies of the Software, and to permit persons to whom the
0026  *     Software is furnished to do so, subject to the following
0027  *     conditions:
0028  *
0029  *     The above copyright notice and this permission notice shall be
0030  *     included in all copies or substantial portions of the Software.
0031  *
0032  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0033  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0034  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0035  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0036  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0037  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0038  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0039  *     OTHER DEALINGS IN THE SOFTWARE.
0040  */
0041 
0042 #include <dt-bindings/gpio/gpio.h>
0043 #include <dt-bindings/interrupt-controller/irq.h>
0044 #include <dt-bindings/pwm/pwm.h>
0045 
0046 / {
0047         aliases {
0048                 can0 = &can2;
0049                 can1 = &can1;
0050                 display = &display;
0051                 i2c0 = &i2c2;
0052                 i2c1 = &i2c_gpio;
0053                 i2c2 = &i2c1;
0054                 i2c3 = &i2c3;
0055                 i2c4 = &i2c4;
0056                 lcdif-23bit-pins-a = &pinctrl_disp0_1;
0057                 lcdif-24bit-pins-a = &pinctrl_disp0_2;
0058                 pwm0 = &pwm5;
0059                 reg-can-xcvr = &reg_can_xcvr;
0060                 serial2 = &uart5;
0061                 serial4 = &uart3;
0062                 spi0 = &ecspi2;
0063                 spi1 = &spi_gpio;
0064                 stk5led = &user_led;
0065                 usbh1 = &usbotg2;
0066                 usbotg = &usbotg1;
0067         };
0068 
0069         chosen {
0070                 stdout-path = &uart1;
0071         };
0072 
0073         memory@80000000 {
0074                 device_type = "memory";
0075                 reg = <0x80000000 0>; /* will be filled by U-Boot */
0076         };
0077 
0078         clocks {
0079                 mclk: mclk {
0080                         compatible = "fixed-clock";
0081                         #clock-cells = <0>;
0082                         clock-frequency = <26000000>;
0083                 };
0084         };
0085 
0086         backlight: backlight {
0087                 compatible = "pwm-backlight";
0088                 pinctrl-names = "default";
0089                 pinctrl-0 = <&pinctrl_lcd_rst>;
0090                 enable-gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
0091                 pwms = <&pwm5 0 500000 PWM_POLARITY_INVERTED>;
0092                 power-supply = <&reg_lcd_pwr>;
0093                 /*
0094                  * a poor man's way to create a 1:1 relationship between
0095                  * the PWM value and the actual duty cycle
0096                  */
0097                 brightness-levels = < 0  1  2  3  4  5  6  7  8  9
0098                                      10 11 12 13 14 15 16 17 18 19
0099                                      20 21 22 23 24 25 26 27 28 29
0100                                      30 31 32 33 34 35 36 37 38 39
0101                                      40 41 42 43 44 45 46 47 48 49
0102                                      50 51 52 53 54 55 56 57 58 59
0103                                      60 61 62 63 64 65 66 67 68 69
0104                                      70 71 72 73 74 75 76 77 78 79
0105                                      80 81 82 83 84 85 86 87 88 89
0106                                      90 91 92 93 94 95 96 97 98 99
0107                                     100>;
0108                 default-brightness-level = <50>;
0109         };
0110 
0111         i2c_gpio: i2c-gpio {
0112                 compatible = "i2c-gpio";
0113                 #address-cells = <1>;
0114                 #size-cells = <0>;
0115                 pinctrl-names = "default";
0116                 pinctrl-0 = <&pinctrl_i2c_gpio>;
0117                 gpios = <
0118                         &gpio5 1 GPIO_ACTIVE_HIGH /* SDA */
0119                         &gpio5 0 GPIO_ACTIVE_HIGH /* SCL */
0120                 >;
0121                 clock-frequency = <400000>;
0122                 status = "okay";
0123 
0124                 ds1339: rtc@68 {
0125                         compatible = "dallas,ds1339";
0126                         reg = <0x68>;
0127                         status = "disabled";
0128                 };
0129         };
0130 
0131         leds {
0132                 compatible = "gpio-leds";
0133 
0134                 user_led: user {
0135                         label = "Heartbeat";
0136                         pinctrl-names = "default";
0137                         pinctrl-0 = <&pinctrl_led>;
0138                         gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
0139                         linux,default-trigger = "heartbeat";
0140                 };
0141         };
0142 
0143         reg_3v3_etn: regulator-3v3etn {
0144                 compatible = "regulator-fixed";
0145                 regulator-name = "3V3_ETN";
0146                 regulator-min-microvolt = <3300000>;
0147                 regulator-max-microvolt = <3300000>;
0148                 pinctrl-names = "default";
0149                 pinctrl-0 = <&pinctrl_etnphy_power>;
0150                 gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
0151                 enable-active-high;
0152         };
0153 
0154         reg_2v5: regulator-2v5 {
0155                 compatible = "regulator-fixed";
0156                 regulator-name = "2V5";
0157                 regulator-min-microvolt = <2500000>;
0158                 regulator-max-microvolt = <2500000>;
0159                 regulator-always-on;
0160         };
0161 
0162         reg_3v3: regulator-3v3 {
0163                 compatible = "regulator-fixed";
0164                 regulator-name = "3V3";
0165                 regulator-min-microvolt = <3300000>;
0166                 regulator-max-microvolt = <3300000>;
0167                 regulator-always-on;
0168         };
0169 
0170         reg_can_xcvr: regulator-canxcvr {
0171                 compatible = "regulator-fixed";
0172                 regulator-name = "CAN XCVR";
0173                 regulator-min-microvolt = <3300000>;
0174                 regulator-max-microvolt = <3300000>;
0175                 pinctrl-names = "default";
0176                 pinctrl-0 = <&pinctrl_flexcan_xcvr>;
0177                 gpio = <&gpio3 5 GPIO_ACTIVE_LOW>;
0178         };
0179 
0180         reg_lcd_pwr: regulator-lcdpwr {
0181                 compatible = "regulator-fixed";
0182                 regulator-name = "LCD POWER";
0183                 regulator-min-microvolt = <3300000>;
0184                 regulator-max-microvolt = <3300000>;
0185                 pinctrl-names = "default";
0186                 pinctrl-0 = <&pinctrl_lcd_pwr>;
0187                 gpio = <&gpio5 4 GPIO_ACTIVE_HIGH>;
0188                 enable-active-high;
0189                 regulator-boot-on;
0190                 regulator-always-on;
0191         };
0192 
0193         reg_usbh1_vbus: regulator-usbh1vbus {
0194                 compatible = "regulator-fixed";
0195                 regulator-name = "usbh1_vbus";
0196                 regulator-min-microvolt = <5000000>;
0197                 regulator-max-microvolt = <5000000>;
0198                 pinctrl-names = "default";
0199                 pinctrl-0 = <&pinctrl_usbh1_vbus &pinctrl_usbh1_oc>;
0200                 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
0201                 enable-active-high;
0202         };
0203 
0204         reg_usbotg_vbus: regulator-usbotgvbus {
0205                 compatible = "regulator-fixed";
0206                 regulator-name = "usbotg_vbus";
0207                 regulator-min-microvolt = <5000000>;
0208                 regulator-max-microvolt = <5000000>;
0209                 pinctrl-names = "default";
0210                 pinctrl-0 = <&pinctrl_usbotg_vbus &pinctrl_usbotg_oc>;
0211                 gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0212                 enable-active-high;
0213         };
0214 
0215         spi_gpio: spi-gpio {
0216                 #address-cells = <1>;
0217                 #size-cells = <0>;
0218                 compatible = "spi-gpio";
0219                 pinctrl-names = "default";
0220                 pinctrl-0 = <&pinctrl_spi_gpio>;
0221                 gpio-mosi = <&gpio1 30 GPIO_ACTIVE_HIGH>;
0222                 gpio-miso = <&gpio1 31 GPIO_ACTIVE_HIGH>;
0223                 gpio-sck = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0224                 num-chipselects = <2>;
0225                 cs-gpios = <
0226                         &gpio1 29 GPIO_ACTIVE_HIGH
0227                         &gpio1 10 GPIO_ACTIVE_HIGH
0228                 >;
0229                 status = "disabled";
0230         };
0231 
0232         sound {
0233                 compatible = "karo,imx6ul-tx6ul-sgtl5000",
0234                              "simple-audio-card";
0235                 simple-audio-card,name = "imx6ul-tx6ul-sgtl5000-audio";
0236                 simple-audio-card,format = "i2s";
0237                 simple-audio-card,bitclock-master = <&codec_dai>;
0238                 simple-audio-card,frame-master = <&codec_dai>;
0239                 simple-audio-card,widgets =
0240                         "Microphone", "Mic Jack",
0241                         "Line", "Line In",
0242                         "Line", "Line Out",
0243                         "Headphone", "Headphone Jack";
0244                 simple-audio-card,routing =
0245                         "MIC_IN", "Mic Jack",
0246                         "Mic Jack", "Mic Bias",
0247                         "Headphone Jack", "HP_OUT";
0248 
0249                 cpu_dai: simple-audio-card,cpu {
0250                         sound-dai = <&sai2>;
0251                 };
0252 
0253                 codec_dai: simple-audio-card,codec {
0254                         sound-dai = <&sgtl5000>;
0255                 };
0256         };
0257 };
0258 
0259 &can1 {
0260         pinctrl-names = "default";
0261         pinctrl-0 = <&pinctrl_flexcan1>;
0262         xceiver-supply = <&reg_can_xcvr>;
0263         status = "okay";
0264 };
0265 
0266 &can2 {
0267         pinctrl-names = "default";
0268         pinctrl-0 = <&pinctrl_flexcan2>;
0269         xceiver-supply = <&reg_can_xcvr>;
0270         status = "okay";
0271 };
0272 
0273 &ecspi2 {
0274         pinctrl-names = "default";
0275         pinctrl-0 = <&pinctrl_ecspi2>;
0276         cs-gpios = <
0277                 &gpio1 29 GPIO_ACTIVE_HIGH
0278                 &gpio1 10 GPIO_ACTIVE_HIGH
0279         >;
0280         status = "disabled";
0281 };
0282 
0283 &fec1 {
0284         pinctrl-names = "default";
0285         pinctrl-0 = <&pinctrl_enet1 &pinctrl_enet1_mdio &pinctrl_etnphy0_rst>;
0286         phy-mode = "rmii";
0287         phy-reset-gpios = <&gpio5 6 GPIO_ACTIVE_LOW>;
0288         phy-supply = <&reg_3v3_etn>;
0289         phy-handle = <&etnphy0>;
0290         status = "okay";
0291 
0292         mdio {
0293                 #address-cells = <1>;
0294                 #size-cells = <0>;
0295 
0296                 etnphy0: ethernet-phy@0 {
0297                         compatible = "ethernet-phy-ieee802.3-c22";
0298                         reg = <0>;
0299                         pinctrl-names = "default";
0300                         pinctrl-0 = <&pinctrl_etnphy0_int>;
0301                         interrupt-parent = <&gpio5>;
0302                         interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
0303                         status = "okay";
0304                 };
0305 
0306                 etnphy1: ethernet-phy@2 {
0307                         compatible = "ethernet-phy-ieee802.3-c22";
0308                         reg = <2>;
0309                         pinctrl-names = "default";
0310                         pinctrl-0 = <&pinctrl_etnphy1_int>;
0311                         interrupt-parent = <&gpio4>;
0312                         interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
0313                         status = "okay";
0314                 };
0315         };
0316 };
0317 
0318 &fec2 {
0319         pinctrl-names = "default";
0320         pinctrl-0 = <&pinctrl_enet2 &pinctrl_etnphy1_rst>;
0321         phy-mode = "rmii";
0322         phy-reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
0323         phy-supply = <&reg_3v3_etn>;
0324         phy-handle = <&etnphy1>;
0325         status = "disabled";
0326 };
0327 
0328 &gpmi {
0329         pinctrl-names = "default";
0330         pinctrl-0 = <&pinctrl_gpmi_nand>;
0331         nand-on-flash-bbt;
0332         fsl,no-blockmark-swap;
0333         status = "okay";
0334 };
0335 
0336 &i2c2 {
0337         pinctrl-names = "default";
0338         pinctrl-0 = <&pinctrl_i2c2>;
0339         clock-frequency = <400000>;
0340         status = "okay";
0341 
0342         sgtl5000: codec@a {
0343                 compatible = "fsl,sgtl5000";
0344                 reg = <0x0a>;
0345                 #sound-dai-cells = <0>;
0346                 VDDA-supply = <&reg_2v5>;
0347                 VDDIO-supply = <&reg_3v3>;
0348                 clocks = <&mclk>;
0349         };
0350 
0351         polytouch: polytouch@38 {
0352                 compatible = "edt,edt-ft5x06";
0353                 reg = <0x38>;
0354                 pinctrl-names = "default";
0355                 pinctrl-0 = <&pinctrl_edt_ft5x06>;
0356                 interrupt-parent = <&gpio5>;
0357                 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
0358                 reset-gpios = <&gpio5 3 GPIO_ACTIVE_LOW>;
0359                 wake-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>;
0360                 wakeup-source;
0361         };
0362 
0363         touchscreen: touchscreen@48 {
0364                 compatible = "ti,tsc2007";
0365                 reg = <0x48>;
0366                 pinctrl-names = "default";
0367                 pinctrl-0 = <&pinctrl_tsc2007>;
0368                 interrupt-parent = <&gpio3>;
0369                 interrupts = <26 IRQ_TYPE_NONE>;
0370                 gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
0371                 ti,x-plate-ohms = <660>;
0372                 wakeup-source;
0373         };
0374 };
0375 
0376 &kpp {
0377         pinctrl-names = "default";
0378         pinctrl-0 = <&pinctrl_kpp>;
0379         /* sample keymap */
0380         /* row/col 0..3 are mapped to KPP row/col 4..7 */
0381         linux,keymap = <
0382                 MATRIX_KEY(4, 4, KEY_POWER)
0383                 MATRIX_KEY(4, 5, KEY_KP0)
0384                 MATRIX_KEY(4, 6, KEY_KP1)
0385                 MATRIX_KEY(4, 7, KEY_KP2)
0386                 MATRIX_KEY(5, 4, KEY_KP3)
0387                 MATRIX_KEY(5, 5, KEY_KP4)
0388                 MATRIX_KEY(5, 6, KEY_KP5)
0389                 MATRIX_KEY(5, 7, KEY_KP6)
0390                 MATRIX_KEY(6, 4, KEY_KP7)
0391                 MATRIX_KEY(6, 5, KEY_KP8)
0392                 MATRIX_KEY(6, 6, KEY_KP9)
0393         >;
0394         status = "okay";
0395 };
0396 
0397 &lcdif {
0398         pinctrl-names = "default";
0399         pinctrl-0 = <&pinctrl_disp0_1>;
0400         lcd-supply = <&reg_lcd_pwr>;
0401         display = <&display>;
0402         status = "okay";
0403 
0404         display: disp0 {
0405                 bits-per-pixel = <32>;
0406                 bus-width = <24>;
0407                 status = "okay";
0408 
0409                 display-timings {
0410                         VGA {
0411                                 clock-frequency = <25200000>;
0412                                 hactive = <640>;
0413                                 vactive = <480>;
0414                                 hback-porch = <48>;
0415                                 hsync-len = <96>;
0416                                 hfront-porch = <16>;
0417                                 vback-porch = <31>;
0418                                 vsync-len = <2>;
0419                                 vfront-porch = <12>;
0420                                 hsync-active = <0>;
0421                                 vsync-active = <0>;
0422                                 de-active = <1>;
0423                                 pixelclk-active = <1>;
0424                         };
0425 
0426                         ETV570 {
0427                                 clock-frequency = <25200000>;
0428                                 hactive = <640>;
0429                                 vactive = <480>;
0430                                 hback-porch = <114>;
0431                                 hsync-len = <30>;
0432                                 hfront-porch = <16>;
0433                                 vback-porch = <32>;
0434                                 vsync-len = <3>;
0435                                 vfront-porch = <10>;
0436                                 hsync-active = <0>;
0437                                 vsync-active = <0>;
0438                                 de-active = <1>;
0439                                 pixelclk-active = <1>;
0440                         };
0441 
0442                         ET0350 {
0443                                 clock-frequency = <6413760>;
0444                                 hactive = <320>;
0445                                 vactive = <240>;
0446                                 hback-porch = <34>;
0447                                 hsync-len = <34>;
0448                                 hfront-porch = <20>;
0449                                 vback-porch = <15>;
0450                                 vsync-len = <3>;
0451                                 vfront-porch = <4>;
0452                                 hsync-active = <0>;
0453                                 vsync-active = <0>;
0454                                 de-active = <1>;
0455                                 pixelclk-active = <1>;
0456                         };
0457 
0458                         ET0430 {
0459                                 clock-frequency = <9009000>;
0460                                 hactive = <480>;
0461                                 vactive = <272>;
0462                                 hback-porch = <2>;
0463                                 hsync-len = <41>;
0464                                 hfront-porch = <2>;
0465                                 vback-porch = <2>;
0466                                 vsync-len = <10>;
0467                                 vfront-porch = <2>;
0468                                 hsync-active = <0>;
0469                                 vsync-active = <0>;
0470                                 de-active = <1>;
0471                                 pixelclk-active = <0>;
0472                         };
0473 
0474                         ET0500 {
0475                                 clock-frequency = <33264000>;
0476                                 hactive = <800>;
0477                                 vactive = <480>;
0478                                 hback-porch = <88>;
0479                                 hsync-len = <128>;
0480                                 hfront-porch = <40>;
0481                                 vback-porch = <33>;
0482                                 vsync-len = <2>;
0483                                 vfront-porch = <10>;
0484                                 hsync-active = <0>;
0485                                 vsync-active = <0>;
0486                                 de-active = <1>;
0487                                 pixelclk-active = <1>;
0488                         };
0489 
0490                         ET0700 { /* same as ET0500 */
0491                                 clock-frequency = <33264000>;
0492                                 hactive = <800>;
0493                                 vactive = <480>;
0494                                 hback-porch = <88>;
0495                                 hsync-len = <128>;
0496                                 hfront-porch = <40>;
0497                                 vback-porch = <33>;
0498                                 vsync-len = <2>;
0499                                 vfront-porch = <10>;
0500                                 hsync-active = <0>;
0501                                 vsync-active = <0>;
0502                                 de-active = <1>;
0503                                 pixelclk-active = <1>;
0504                         };
0505 
0506                         ETQ570 {
0507                                 clock-frequency = <6596040>;
0508                                 hactive = <320>;
0509                                 vactive = <240>;
0510                                 hback-porch = <38>;
0511                                 hsync-len = <30>;
0512                                 hfront-porch = <30>;
0513                                 vback-porch = <16>;
0514                                 vsync-len = <3>;
0515                                 vfront-porch = <4>;
0516                                 hsync-active = <0>;
0517                                 vsync-active = <0>;
0518                                 de-active = <1>;
0519                                 pixelclk-active = <1>;
0520                         };
0521                 };
0522         };
0523 };
0524 
0525 &pwm5 {
0526         pinctrl-names = "default";
0527         pinctrl-0 = <&pinctrl_pwm5>;
0528         status = "okay";
0529 };
0530 
0531 &sai2 {
0532         pinctrl-names = "default";
0533         pinctrl-0 = <&pinctrl_sai2>;
0534         status = "okay";
0535 };
0536 
0537 &uart1 {
0538         pinctrl-names = "default";
0539         pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_rtscts>;
0540         uart-has-rtscts;
0541         status = "okay";
0542 };
0543 
0544 &uart2 {
0545         pinctrl-names = "default";
0546         pinctrl-0 = <&pinctrl_uart2 &pinctrl_uart2_rtscts>;
0547         uart-has-rtscts;
0548         status = "okay";
0549 };
0550 
0551 &uart5 {
0552         pinctrl-names = "default";
0553         pinctrl-0 = <&pinctrl_uart5 &pinctrl_uart5_rtscts>;
0554         uart-has-rtscts;
0555         status = "okay";
0556 };
0557 
0558 &usbotg1 {
0559         vbus-supply = <&reg_usbotg_vbus>;
0560         dr_mode = "peripheral";
0561         disable-over-current;
0562         status = "okay";
0563 };
0564 
0565 &usbotg2 {
0566         vbus-supply = <&reg_usbh1_vbus>;
0567         dr_mode = "host";
0568         disable-over-current;
0569         status = "okay";
0570 };
0571 
0572 &usdhc1 {
0573         pinctrl-names = "default";
0574         pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_usdhc1_cd>;
0575         bus-width = <4>;
0576         no-1-8-v;
0577         cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
0578         fsl,wp-controller;
0579         status = "okay";
0580 };
0581 
0582 &iomuxc {
0583         pinctrl-names = "default";
0584         pinctrl-0 = <&pinctrl_hog>;
0585 
0586         pinctrl_hog: hoggrp {
0587         };
0588 
0589         pinctrl_led: ledgrp {
0590                 fsl,pins = <
0591                         MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09      0x0b0b0 /* LED */
0592                 >;
0593         };
0594 
0595         pinctrl_disp0_1: disp0grp-1 {
0596                 fsl,pins = <
0597                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
0598                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
0599                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
0600                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
0601                         /* PAD DISP0_DAT0 is used for the Flexcan transceiver control on STK5-v5 */
0602                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
0603                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
0604                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
0605                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
0606                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
0607                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
0608                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
0609                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
0610                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
0611                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
0612                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
0613                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
0614                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
0615                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
0616                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
0617                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
0618                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
0619                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
0620                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
0621                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
0622                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
0623                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
0624                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
0625                 >;
0626         };
0627 
0628         pinctrl_disp0_2: disp0grp-2 {
0629                 fsl,pins = <
0630                         MX6UL_PAD_LCD_CLK__LCDIF_CLK            0x10 /* LSCLK */
0631                         MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE      0x10 /* OE_ACD */
0632                         MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC        0x10 /* HSYNC */
0633                         MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC        0x10 /* VSYNC */
0634                         MX6UL_PAD_LCD_DATA00__LCDIF_DATA00      0x10
0635                         MX6UL_PAD_LCD_DATA01__LCDIF_DATA01      0x10
0636                         MX6UL_PAD_LCD_DATA02__LCDIF_DATA02      0x10
0637                         MX6UL_PAD_LCD_DATA03__LCDIF_DATA03      0x10
0638                         MX6UL_PAD_LCD_DATA04__LCDIF_DATA04      0x10
0639                         MX6UL_PAD_LCD_DATA05__LCDIF_DATA05      0x10
0640                         MX6UL_PAD_LCD_DATA06__LCDIF_DATA06      0x10
0641                         MX6UL_PAD_LCD_DATA07__LCDIF_DATA07      0x10
0642                         MX6UL_PAD_LCD_DATA08__LCDIF_DATA08      0x10
0643                         MX6UL_PAD_LCD_DATA09__LCDIF_DATA09      0x10
0644                         MX6UL_PAD_LCD_DATA10__LCDIF_DATA10      0x10
0645                         MX6UL_PAD_LCD_DATA11__LCDIF_DATA11      0x10
0646                         MX6UL_PAD_LCD_DATA12__LCDIF_DATA12      0x10
0647                         MX6UL_PAD_LCD_DATA13__LCDIF_DATA13      0x10
0648                         MX6UL_PAD_LCD_DATA14__LCDIF_DATA14      0x10
0649                         MX6UL_PAD_LCD_DATA15__LCDIF_DATA15      0x10
0650                         MX6UL_PAD_LCD_DATA16__LCDIF_DATA16      0x10
0651                         MX6UL_PAD_LCD_DATA17__LCDIF_DATA17      0x10
0652                         MX6UL_PAD_LCD_DATA18__LCDIF_DATA18      0x10
0653                         MX6UL_PAD_LCD_DATA19__LCDIF_DATA19      0x10
0654                         MX6UL_PAD_LCD_DATA20__LCDIF_DATA20      0x10
0655                         MX6UL_PAD_LCD_DATA21__LCDIF_DATA21      0x10
0656                         MX6UL_PAD_LCD_DATA22__LCDIF_DATA22      0x10
0657                         MX6UL_PAD_LCD_DATA23__LCDIF_DATA23      0x10
0658                 >;
0659         };
0660 
0661         pinctrl_ecspi2: ecspi2grp {
0662                 fsl,pins = <
0663                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
0664                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
0665                         MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI    0x0b0b0 /* CSPI_MOSI */
0666                         MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO    0x0b0b0 /* CSPI_MISO */
0667                         MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK    0x0b0b0 /* CSPI_SCLK */
0668                 >;
0669         };
0670 
0671         pinctrl_edt_ft5x06: edt-ft5x06grp {
0672                 fsl,pins = <
0673                         MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02      0x1b0b0 /* Interrupt */
0674                         MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03      0x1b0b0 /* Reset */
0675                         MX6UL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x1b0b0 /* Wake */
0676                 >;
0677         };
0678 
0679         pinctrl_enet1: enet1grp {
0680                 fsl,pins = <
0681                         MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x000b0
0682                         MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x000b0
0683                         MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN      0x000b0
0684                         MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER      0x000b0
0685                         MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN      0x000b0
0686                         MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x000b0
0687                         MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x000b0
0688                         MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1  0x400000b1
0689                 >;
0690         };
0691 
0692         pinctrl_enet2: enet2grp {
0693                 fsl,pins = <
0694                         MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x000b0
0695                         MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x000b0
0696                         MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN      0x000b0
0697                         MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER      0x000b0
0698                         MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN      0x000b0
0699                         MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x000b0
0700                         MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x000b0
0701                         MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2  0x400000b1
0702                 >;
0703         };
0704 
0705         pinctrl_enet1_mdio: enet1-mdiogrp {
0706                 fsl,pins = <
0707                         MX6UL_PAD_GPIO1_IO07__ENET1_MDC         0x0b0b0
0708                         MX6UL_PAD_GPIO1_IO06__ENET1_MDIO        0x1b0b0
0709                 >;
0710         };
0711 
0712         pinctrl_etnphy_power: etnphy-pwrgrp {
0713                 fsl,pins = <
0714                         MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x0b0b0 /* ETN PHY POWER */
0715                 >;
0716         };
0717 
0718         pinctrl_etnphy0_int: etnphy-intgrp-0 {
0719                 fsl,pins = <
0720                         MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05      0x0b0b0 /* ETN PHY INT */
0721                 >;
0722         };
0723 
0724         pinctrl_etnphy0_rst: etnphy-rstgrp-0 {
0725                 fsl,pins = <
0726                         MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06      0x0b0b0 /* ETN PHY RESET */
0727                 >;
0728         };
0729 
0730         pinctrl_etnphy1_int: etnphy-intgrp-1 {
0731                 fsl,pins = <
0732                         MX6UL_PAD_CSI_DATA06__GPIO4_IO27        0x0b0b0 /* ETN PHY INT */
0733                 >;
0734         };
0735 
0736         pinctrl_etnphy1_rst: etnphy-rstgrp-1 {
0737                 fsl,pins = <
0738                         MX6UL_PAD_CSI_DATA07__GPIO4_IO28        0x0b0b0 /* ETN PHY RESET */
0739                 >;
0740         };
0741 
0742         pinctrl_flexcan1: flexcan1grp {
0743                 fsl,pins = <
0744                         MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX      0x0b0b0
0745                         MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX      0x0b0b0
0746                 >;
0747         };
0748 
0749         pinctrl_flexcan2: flexcan2grp {
0750                 fsl,pins = <
0751                         MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX      0x0b0b0
0752                         MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX      0x0b0b0
0753                 >;
0754         };
0755 
0756         pinctrl_flexcan_xcvr: flexcan-xcvrgrp {
0757                 fsl,pins = <
0758                         MX6UL_PAD_LCD_DATA00__GPIO3_IO05        0x0b0b0 /* Flexcan XCVR enable */
0759                 >;
0760         };
0761 
0762         pinctrl_gpmi_nand: gpminandgrp {
0763                 fsl,pins = <
0764                         MX6UL_PAD_NAND_CLE__RAWNAND_CLE         0x0b0b1
0765                         MX6UL_PAD_NAND_ALE__RAWNAND_ALE         0x0b0b1
0766                         MX6UL_PAD_NAND_WP_B__RAWNAND_WP_B       0x0b0b1
0767                         MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x0b000
0768                         MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B     0x0b0b1
0769                         MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B       0x0b0b1
0770                         MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B       0x0b0b1
0771                         MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x0b0b1
0772                         MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01   0x0b0b1
0773                         MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02   0x0b0b1
0774                         MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03   0x0b0b1
0775                         MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04   0x0b0b1
0776                         MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05   0x0b0b1
0777                         MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06   0x0b0b1
0778                         MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07   0x0b0b1
0779                 >;
0780         };
0781 
0782         pinctrl_i2c_gpio: i2c-gpiogrp {
0783                 fsl,pins = <
0784                         MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x4001b8b1 /* I2C SCL */
0785                         MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01      0x4001b8b1 /* I2C SDA */
0786                 >;
0787         };
0788 
0789         pinctrl_i2c2: i2c2grp {
0790                 fsl,pins = <
0791                         MX6UL_PAD_GPIO1_IO00__I2C2_SCL          0x4001b8b1
0792                         MX6UL_PAD_GPIO1_IO01__I2C2_SDA          0x4001b8b1
0793                 >;
0794         };
0795 
0796         pinctrl_kpp: kppgrp {
0797                 fsl,pins = <
0798                         MX6UL_PAD_ENET2_RX_DATA1__KPP_COL04     0x1b0b0
0799                         MX6UL_PAD_ENET2_TX_DATA0__KPP_COL05     0x1b0b0
0800                         MX6UL_PAD_ENET2_TX_EN__KPP_COL06        0x1b0b0
0801                         MX6UL_PAD_ENET2_RX_ER__KPP_COL07        0x1b0b0
0802                         MX6UL_PAD_ENET2_RX_DATA0__KPP_ROW04     0x1b0b0
0803                         MX6UL_PAD_ENET2_RX_EN__KPP_ROW05        0x1b0b0
0804                         MX6UL_PAD_ENET2_TX_DATA1__KPP_ROW06     0x1b0b0
0805                         MX6UL_PAD_ENET2_TX_CLK__KPP_ROW07       0x1b0b0
0806                 >;
0807         };
0808 
0809         pinctrl_lcd_pwr: lcd-pwrgrp {
0810                 fsl,pins = <
0811                         MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04      0x0b0b0 /* LCD Power Enable */
0812                 >;
0813         };
0814 
0815         pinctrl_lcd_rst: lcd-rstgrp {
0816                 fsl,pins = <
0817                         MX6UL_PAD_LCD_RESET__GPIO3_IO04 0x0b0b0 /* LCD Reset */
0818                 >;
0819         };
0820 
0821         pinctrl_pwm5: pwm5grp {
0822                 fsl,pins = <
0823                         MX6UL_PAD_NAND_DQS__PWM5_OUT            0x0b0b0
0824                 >;
0825         };
0826 
0827         pinctrl_sai2: sai2grp {
0828                 fsl,pins = <
0829                         MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA        0x0b0b0 /* SSI1_RXD */
0830                         MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA     0x0b0b0 /* SSI1_TXD */
0831                         MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK        0x0b0b0 /* SSI1_CLK */
0832                         MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC        0x0b0b0 /* SSI1_FS */
0833                 >;
0834         };
0835 
0836         pinctrl_spi_gpio: spi-gpiogrp {
0837                 fsl,pins = <
0838                         MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29     0x0b0b0 /* CSPI_SS */
0839                         MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0x0b0b0 /* CSPI_SS */
0840                         MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30     0x0b0b0 /* CSPI_MOSI */
0841                         MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31     0x0b0b0 /* CSPI_MISO */
0842                         MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28     0x0b0b0 /* CSPI_SCLK */
0843                 >;
0844         };
0845 
0846         pinctrl_tsc2007: tsc2007grp {
0847                 fsl,pins = <
0848                         MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x1b0b0 /* Interrupt */
0849                 >;
0850         };
0851 
0852         pinctrl_uart1: uart1grp {
0853                 fsl,pins = <
0854                         MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX   0x0b0b0
0855                         MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX   0x0b0b0
0856                 >;
0857         };
0858 
0859         pinctrl_uart1_rtscts: uart1-rtsctsgrp {
0860                 fsl,pins = <
0861                         MX6UL_PAD_UART1_RTS_B__UART1_DCE_RTS    0x0b0b0
0862                         MX6UL_PAD_UART1_CTS_B__UART1_DCE_CTS    0x0b0b0
0863                 >;
0864         };
0865 
0866         pinctrl_uart2: uart2grp {
0867                 fsl,pins = <
0868                         MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX   0x0b0b0
0869                         MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX   0x0b0b0
0870                 >;
0871         };
0872 
0873         pinctrl_uart2_rtscts: uart2-rtsctsgrp {
0874                 fsl,pins = <
0875                         MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS  0x0b0b0
0876                         MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS  0x0b0b0
0877                 >;
0878         };
0879 
0880         pinctrl_uart5: uart5grp {
0881                 fsl,pins = <
0882                         MX6UL_PAD_GPIO1_IO04__UART5_DCE_TX      0x0b0b0
0883                         MX6UL_PAD_GPIO1_IO05__UART5_DCE_RX      0x0b0b0
0884                 >;
0885         };
0886 
0887         pinctrl_uart5_rtscts: uart5-rtsctsgrp {
0888                 fsl,pins = <
0889                         MX6UL_PAD_GPIO1_IO08__UART5_DCE_RTS     0x0b0b0
0890                         MX6UL_PAD_GPIO1_IO09__UART5_DCE_CTS     0x0b0b0
0891                 >;
0892         };
0893 
0894         pinctrl_usbh1_oc: usbh1-ocgrp {
0895                 fsl,pins = <
0896                         MX6UL_PAD_GPIO1_IO03__GPIO1_IO03        0x17059 /* USBH1_OC */
0897                 >;
0898         };
0899 
0900         pinctrl_usbh1_vbus: usbh1-vbusgrp {
0901                 fsl,pins = <
0902                         MX6UL_PAD_GPIO1_IO02__GPIO1_IO02        0x0b0b0 /* USBH1_VBUSEN */
0903                 >;
0904         };
0905 
0906         pinctrl_usbotg_oc: usbotg-ocgrp {
0907                 fsl,pins = <
0908                         MX6UL_PAD_UART3_RTS_B__GPIO1_IO27       0x17059 /* USBOTG_OC */
0909                 >;
0910         };
0911 
0912         pinctrl_usbotg_vbus: usbotg-vbusgrp {
0913                 fsl,pins = <
0914                         MX6UL_PAD_UART3_CTS_B__GPIO1_IO26       0x1b0b0 /* USBOTG_VBUSEN */
0915                 >;
0916         };
0917 
0918         pinctrl_usdhc1: usdhc1grp {
0919                 fsl,pins = <
0920                         MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x070b1
0921                         MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x07099
0922                         MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x070b1
0923                         MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x070b1
0924                         MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x070b1
0925                         MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x070b1
0926                 >;
0927         };
0928 
0929         pinctrl_usdhc1_cd: usdhc1cdgrp {
0930                 fsl,pins = <
0931                         MX6UL_PAD_NAND_CE1_B__GPIO4_IO14        0x170b0 /* SD1 CD */
0932                 >;
0933         };
0934 
0935         pinctrl_usdhc2: usdhc2grp {
0936                 fsl,pins = <
0937                         MX6UL_PAD_NAND_WE_B__USDHC2_CMD         0x070b1
0938                         MX6UL_PAD_NAND_RE_B__USDHC2_CLK         0x070b1
0939                         MX6UL_PAD_NAND_DATA00__USDHC2_DATA0     0x070b1
0940                         MX6UL_PAD_NAND_DATA01__USDHC2_DATA1     0x070b1
0941                         MX6UL_PAD_NAND_DATA02__USDHC2_DATA2     0x070b1
0942                         MX6UL_PAD_NAND_DATA03__USDHC2_DATA3     0x070b1
0943                         /* eMMC RESET */
0944                         MX6UL_PAD_NAND_ALE__USDHC2_RESET_B      0x170b0
0945                 >;
0946         };
0947 };