Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright 2020 Gateworks Corporation
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/input/linux-event-codes.h>
0010 #include <dt-bindings/leds/common.h>
0011 #include <dt-bindings/phy/phy-imx8-pcie.h>
0012 
0013 #include "imx8mm.dtsi"
0014 
0015 / {
0016         model = "Gateworks Venice GW7901 i.MX8MM board";
0017         compatible = "gw,imx8mm-gw7901", "fsl,imx8mm";
0018 
0019         aliases {
0020                 ethernet0 = &fec1;
0021                 ethernet1 = &lan1;
0022                 ethernet2 = &lan2;
0023                 ethernet3 = &lan3;
0024                 ethernet4 = &lan4;
0025                 usb0 = &usbotg1;
0026                 usb1 = &usbotg2;
0027         };
0028 
0029         chosen {
0030                 stdout-path = &uart2;
0031         };
0032 
0033         memory@40000000 {
0034                 device_type = "memory";
0035                 reg = <0x0 0x40000000 0 0x80000000>;
0036         };
0037 
0038         gpio-keys {
0039                 compatible = "gpio-keys";
0040 
0041                 key-user-pb {
0042                         label = "user_pb";
0043                         gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
0044                         linux,code = <BTN_0>;
0045                 };
0046 
0047                 key-user-pb1x {
0048                         label = "user_pb1x";
0049                         linux,code = <BTN_1>;
0050                         interrupt-parent = <&gsc>;
0051                         interrupts = <0>;
0052                 };
0053 
0054                 key-erased {
0055                         label = "key_erased";
0056                         linux,code = <BTN_2>;
0057                         interrupt-parent = <&gsc>;
0058                         interrupts = <1>;
0059                 };
0060 
0061                 key-eeprom-wp {
0062                         label = "eeprom_wp";
0063                         linux,code = <BTN_3>;
0064                         interrupt-parent = <&gsc>;
0065                         interrupts = <2>;
0066                 };
0067 
0068                 key-tamper {
0069                         label = "tamper";
0070                         linux,code = <BTN_4>;
0071                         interrupt-parent = <&gsc>;
0072                         interrupts = <5>;
0073                 };
0074 
0075                 switch-hold {
0076                         label = "switch_hold";
0077                         linux,code = <BTN_5>;
0078                         interrupt-parent = <&gsc>;
0079                         interrupts = <7>;
0080                 };
0081         };
0082 
0083         led-controller {
0084                 compatible = "gpio-leds";
0085 
0086                 led-0 {
0087                         function = LED_FUNCTION_STATUS;
0088                         color = <LED_COLOR_ID_RED>;
0089                         label = "led01_red";
0090                         gpios = <&leds_gpio 0 GPIO_ACTIVE_HIGH>;
0091                         default-state = "off";
0092                 };
0093 
0094                 led-1 {
0095                         function = LED_FUNCTION_STATUS;
0096                         color = <LED_COLOR_ID_GREEN>;
0097                         label = "led01_grn";
0098                         gpios = <&leds_gpio 1 GPIO_ACTIVE_HIGH>;
0099                         default-state = "off";
0100                 };
0101 
0102                 led-2 {
0103                         function = LED_FUNCTION_STATUS;
0104                         color = <LED_COLOR_ID_RED>;
0105                         label = "led02_red";
0106                         gpios = <&leds_gpio 2 GPIO_ACTIVE_HIGH>;
0107                         default-state = "off";
0108                 };
0109 
0110                 led-3 {
0111                         function = LED_FUNCTION_STATUS;
0112                         color = <LED_COLOR_ID_GREEN>;
0113                         label = "led02_grn";
0114                         gpios = <&leds_gpio 3 GPIO_ACTIVE_HIGH>;
0115                         default-state = "off";
0116                 };
0117 
0118                 led-4 {
0119                         function = LED_FUNCTION_STATUS;
0120                         color = <LED_COLOR_ID_RED>;
0121                         label = "led03_red";
0122                         gpios = <&leds_gpio 4 GPIO_ACTIVE_HIGH>;
0123                         default-state = "off";
0124                 };
0125 
0126                 led-5 {
0127                         function = LED_FUNCTION_STATUS;
0128                         color = <LED_COLOR_ID_GREEN>;
0129                         label = "led03_grn";
0130                         gpios = <&leds_gpio 5 GPIO_ACTIVE_HIGH>;
0131                         default-state = "off";
0132                 };
0133 
0134                 led-6 {
0135                         function = LED_FUNCTION_STATUS;
0136                         color = <LED_COLOR_ID_RED>;
0137                         label = "led04_red";
0138                         gpios = <&leds_gpio 8 GPIO_ACTIVE_HIGH>;
0139                         default-state = "off";
0140                 };
0141 
0142                 led-7 {
0143                         function = LED_FUNCTION_STATUS;
0144                         color = <LED_COLOR_ID_GREEN>;
0145                         label = "led04_grn";
0146                         gpios = <&leds_gpio 9 GPIO_ACTIVE_HIGH>;
0147                         default-state = "off";
0148                 };
0149 
0150                 led-8 {
0151                         function = LED_FUNCTION_STATUS;
0152                         color = <LED_COLOR_ID_RED>;
0153                         label = "led05_red";
0154                         gpios = <&leds_gpio 10 GPIO_ACTIVE_HIGH>;
0155                         default-state = "off";
0156                 };
0157 
0158                 led-9 {
0159                         function = LED_FUNCTION_STATUS;
0160                         color = <LED_COLOR_ID_GREEN>;
0161                         label = "led05_grn";
0162                         gpios = <&leds_gpio 11 GPIO_ACTIVE_HIGH>;
0163                         default-state = "off";
0164                 };
0165 
0166                 led-a {
0167                         function = LED_FUNCTION_STATUS;
0168                         color = <LED_COLOR_ID_RED>;
0169                         label = "led06_red";
0170                         gpios = <&leds_gpio 12 GPIO_ACTIVE_HIGH>;
0171                         default-state = "off";
0172                 };
0173 
0174                 led-b {
0175                         function = LED_FUNCTION_STATUS;
0176                         color = <LED_COLOR_ID_GREEN>;
0177                         label = "led06_grn";
0178                         gpios = <&leds_gpio 13 GPIO_ACTIVE_HIGH>;
0179                         default-state = "off";
0180                 };
0181         };
0182 
0183         pcie0_refclk: pcie0-refclk {
0184                 compatible = "fixed-clock";
0185                 #clock-cells = <0>;
0186                 clock-frequency = <100000000>;
0187         };
0188 
0189         reg_3p3v: regulator-3p3v {
0190                 compatible = "regulator-fixed";
0191                 regulator-name = "3P3V";
0192                 regulator-min-microvolt = <3300000>;
0193                 regulator-max-microvolt = <3300000>;
0194         };
0195 
0196         regulator-ioexp {
0197                 pinctrl-names = "default";
0198                 pinctrl-0 = <&pinctrl_reg_ioexp>;
0199                 compatible = "regulator-fixed";
0200                 regulator-name = "ioexp";
0201                 gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
0202                 enable-active-high;
0203                 startup-delay-us = <100>;
0204                 regulator-min-microvolt = <3300000>;
0205                 regulator-max-microvolt = <3300000>;
0206                 regulator-always-on;
0207         };
0208 
0209         regulator-isouart {
0210                 pinctrl-names = "default";
0211                 pinctrl-0 = <&pinctrl_reg_isouart>;
0212                 compatible = "regulator-fixed";
0213                 regulator-name = "iso_uart";
0214                 gpio = <&gpio1 13 GPIO_ACTIVE_LOW>;
0215                 startup-delay-us = <100>;
0216                 regulator-min-microvolt = <3300000>;
0217                 regulator-max-microvolt = <3300000>;
0218                 regulator-always-on;
0219         };
0220 
0221         reg_usb2_vbus: regulator-usb2 {
0222                 pinctrl-names = "default";
0223                 pinctrl-0 = <&pinctrl_reg_usb2>;
0224                 compatible = "regulator-fixed";
0225                 regulator-name = "usb_usb2_vbus";
0226                 gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>;
0227                 enable-active-high;
0228                 regulator-min-microvolt = <5000000>;
0229                 regulator-max-microvolt = <5000000>;
0230         };
0231 
0232         reg_wifi: regulator-wifi {
0233                 pinctrl-names = "default";
0234                 pinctrl-0 = <&pinctrl_reg_wl>;
0235                 compatible = "regulator-fixed";
0236                 regulator-name = "wifi";
0237                 gpio = <&gpio3 25 GPIO_ACTIVE_HIGH>;
0238                 enable-active-high;
0239                 startup-delay-us = <100>;
0240                 regulator-min-microvolt = <3300000>;
0241                 regulator-max-microvolt = <3300000>;
0242         };
0243 };
0244 
0245 &ddrc {
0246         operating-points-v2 = <&ddrc_opp_table>;
0247 
0248         ddrc_opp_table: opp-table {
0249                 compatible = "operating-points-v2";
0250 
0251                 opp-25M {
0252                         opp-hz = /bits/ 64 <25000000>;
0253                 };
0254 
0255                 opp-100M {
0256                         opp-hz = /bits/ 64 <100000000>;
0257                 };
0258 
0259                 opp-750M {
0260                         opp-hz = /bits/ 64 <750000000>;
0261                 };
0262         };
0263 };
0264 
0265 &disp_blk_ctrl {
0266         status = "disabled";
0267 };
0268 
0269 &ecspi1 {
0270         pinctrl-names = "default";
0271         pinctrl-0 = <&pinctrl_spi1>;
0272         cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
0273         status = "okay";
0274 
0275         flash@0 {
0276                 compatible = "jedec,spi-nor";
0277                 reg = <0>;
0278                 spi-max-frequency = <40000000>;
0279                 status = "okay";
0280         };
0281 };
0282 
0283 &fec1 {
0284         pinctrl-names = "default";
0285         pinctrl-0 = <&pinctrl_fec1>;
0286         phy-mode = "rgmii-id";
0287         local-mac-address = [00 00 00 00 00 00];
0288         status = "okay";
0289 
0290         fixed-link {
0291                 speed = <1000>;
0292                 full-duplex;
0293         };
0294 };
0295 
0296 &gpio1 {
0297         gpio-line-names = "uart1_rs422#", "", "", "uart1_rs485#",
0298                 "", "uart1_rs232#", "dig1_in", "dig1_out",
0299                 "", "", "", "", "", "", "", "",
0300                 "", "", "", "", "", "", "", "",
0301                 "", "", "", "", "", "", "", "";
0302 };
0303 
0304 &gpio4 {
0305         gpio-line-names = "", "", "", "",
0306                 "", "", "uart3_rs232#", "uart3_rs422#",
0307                 "uart3_rs485#", "", "", "", "", "", "", "",
0308                 "", "", "", "", "", "", "", "",
0309                 "", "", "", "uart4_rs485#", "", "sim1det#", "sim2det#", "";
0310 };
0311 
0312 &gpio5 {
0313         gpio-line-names = "", "", "", "dig2_out", "dig2_in", "sim2sel", "", "",
0314                 "", "", "uart4_rs232#", "", "", "uart4_rs422#", "", "",
0315                 "", "", "", "", "", "", "", "",
0316                 "", "", "", "", "", "", "", "";
0317 };
0318 
0319 &gpu_2d {
0320         status = "disabled";
0321 };
0322 
0323 &gpu_3d {
0324         status = "disabled";
0325 };
0326 
0327 &i2c1 {
0328         clock-frequency = <100000>;
0329         pinctrl-names = "default";
0330         pinctrl-0 = <&pinctrl_i2c1>;
0331         status = "okay";
0332 
0333         gsc: gsc@20 {
0334                 compatible = "gw,gsc";
0335                 reg = <0x20>;
0336                 pinctrl-0 = <&pinctrl_gsc>;
0337                 interrupt-parent = <&gpio4>;
0338                 interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
0339                 interrupt-controller;
0340                 #interrupt-cells = <1>;
0341 
0342                 adc {
0343                         compatible = "gw,gsc-adc";
0344                         #address-cells = <1>;
0345                         #size-cells = <0>;
0346 
0347                         channel@6 {
0348                                 gw,mode = <0>;
0349                                 reg = <0x06>;
0350                                 label = "temp";
0351                         };
0352 
0353                         channel@8 {
0354                                 gw,mode = <1>;
0355                                 reg = <0x08>;
0356                                 label = "vdd_bat";
0357                         };
0358 
0359                         channel@82 {
0360                                 gw,mode = <2>;
0361                                 reg = <0x82>;
0362                                 label = "vin_aux1";
0363                                 gw,voltage-divider-ohms = <22100 1000>;
0364                         };
0365 
0366                         channel@84 {
0367                                 gw,mode = <2>;
0368                                 reg = <0x84>;
0369                                 label = "vin_aux2";
0370                                 gw,voltage-divider-ohms = <22100 1000>;
0371                         };
0372 
0373                         channel@86 {
0374                                 gw,mode = <2>;
0375                                 reg = <0x86>;
0376                                 label = "vdd_vin";
0377                                 gw,voltage-divider-ohms = <22100 1000>;
0378                         };
0379 
0380                         channel@88 {
0381                                 gw,mode = <2>;
0382                                 reg = <0x88>;
0383                                 label = "vdd_3p3";
0384                                 gw,voltage-divider-ohms = <10000 10000>;
0385                         };
0386 
0387                         channel@8c {
0388                                 gw,mode = <2>;
0389                                 reg = <0x8c>;
0390                                 label = "vdd_2p5";
0391                                 gw,voltage-divider-ohms = <10000 10000>;
0392                         };
0393 
0394                         channel@8e {
0395                                 gw,mode = <2>;
0396                                 reg = <0x8e>;
0397                                 label = "vdd_0p95";
0398                         };
0399 
0400                         channel@90 {
0401                                 gw,mode = <2>;
0402                                 reg = <0x90>;
0403                                 label = "vdd_soc";
0404                         };
0405 
0406                         channel@92 {
0407                                 gw,mode = <2>;
0408                                 reg = <0x92>;
0409                                 label = "vdd_arm";
0410                         };
0411 
0412                         channel@98 {
0413                                 gw,mode = <2>;
0414                                 reg = <0x98>;
0415                                 label = "vdd_1p8";
0416                         };
0417 
0418                         channel@9a {
0419                                 gw,mode = <2>;
0420                                 reg = <0x9a>;
0421                                 label = "vdd_1p2";
0422                         };
0423 
0424                         channel@9c {
0425                                 gw,mode = <2>;
0426                                 reg = <0x9c>;
0427                                 label = "vdd_dram";
0428                         };
0429 
0430                         channel@a2 {
0431                                 gw,mode = <2>;
0432                                 reg = <0xa2>;
0433                                 label = "vdd_gsc";
0434                                 gw,voltage-divider-ohms = <10000 10000>;
0435                         };
0436                 };
0437         };
0438 
0439         gpio: gpio@23 {
0440                 compatible = "nxp,pca9555";
0441                 reg = <0x23>;
0442                 gpio-controller;
0443                 #gpio-cells = <2>;
0444                 interrupt-parent = <&gsc>;
0445                 interrupts = <4>;
0446         };
0447 
0448         eeprom@50 {
0449                 compatible = "atmel,24c02";
0450                 reg = <0x50>;
0451                 pagesize = <16>;
0452         };
0453 
0454         eeprom@51 {
0455                 compatible = "atmel,24c02";
0456                 reg = <0x51>;
0457                 pagesize = <16>;
0458         };
0459 
0460         eeprom@52 {
0461                 compatible = "atmel,24c02";
0462                 reg = <0x52>;
0463                 pagesize = <16>;
0464         };
0465 
0466         eeprom@53 {
0467                 compatible = "atmel,24c02";
0468                 reg = <0x53>;
0469                 pagesize = <16>;
0470         };
0471 
0472         rtc@68 {
0473                 compatible = "dallas,ds1672";
0474                 reg = <0x68>;
0475         };
0476 };
0477 
0478 &i2c2 {
0479         clock-frequency = <400000>;
0480         pinctrl-names = "default";
0481         pinctrl-0 = <&pinctrl_i2c2>;
0482         status = "okay";
0483 
0484         pmic@4b {
0485                 compatible = "rohm,bd71847";
0486                 reg = <0x4b>;
0487                 pinctrl-names = "default";
0488                 pinctrl-0 = <&pinctrl_pmic>;
0489                 interrupt-parent = <&gpio3>;
0490                 interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
0491                 rohm,reset-snvs-powered;
0492                 #clock-cells = <0>;
0493                 clocks = <&osc_32k 0>;
0494                 clock-output-names = "clk-32k-out";
0495 
0496                 regulators {
0497                         /* vdd_soc: 0.805-0.900V (typ=0.8V) */
0498                         BUCK1 {
0499                                 regulator-name = "buck1";
0500                                 regulator-min-microvolt = <700000>;
0501                                 regulator-max-microvolt = <1300000>;
0502                                 regulator-boot-on;
0503                                 regulator-always-on;
0504                                 regulator-ramp-delay = <1250>;
0505                         };
0506 
0507                         /* vdd_arm: 0.805-1.0V (typ=0.9V) */
0508                         BUCK2 {
0509                                 regulator-name = "buck2";
0510                                 regulator-min-microvolt = <700000>;
0511                                 regulator-max-microvolt = <1300000>;
0512                                 regulator-boot-on;
0513                                 regulator-always-on;
0514                                 regulator-ramp-delay = <1250>;
0515                                 rohm,dvs-run-voltage = <1000000>;
0516                                 rohm,dvs-idle-voltage = <900000>;
0517                         };
0518 
0519                         /* vdd_0p9: 0.805-1.0V (typ=0.9V) */
0520                         BUCK3 {
0521                                 regulator-name = "buck3";
0522                                 regulator-min-microvolt = <700000>;
0523                                 regulator-max-microvolt = <1350000>;
0524                                 regulator-boot-on;
0525                                 regulator-always-on;
0526                         };
0527 
0528                         /* vdd_3p3 */
0529                         BUCK4 {
0530                                 regulator-name = "buck4";
0531                                 regulator-min-microvolt = <3000000>;
0532                                 regulator-max-microvolt = <3300000>;
0533                                 regulator-boot-on;
0534                                 regulator-always-on;
0535                         };
0536 
0537                         /* vdd_1p8 */
0538                         BUCK5 {
0539                                 regulator-name = "buck5";
0540                                 regulator-min-microvolt = <1605000>;
0541                                 regulator-max-microvolt = <1995000>;
0542                                 regulator-boot-on;
0543                                 regulator-always-on;
0544                         };
0545 
0546                         /* vdd_dram */
0547                         BUCK6 {
0548                                 regulator-name = "buck6";
0549                                 regulator-min-microvolt = <800000>;
0550                                 regulator-max-microvolt = <1400000>;
0551                                 regulator-boot-on;
0552                                 regulator-always-on;
0553                         };
0554 
0555                         /* nvcc_snvs_1p8 */
0556                         LDO1 {
0557                                 regulator-name = "ldo1";
0558                                 regulator-min-microvolt = <1600000>;
0559                                 regulator-max-microvolt = <1900000>;
0560                                 regulator-boot-on;
0561                                 regulator-always-on;
0562                         };
0563 
0564                         /* vdd_snvs_0p8 */
0565                         LDO2 {
0566                                 regulator-name = "ldo2";
0567                                 regulator-min-microvolt = <800000>;
0568                                 regulator-max-microvolt = <900000>;
0569                                 regulator-boot-on;
0570                                 regulator-always-on;
0571                         };
0572 
0573                         /* vdda_1p8 */
0574                         LDO3 {
0575                                 regulator-name = "ldo3";
0576                                 regulator-min-microvolt = <1800000>;
0577                                 regulator-max-microvolt = <3300000>;
0578                                 regulator-boot-on;
0579                                 regulator-always-on;
0580                         };
0581 
0582                         LDO4 {
0583                                 regulator-name = "ldo4";
0584                                 regulator-min-microvolt = <900000>;
0585                                 regulator-max-microvolt = <1800000>;
0586                                 regulator-boot-on;
0587                                 regulator-always-on;
0588                         };
0589 
0590                         LDO6 {
0591                                 regulator-name = "ldo6";
0592                                 regulator-min-microvolt = <900000>;
0593                                 regulator-max-microvolt = <1800000>;
0594                                 regulator-boot-on;
0595                                 regulator-always-on;
0596                         };
0597                 };
0598         };
0599 };
0600 
0601 &i2c3 {
0602         clock-frequency = <400000>;
0603         pinctrl-names = "default";
0604         pinctrl-0 = <&pinctrl_i2c3>;
0605         status = "okay";
0606 
0607         leds_gpio: gpio@20 {
0608                 compatible = "nxp,pca9555";
0609                 reg = <0x20>;
0610                 gpio-controller;
0611                 #gpio-cells = <2>;
0612         };
0613 
0614         switch: switch@5f {
0615                 compatible = "microchip,ksz9897";
0616                 reg = <0x5f>;
0617                 pinctrl-0 = <&pinctrl_ksz>;
0618                 interrupt-parent = <&gpio4>;
0619                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
0620                 phy-mode = "rgmii-id";
0621 
0622                 ports {
0623                         #address-cells = <1>;
0624                         #size-cells = <0>;
0625 
0626                         lan1: port@0 {
0627                                 reg = <0>;
0628                                 label = "lan1";
0629                                 phy-mode = "internal";
0630                                 local-mac-address = [00 00 00 00 00 00];
0631                         };
0632 
0633                         lan2: port@1 {
0634                                 reg = <1>;
0635                                 label = "lan2";
0636                                 phy-mode = "internal";
0637                                 local-mac-address = [00 00 00 00 00 00];
0638                         };
0639 
0640                         lan3: port@2 {
0641                                 reg = <2>;
0642                                 label = "lan3";
0643                                 phy-mode = "internal";
0644                                 local-mac-address = [00 00 00 00 00 00];
0645                         };
0646 
0647                         lan4: port@3 {
0648                                 reg = <3>;
0649                                 label = "lan4";
0650                                 phy-mode = "internal";
0651                                 local-mac-address = [00 00 00 00 00 00];
0652                         };
0653 
0654                         port@5 {
0655                                 reg = <5>;
0656                                 label = "cpu";
0657                                 ethernet = <&fec1>;
0658                                 phy-mode = "rgmii-id";
0659 
0660                                 fixed-link {
0661                                         speed = <1000>;
0662                                         full-duplex;
0663                                 };
0664                         };
0665                 };
0666         };
0667 
0668         crypto@60 {
0669                 compatible = "atmel,atecc508a";
0670                 reg = <0x60>;
0671         };
0672 };
0673 
0674 &i2c4 {
0675         clock-frequency = <400000>;
0676         pinctrl-names = "default";
0677         pinctrl-0 = <&pinctrl_i2c4>;
0678         status = "okay";
0679 };
0680 
0681 &pcie_phy {
0682         fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
0683         fsl,clkreq-unsupported;
0684         clocks = <&pcie0_refclk>;
0685         clock-names = "ref";
0686         status = "okay";
0687 };
0688 
0689 &pcie0 {
0690         pinctrl-names = "default";
0691         pinctrl-0 = <&pinctrl_pcie0>;
0692         reset-gpio = <&gpio5 2 GPIO_ACTIVE_LOW>;
0693         clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>,
0694                  <&pcie0_refclk>;
0695         clock-names = "pcie", "pcie_aux", "pcie_bus";
0696         assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
0697                           <&clk IMX8MM_CLK_PCIE1_CTRL>;
0698         assigned-clock-rates = <10000000>, <250000000>;
0699         assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
0700                                  <&clk IMX8MM_SYS_PLL2_250M>;
0701         status = "okay";
0702 };
0703 
0704 &pgc_gpu {
0705         status = "disabled";
0706 };
0707 
0708 &pgc_gpumix {
0709         status = "disabled";
0710 };
0711 
0712 &pgc_mipi {
0713         status = "disabled";
0714 };
0715 
0716 &uart1 {
0717         pinctrl-names = "default";
0718         pinctrl-0 = <&pinctrl_uart1>, <&pinctrl_uart1_gpio>;
0719         rts-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
0720         cts-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
0721         dtr-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
0722         dsr-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
0723         dcd-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
0724         uart-has-rtscts;
0725         status = "okay";
0726 };
0727 
0728 /* console */
0729 &uart2 {
0730         pinctrl-names = "default";
0731         pinctrl-0 = <&pinctrl_uart2>;
0732         status = "okay";
0733 };
0734 
0735 &uart3 {
0736         pinctrl-names = "default";
0737         pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
0738         cts-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
0739         rts-gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;
0740         uart-has-rtscts;
0741         status = "okay";
0742 };
0743 
0744 &uart4 {
0745         pinctrl-names = "default";
0746         pinctrl-0 = <&pinctrl_uart4>, <&pinctrl_uart4_gpio>;
0747         cts-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
0748         rts-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
0749         uart-has-rtscts;
0750         status = "okay";
0751 };
0752 
0753 &usbotg1 {
0754         dr_mode = "host";
0755         disable-over-current;
0756         status = "okay";
0757 };
0758 
0759 &usbotg2 {
0760         dr_mode = "host";
0761         vbus-supply = <&reg_usb2_vbus>;
0762         status = "okay";
0763 };
0764 
0765 /* SDIO WiFi */
0766 &usdhc1 {
0767         pinctrl-names = "default";
0768         pinctrl-0 = <&pinctrl_usdhc1>;
0769         bus-width = <4>;
0770         non-removable;
0771         vmmc-supply = <&reg_wifi>;
0772         status = "okay";
0773 };
0774 
0775 /* microSD */
0776 &usdhc2 {
0777         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0778         pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0779         pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
0780         pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
0781         cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
0782         bus-width = <4>;
0783         vmmc-supply = <&reg_3p3v>;
0784         status = "okay";
0785 };
0786 
0787 /* eMMC */
0788 &usdhc3 {
0789         pinctrl-names = "default", "state_100mhz", "state_200mhz";
0790         pinctrl-0 = <&pinctrl_usdhc3>;
0791         pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
0792         pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
0793         bus-width = <8>;
0794         non-removable;
0795         status = "okay";
0796 };
0797 
0798 &wdog1 {
0799         pinctrl-names = "default";
0800         pinctrl-0 = <&pinctrl_wdog>;
0801         fsl,ext-reset-output;
0802         status = "okay";
0803 };
0804 
0805 &iomuxc {
0806         pinctrl-names = "default";
0807         pinctrl-0 = <&pinctrl_hog>;
0808 
0809         pinctrl_hog: hoggrp {
0810                 fsl,pins = <
0811                         MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3         0x40000041 /* DIG2_OUT */
0812                         MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4         0x40000041 /* DIG2_IN */
0813                         MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6       0x40000041 /* DIG1_IN */
0814                         MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7       0x40000041 /* DIG1_OUT */
0815                         MX8MM_IOMUXC_SAI3_RXD_GPIO4_IO30        0x40000041 /* SIM2DET# */
0816                         MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29        0x40000041 /* SIM1DET# */
0817                         MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5    0x40000041 /* SIM2SEL */
0818                 >;
0819         };
0820 
0821         pinctrl_fec1: fec1grp {
0822                 fsl,pins = <
0823                         MX8MM_IOMUXC_ENET_MDC_ENET1_MDC                 0x3
0824                         MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO               0x3
0825                         MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3           0x1f
0826                         MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2           0x1f
0827                         MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1           0x1f
0828                         MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0           0x1f
0829                         MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3           0x91
0830                         MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2           0x91
0831                         MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1           0x91
0832                         MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0           0x91
0833                         MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC           0x1f
0834                         MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC           0x91
0835                         MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL     0x91
0836                         MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL     0x1f
0837                         MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18               0x19 /* IRQ# */
0838                         MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19               0x19 /* RST# */
0839                 >;
0840         };
0841 
0842         pinctrl_gsc: gscgrp {
0843                 fsl,pins = <
0844                         MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16       0x159
0845                 >;
0846         };
0847 
0848         pinctrl_i2c1: i2c1grp {
0849                 fsl,pins = <
0850                         MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL          0x400001c3
0851                         MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA          0x400001c3
0852                 >;
0853         };
0854 
0855         pinctrl_i2c2: i2c2grp {
0856                 fsl,pins = <
0857                         MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL          0x400001c3
0858                         MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA          0x400001c3
0859                 >;
0860         };
0861 
0862         pinctrl_i2c3: i2c3grp {
0863                 fsl,pins = <
0864                         MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL          0x400001c3
0865                         MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA          0x400001c3
0866                 >;
0867         };
0868 
0869         pinctrl_i2c4: i2c4grp {
0870                 fsl,pins = <
0871                         MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL          0x400001c3
0872                         MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA          0x400001c3
0873                 >;
0874         };
0875 
0876         pinctrl_ksz: kszgrp {
0877                 fsl,pins = <
0878                         MX8MM_IOMUXC_SAI1_TXD6_GPIO4_IO18       0x41
0879                         MX8MM_IOMUXC_SAI1_TXD7_GPIO4_IO19       0x41 /* RST# */
0880                 >;
0881         };
0882 
0883         pinctrl_pcie0: pciegrp {
0884                 fsl,pins = <
0885                         MX8MM_IOMUXC_SAI3_TXFS_GPIO4_IO31       0x40000041 /* WDIS# */
0886                         MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2        0x41
0887                 >;
0888         };
0889 
0890         pinctrl_pmic: pmicgrp {
0891                 fsl,pins = <
0892                         MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20        0x41
0893                 >;
0894         };
0895 
0896         pinctrl_reg_isouart: regisouartgrp {
0897                 fsl,pins = <
0898                         MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13      0x40000041
0899                 >;
0900         };
0901 
0902         pinctrl_reg_ioexp: regioexpgrp {
0903                 fsl,pins = <
0904                         MX8MM_IOMUXC_SAI2_RXFS_GPIO4_IO21       0x40000041
0905                 >;
0906         };
0907 
0908         pinctrl_reg_wl: regwlgrp {
0909                 fsl,pins = <
0910                         MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25       0x40000041
0911                 >;
0912         };
0913 
0914         pinctrl_reg_usb2: regusb1grp {
0915                 fsl,pins = <
0916                         MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2        0x41
0917                         MX8MM_IOMUXC_SAI1_TXD5_GPIO4_IO17       0x140
0918                         MX8MM_IOMUXC_GPIO1_IO15_USB2_OTG_OC     0x140
0919                 >;
0920         };
0921 
0922         pinctrl_spi1: spi1grp {
0923                 fsl,pins = <
0924                         MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK    0x82
0925                         MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI    0x82
0926                         MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO    0x82
0927                         MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9       0x140
0928                 >;
0929         };
0930 
0931         pinctrl_uart1: uart1grp {
0932                 fsl,pins = <
0933                         MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX     0x140
0934                         MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX     0x140
0935                         MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1       0x140
0936                         MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10      0x140
0937                         MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11      0x140
0938                         MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12      0x140
0939                         MX8MM_IOMUXC_GPIO1_IO14_GPIO1_IO14      0x140
0940                 >;
0941         };
0942 
0943         pinctrl_uart1_gpio: uart1gpiogrp {
0944                 fsl,pins = <
0945                         MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0       0x40000041 /* RS422# */
0946                         MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3       0x40000041 /* RS485# */
0947                         MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5       0x40000041 /* RS232# */
0948                 >;
0949         };
0950 
0951         pinctrl_uart2: uart2grp {
0952                 fsl,pins = <
0953                         MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
0954                         MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
0955                 >;
0956         };
0957 
0958         pinctrl_uart3: uart3grp {
0959                 fsl,pins = <
0960                         MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX     0x140
0961                         MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX     0x140
0962                         MX8MM_IOMUXC_SAI1_RXD7_GPIO4_IO9        0x140
0963                         MX8MM_IOMUXC_SAI1_TXFS_GPIO4_IO10       0x140
0964                 >;
0965         };
0966 
0967         pinctrl_uart3_gpio: uart3gpiogrp {
0968                 fsl,pins = <
0969                         MX8MM_IOMUXC_SAI1_RXD4_GPIO4_IO6        0x40000110 /* RS232# */
0970                         MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7        0x40000110 /* RS422# */
0971                         MX8MM_IOMUXC_SAI1_RXD6_GPIO4_IO8        0x40000110 /* RS485# */
0972                 >;
0973         };
0974 
0975         pinctrl_uart4: uart4grp {
0976                 fsl,pins = <
0977                         MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX     0x140
0978                         MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX     0x140
0979                         MX8MM_IOMUXC_ECSPI2_MOSI_GPIO5_IO11     0x140
0980                         MX8MM_IOMUXC_ECSPI2_MISO_GPIO5_IO12     0x140
0981                 >;
0982         };
0983 
0984         pinctrl_uart4_gpio: uart4gpiogrp {
0985                 fsl,pins = <
0986 
0987                         MX8MM_IOMUXC_ECSPI2_SCLK_GPIO5_IO10     0x40000041 /* RS232# */
0988                         MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13      0x40000041 /* RS422# */
0989                         MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27       0x40000041 /* RS485# */
0990                 >;
0991         };
0992 
0993         pinctrl_usdhc1: usdhc1grp {
0994                 fsl,pins = <
0995                         MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK         0x190
0996                         MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD         0x1d0
0997                         MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0     0x1d0
0998                         MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1     0x1d0
0999                         MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2     0x1d0
1000                         MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3     0x1d0
1001                 >;
1002         };
1003 
1004         pinctrl_usdhc2: usdhc2grp {
1005                 fsl,pins = <
1006                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK         0x190
1007                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD         0x1d0
1008                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d0
1009                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d0
1010                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d0
1011                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d0
1012                 >;
1013         };
1014 
1015         pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
1016                 fsl,pins = <
1017                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK         0x194
1018                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD         0x1d4
1019                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d4
1020                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d4
1021                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d4
1022                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d4
1023                 >;
1024         };
1025 
1026         pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
1027                 fsl,pins = <
1028                         MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK         0x196
1029                         MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD         0x1d6
1030                         MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0     0x1d6
1031                         MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1     0x1d6
1032                         MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2     0x1d6
1033                         MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3     0x1d6
1034                 >;
1035         };
1036 
1037         pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
1038                 fsl,pins = <
1039                         MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12        0x1c4
1040                         MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT  0x1d0
1041                 >;
1042         };
1043 
1044         pinctrl_usdhc3: usdhc3grp {
1045                 fsl,pins = <
1046                         MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK       0x190
1047                         MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD       0x1d0
1048                         MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0   0x1d0
1049                         MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1   0x1d0
1050                         MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2   0x1d0
1051                         MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3   0x1d0
1052                         MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4     0x1d0
1053                         MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5    0x1d0
1054                         MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6    0x1d0
1055                         MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7      0x1d0
1056                         MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE   0x190
1057                 >;
1058         };
1059 
1060         pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
1061                 fsl,pins = <
1062                         MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK       0x194
1063                         MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD       0x1d4
1064                         MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0   0x1d4
1065                         MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1   0x1d4
1066                         MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2   0x1d4
1067                         MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3   0x1d4
1068                         MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4     0x1d4
1069                         MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5    0x1d4
1070                         MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6    0x1d4
1071                         MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7      0x1d4
1072                         MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE   0x194
1073                 >;
1074         };
1075 
1076         pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
1077                 fsl,pins = <
1078                         MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK       0x196
1079                         MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD       0x1d6
1080                         MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0   0x1d6
1081                         MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1   0x1d6
1082                         MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2   0x1d6
1083                         MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3   0x1d6
1084                         MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4     0x1d6
1085                         MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5    0x1d6
1086                         MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6    0x1d6
1087                         MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7      0x1d6
1088                         MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE   0x196
1089                 >;
1090         };
1091 
1092         pinctrl_wdog: wdoggrp {
1093                 fsl,pins = <
1094                         MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B    0xc6
1095                 >;
1096         };
1097 };