Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright 2017 Gateworks Corporation
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 as
0011  *     published by the Free Software Foundation; either version 2 of
0012  *     the License, or (at your option) any later version.
0013  *
0014  *     This file is distributed in the hope that it will be useful,
0015  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *     GNU General Public License for more details.
0018  *
0019  *     You should have received a copy of the GNU General Public
0020  *     License along with this file; if not, write to the Free
0021  *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
0022  *     MA 02110-1301 USA
0023  *
0024  * Or, alternatively,
0025  *
0026  *  b) Permission is hereby granted, free of charge, to any person
0027  *     obtaining a copy of this software and associated documentation
0028  *     files (the "Software"), to deal in the Software without
0029  *     restriction, including without limitation the rights to use,
0030  *     copy, modify, merge, publish, distribute, sublicense, and/or
0031  *     sell copies of the Software, and to permit persons to whom the
0032  *     Software is furnished to do so, subject to the following
0033  *     conditions:
0034  *
0035  *     The above copyright notice and this permission notice shall be
0036  *     included in all copies or substantial portions of the Software.
0037  *
0038  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0039  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0040  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0041  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0042  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0043  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0044  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0045  *     OTHER DEALINGS IN THE SOFTWARE.
0046  */
0047 
0048 #include <dt-bindings/gpio/gpio.h>
0049 #include <dt-bindings/input/input.h>
0050 #include <dt-bindings/interrupt-controller/irq.h>
0051 
0052 / {
0053         /* these are used by bootloader for disabling nodes */
0054         aliases {
0055                 led0 = &led0;
0056                 led1 = &led1;
0057                 led2 = &led2;
0058                 ssi0 = &ssi1;
0059                 usb0 = &usbh1;
0060                 usb1 = &usbotg;
0061         };
0062 
0063         chosen {
0064                 stdout-path = &uart2;
0065         };
0066 
0067         backlight-display {
0068                 compatible = "pwm-backlight";
0069                 pwms = <&pwm4 0 5000000>;
0070                 brightness-levels = <
0071                         0  1  2  3  4  5  6  7  8  9
0072                         10 11 12 13 14 15 16 17 18 19
0073                         20 21 22 23 24 25 26 27 28 29
0074                         30 31 32 33 34 35 36 37 38 39
0075                         40 41 42 43 44 45 46 47 48 49
0076                         50 51 52 53 54 55 56 57 58 59
0077                         60 61 62 63 64 65 66 67 68 69
0078                         70 71 72 73 74 75 76 77 78 79
0079                         80 81 82 83 84 85 86 87 88 89
0080                         90 91 92 93 94 95 96 97 98 99
0081                         100
0082                         >;
0083                 default-brightness-level = <100>;
0084         };
0085 
0086         backlight-keypad {
0087                 compatible = "gpio-backlight";
0088                 gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;
0089                 default-on;
0090         };
0091 
0092         gpio-keys {
0093                 compatible = "gpio-keys";
0094 
0095                 user-pb {
0096                         label = "user_pb";
0097                         gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>;
0098                         linux,code = <BTN_0>;
0099                 };
0100 
0101                 user-pb1x {
0102                         label = "user_pb1x";
0103                         linux,code = <BTN_1>;
0104                         interrupt-parent = <&gsc>;
0105                         interrupts = <0>;
0106                 };
0107 
0108                 key-erased {
0109                         label = "key-erased";
0110                         linux,code = <BTN_2>;
0111                         interrupt-parent = <&gsc>;
0112                         interrupts = <1>;
0113                 };
0114 
0115                 eeprom-wp {
0116                         label = "eeprom_wp";
0117                         linux,code = <BTN_3>;
0118                         interrupt-parent = <&gsc>;
0119                         interrupts = <2>;
0120                 };
0121 
0122                 tamper {
0123                         label = "tamper";
0124                         linux,code = <BTN_4>;
0125                         interrupt-parent = <&gsc>;
0126                         interrupts = <5>;
0127                 };
0128 
0129                 switch-hold {
0130                         label = "switch_hold";
0131                         linux,code = <BTN_5>;
0132                         interrupt-parent = <&gsc>;
0133                         interrupts = <7>;
0134                 };
0135         };
0136 
0137         leds {
0138                 compatible = "gpio-leds";
0139                 pinctrl-names = "default";
0140                 pinctrl-0 = <&pinctrl_gpio_leds>;
0141 
0142                 led0: user1 {
0143                         label = "user1";
0144                         gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */
0145                         default-state = "on";
0146                         linux,default-trigger = "heartbeat";
0147                 };
0148 
0149                 led1: user2 {
0150                         label = "user2";
0151                         gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */
0152                         default-state = "off";
0153                 };
0154 
0155                 led2: user3 {
0156                         label = "user3";
0157                         gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* MX6_LOCLED# */
0158                         default-state = "off";
0159                 };
0160         };
0161 
0162         memory@10000000 {
0163                 device_type = "memory";
0164                 reg = <0x10000000 0x40000000>;
0165         };
0166 
0167         pps {
0168                 compatible = "pps-gpio";
0169                 pinctrl-names = "default";
0170                 pinctrl-0 = <&pinctrl_pps>;
0171                 gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0172         };
0173 
0174         reg_2p5v: regulator-2p5v {
0175                 compatible = "regulator-fixed";
0176                 regulator-name = "2P5V";
0177                 regulator-min-microvolt = <2500000>;
0178                 regulator-max-microvolt = <2500000>;
0179                 regulator-always-on;
0180         };
0181 
0182         reg_3p3v: regulator-3p3v {
0183                 compatible = "regulator-fixed";
0184                 regulator-name = "3P3V";
0185                 regulator-min-microvolt = <3300000>;
0186                 regulator-max-microvolt = <3300000>;
0187                 regulator-always-on;
0188         };
0189 
0190         reg_5p0v: regulator-5p0v {
0191                 compatible = "regulator-fixed";
0192                 regulator-name = "5P0V";
0193                 regulator-min-microvolt = <5000000>;
0194                 regulator-max-microvolt = <5000000>;
0195                 regulator-always-on;
0196         };
0197 
0198         reg_12p0v: regulator-12p0v {
0199                 compatible = "regulator-fixed";
0200                 regulator-name = "12P0V";
0201                 regulator-min-microvolt = <12000000>;
0202                 regulator-max-microvolt = <12000000>;
0203                 gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
0204                 enable-active-high;
0205         };
0206 
0207         reg_1p4v: regulator-vddsoc {
0208                 compatible = "regulator-fixed";
0209                 regulator-name = "vdd_soc";
0210                 regulator-min-microvolt = <1400000>;
0211                 regulator-max-microvolt = <1400000>;
0212                 regulator-always-on;
0213         };
0214 
0215         reg_usb_h1_vbus: regulator-usb-h1-vbus {
0216                 compatible = "regulator-fixed";
0217                 regulator-name = "usb_h1_vbus";
0218                 regulator-min-microvolt = <5000000>;
0219                 regulator-max-microvolt = <5000000>;
0220                 regulator-always-on;
0221         };
0222 
0223         reg_usb_otg_vbus: regulator-usb-otg-vbus {
0224                 compatible = "regulator-fixed";
0225                 regulator-name = "usb_otg_vbus";
0226                 regulator-min-microvolt = <5000000>;
0227                 regulator-max-microvolt = <5000000>;
0228                 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
0229                 enable-active-high;
0230         };
0231 
0232         sound {
0233                 compatible = "fsl,imx6q-ventana-sgtl5000",
0234                              "fsl,imx-audio-sgtl5000";
0235                 model = "sgtl5000-audio";
0236                 ssi-controller = <&ssi1>;
0237                 audio-codec = <&sgtl5000>;
0238                 audio-routing =
0239                         "MIC_IN", "Mic Jack",
0240                         "Mic Jack", "Mic Bias",
0241                         "Headphone Jack", "HP_OUT";
0242                 mux-int-port = <1>;
0243                 mux-ext-port = <4>;
0244         };
0245 };
0246 
0247 &audmux {
0248         pinctrl-names = "default";
0249         pinctrl-0 = <&pinctrl_audmux>;
0250         status = "okay";
0251 };
0252 
0253 &ecspi3 {
0254         cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
0255         pinctrl-names = "default";
0256         pinctrl-0 = <&pinctrl_ecspi3>;
0257         status = "okay";
0258 };
0259 
0260 &can1 {
0261         pinctrl-names = "default";
0262         pinctrl-0 = <&pinctrl_flexcan>;
0263         status = "okay";
0264 };
0265 
0266 &clks {
0267         assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
0268                           <&clks IMX6QDL_CLK_LDB_DI1_SEL>;
0269         assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
0270                                  <&clks IMX6QDL_CLK_PLL3_USB_OTG>;
0271 };
0272 
0273 &fec {
0274         pinctrl-names = "default";
0275         pinctrl-0 = <&pinctrl_enet>;
0276         phy-mode = "rgmii-id";
0277         phy-reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
0278         status = "okay";
0279 };
0280 
0281 &hdmi {
0282         ddc-i2c-bus = <&i2c3>;
0283         status = "okay";
0284 };
0285 
0286 &i2c1 {
0287         clock-frequency = <100000>;
0288         pinctrl-names = "default";
0289         pinctrl-0 = <&pinctrl_i2c1>;
0290         status = "okay";
0291 
0292         gsc: gsc@20 {
0293                 compatible = "gw,gsc";
0294                 reg = <0x20>;
0295                 interrupt-parent = <&gpio1>;
0296                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
0297                 interrupt-controller;
0298                 #interrupt-cells = <1>;
0299                 #size-cells = <0>;
0300 
0301                 adc {
0302                         compatible = "gw,gsc-adc";
0303                         #address-cells = <1>;
0304                         #size-cells = <0>;
0305 
0306                         channel@0 {
0307                                 gw,mode = <0>;
0308                                 reg = <0x00>;
0309                                 label = "temp";
0310                         };
0311 
0312                         channel@2 {
0313                                 gw,mode = <1>;
0314                                 reg = <0x02>;
0315                                 label = "vdd_vin";
0316                         };
0317 
0318                         channel@5 {
0319                                 gw,mode = <1>;
0320                                 reg = <0x05>;
0321                                 label = "vdd_3p3";
0322                         };
0323 
0324                         channel@8 {
0325                                 gw,mode = <1>;
0326                                 reg = <0x08>;
0327                                 label = "vdd_bat";
0328                         };
0329 
0330                         channel@b {
0331                                 gw,mode = <1>;
0332                                 reg = <0x0b>;
0333                                 label = "vdd_5p0";
0334                         };
0335 
0336                         channel@e {
0337                                 gw,mode = <1>;
0338                                 reg = <0xe>;
0339                                 label = "vdd_arm";
0340                         };
0341 
0342                         channel@11 {
0343                                 gw,mode = <1>;
0344                                 reg = <0x11>;
0345                                 label = "vdd_soc";
0346                         };
0347 
0348                         channel@14 {
0349                                 gw,mode = <1>;
0350                                 reg = <0x14>;
0351                                 label = "vdd_3p0";
0352                         };
0353 
0354                         channel@17 {
0355                                 gw,mode = <1>;
0356                                 reg = <0x17>;
0357                                 label = "vdd_1p5";
0358                         };
0359 
0360                         channel@1d {
0361                                 gw,mode = <1>;
0362                                 reg = <0x1d>;
0363                                 label = "vdd_1p8";
0364                         };
0365 
0366                         channel@20 {
0367                                 gw,mode = <1>;
0368                                 reg = <0x20>;
0369                                 label = "vdd_an1";
0370                         };
0371 
0372                         channel@23 {
0373                                 gw,mode = <1>;
0374                                 reg = <0x23>;
0375                                 label = "vdd_2p5";
0376                         };
0377 
0378                         channel@26 {
0379                                 gw,mode = <1>;
0380                                 reg = <0x26>;
0381                                 label = "vdd_gps";
0382                         };
0383 
0384                         channel@29 {
0385                                 gw,mode = <1>;
0386                                 reg = <0x29>;
0387                                 label = "vdd_an2";
0388                         };
0389                 };
0390         };
0391 
0392         gsc_gpio: gpio@23 {
0393                 compatible = "nxp,pca9555";
0394                 reg = <0x23>;
0395                 gpio-controller;
0396                 #gpio-cells = <2>;
0397                 interrupt-parent = <&gsc>;
0398                 interrupts = <4>;
0399         };
0400 
0401         eeprom1: eeprom@50 {
0402                 compatible = "atmel,24c02";
0403                 reg = <0x50>;
0404                 pagesize = <16>;
0405         };
0406 
0407         eeprom2: eeprom@51 {
0408                 compatible = "atmel,24c02";
0409                 reg = <0x51>;
0410                 pagesize = <16>;
0411         };
0412 
0413         eeprom3: eeprom@52 {
0414                 compatible = "atmel,24c02";
0415                 reg = <0x52>;
0416                 pagesize = <16>;
0417         };
0418 
0419         eeprom4: eeprom@53 {
0420                 compatible = "atmel,24c02";
0421                 reg = <0x53>;
0422                 pagesize = <16>;
0423         };
0424 
0425         ds1672: rtc@68 {
0426                 compatible = "dallas,ds1672";
0427                 reg = <0x68>;
0428         };
0429 };
0430 
0431 &i2c2 {
0432         clock-frequency = <100000>;
0433         pinctrl-names = "default";
0434         pinctrl-0 = <&pinctrl_i2c2>;
0435         status = "okay";
0436 
0437         sgtl5000: codec@a {
0438                 compatible = "fsl,sgtl5000";
0439                 reg = <0x0a>;
0440                 #sound-dai-cells = <0>;
0441                 clocks = <&clks IMX6QDL_CLK_CKO>;
0442                 VDDA-supply = <&reg_1p8v>;
0443                 VDDIO-supply = <&reg_3p3v>;
0444         };
0445 
0446         magn@1c {
0447                 compatible = "st,lsm9ds1-magn";
0448                 reg = <0x1c>;
0449                 pinctrl-names = "default";
0450                 pinctrl-0 = <&pinctrl_mag>;
0451                 interrupt-parent = <&gpio5>;
0452                 interrupts = <9 IRQ_TYPE_EDGE_RISING>;
0453         };
0454 
0455         tca8418: keypad@34 {
0456                 compatible = "ti,tca8418";
0457                 pinctrl-names = "default";
0458                 pinctrl-0 = <&pinctrl_keypad>;
0459                 reg = <0x34>;
0460                 interrupt-parent = <&gpio5>;
0461                 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
0462                 linux,keymap = < MATRIX_KEY(0x00, 0x01, BTN_0)
0463                                  MATRIX_KEY(0x00, 0x00, BTN_1)
0464                                  MATRIX_KEY(0x01, 0x01, BTN_2)
0465                                  MATRIX_KEY(0x01, 0x00, BTN_3)
0466                                  MATRIX_KEY(0x02, 0x00, BTN_4)
0467                                  MATRIX_KEY(0x00, 0x03, BTN_5)
0468                                  MATRIX_KEY(0x00, 0x02, BTN_6)
0469                                  MATRIX_KEY(0x01, 0x03, BTN_7)
0470                                  MATRIX_KEY(0x01, 0x02, BTN_8)
0471                                  MATRIX_KEY(0x02, 0x02, BTN_9)
0472                 >;
0473                 keypad,num-rows = <4>;
0474                 keypad,num-columns = <4>;
0475         };
0476 
0477         ltc3676: pmic@3c {
0478                 compatible = "lltc,ltc3676";
0479                 pinctrl-names = "default";
0480                 pinctrl-0 = <&pinctrl_pmic>;
0481                 reg = <0x3c>;
0482                 interrupt-parent = <&gpio1>;
0483                 interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
0484 
0485                 regulators {
0486                         /* VDD_DDR (1+R1/R2 = 2.105) */
0487                         reg_vdd_ddr: sw2 {
0488                                 regulator-name = "vddddr";
0489                                 regulator-min-microvolt = <868310>;
0490                                 regulator-max-microvolt = <1684000>;
0491                                 lltc,fb-voltage-divider = <221000 200000>;
0492                                 regulator-ramp-delay = <7000>;
0493                                 regulator-boot-on;
0494                                 regulator-always-on;
0495                         };
0496 
0497                         /* VDD_ARM (1+R1/R2 = 1.931) */
0498                         reg_vdd_arm: sw3 {
0499                                 regulator-name = "vddarm";
0500                                 regulator-min-microvolt = <796551>;
0501                                 regulator-max-microvolt = <1544827>;
0502                                 lltc,fb-voltage-divider = <243000 261000>;
0503                                 regulator-ramp-delay = <7000>;
0504                                 regulator-boot-on;
0505                                 regulator-always-on;
0506                                 linux,phandle = <&reg_vdd_arm>;
0507                         };
0508 
0509                         /* VDD_1P8 (1+R1/R2 = 2.505): GPS/VideoIn/ENET-PHY */
0510                         reg_1p8v: sw4 {
0511                                 regulator-name = "vdd1p8";
0512                                 regulator-min-microvolt = <1033310>;
0513                                 regulator-max-microvolt = <2004000>;
0514                                 lltc,fb-voltage-divider = <301000 200000>;
0515                                 regulator-ramp-delay = <7000>;
0516                                 regulator-boot-on;
0517                                 regulator-always-on;
0518                         };
0519 
0520                         /* VDD_1P0 (1+R1/R2 = 1.39): PCIe/ENET-PHY */
0521                         reg_1p0v: ldo2 {
0522                                 regulator-name = "vdd1p0";
0523                                 regulator-min-microvolt = <950000>;
0524                                 regulator-max-microvolt = <1050000>;
0525                                 lltc,fb-voltage-divider = <78700 200000>;
0526                                 regulator-boot-on;
0527                                 regulator-always-on;
0528                         };
0529 
0530                         /* VDD_AUD_1P8: Audio codec */
0531                         reg_aud_1p8v: ldo3 {
0532                                 regulator-name = "vdd1p8a";
0533                                 regulator-min-microvolt = <1800000>;
0534                                 regulator-max-microvolt = <1800000>;
0535                                 regulator-boot-on;
0536                         };
0537 
0538                         /* VDD_HIGH (1+R1/R2 = 4.17) */
0539                         reg_3p0v: ldo4 {
0540                                 regulator-name = "vdd3p0";
0541                                 regulator-min-microvolt = <3023250>;
0542                                 regulator-max-microvolt = <3023250>;
0543                                 lltc,fb-voltage-divider = <634000 200000>;
0544                                 regulator-boot-on;
0545                                 regulator-always-on;
0546                         };
0547                 };
0548         };
0549 
0550         imu@6a {
0551                 compatible = "st,lsm9ds1-imu";
0552                 reg = <0x6a>;
0553                 st,drdy-int-pin = <1>;
0554                 pinctrl-names = "default";
0555                 pinctrl-0 = <&pinctrl_imu>;
0556                 interrupt-parent = <&gpio5>;
0557                 interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
0558         };
0559 };
0560 
0561 &i2c3 {
0562         clock-frequency = <100000>;
0563         pinctrl-names = "default";
0564         pinctrl-0 = <&pinctrl_i2c3>;
0565         status = "okay";
0566 
0567         egalax_ts: touchscreen@4 {
0568                 compatible = "eeti,egalax_ts";
0569                 reg = <0x04>;
0570                 interrupt-parent = <&gpio5>;
0571                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
0572                 wakeup-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
0573         };
0574 };
0575 
0576 &ldb {
0577         fsl,dual-channel;
0578         status = "okay";
0579 
0580         lvds-channel@0 {
0581                 fsl,data-mapping = "spwg";
0582                 fsl,data-width = <18>;
0583                 status = "okay";
0584 
0585                 display-timings {
0586                         native-mode = <&timing0>;
0587                         timing0: hsd100pxn1 {
0588                                 clock-frequency = <65000000>;
0589                                 hactive = <1024>;
0590                                 vactive = <768>;
0591                                 hback-porch = <220>;
0592                                 hfront-porch = <40>;
0593                                 vback-porch = <21>;
0594                                 vfront-porch = <7>;
0595                                 hsync-len = <60>;
0596                                 vsync-len = <10>;
0597                         };
0598                 };
0599         };
0600 };
0601 
0602 &pcie {
0603         pinctrl-names = "default";
0604         pinctrl-0 = <&pinctrl_pcie>;
0605         reset-gpio = <&gpio4 31 GPIO_ACTIVE_LOW>;
0606         status = "okay";
0607 };
0608 
0609 &pwm2 {
0610         pinctrl-names = "default";
0611         pinctrl-0 = <&pinctrl_pwm2>; /* MX6_DIO1 */
0612         status = "disabled";
0613 };
0614 
0615 &pwm3 {
0616         pinctrl-names = "default";
0617         pinctrl-0 = <&pinctrl_pwm3>; /* MX6_DIO2 */
0618         status = "disabled";
0619 };
0620 
0621 &pwm4 {
0622         #pwm-cells = <2>;
0623         pinctrl-names = "default";
0624         pinctrl-0 = <&pinctrl_pwm4>;
0625         status = "okay";
0626 };
0627 
0628 &ssi1 {
0629         status = "okay";
0630 };
0631 
0632 &uart1 {
0633         pinctrl-names = "default";
0634         pinctrl-0 = <&pinctrl_uart1>;
0635         uart-has-rtscts;
0636         rts-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
0637         status = "okay";
0638 };
0639 
0640 &uart2 {
0641         pinctrl-names = "default";
0642         pinctrl-0 = <&pinctrl_uart2>;
0643         status = "okay";
0644 };
0645 
0646 &uart5 {
0647         pinctrl-names = "default";
0648         pinctrl-0 = <&pinctrl_uart5>;
0649         status = "okay";
0650 };
0651 
0652 &usbotg {
0653         vbus-supply = <&reg_usb_otg_vbus>;
0654         pinctrl-names = "default";
0655         pinctrl-0 = <&pinctrl_usbotg>;
0656         disable-over-current;
0657         status = "okay";
0658 };
0659 
0660 &usbh1 {
0661         vbus-supply = <&reg_usb_h1_vbus>;
0662         pinctrl-names = "default";
0663         pinctrl-0 = <&pinctrl_usbh1>;
0664         status = "okay";
0665 };
0666 
0667 &usdhc2 {
0668         pinctrl-names = "default";
0669         pinctrl-0 = <&pinctrl_usdhc2>;
0670         bus-width = <8>;
0671         vmmc-supply = <&reg_3p3v>;
0672         non-removable;
0673         status = "okay";
0674 };
0675 
0676 &usdhc3 {
0677         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0678         pinctrl-0 = <&pinctrl_usdhc3>;
0679         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
0680         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
0681         cd-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
0682         vmmc-supply = <&reg_3p3v>;
0683         status = "okay";
0684 };
0685 
0686 &wdog1 {
0687         pinctrl-names = "default";
0688         pinctrl-0 = <&pinctrl_wdog>;
0689         fsl,ext-reset-output;
0690 };
0691 
0692 &iomuxc {
0693         pinctrl_audmux: audmuxgrp {
0694                 fsl,pins = <
0695                         /* AUD4 */
0696                         MX6QDL_PAD_DISP0_DAT20__AUD4_TXC        0x130b0
0697                         MX6QDL_PAD_DISP0_DAT21__AUD4_TXD        0x110b0
0698                         MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS       0x130b0
0699                         MX6QDL_PAD_DISP0_DAT23__AUD4_RXD        0x130b0
0700                         MX6QDL_PAD_GPIO_0__CCM_CLKO1            0x130b0 /* AUD4_MCK */
0701                         /* AUD6 */
0702                         MX6QDL_PAD_DI0_PIN2__AUD6_TXD           0x130b0
0703                         MX6QDL_PAD_DI0_PIN3__AUD6_TXFS          0x130b0
0704                         MX6QDL_PAD_DI0_PIN4__AUD6_RXD           0x130b0
0705                         MX6QDL_PAD_DI0_PIN15__AUD6_TXC          0x130b0
0706                 >;
0707         };
0708 
0709         pinctrl_ecspi3: escpi3grp {
0710                 fsl,pins = <
0711                         MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
0712                         MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
0713                         MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
0714                         MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24       0x100b1
0715                 >;
0716         };
0717 
0718         pinctrl_enet: enetgrp {
0719                 fsl,pins = <
0720                         MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
0721                         MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
0722                         MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
0723                         MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
0724                         MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
0725                         MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
0726                         MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
0727                         MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
0728                         MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
0729                         MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
0730                         MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
0731                         MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
0732                         MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
0733                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
0734                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
0735                         MX6QDL_PAD_GPIO_16__ENET_REF_CLK        0x4001b0a8
0736                         MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x4001b0b0 /* PHY_RST# */
0737                 >;
0738         };
0739 
0740         pinctrl_flexcan: flexcangrp {
0741                 fsl,pins = <
0742                         MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX        0x1b0b1
0743                         MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX        0x1b0b1
0744                         MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x4001b0b0 /* CAN_STBY */
0745                 >;
0746         };
0747 
0748         pinctrl_gpio_leds: gpioledsgrp {
0749                 fsl,pins = <
0750                         MX6QDL_PAD_KEY_COL0__GPIO4_IO06         0x1b0b0
0751                         MX6QDL_PAD_KEY_ROW0__GPIO4_IO07         0x1b0b0
0752                         MX6QDL_PAD_KEY_ROW4__GPIO4_IO15         0x1b0b0
0753                 >;
0754         };
0755 
0756         pinctrl_i2c1: i2c1grp {
0757                 fsl,pins = <
0758                         MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
0759                         MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
0760                         MX6QDL_PAD_GPIO_4__GPIO1_IO04           0xb0b1
0761                 >;
0762         };
0763 
0764         pinctrl_i2c2: i2c2grp {
0765                 fsl,pins = <
0766                         MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
0767                         MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
0768                 >;
0769         };
0770 
0771         pinctrl_i2c3: i2c3grp {
0772                 fsl,pins = <
0773                         MX6QDL_PAD_GPIO_3__I2C3_SCL             0x4001b8b1
0774                         MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001b8b1
0775                         MX6QDL_PAD_GPIO_19__GPIO4_IO05          0x4001b0b0 /* DIOI2C_DIS# */
0776                         MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12      0x0001b0b0 /* LVDS_TOUCH_IRQ# */
0777                         MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13      0x0001b0b0 /* LVDS_BACKEN */
0778                 >;
0779         };
0780 
0781         pinctrl_imu: imugrp {
0782                 fsl,pins = <
0783                         MX6QDL_PAD_DISP0_DAT12__GPIO5_IO06      0x1b0b0
0784                 >;
0785         };
0786 
0787         pinctrl_keypad: keypadgrp {
0788                 fsl,pins = <
0789                         MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11      0x0001b0b0 /* KEYPAD_IRQ# */
0790                         MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30       0x0001b0b0 /* KEYPAD_LED_EN */
0791                 >;
0792         };
0793 
0794         pinctrl_mag: maggrp {
0795                 fsl,pins = <
0796                         MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09      0x1b0b0
0797                 >;
0798         };
0799 
0800         pinctrl_pcie: pciegrp {
0801                 fsl,pins = <
0802                         MX6QDL_PAD_DISP0_DAT10__GPIO4_IO31      0x1b0b0    /* PCI_RST# */
0803                         MX6QDL_PAD_GPIO_17__GPIO7_IO12          0x4001b0b0 /* PCIESKT_WDIS# */
0804                 >;
0805         };
0806 
0807         pinctrl_pmic: pmicgrp {
0808                 fsl,pins = <
0809                         MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x0001b0b0 /* PMIC_IRQ# */
0810                 >;
0811         };
0812 
0813         pinctrl_pps: ppsgrp {
0814                 fsl,pins = <
0815                         MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b0b1
0816                 >;
0817         };
0818 
0819         pinctrl_pwm2: pwm2grp {
0820                 fsl,pins = <
0821                         MX6QDL_PAD_SD1_DAT2__PWM2_OUT           0x1b0b1
0822                 >;
0823         };
0824 
0825         pinctrl_pwm3: pwm3grp {
0826                 fsl,pins = <
0827                         MX6QDL_PAD_SD1_DAT1__PWM3_OUT           0x1b0b1
0828                 >;
0829         };
0830 
0831         pinctrl_pwm4: pwm4grp {
0832                 fsl,pins = <
0833                         MX6QDL_PAD_SD1_CMD__PWM4_OUT            0x1b0b1
0834                 >;
0835         };
0836 
0837         pinctrl_uart1: uart1grp {
0838                 fsl,pins = <
0839                         MX6QDL_PAD_SD3_DAT7__UART1_TX_DATA      0x1b0b1
0840                         MX6QDL_PAD_SD3_DAT6__UART1_RX_DATA      0x1b0b1
0841                         MX6QDL_PAD_SD3_DAT4__GPIO7_IO01         0x4001b0b1 /* TEN */
0842                 >;
0843         };
0844 
0845         pinctrl_uart2: uart2grp {
0846                 fsl,pins = <
0847                         MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
0848                         MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
0849                 >;
0850         };
0851 
0852         pinctrl_uart5: uart5grp {
0853                 fsl,pins = <
0854                         MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
0855                         MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
0856                 >;
0857         };
0858 
0859         pinctrl_usbh1: usbh1grp {
0860                 fsl,pins = <
0861                         MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x4001b0b0 /* USBHUB_RST# */
0862                 >;
0863         };
0864 
0865         pinctrl_usbotg: usbotggrp {
0866                 fsl,pins = <
0867                         MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x17059
0868                         MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0 /* PWR_EN */
0869                         MX6QDL_PAD_KEY_COL4__GPIO4_IO14         0x1b0b0 /* OC */
0870                 >;
0871         };
0872 
0873         pinctrl_usdhc2: usdhc2grp {
0874                 fsl,pins = <
0875                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170f9
0876                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100f9
0877                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170f9
0878                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170f9
0879                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170f9
0880                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170f9
0881                         MX6QDL_PAD_NANDF_D4__SD2_DATA4          0x170f9
0882                         MX6QDL_PAD_NANDF_D5__SD2_DATA5          0x170f9
0883                         MX6QDL_PAD_NANDF_D6__SD2_DATA6          0x170f9
0884                         MX6QDL_PAD_NANDF_D7__SD2_DATA7          0x170f9
0885                 >;
0886         };
0887 
0888         pinctrl_usdhc3: usdhc3grp {
0889                 fsl,pins = <
0890                         MX6QDL_PAD_SD3_CMD__SD3_CMD             0x17059
0891                         MX6QDL_PAD_SD3_CLK__SD3_CLK             0x10059
0892                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x17059
0893                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x17059
0894                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x17059
0895                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x17059
0896                         MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x17059 /* CD */
0897                         MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x17059
0898                 >;
0899         };
0900 
0901         pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
0902                 fsl,pins = <
0903                         MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170b9
0904                         MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100b9
0905                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170b9
0906                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170b9
0907                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170b9
0908                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170b9
0909                         MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170b9 /* CD */
0910                         MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170b9
0911                 >;
0912         };
0913 
0914         pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
0915                 fsl,pins = <
0916                         MX6QDL_PAD_SD3_CMD__SD3_CMD             0x170f9
0917                         MX6QDL_PAD_SD3_CLK__SD3_CLK             0x100f9
0918                         MX6QDL_PAD_SD3_DAT0__SD3_DATA0          0x170f9
0919                         MX6QDL_PAD_SD3_DAT1__SD3_DATA1          0x170f9
0920                         MX6QDL_PAD_SD3_DAT2__SD3_DATA2          0x170f9
0921                         MX6QDL_PAD_SD3_DAT3__SD3_DATA3          0x170f9
0922                         MX6QDL_PAD_SD3_DAT5__GPIO7_IO00         0x170f9 /* CD */
0923                         MX6QDL_PAD_NANDF_CS1__SD3_VSELECT       0x170f9
0924                 >;
0925         };
0926 
0927         pinctrl_wdog: wdoggrp {
0928                 fsl,pins = <
0929                         MX6QDL_PAD_DISP0_DAT8__WDOG1_B          0x1b0b0
0930                 >;
0931         };
0932 };