Merge tag 'arm-dt-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 May 2022 17:28:12 +0000 (10:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 26 May 2022 17:28:12 +0000 (10:28 -0700)
Pull ARM DT updates from Arnd Bergmann:
 "There are 40 branches this time, adding a lot of new hardware support,
  and cleanups. Krzysztof Kozlowski continues his treewide cleanups.

  There are a number of new SoCs, all of them as part of existing
  families, and typically added along with a reference board:

   - Renesas RZ/G2UL (R9A07G043) is the single-core version of the
     RZ/G2L general-purpose MPU.

   - Renesas RZ/V2M (R9A09G011) is a smart camera SoC

   - Renesas R-Car V4H (R8A779G0) is an automotive chip with Cortex-A76
     cores and deep learning accerlation.

   - Broadcom BCM47622 is a new broadband SoC based on a quad Cortex-A7
     and dual Wifi-6.

   - Corstone1000 is a generic platform from Arm that is used for
     designing custom SoCs, the support for now is for the Fixed Virtual
     Platform emulation for it.

   - Mediatek MT8195 (Kompanio 1200) is a high-end consumer chip used in
     upcoming Chromebooks.

   - NXP i.MXRT1050 is a Cortex-M7 based microcontroller, the first
     MMU-less SoC to be added in a while

  New machines based on already supported SoCs this time are mainly for
  32-bit platforms and include:

   - Two wireless routers based on Broadcom bcm4708

   - 30 new boards based on NXP i.MX6, i.MX7 and i.MX8 families, mostly
     for the industrial embedded market, and on NXP LS1021A based IOT
     board.

   - Two ethernet switches based on Microchip LAN966

   - Eight Qualcomm Snapdragon based machines, including a smartwatch, a
     Chromebook board and some phones

   - Another phone based on the old ST-Ericsson Ux500 platform

   - Seven STM32MP1 based boards

   - Four single-board computers based on Rockchip RK3566/RK3568"

* tag 'arm-dt-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (791 commits)
  ARM: dts: kswitch-d10: enable networking
  ARM: dts: lan966x: add switch node
  ARM: dts: lan966x: add serdes node
  ARM: dts: lan966x: add reset switch reset node
  ARM: dts: lan966x: add MIIM nodes
  ARM: dts: lan966x: add hwmon node
  ARM: dts: lan966x: add basic Kontron KSwitch D10 support
  ARM: dts: lan966x: add flexcom I2C nodes
  ARM: dts: lan966x: add flexcom SPI nodes
  ARM: dts: lan966x: add all flexcom usart nodes
  ARM: dts: lan966x: add missing uart DMA channel
  ARM: dts: lan966x: add sgpio node
  ARM: dts: lan966x: swap dma channels for crypto node
  ARM: dts: lan966x: rename pinctrl nodes
  ARM: dts: at91: sama7g5: remove interrupt-parent from gic node
  ARM: dts: at91: use generic node name for dataflash
  ARM: dts: turris-omnia: Add atsha204a node
  arm64: dts: mt8192: Follow binding order for SCP registers
  arm64: dts: mediatek: add mtk-snfi for mt7622
  arm64: dts: mediatek: mt8195-demo: enable uart1
  ...

20 files changed:
1  2 
Documentation/devicetree/bindings/net/wireless/silabs,wfx.yaml
Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml
Documentation/devicetree/bindings/vendor-prefixes.yaml
arch/arm/boot/dts/imx6qdl-aristainetos2.dtsi
arch/arm/boot/dts/imx6ul-phytec-segin-peb-av-02.dtsi
arch/arm/boot/dts/imx6ull-colibri.dtsi
arch/arm/boot/dts/logicpd-som-lv.dtsi
arch/arm/boot/dts/qcom-ipq8064.dtsi
arch/arm/boot/dts/sama7g5.dtsi
arch/arm64/boot/dts/amlogic/meson-s4.dtsi
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx.dtsi
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx.dtsi
arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx.dtsi
arch/arm64/boot/dts/freescale/imx8mn.dtsi
arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts
arch/arm64/boot/dts/mediatek/mt7622.dtsi
arch/arm64/boot/dts/qcom/msm8996.dtsi
arch/arm64/boot/dts/qcom/sc7180-trogdor-pompom.dtsi
arch/arm64/boot/dts/qcom/sm8250.dtsi
arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts

index f5a531738d935a23c3800ecac9278e77b97bc053,0000000000000000000000000000000000000000..76199a67d6282b4dc5e7ce7a26388280aa04d66e
mode 100644,000000..100644
--- /dev/null
@@@ -1,137 -1,0 +1,138 @@@
 +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 +# Copyright (c) 2020, Silicon Laboratories, Inc.
 +%YAML 1.2
 +---
 +
 +$id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#
 +$schema: http://devicetree.org/meta-schemas/core.yaml#
 +
 +title: Silicon Labs WFxxx devicetree bindings
 +
 +maintainers:
 +  - Jérôme Pouiller <jerome.pouiller@silabs.com>
 +
 +description: >
 +  Support for the Wifi chip WFxxx from Silicon Labs. Currently, the only device
 +  from the WFxxx series is the WF200 described here:
 +     https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
 +
 +  The WF200 can be connected via SPI or via SDIO.
 +
 +  For SDIO:
 +
 +    Declaring the WFxxx chip in device tree is mandatory (usually, the VID/PID is
 +    sufficient for the SDIO devices).
 +
 +    It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without
 +    it, you may encounter issues during reboot. The mmc-pwrseq should be
 +    compatible with mmc-pwrseq-simple. Please consult
 +    Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more
 +    information.
 +
 +  For SPI:
 +
 +    In add of the properties below, please consult
 +    Documentation/devicetree/bindings/spi/spi-controller.yaml for optional SPI
 +    related properties.
 +
 +properties:
 +  compatible:
 +    items:
 +      - enum:
++          - prt,prtt1c-wfm200 # Protonic PRTT1C Board
 +          - silabs,brd4001a # WGM160P Evaluation Board
 +          - silabs,brd8022a # WF200 Evaluation Board
 +          - silabs,brd8023a # WFM200 Evaluation Board
 +      - const: silabs,wf200 # Chip alone without antenna
 +
 +  reg:
 +    description:
 +      When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is
 +      the chip select address of the device as defined in the SPI devices
 +      bindings.
 +    maxItems: 1
 +
 +  spi-max-frequency: true
 +
 +  interrupts:
 +    description: The interrupt line. Should be IRQ_TYPE_EDGE_RISING. When SPI is
 +      used, this property is required. When SDIO is used, the "in-band"
 +      interrupt provided by the SDIO bus is used unless an interrupt is defined
 +      in the Device Tree.
 +    maxItems: 1
 +
 +  reset-gpios:
 +    description: (SPI only) Phandle of gpio that will be used to reset chip
 +      during probe. Without this property, you may encounter issues with warm
 +      boot.
 +
 +      For SDIO, the reset gpio should declared using a mmc-pwrseq.
 +    maxItems: 1
 +
 +  wakeup-gpios:
 +    description: Phandle of gpio that will be used to wake-up chip. Without this
 +      property, driver will disable most of power saving features.
 +    maxItems: 1
 +
 +  silabs,antenna-config-file:
 +    $ref: /schemas/types.yaml#/definitions/string
 +    description: Use an alternative file for antenna configuration (aka
 +      "Platform Data Set" in Silabs jargon). Default depends of "compatible"
 +      string. For "silabs,wf200", the default is 'wf200.pds'.
 +
 +  local-mac-address: true
 +
 +  mac-address: true
 +
 +additionalProperties: false
 +
 +required:
 +  - compatible
 +  - reg
 +
 +examples:
 +  - |
 +    #include <dt-bindings/gpio/gpio.h>
 +    #include <dt-bindings/interrupt-controller/irq.h>
 +
 +    spi {
 +        #address-cells = <1>;
 +        #size-cells = <0>;
 +
 +        wifi@0 {
 +            compatible = "silabs,brd8022a", "silabs,wf200";
 +            pinctrl-names = "default";
 +            pinctrl-0 = <&wfx_irq &wfx_gpios>;
 +            reg = <0>;
 +            interrupts-extended = <&gpio 16 IRQ_TYPE_EDGE_RISING>;
 +            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
 +            reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 +            spi-max-frequency = <42000000>;
 +        };
 +    };
 +
 +  - |
 +    #include <dt-bindings/gpio/gpio.h>
 +    #include <dt-bindings/interrupt-controller/irq.h>
 +
 +    wfx_pwrseq: wfx_pwrseq {
 +        compatible = "mmc-pwrseq-simple";
 +        pinctrl-names = "default";
 +        pinctrl-0 = <&wfx_reset>;
 +        reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
 +    };
 +
 +    mmc {
 +        mmc-pwrseq = <&wfx_pwrseq>;
 +        #address-cells = <1>;
 +        #size-cells = <0>;
 +
 +        wifi@1 {
 +            compatible = "silabs,brd8022a", "silabs,wf200";
 +            pinctrl-names = "default";
 +            pinctrl-0 = <&wfx_wakeup>;
 +            reg = <1>;
 +            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
 +        };
 +    };
 +...
index 76c417990f122d8da4efad5f472d4e7f36490968,72039401af3d113bb9452ee10fb7ca3744c9ad80..8d56bedd3390f43598f7c10c4579c0e4ca5a5543
@@@ -10,11 -10,9 +10,11 @@@ maintainers
    - Geert Uytterhoeven <geert+renesas@glider.be>
    - Magnus Damm <magnus.damm@gmail.com>
  
 -description:
 +description: |
    The R-Car (RZ/G) System Controller provides power management for the CPU
    cores and various coprocessors.
 +  The power domain IDs for consumers are defined in header files::
 +  include/dt-bindings/power/r8*-sysc.h
  
  properties:
    compatible:
@@@ -44,6 -42,7 +44,7 @@@
        - renesas,r8a77995-sysc # R-Car D3
        - renesas,r8a779a0-sysc # R-Car V3U
        - renesas,r8a779f0-sysc # R-Car S4-8
+       - renesas,r8a779g0-sysc # R-Car V4H
  
    reg:
      maxItems: 1
@@@ -66,3 -65,14 +67,3 @@@ examples
              reg = <0xe6180000 0x0200>;
              #power-domain-cells = <1>;
      };
 -
 -  - |
 -    // Power Domain consumers
 -    #include <dt-bindings/power/r8a7791-sysc.h>
 -
 -    cache-controller-0 {
 -            compatible = "cache";
 -            power-domains = <&sysc R8A7791_PD_CA15_SCU>;
 -            cache-unified;
 -            cache-level = <2>;
 -    };
index 44508b20a4d71f6fa6a6704165f8d34b6dcefabc,0206bb14c1dfd7c0e9a7d5e7a4a98b467919e37a..495a01ced97e6b55b0212e358cba2c852a7666df
@@@ -283,8 -283,6 +283,8 @@@ patternProperties
      description: Shenzen Chuangsiqi Technology Co.,Ltd.
    "^ctera,.*":
      description: CTERA Networks Intl.
 +  "^ctu,.*":
 +    description: Czech Technical University in Prague
    "^cubietech,.*":
      description: Cubietech, Ltd.
    "^cui,.*":
      description: Empire Electronix
    "^emtrion,.*":
      description: emtrion GmbH
 +  "^enclustra,.*":
 +    description: Enclustra GmbH
    "^endless,.*":
      description: Endless Mobile, Inc.
    "^ene,.*":
      description: Sensirion AG
    "^sensortek,.*":
      description: Sensortek Technology Corporation
 +  "^sercomm,.*":
 +    description: Sercomm (Suzhou) Corporation
    "^sff,.*":
      description: Small Form Factor Committee
    "^sgd,.*":
      description: Sinlinx Electronics Technology Co., LTD
    "^sinovoip,.*":
      description: SinoVoip Co., Ltd
 +  "^sinowealth,.*":
 +    description: SINO WEALTH Electronic Ltd.
    "^sipeed,.*":
      description: Shenzhen Sipeed Technology Co., Ltd.
    "^sirf,.*":
      description: StorLink Semiconductors, Inc.
    "^storm,.*":
      description: Storm Semiconductor, Inc.
+   "^storopack,.*":
+     description: Storopack
    "^summit,.*":
      description: Summit microelectronics
    "^sunchip,.*":
index 0b90c3f59f8987a0521a7a97246b25cecc2cd12a,2ba577e602e7f8565212355da42148a7b73545e3..6b64b2fc3995b8524b41ba5108a3990d6800fe8c
        pinctrl-0 = <&pinctrl_ecspi4>;
        status = "okay";
  
-       flash: m25p80@1 {
+       flash: flash@1 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "micron,n25q128a11", "jedec,spi-nor";
                regulators {
                        bcore1 {
                                regulator-name = "bcore1";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        bcore2 {
                                regulator-name = "bcore2";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        bpro {
                                regulator-name = "bpro";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        bperi {
                                regulator-name = "bperi";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        bmem {
                                regulator-name = "bmem";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo2 {
                                regulator-name = "ldo2";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <1800000>;
                        };
  
                        ldo3 {
                                regulator-name = "ldo3";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo4 {
                                regulator-name = "ldo4";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo5 {
                                regulator-name = "ldo5";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo6 {
                                regulator-name = "ldo6";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo7 {
                                regulator-name = "ldo7";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo8 {
                                regulator-name = "ldo8";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo9 {
                                regulator-name = "ldo9";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo10 {
                                regulator-name = "ldo10";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        ldo11 {
                                regulator-name = "ldo11";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <300000>;
                                regulator-max-microvolt = <3300000>;
                        };
  
                        bio {
                                regulator-name = "bio";
 -                              regulator-always-on = <1>;
 +                              regulator-always-on;
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                        };
index 205e4d4627028c3ec5e71851799f740fb2b36c8e,6ce534a896ef951cea39cc6980d44ad1d071e40d..ec042648bd98f4b73a03e059e6452e63a328ab33
@@@ -11,7 -11,7 +11,7 @@@
                brightness-levels = <0 4 8 16 32 64 128 255>;
                default-brightness-level = <5>;
                power-supply = <&reg_backlight_en>;
-               pwms = <&pwm3 0 5000000>;
+               pwms = <&pwm3 0 5000000 0>;
                status = "disabled";
        };
  
@@@ -72,8 -72,8 +72,8 @@@
                        st,settling = <2>;
                        st,fraction-z = <7>;
                        st,i-drive = <1>;
 -                      touchscreen-inverted-x = <1>;
 -                      touchscreen-inverted-y = <1>;
 +                      touchscreen-inverted-x;
 +                      touchscreen-inverted-y;
                };
        };
  };
@@@ -91,7 -91,6 +91,6 @@@
  };
  
  &pwm3 {
-       #pwm-cells = <2>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm3>;
        status = "disabled";
index 951a2a6c5a65783db36e66124ea1f7dd0d71c48a,15ebabcacfc50f5c9ed8fc4a2dcaac66f381ac5e..15621e03fa4d46f6f269744d78cb691ffcc216e3
@@@ -1,22 -1,54 +1,54 @@@
- // SPDX-License-Identifier: GPL-2.0+ OR MIT
+ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  /*
-  * Copyright 2018-2021 Toradex
+  * Copyright 2018-2022 Toradex
   */
  
  #include "imx6ull.dtsi"
  
  / {
+       /* Ethernet aliases to ensure correct MAC addresses */
        aliases {
                ethernet0 = &fec2;
                ethernet1 = &fec1;
        };
  
-       bl: backlight {
+       backlight: backlight {
                compatible = "pwm-backlight";
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+               enable-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_gpio_bl_on>;
-               enable-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
-               status = "disabled";
+               power-supply = <&reg_3v3>;
+               pwms = <&pwm4 0 5000000 1>;
+               status = "okay";
+       };
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_snvs_gpiokeys>;
+               wakeup {
+                       debounce-interval = <10>;
+                       gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; /* SODIMM 45 */
+                       label = "Wake-Up";
+                       linux,code = <KEY_WAKEUP>;
+                       wakeup-source;
+               };
+       };
+       panel_dpi: panel-dpi {
+               compatible = "edt,et057090dhu";
+               backlight = <&backlight>;
+               power-supply = <&reg_3v3>;
+               status = "okay";
+               port {
+                       lcd_panel_in: endpoint {
+                               remote-endpoint = <&lcdif_out>;
+                       };
+               };
        };
  
        reg_module_3v3: regulator-module-3v3 {
@@@ -35,9 -67,9 +67,9 @@@
                regulator-max-microvolt = <3300000>;
        };
  
-       reg_sd1_vmmc: regulator-sd1-vmmc {
+       reg_sd1_vqmmc: regulator-sd1-vqmmc {
                compatible = "regulator-gpio";
 -              gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
 +              gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_snvs_reg_sd>;
                regulator-always-on;
                states = <1800000 0x1 3300000 0x0>;
                vin-supply = <&reg_module_3v3>;
        };
+       reg_eth_phy: regulator-eth-phy {
+               compatible = "regulator-fixed-clock";
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-name = "+V3.3_ETH";
+               regulator-type = "voltage";
+               vin-supply = <&reg_module_3v3>;
+               clocks = <&clks IMX6UL_CLK_ENET2_REF_125M>;
+               startup-delay-us = <150000>;
+       };
  };
  
  &adc1 {
        num-channels = <10>;
        vref-supply = <&reg_module_3v3_avdd>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_adc1>;
  };
  
  &can1 {
        pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
  };
  
+ /* Ethernet */
  &fec2 {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&pinctrl_enet2>;
        pinctrl-1 = <&pinctrl_enet2_sleep>;
        phy-mode = "rmii";
        phy-handle = <&ethphy1>;
+       phy-supply = <&reg_eth_phy>;
        status = "okay";
  
        mdio {
        };
  };
  
+ /* NAND */
  &gpmi {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_gpmi_nand>;
+       fsl,use-minimum-ecc;
        nand-on-flash-bbt;
        nand-ecc-mode = "hw";
        nand-ecc-strength = <8>;
        status = "okay";
  };
  
+ /* I2C3_SDA/SCL on SODIMM 194/196 (e.g. RTC on carrier board) */
  &i2c1 {
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c1>;
        pinctrl-1 = <&pinctrl_i2c1_gpio>;
        sda-gpios = <&gpio1 29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        scl-gpios = <&gpio1 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+       status = "okay";
+       /* Atmel maxtouch controller */
+       atmel_mxt_ts: touchscreen@4a {
+               compatible = "atmel,maxtouch";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_atmel_conn>;
+               reg = <0x4a>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <4 IRQ_TYPE_EDGE_FALLING>;       /* SODIMM 107 / INT */
+               reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;    /* SODIMM 106 / RST */
+               status = "disabled";
+       };
  };
  
+ /*
+  * PWR_I2C: power I2C to audio codec, PMIC, temperature sensor and
+  * touch screen controller
+  */
  &i2c2 {
+       /* Use low frequency to compensate for the high pull-up values. */
+       clock-frequency = <40000>;
        pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c2>;
        pinctrl-1 = <&pinctrl_i2c2_gpio>;
        scl-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        status = "okay";
  
-       ad7879@2c {
+       ad7879_ts: touchscreen@2c {
                compatible = "adi,ad7879-1";
                pinctrl-names = "default";
                pinctrl-0 = <&pinctrl_snvs_ad7879_int>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_lcdif_dat
                     &pinctrl_lcdif_ctrl>;
+       port {
+               lcdif_out: endpoint {
+                       remote-endpoint = <&lcd_panel_in>;
+               };
+       };
  };
  
+ /* PWM <A> */
  &pwm4 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm4>;
  };
  
+ /* PWM <B> */
  &pwm5 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm5>;
  };
  
+ /* PWM <C> */
  &pwm6 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm6>;
  };
  
+ /* PWM <D> */
  &pwm7 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm7>;
        status = "disabled";
  };
  
+ /* Colibri UART_A */
  &uart1 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>;
        fsl,dte-mode;
  };
  
+ /* Colibri UART_B */
  &uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        fsl,dte-mode;
  };
  
+ /* Colibri UART_C */
  &uart5 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart5>;
        fsl,dte-mode;
  };
  
+ /* Colibri USBC */
  &usbotg1 {
        dr_mode = "otg";
        srp-disable;
        adp-disable;
  };
  
+ /* Colibri USBH */
  &usbotg2 {
        dr_mode = "host";
  };
  
+ /* Colibri MMC/SD */
  &usdhc1 {
+       pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
+       pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
+       pinctrl-1 = <&pinctrl_usdhc1_100mhz &pinctrl_snvs_usdhc1_cd>;
+       pinctrl-2 = <&pinctrl_usdhc1_200mhz &pinctrl_snvs_usdhc1_cd>;
+       pinctrl-3 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd_sleep>;
        assigned-clocks = <&clks IMX6UL_CLK_USDHC1_SEL>, <&clks IMX6UL_CLK_USDHC1>;
        assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
        assigned-clock-rates = <0>, <198000000>;
+       bus-width = <4>;
+       cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; /* MMC_CD */
+       disable-wp;
+       keep-power-in-suspend;
+       no-1-8-v;
+       vqmmc-supply = <&reg_sd1_vqmmc>;
+       wakeup-source;
  };
  
  &wdog1 {
  };
  
  &iomuxc {
-       pinctrl_can_int: canint-grp {
+       pinctrl_adc1: adc1grp {
+               fsl,pins = <
+                       MX6UL_PAD_GPIO1_IO00__GPIO1_IO00        0x3000 /* SODIMM 8 */
+                       MX6UL_PAD_GPIO1_IO01__GPIO1_IO01        0x3000 /* SODIMM 6 */
+                       MX6UL_PAD_GPIO1_IO08__GPIO1_IO08        0x3000 /* SODIMM 4 */
+                       MX6UL_PAD_GPIO1_IO09__GPIO1_IO09        0x3000 /* SODIMM 2 */
+               >;
+       };
+       pinctrl_atmel_adap: atmeladapgrp {
+               fsl,pins = <
+                       MX6UL_PAD_NAND_DQS__GPIO4_IO16          0xb0a0  /* SODIMM 28 */
+                       MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05       0xb0a0  /* SODIMM 30 */
+               >;
+       };
+       pinctrl_atmel_conn: atmelconngrp {
+               fsl,pins = <
+                       MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0xb0a0  /* SODIMM 106 */
+                       MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04     0xb0a0  /* SODIMM 107 */
+               >;
+       };
+       pinctrl_can_int: canintgrp {
                fsl,pins = <
                        MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04    0x13010 /* SODIMM 73 */
                >;
        };
  
-       pinctrl_enet2: enet2-grp {
+       pinctrl_enet2: enet2grp {
                fsl,pins = <
                        MX6UL_PAD_GPIO1_IO06__ENET2_MDIO        0x1b0b0
                        MX6UL_PAD_GPIO1_IO07__ENET2_MDC         0x1b0b0
                >;
        };
  
-       pinctrl_enet2_sleep: enet2sleepgrp {
+       pinctrl_enet2_sleep: enet2-sleepgrp {
                fsl,pins = <
                        MX6UL_PAD_GPIO1_IO06__GPIO1_IO06        0x0
                        MX6UL_PAD_GPIO1_IO07__GPIO1_IO07        0x0
                >;
        };
  
-       pinctrl_ecspi1_cs: ecspi1-cs-grp {
+       pinctrl_ecspi1_cs: ecspi1csgrp {
                fsl,pins = <
                        MX6UL_PAD_LCD_DATA21__GPIO3_IO26        0x70a0  /* SODIMM 86 */
                >;
        };
  
-       pinctrl_ecspi1: ecspi1-grp {
+       pinctrl_ecspi1: ecspi1grp {
                fsl,pins = <
                        MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK       0x000a0 /* SODIMM 88 */
                        MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI       0x000a0 /* SODIMM 92 */
                >;
        };
  
-       pinctrl_flexcan1: flexcan1-grp {
+       pinctrl_flexcan1: flexcan1grp {
                fsl,pins = <
                        MX6UL_PAD_ENET1_RX_DATA0__FLEXCAN1_TX   0x1b020
                        MX6UL_PAD_ENET1_RX_DATA1__FLEXCAN1_RX   0x1b020
                >;
        };
  
-       pinctrl_flexcan2: flexcan2-grp {
+       pinctrl_flexcan2: flexcan2grp {
                fsl,pins = <
                        MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX   0x1b020
                        MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX      0x1b020
                >;
        };
  
-       pinctrl_gpio_bl_on: gpio-bl-on-grp {
+       pinctrl_gpio_bl_on: gpioblongrp {
                fsl,pins = <
                        MX6UL_PAD_JTAG_TMS__GPIO1_IO11          0x30a0  /* SODIMM 71 */
                >;
        };
  
-       pinctrl_gpio1: gpio1-grp {
+       pinctrl_gpio1: gpio1grp {
                fsl,pins = <
                        MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25     0x10b0 /* SODIMM 77 */
                        MX6UL_PAD_JTAG_TCK__GPIO1_IO14          0x70a0 /* SODIMM 99 */
                >;
        };
  
-       pinctrl_gpio2: gpio2-grp { /* Camera */
+       pinctrl_gpio2: gpio2grp { /* Camera */
                fsl,pins = <
                        MX6UL_PAD_CSI_DATA04__GPIO4_IO25        0x10b0 /* SODIMM 69 */
                        MX6UL_PAD_CSI_MCLK__GPIO4_IO17          0x10b0 /* SODIMM 75 */
                >;
        };
  
-       pinctrl_gpio3: gpio3-grp { /* CAN2 */
+       pinctrl_gpio3: gpio3grp { /* CAN2 */
                fsl,pins = <
                        MX6UL_PAD_ENET1_RX_EN__GPIO2_IO02       0x10b0 /* SODIMM 178 */
                        MX6UL_PAD_ENET1_TX_DATA0__GPIO2_IO03    0x10b0 /* SODIMM 188 */
                >;
        };
  
-       pinctrl_gpio4: gpio4-grp {
+       pinctrl_gpio4: gpio4grp {
                fsl,pins = <
                        MX6UL_PAD_CSI_DATA07__GPIO4_IO28        0x10b0 /* SODIMM 65 */
                >;
        };
  
-       pinctrl_gpio5: gpio5-grp { /* ATMEL MXT TOUCH */
-               fsl,pins = <
-                       MX6UL_PAD_JTAG_MOD__GPIO1_IO10          0xb0a0 /* SODIMM 106 */
-               >;
-       };
-       pinctrl_gpio6: gpio6-grp { /* Wifi pins */
+       pinctrl_gpio6: gpio6grp { /* Wifi pins */
                fsl,pins = <
                        MX6UL_PAD_GPIO1_IO03__GPIO1_IO03        0x10b0 /* SODIMM 89 */
                        MX6UL_PAD_CSI_DATA02__GPIO4_IO23        0x10b0 /* SODIMM 79 */
                >;
        };
  
-       pinctrl_gpio7: gpio7-grp { /* CAN1 */
+       pinctrl_gpio7: gpio7grp { /* CAN1 */
                fsl,pins = <
                        MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00    0xb0b0/* SODIMM 55 */
                        MX6UL_PAD_ENET1_RX_DATA1__GPIO2_IO01    0xb0b0 /* SODIMM 63 */
  
        /*
         * With an eMMC instead of a raw NAND device the following pins
-        * are available at SODIMM pins
+        * are available at SODIMM pins.
         */
-       pinctrl_gpmi_gpio: gpmi-gpio-grp {
+       pinctrl_gpmi_gpio: gpmigpiogrp {
                fsl,pins = <
                        MX6UL_PAD_NAND_ALE__GPIO4_IO10          0x10b0 /* SODIMM 140 */
                        MX6UL_PAD_NAND_CE0_B__GPIO4_IO13        0x10b0 /* SODIMM 144 */
                >;
        };
  
-       pinctrl_gpmi_nand: gpmi-nand-grp {
+       pinctrl_gpmi_nand: gpminandgrp {
                fsl,pins = <
                        MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00   0x100a9
                        MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01   0x100a9
                >;
        };
  
-       pinctrl_i2c1: i2c1-grp {
+       pinctrl_i2c1: i2c1grp {
                fsl,pins = <
                        MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0    /* SODIMM 196 */
                        MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0    /* SODIMM 194 */
                >;
        };
  
-       pinctrl_i2c1_gpio: i2c1-gpio-grp {
+       pinctrl_i2c1_gpio: i2c1-gpiogrp {
                fsl,pins = <
                        MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x4001b8b0  /* SODIMM 196 */
                        MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x4001b8b0  /* SODIMM 194 */
                >;
        };
  
-       pinctrl_i2c2: i2c2-grp {
+       pinctrl_i2c2: i2c2grp {
                fsl,pins = <
-                       MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
-                       MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
+                       MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001f8b0
+                       MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001f8b0
                >;
        };
  
-       pinctrl_i2c2_gpio: i2c2-gpio-grp {
+       pinctrl_i2c2_gpio: i2c2-gpiogrp {
                fsl,pins = <
-                       MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x4001b8b0
-                       MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x4001b8b0
+                       MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x4001f8b0
+                       MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x4001f8b0
                >;
        };
  
-       pinctrl_lcdif_dat: lcdif-dat-grp {
+       pinctrl_lcdif_dat: lcdifdatgrp {
                fsl,pins = <
                        MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x00079      /* SODIMM 76 */
                        MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x00079      /* SODIMM 70 */
                >;
        };
  
-       pinctrl_lcdif_ctrl: lcdif-ctrl-grp {
+       pinctrl_lcdif_ctrl: lcdifctrlgrp {
                fsl,pins = <
                        MX6UL_PAD_LCD_CLK__LCDIF_CLK        0x00079     /* SODIMM 56 */
                        MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE  0x00079     /* SODIMM 44 */
                >;
        };
  
-       pinctrl_pwm4: pwm4-grp {
+       pinctrl_pwm4: pwm4grp {
                fsl,pins = <
                        MX6UL_PAD_NAND_WP_B__PWM4_OUT   0x00079         /* SODIMM 59 */
                >;
        };
  
-       pinctrl_pwm5: pwm5-grp {
+       pinctrl_pwm5: pwm5grp {
                fsl,pins = <
                        MX6UL_PAD_NAND_DQS__PWM5_OUT    0x00079         /* SODIMM 28 */
                >;
        };
  
-       pinctrl_pwm6: pwm6-grp {
+       pinctrl_pwm6: pwm6grp {
                fsl,pins = <
                        MX6UL_PAD_ENET1_TX_EN__PWM6_OUT 0x00079         /* SODIMM 30 */
                >;
        };
  
-       pinctrl_pwm7: pwm7-grp {
+       pinctrl_pwm7: pwm7grp {
                fsl,pins = <
                        MX6UL_PAD_ENET1_TX_CLK__PWM7_OUT        0x00079 /* SODIMM 67 */
                >;
        };
  
-       pinctrl_uart1: uart1-grp {
+       pinctrl_uart1: uart1grp {
                fsl,pins = <
                        MX6UL_PAD_UART1_TX_DATA__UART1_DTE_RX   0x1b0b1 /* SODIMM 33 */
                        MX6UL_PAD_UART1_RX_DATA__UART1_DTE_TX   0x1b0b1 /* SODIMM 35 */
                >;
        };
  
-       pinctrl_uart1_ctrl1: uart1-ctrl1-grp { /* Additional DTR, DCD */
+       pinctrl_uart1_ctrl1: uart1ctrl1grp { /* Additional DTR, DCD */
                fsl,pins = <
-                       MX6UL_PAD_JTAG_TDI__GPIO1_IO13          0x70a0 /* SODIMM 31 */
-                       MX6UL_PAD_LCD_DATA18__GPIO3_IO23        0x10b0 /* SODIMM 29 */
-                       MX6UL_PAD_JTAG_TDO__GPIO1_IO12          0x90b1 /* SODIMM 23 */
-                       MX6UL_PAD_LCD_DATA19__GPIO3_IO24        0x10b0 /* SODIMM 37 */
+                       MX6UL_PAD_JTAG_TDI__GPIO1_IO13          0x70a0 /* SODIMM 31 / DCD */
+                       MX6UL_PAD_LCD_DATA18__GPIO3_IO23        0x10b0 /* SODIMM 29 / DSR */
+                       MX6UL_PAD_JTAG_TDO__GPIO1_IO12          0x90b1 /* SODIMM 23 / DTR */
+                       MX6UL_PAD_LCD_DATA19__GPIO3_IO24        0x10b0 /* SODIMM 37 / RI */
                >;
        };
  
-       pinctrl_uart2: uart2-grp {
+       pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX6UL_PAD_UART2_TX_DATA__UART2_DTE_RX   0x1b0b1 /* SODIMM 36 */
                        MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX   0x1b0b1 /* SODIMM 38 */
                        MX6UL_PAD_UART2_RTS_B__UART2_DTE_CTS    0x1b0b1 /* SODIMM 34 */
                >;
        };
-       pinctrl_uart5: uart5-grp {
+       pinctrl_uart5: uart5grp {
                fsl,pins = <
                        MX6UL_PAD_GPIO1_IO04__UART5_DTE_RX      0x1b0b1 /* SODIMM 19 */
                        MX6UL_PAD_GPIO1_IO05__UART5_DTE_TX      0x1b0b1 /* SODIMM 21 */
                >;
        };
  
-       pinctrl_usbh_reg: gpio-usbh-reg {
+       pinctrl_usbh_reg: usbhreggrp {
                fsl,pins = <
-                       MX6UL_PAD_GPIO1_IO02__GPIO1_IO02        0x10b0 /* SODIMM 129 */
+                       MX6UL_PAD_GPIO1_IO02__GPIO1_IO02        0x10b0 /* SODIMM 129 / USBH_PEN */
                >;
        };
  
-       pinctrl_usdhc1: usdhc1-grp {
+       pinctrl_usdhc1: usdhc1grp {
                fsl,pins = <
-                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x17059 /* SODIMM 47 */
-                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x10059 /* SODIMM 190 */
+                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x10059 /* SODIMM 47 */
+                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x17059 /* SODIMM 190 */
                        MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x17059 /* SODIMM 192 */
                        MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x17059 /* SODIMM 49 */
                        MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x17059 /* SODIMM 51 */
                >;
        };
  
-       pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
+       pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
                fsl,pins = <
-                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x170b9
-                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x100b9
+                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x100b9
+                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x170b9
                        MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x170b9
                        MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x170b9
                        MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x170b9
                >;
        };
  
-       pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
+       pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
                fsl,pins = <
-                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x170f9
-                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x100f9
-                       MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x170b9
-                       MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x170b9
-                       MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x170b9
-                       MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x170b9
+                       MX6UL_PAD_SD1_CLK__USDHC1_CLK           0x100f9
+                       MX6UL_PAD_SD1_CMD__USDHC1_CMD           0x170f9
+                       MX6UL_PAD_SD1_DATA0__USDHC1_DATA0       0x170f9
+                       MX6UL_PAD_SD1_DATA1__USDHC1_DATA1       0x170f9
+                       MX6UL_PAD_SD1_DATA2__USDHC1_DATA2       0x170f9
+                       MX6UL_PAD_SD1_DATA3__USDHC1_DATA3       0x170f9
                >;
        };
  
-       pinctrl_usdhc2: usdhc2-grp {
+       pinctrl_usdhc2: usdhc2grp {
                fsl,pins = <
                        MX6UL_PAD_CSI_DATA00__USDHC2_DATA0      0x17069
                        MX6UL_PAD_CSI_DATA01__USDHC2_DATA1      0x17069
                        MX6UL_PAD_CSI_DATA02__USDHC2_DATA2      0x17069
                        MX6UL_PAD_CSI_DATA03__USDHC2_DATA3      0x17069
                        MX6UL_PAD_CSI_HSYNC__USDHC2_CMD         0x17069
-                       MX6UL_PAD_CSI_VSYNC__USDHC2_CLK         0x17069
+                       MX6UL_PAD_CSI_VSYNC__USDHC2_CLK         0x10069
  
                        MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT    0x10
                >;
                >;
        };
  
-       pinctrl_wdog: wdog-grp {
+       pinctrl_wdog: wdoggrp {
                fsl,pins = <
                        MX6UL_PAD_LCD_RESET__WDOG1_WDOG_ANY    0x30b0
                >;
  };
  
  &iomuxc_snvs {
-       pinctrl_snvs_gpio1: snvs-gpio1-grp {
+       pinctrl_snvs_gpio1: snvsgpio1grp {
                fsl,pins = <
                        MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06     0x110a0 /* SODIMM 93 */
                        MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03     0x110a0 /* SODIMM 95 */
                        MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10       0x1b0a0 /* SODIMM 105 */
-                       MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05     0x0b0a0 /* SODIMM 131 */
+                       MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05     0x0b0a0 /* SODIMM 131 / USBH_OC */
                        MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08     0x110a0 /* SODIMM 138 */
                >;
        };
  
-       pinctrl_snvs_gpio2: snvs-gpio2-grp { /* ATMEL MXT TOUCH */
-               fsl,pins = <
-                       MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04     0xb0a0  /* SODIMM 107 */
-               >;
-       };
-       pinctrl_snvs_gpio3: snvs-gpio3-grp { /* Wifi pins */
+       pinctrl_snvs_gpio3: snvsgpio3grp { /* Wifi pins */
                fsl,pins = <
                        MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11       0x130a0 /* SODIMM 127 */
                >;
        };
  
-       pinctrl_snvs_ad7879_int: snvs-ad7879-int-grp { /* TOUCH Interrupt */
+       pinctrl_snvs_ad7879_int: snvsad7879intgrp { /* TOUCH Interrupt */
                fsl,pins = <
                        MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07     0x100b0
                >;
        };
  
-       pinctrl_snvs_reg_sd: snvs-reg-sd-grp {
+       pinctrl_snvs_reg_sd: snvsregsdgrp {
                fsl,pins = <
                        MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09     0x400100b0
                >;
        };
  
-       pinctrl_snvs_usbc_det: snvs-usbc-det-grp {
+       pinctrl_snvs_usbc_det: snvsusbcdetgrp {
                fsl,pins = <
                        MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02     0x130b0
                >;
        };
  
-       pinctrl_snvs_gpiokeys: snvs-gpiokeys-grp {
+       pinctrl_snvs_gpiokeys: snvsgpiokeysgrp {
                fsl,pins = <
-                       MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01     0x130a0 /* SODIMM 45 */
+                       MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01     0x130a0 /* SODIMM 45 / WAKE_UP */
                >;
        };
  
-       pinctrl_snvs_usdhc1_cd: snvs-usdhc1-cd-grp {
+       pinctrl_snvs_usdhc1_cd: snvsusdhc1cdgrp {
                fsl,pins = <
-                       MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00     0x1b0a0 /* SODIMM 43 */
+                       MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00     0x1b0a0 /* SODIMM 43 / MMC_CD */
                >;
        };
  
-       pinctrl_snvs_usdhc1_sleep_cd: snvs-usdhc1-cd-grp-slp {
+       pinctrl_snvs_usdhc1_cd_sleep: snvsusdhc1cd-sleepgrp {
                fsl,pins = <
                        MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00     0x0
                >;
        };
  
-       pinctrl_snvs_wifi_pdn: snvs-wifi-pdn-grp {
+       pinctrl_snvs_wifi_pdn: snvswifipdngrp {
                fsl,pins = <
                        MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11       0x130a0
                >;
index 55b619c99e24d67ce8fa11ff53b003a6019a206b,5475e5de3d787c1ac0574cddc2490a9ee79cced7..9ba0ea4eb48a8e43efa44ff1233657187fc579fa
@@@ -27,6 -27,8 +27,8 @@@
  
        /* HS USB Host PHY on PORT 1 */
        hsusb2_phy: hsusb2_phy {
+               pinctrl-names = "default";
+               pinctrl-0 = <&hsusb2_reset_pin>;
                compatible = "usb-nop-xceiv";
                reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* gpio_4 */
                #phy-cells = <0>;
  };
  
  &usbhshost {
+       pinctrl-names = "default";
+       pinctrl-0 = <&hsusb2_pins>;
        port2-mode = "ehci-phy";
  };
  
        phys = <0 &hsusb2_phy>;
  };
  
  &omap3_pmx_core {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb2_pins>;
  
        mmc3_pins: pinmux_mm3_pins {
                pinctrl-single,pins = <
  };
  
  &omap3_pmx_wkup {
-       pinctrl-names = "default";
-       pinctrl-0 = <&hsusb2_reset_pin>;
        hsusb2_reset_pin: pinmux_hsusb1_reset_pin {
                pinctrl-single,pins = <
                        OMAP3_WKUP_IOPAD(0x2a0e, PIN_OUTPUT | MUX_MODE4)        /* sys_boot2.gpio_4 */
        };
  };
  
 -&omap3_pmx_core2 {
 -      pinctrl-names = "default";
 -      pinctrl-0 = <&hsusb2_2_pins>;
 -      hsusb2_2_pins: pinmux_hsusb2_2_pins {
 -              pinctrl-single,pins = <
 -                      OMAP3630_CORE2_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)            /* etk_d10.hsusb2_clk */
 -                      OMAP3630_CORE2_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)            /* etk_d11.hsusb2_stp */
 -                      OMAP3630_CORE2_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d12.hsusb2_dir */
 -                      OMAP3630_CORE2_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d13.hsusb2_nxt */
 -                      OMAP3630_CORE2_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d14.hsusb2_data0 */
 -                      OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d15.hsusb2_data1 */
 -              >;
 -      };
 -};
 -
  &uart2 {
        interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
        pinctrl-names = "default";
index 8cb04aa8ed2fe9ab0f2cc122cdc72f6c3f484169,5b0ce39d2d18ae522e20a1bddbba04ba36c7388a..808ea18622835a8a6afdbaea2da6bb46f4ffac21
        };
  
        clocks {
-               cxo_board {
+               cxo_board: cxo_board {
                        compatible = "fixed-clock";
                        #clock-cells = <0>;
                        clock-frequency = <25000000>;
                };
  
-               pxo_board {
+               pxo_board: pxo_board {
                        compatible = "fixed-clock";
                        #clock-cells = <0>;
                        clock-frequency = <25000000>;
                };
  
                gcc: clock-controller@900000 {
-                       compatible = "qcom,gcc-ipq8064";
+                       compatible = "qcom,gcc-ipq8064", "syscon";
+                       clocks = <&pxo_board>, <&cxo_board>;
+                       clock-names = "pxo", "cxo";
                        reg = <0x00900000 0x4000>;
                        #clock-cells = <1>;
                        #reset-cells = <1>;
  
                        snps,axi-config = <&stmmac_axi_setup>;
                        snps,pbl = <32>;
 -                      snps,aal = <1>;
 +                      snps,aal;
  
                        qcom,nss-common = <&nss_common>;
                        qcom,qsgmii-csr = <&qsgmii_csr>;
  
                        snps,axi-config = <&stmmac_axi_setup>;
                        snps,pbl = <32>;
 -                      snps,aal = <1>;
 +                      snps,aal;
  
                        qcom,nss-common = <&nss_common>;
                        qcom,qsgmii-csr = <&qsgmii_csr>;
  
                        snps,axi-config = <&stmmac_axi_setup>;
                        snps,pbl = <32>;
 -                      snps,aal = <1>;
 +                      snps,aal;
  
                        qcom,nss-common = <&nss_common>;
                        qcom,qsgmii-csr = <&qsgmii_csr>;
  
                        snps,axi-config = <&stmmac_axi_setup>;
                        snps,pbl = <32>;
 -                      snps,aal = <1>;
 +                      snps,aal;
  
                        qcom,nss-common = <&nss_common>;
                        qcom,qsgmii-csr = <&qsgmii_csr>;
                        regulator-always-on;
                };
  
-               sdcc1bam: dma@12402000 {
+               sdcc1bam: dma-controller@12402000 {
                        compatible = "qcom,bam-v1.3.0";
                        reg = <0x12402000 0x8000>;
                        interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
                        qcom,ee = <0>;
                };
  
-               sdcc3bam: dma@12182000 {
+               sdcc3bam: dma-controller@12182000 {
                        compatible = "qcom,bam-v1.3.0";
                        reg = <0x12182000 0x8000>;
                        interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
index f691c8f08d0477830ca225670347db8c883ce74e,5cb9bd2ca5e8210e88fcb29069886803b4327caf..b6326312969283998164ec6255c63a70597292e4
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
                                atmel,fifo-size = <32>;
 -                              dmas = <&dma0 AT91_XDMAC_DT_PERID(7)>,
 -                                      <&dma0 AT91_XDMAC_DT_PERID(8)>;
 -                              dma-names = "rx", "tx";
 +                              dmas = <&dma0 AT91_XDMAC_DT_PERID(8)>,
 +                                      <&dma0 AT91_XDMAC_DT_PERID(7)>;
 +                              dma-names = "tx", "rx";
                                status = "disabled";
                        };
                };
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 46>;
                                atmel,fifo-size = <32>;
 -                              dmas = <&dma0 AT91_XDMAC_DT_PERID(21)>,
 -                                      <&dma0 AT91_XDMAC_DT_PERID(22)>;
 -                              dma-names = "rx", "tx";
 +                              dmas = <&dma0 AT91_XDMAC_DT_PERID(22)>,
 +                                      <&dma0 AT91_XDMAC_DT_PERID(21)>;
 +                              dma-names = "tx", "rx";
                                status = "disabled";
                        };
                };
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
                                atmel,fifo-size = <32>;
 -                              dmas = <&dma0 AT91_XDMAC_DT_PERID(23)>,
 -                                      <&dma0 AT91_XDMAC_DT_PERID(24)>;
 -                              dma-names = "rx", "tx";
 +                              dmas = <&dma0 AT91_XDMAC_DT_PERID(24)>,
 +                                      <&dma0 AT91_XDMAC_DT_PERID(23)>;
 +                              dma-names = "tx", "rx";
                                status = "disabled";
                        };
                };
                        #interrupt-cells = <3>;
                        #address-cells = <0>;
                        interrupt-controller;
-                       interrupt-parent;
                        reg = <0xe8c11000 0x1000>,
                                <0xe8c12000 0x2000>;
                };
index 480afa2cc61f5b3d656f725c2d4c274328e4d991,2e45a8ecd9a0e57f74e37bfc6e749d96341318f3..ff213618a5983cf9fc4859b372728dc3df7179fe
@@@ -5,6 -5,7 +5,7 @@@
  
  #include <dt-bindings/interrupt-controller/irq.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/gpio/gpio.h>
  
  / {
        cpus {
  
                cpu0: cpu@0 {
                        device_type = "cpu";
 -                      compatible = "arm,cortex-a35","arm,armv8";
 +                      compatible = "arm,cortex-a35";
                        reg = <0x0 0x0>;
                        enable-method = "psci";
                };
  
                cpu1: cpu@1 {
                        device_type = "cpu";
 -                      compatible = "arm,cortex-a35","arm,armv8";
 +                      compatible = "arm,cortex-a35";
                        reg = <0x0 0x1>;
                        enable-method = "psci";
                };
  
                cpu2: cpu@2 {
                        device_type = "cpu";
 -                      compatible = "arm,cortex-a35","arm,armv8";
 +                      compatible = "arm,cortex-a35";
                        reg = <0x0 0x2>;
                        enable-method = "psci";
                };
  
                cpu3: cpu@3 {
                        device_type = "cpu";
 -                      compatible = "arm,cortex-a35","arm,armv8";
 +                      compatible = "arm,cortex-a35";
                        reg = <0x0 0x3>;
                        enable-method = "psci";
                };
                #clock-cells = <0>;
        };
  
+       pwrc: power-controller {
+               compatible = "amlogic,meson-s4-pwrc";
+               #power-domain-cells = <1>;
+               status = "okay";
+       };
        soc {
                compatible = "simple-bus";
                #address-cells = <2>;
                        #size-cells = <2>;
                        ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>;
  
+                       periphs_pinctrl: pinctrl@4000 {
+                               compatible = "amlogic,meson-s4-periphs-pinctrl";
+                               #address-cells = <2>;
+                               #size-cells = <2>;
+                               ranges;
+                               gpio: bank@4000 {
+                                       reg = <0x0 0x4000 0x0 0x004c>,
+                                             <0x0 0x40c0 0x0 0x0220>;
+                                       reg-names = "mux", "gpio";
+                                       gpio-controller;
+                                       #gpio-cells = <2>;
+                                       gpio-ranges = <&periphs_pinctrl 0 0 82>;
+                               };
+                       };
+                       gpio_intc: interrupt-controller@4080 {
+                               compatible = "amlogic,meson-s4-gpio-intc",
+                                            "amlogic,meson-gpio-intc";
+                               reg = <0x0 0x4080 0x0 0x20>;
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                               amlogic,channel-interrupts =
+                                       <10 11 12 13 14 15 16 17 18 19 20 21>;
+                       };
                        uart_B: serial@7a000 {
                                compatible = "amlogic,meson-s4-uart",
                                             "amlogic,meson-ao-uart";
index cce55c3c5df01295b9a417e7b8a327edf3124e89,337f2600a2764209185820cc3a15f8e087c7112e..c557dbf4dcd609e22f879ef8b41e5b5c4d14909e
        fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
        fsl,clkreq-unsupported;
        clocks = <&pcie0_refclk>;
+       clock-names = "ref";
        status = "okay";
  };
  
  
  &usbotg1 {
        dr_mode = "otg";
 +      over-current-active-low;
        vbus-supply = <&reg_usb_otg1_vbus>;
        status = "okay";
  };
  
  &usbotg2 {
        dr_mode = "host";
 +      disable-over-current;
        status = "okay";
  };
  
                fsl,pins = <
                        MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
                        MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI    0xd6
 -                      MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
 +                      MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO    0xd6
                        MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13      0xd6
                >;
        };
index f61e4847fa49e399d144c8ac1feaf6350dea6d57,8b0ef3fa543fa867d115f0d67476eb63b66430d2..41d0de6a7027bbecf44e8f73e603c30d6bff0df8
        fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
        fsl,clkreq-unsupported;
        clocks = <&pcie0_refclk>;
+       clock-names = "ref";
        status = "okay";
  };
  
  
  &usbotg1 {
        dr_mode = "otg";
 +      over-current-active-low;
        vbus-supply = <&reg_usb_otg1_vbus>;
        status = "okay";
  };
  
  &usbotg2 {
        dr_mode = "host";
 +      disable-over-current;
        vbus-supply = <&reg_usb_otg2_vbus>;
        status = "okay";
  };
                fsl,pins = <
                        MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
                        MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI    0xd6
 -                      MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
 +                      MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO    0xd6
                        MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13      0xd6
                >;
        };
index 02361964896615ac4ce7315db171890c1e522896,2561b8b3fb110e7347edb3d1004b7e93d9194488..244ef8d6cc688ccd0211820df60bf65e4b1320ce
        fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
        fsl,clkreq-unsupported;
        clocks = <&pcie0_refclk>;
+       clock-names = "ref";
        status = "okay";
  };
  
        pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_bten>;
        cts-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
        rts-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
+       uart-has-rtscts;
        status = "okay";
  
        bluetooth {
  
  &usbotg1 {
        dr_mode = "otg";
 +      over-current-active-low;
        vbus-supply = <&reg_usb_otg1_vbus>;
        status = "okay";
  };
  
  &usbotg2 {
        dr_mode = "host";
 +      disable-over-current;
        vbus-supply = <&reg_usb_otg2_vbus>;
        status = "okay";
  };
                fsl,pins = <
                        MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
                        MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI    0xd6
 -                      MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK    0xd6
 +                      MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO    0xd6
                        MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13      0xd6
                >;
        };
index 5c0ca249056159c95e0156a7d0560b8f6e658198,176abe8fe659d7b57ee0c577fca9689e7ed66ed1..e41e1d56f980d511e2ddfa58a9e7b6c31fb432ee
                                ranges;
  
                                sai2: sai@30020000 {
 -                                      compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
 +                                      compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
                                        reg = <0x30020000 0x10000>;
                                        interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clk IMX8MN_CLK_SAI2_IPG>,
                                };
  
                                sai3: sai@30030000 {
 -                                      compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
 +                                      compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
                                        reg = <0x30030000 0x10000>;
                                        interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clk IMX8MN_CLK_SAI3_IPG>,
                                };
  
                                sai5: sai@30050000 {
 -                                      compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
 +                                      compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
                                        reg = <0x30050000 0x10000>;
                                        interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clk IMX8MN_CLK_SAI5_IPG>,
                                };
  
                                sai6: sai@30060000 {
 -                                      compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
 +                                      compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
                                        reg = <0x30060000  0x10000>;
                                        interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clk IMX8MN_CLK_SAI6_IPG>,
                                };
  
                                sai7: sai@300b0000 {
 -                                      compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
 +                                      compatible = "fsl,imx8mn-sai", "fsl,imx8mq-sai";
                                        reg = <0x300b0000 0x10000>;
                                        interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
                                        clocks = <&clk IMX8MN_CLK_SAI7_IPG>,
                                clocks = <&clk IMX8MN_CLK_PWM1_ROOT>,
                                        <&clk IMX8MN_CLK_PWM1_ROOT>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
  
                                clocks = <&clk IMX8MN_CLK_PWM2_ROOT>,
                                         <&clk IMX8MN_CLK_PWM2_ROOT>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
  
                                clocks = <&clk IMX8MN_CLK_PWM3_ROOT>,
                                         <&clk IMX8MN_CLK_PWM3_ROOT>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
  
                                clocks = <&clk IMX8MN_CLK_PWM4_ROOT>,
                                         <&clk IMX8MN_CLK_PWM4_ROOT>;
                                clock-names = "ipg", "per";
-                               #pwm-cells = <2>;
+                               #pwm-cells = <3>;
                                status = "disabled";
                        };
  
                        };
  
                        usdhc1: mmc@30b40000 {
-                               compatible = "fsl,imx8mn-usdhc", "fsl,imx7d-usdhc";
+                               compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
                                reg = <0x30b40000 0x10000>;
                                interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
                        };
  
                        usdhc2: mmc@30b50000 {
-                               compatible = "fsl,imx8mn-usdhc", "fsl,imx7d-usdhc";
+                               compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
                                reg = <0x30b50000 0x10000>;
                                interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
                        };
  
                        usdhc3: mmc@30b60000 {
-                               compatible = "fsl,imx8mn-usdhc", "fsl,imx7d-usdhc";
+                               compatible = "fsl,imx8mn-usdhc", "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
                                reg = <0x30b60000 0x10000>;
                                interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clk IMX8MN_CLK_IPG_ROOT>,
index 98c9a3265446dcc614a4c49cf7418eed9dc96f2b,d665f742a7d53230317339baa7b8261aa9ec84be..caf9c8529fcafcc4e6dfe6dac63fc147b7b24a2e
        assigned-clock-parents = <&tbg 1>;
        assigned-clock-rates = <20000000>;
  
-       spi-flash@0 {
+       flash@0 {
                #address-cells = <1>;
                #size-cells = <1>;
                compatible = "jedec,spi-nor";
        /* switch nodes are enabled by U-Boot if modules are present */
        switch0@10 {
                compatible = "marvell,mv88e6190";
 -              reg = <0x10 0>;
 +              reg = <0x10>;
                dsa,member = <0 0>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_PERIDOT(0)>;
  
        switch0@2 {
                compatible = "marvell,mv88e6085";
 -              reg = <0x2 0>;
 +              reg = <0x2>;
                dsa,member = <0 0>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_TOPAZ>;
  
        switch1@11 {
                compatible = "marvell,mv88e6190";
 -              reg = <0x11 0>;
 +              reg = <0x11>;
                dsa,member = <0 1>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_PERIDOT(1)>;
  
        switch1@2 {
                compatible = "marvell,mv88e6085";
 -              reg = <0x2 0>;
 +              reg = <0x2>;
                dsa,member = <0 1>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_TOPAZ>;
  
        switch2@12 {
                compatible = "marvell,mv88e6190";
 -              reg = <0x12 0>;
 +              reg = <0x12>;
                dsa,member = <0 2>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_PERIDOT(2)>;
  
        switch2@2 {
                compatible = "marvell,mv88e6085";
 -              reg = <0x2 0>;
 +              reg = <0x2>;
                dsa,member = <0 2>;
                interrupt-parent = <&moxtet>;
                interrupts = <MOXTET_IRQ_TOPAZ>;
index f232f8baf4e8d215ffaf7b3f2a1bf3eebd47117a,9768523fe4c30209a5a7f59dfdb98a0182fd0bc1..dbcee8b4d8d8f8f9a2f7b5453b3774568a9a0643
@@@ -80,6 -80,7 +80,7 @@@
                        enable-method = "psci";
                        clock-frequency = <1300000000>;
                        cci-control-port = <&cci_control2>;
+                       next-level-cache = <&L2>;
                };
  
                cpu1: cpu@1 {
                        enable-method = "psci";
                        clock-frequency = <1300000000>;
                        cci-control-port = <&cci_control2>;
+                       next-level-cache = <&L2>;
+               };
+               L2: l2-cache {
+                       compatible = "cache";
+                       cache-level = <2>;
                };
        };
  
                };
  
                cci_control2: slave-if@5000 {
 -                      compatible = "arm,cci-400-ctrl-if";
 +                      compatible = "arm,cci-400-ctrl-if", "syscon";
                        interface-type = "ace";
                        reg = <0x5000 0x1000>;
                };
                status = "disabled";
        };
  
+       snfi: spi@1100d000 {
+               compatible = "mediatek,mt7622-snand";
+               reg = <0 0x1100d000 0 0x1000>;
+               interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
+               clocks = <&pericfg CLK_PERI_NFI_PD>, <&pericfg CLK_PERI_SNFI_PD>;
+               clock-names = "nfi_clk", "pad_clk";
+               nand-ecc-engine = <&bch>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "disabled";
+       };
        bch: ecc@1100e000 {
                compatible = "mediatek,mt7622-ecc";
                reg = <0 0x1100e000 0 0x1000>;
                };
        };
  
 +      hifsys: syscon@1af00000 {
 +              compatible = "mediatek,mt7622-hifsys", "syscon";
 +              reg = <0 0x1af00000 0 0x70>;
 +      };
 +
        ethsys: syscon@1b000000 {
                compatible = "mediatek,mt7622-ethsys",
                             "syscon";
                clock-names = "hsdma";
                power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
                #dma-cells = <1>;
+               dma-requests = <3>;
        };
  
 +      pcie_mirror: pcie-mirror@10000400 {
 +              compatible = "mediatek,mt7622-pcie-mirror",
 +                           "syscon";
 +              reg = <0 0x10000400 0 0x10>;
 +      };
 +
 +      wed0: wed@1020a000 {
 +              compatible = "mediatek,mt7622-wed",
 +                           "syscon";
 +              reg = <0 0x1020a000 0 0x1000>;
 +              interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_LOW>;
 +      };
 +
 +      wed1: wed@1020b000 {
 +              compatible = "mediatek,mt7622-wed",
 +                           "syscon";
 +              reg = <0 0x1020b000 0 0x1000>;
 +              interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_LOW>;
 +      };
 +
        eth: ethernet@1b100000 {
                compatible = "mediatek,mt7622-eth",
                             "mediatek,mt2701-eth",
                power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
                mediatek,ethsys = <&ethsys>;
                mediatek,sgmiisys = <&sgmiisys>;
 +              cci-control-port = <&cci_control2>;
 +              mediatek,wed = <&wed0>, <&wed1>;
 +              mediatek,pcie-mirror = <&pcie_mirror>;
 +              mediatek,hifsys = <&hifsys>;
 +              dma-coherent;
                #address-cells = <1>;
                #size-cells = <0>;
                status = "disabled";
index b9a48cfd760faf2382f6498777563762732a8c55,9d993f25046a1ab93e17260591245b50492a35a8..205af7b479a829117a5aa57820311833df784ff2
                #size-cells = <2>;
                ranges;
  
-               mba_region: mba@91500000 {
-                       reg = <0x0 0x91500000 0x0 0x200000>;
+               hyp_mem: memory@85800000 {
+                       reg = <0x0 0x85800000 0x0 0x600000>;
                        no-map;
                };
  
-               slpi_region: slpi@90b00000 {
-                       reg = <0x0 0x90b00000 0x0 0xa00000>;
+               xbl_mem: memory@85e00000 {
+                       reg = <0x0 0x85e00000 0x0 0x200000>;
                        no-map;
                };
  
-               venus_region: venus@90400000 {
-                       reg = <0x0 0x90400000 0x0 0x700000>;
+               smem_mem: smem-mem@86000000 {
+                       reg = <0x0 0x86000000 0x0 0x200000>;
                        no-map;
                };
  
-               adsp_region: adsp@8ea00000 {
-                       reg = <0x0 0x8ea00000 0x0 0x1a00000>;
+               tz_mem: memory@86200000 {
+                       reg = <0x0 0x86200000 0x0 0x2600000>;
                        no-map;
                };
  
-               mpss_region: mpss@88800000 {
-                       reg = <0x0 0x88800000 0x0 0x6200000>;
+               rmtfs_mem: rmtfs {
+                       compatible = "qcom,rmtfs-mem";
+                       size = <0x0 0x200000>;
+                       alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
                        no-map;
+                       qcom,client-id = <1>;
+                       qcom,vmid = <15>;
                };
  
-               smem_mem: smem-mem@86000000 {
-                       reg = <0x0 0x86000000 0x0 0x200000>;
+               mpss_mem: mpss@88800000 {
+                       reg = <0x0 0x88800000 0x0 0x6200000>;
                        no-map;
                };
  
-               memory@85800000 {
-                       reg = <0x0 0x85800000 0x0 0x800000>;
+               adsp_mem: adsp@8ea00000 {
+                       reg = <0x0 0x8ea00000 0x0 0x1b00000>;
                        no-map;
                };
  
-               memory@86200000 {
-                       reg = <0x0 0x86200000 0x0 0x2600000>;
+               slpi_mem: slpi@90500000 {
+                       reg = <0x0 0x90500000 0x0 0xa00000>;
                        no-map;
                };
  
-               rmtfs@86700000 {
-                       compatible = "qcom,rmtfs-mem";
-                       size = <0x0 0x200000>;
-                       alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
+               gpu_mem: gpu@90f00000 {
+                       compatible = "shared-dma-pool";
+                       reg = <0x0 0x90f00000 0x0 0x100000>;
                        no-map;
+               };
  
-                       qcom,client-id = <1>;
-                       qcom,vmid = <15>;
+               venus_mem: venus@91000000 {
+                       reg = <0x0 0x91000000 0x0 0x500000>;
+                       no-map;
                };
  
-               zap_shader_region: gpu@8f200000 {
-                       compatible = "shared-dma-pool";
-                       reg = <0x0 0x90b00000 0x0 0xa00000>;
+               mba_mem: mba@91500000 {
+                       reg = <0x0 0x91500000 0x0 0x200000>;
                        no-map;
                };
        };
                        qcom,glink-channels = "rpm_requests";
  
                        rpmcc: qcom,rpmcc {
-                               compatible = "qcom,rpmcc-msm8996";
+                               compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
                                #clock-cells = <1>;
                        };
  
                qcom,local-pid = <0>;
                qcom,remote-pid = <2>;
  
-               smp2p_adsp_out: master-kernel {
+               adsp_smp2p_out: master-kernel {
                        qcom,entry-name = "master-kernel";
                        #qcom,smem-state-cells = <1>;
                };
  
-               smp2p_adsp_in: slave-kernel {
+               adsp_smp2p_in: slave-kernel {
                        qcom,entry-name = "slave-kernel";
  
                        interrupt-controller;
                };
        };
  
-       smp2p-modem {
+       smp2p-mpss {
                compatible = "qcom,smp2p";
                qcom,smem = <435>, <428>;
  
                qcom,local-pid = <0>;
                qcom,remote-pid = <1>;
  
-               modem_smp2p_out: master-kernel {
+               mpss_smp2p_out: master-kernel {
                        qcom,entry-name = "master-kernel";
                        #qcom,smem-state-cells = <1>;
                };
  
-               modem_smp2p_in: slave-kernel {
+               mpss_smp2p_in: slave-kernel {
                        qcom,entry-name = "slave-kernel";
  
                        interrupt-controller;
                qcom,local-pid = <0>;
                qcom,remote-pid = <3>;
  
-               smp2p_slpi_in: slave-kernel {
+               slpi_smp2p_out: master-kernel {
+                       qcom,entry-name = "master-kernel";
+                       #qcom,smem-state-cells = <1>;
+               };
+               slpi_smp2p_in: slave-kernel {
                        qcom,entry-name = "slave-kernel";
                        interrupt-controller;
                        #interrupt-cells = <2>;
                };
-               smp2p_slpi_out: master-kernel {
-                       qcom,entry-name = "master-kernel";
-                       #qcom,smem-state-cells = <1>;
-               };
        };
  
        soc: soc {
                        #thermal-sensor-cells = <1>;
                };
  
-               cryptobam: dma@644000 {
+               cryptobam: dma-controller@644000 {
                        compatible = "qcom,bam-v1.7.0";
                        reg = <0x00644000 0x24000>;
                        interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
                                reg-names = "mdp_phys";
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <0>;
  
                                clocks = <&mmcc MDSS_AHB_CLK>,
                                         <&mmcc MDSS_AXI_CLK>,
                                reg-names = "dsi_ctrl";
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <4>;
  
                                clocks = <&mmcc MDSS_MDP_CLK>,
                                         <&mmcc MDSS_BYTE0_CLK>,
                                            "hdcp_physical";
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <8>;
  
                                clocks = <&mmcc MDSS_MDP_CLK>,
                                         <&mmcc MDSS_AHB_CLK>,
                        };
  
                        zap-shader {
-                               memory-region = <&zap_shader_region>;
+                               memory-region = <&gpu_mem>;
                        };
                };
  
                                pins = "gpio47", "gpio48";
                                function = "blsp_i2c3";
                                drive-strength = <16>;
 -                              bias-disable = <0>;
 +                              bias-disable;
                        };
  
                        blsp1_i2c3_sleep: blsp1-i2c2-sleep {
                                pins = "gpio47", "gpio48";
                                function = "gpio";
                                drive-strength = <2>;
 -                              bias-disable = <0>;
 +                              bias-disable;
                        };
  
                        blsp2_uart3_4pins_default: blsp2-uart2-4pins {
                        ranges;
  
                        pcie0: pcie@600000 {
-                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               compatible = "qcom,pcie-msm8996";
                                status = "disabled";
                                power-domains = <&gcc PCIE0_GDSC>;
                                bus-range = <0x00 0xff>;
                        };
  
                        pcie1: pcie@608000 {
-                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               compatible = "qcom,pcie-msm8996";
                                power-domains = <&gcc PCIE1_GDSC>;
                                bus-range = <0x00 0xff>;
                                num-lanes = <1>;
                        };
  
                        pcie2: pcie@610000 {
-                               compatible = "qcom,pcie-msm8996", "snps,dw-pcie";
+                               compatible = "qcom,pcie-msm8996";
                                power-domains = <&gcc PCIE2_GDSC>;
                                bus-range = <0x00 0xff>;
                                num-lanes = <1>;
                };
  
                ufshc: ufshc@624000 {
-                       compatible = "qcom,ufshc";
+                       compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
+                                    "jedec,ufs-2.0";
                        reg = <0x00624000 0x2500>;
                        interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
  
                                 <&venus_smmu 0x2c>,
                                 <&venus_smmu 0x2d>,
                                 <&venus_smmu 0x31>;
-                       memory-region = <&venus_region>;
+                       memory-region = <&venus_mem>;
                        status = "disabled";
  
                        video-decoder {
                        clock-names = "iface", "bus";
                };
  
+               slpi_pil: remoteproc@1c00000 {
+                       compatible = "qcom,msm8996-slpi-pil";
+                       reg = <0x01c00000 0x4000>;
+                       interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
+                                             <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog",
+                                         "fatal",
+                                         "ready",
+                                         "handover",
+                                         "stop-ack";
+                       clocks = <&xo_board>,
+                                <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
+                       clock-names = "xo", "aggre2";
+                       memory-region = <&slpi_mem>;
+                       qcom,smem-states = <&slpi_smp2p_out 0>;
+                       qcom,smem-state-names = "stop";
+                       power-domains = <&rpmpd MSM8996_VDDSSCX>;
+                       power-domain-names = "ssc_cx";
+                       status = "disabled";
+                       smd-edge {
+                               interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
+                               label = "dsps";
+                               mboxes = <&apcs_glb 25>;
+                               qcom,smd-edge = <3>;
+                               qcom,remote-pid = <3>;
+                       };
+               };
+               mss_pil: remoteproc@2080000 {
+                       compatible = "qcom,msm8996-mss-pil";
+                       reg = <0x2080000 0x100>,
+                             <0x2180000 0x020>;
+                       reg-names = "qdsp6", "rmb";
+                       interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
+                                             <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+                                             <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog", "fatal", "ready",
+                                         "handover", "stop-ack",
+                                         "shutdown-ack";
+                       clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
+                                <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
+                                <&gcc GCC_BOOT_ROM_AHB_CLK>,
+                                <&xo_board>,
+                                <&gcc GCC_MSS_GPLL0_DIV_CLK>,
+                                <&gcc GCC_MSS_SNOC_AXI_CLK>,
+                                <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
+                                <&rpmcc RPM_SMD_PCNOC_CLK>,
+                                <&rpmcc RPM_SMD_QDSS_CLK>;
+                       clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
+                                     "snoc_axi", "mnoc_axi", "pnoc", "qdss";
+                       resets = <&gcc GCC_MSS_RESTART>;
+                       reset-names = "mss_restart";
+                       power-domains = <&rpmpd MSM8996_VDDCX>,
+                                       <&rpmpd MSM8996_VDDMX>;
+                       power-domain-names = "cx", "mx";
+                       qcom,smem-states = <&mpss_smp2p_out 0>;
+                       qcom,smem-state-names = "stop";
+                       qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
+                       status = "disabled";
+                       mba {
+                               memory-region = <&mba_mem>;
+                       };
+                       mpss {
+                               memory-region = <&mpss_mem>;
+                       };
+                       smd-edge {
+                               interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
+                               label = "mpss";
+                               mboxes = <&apcs_glb 12>;
+                               qcom,smd-edge = <0>;
+                               qcom,remote-pid = <1>;
+                       };
+               };
                stm@3002000 {
                        compatible = "arm,coresight-stm", "arm,primecell";
                        reg = <0x3002000 0x1000>,
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x07577000 0x1000>;
                        interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP1_AHB_CLK>,
-                               <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP1_AHB_CLK>;
+                       clock-names = "core", "iface";
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&blsp1_i2c3_default>;
                        pinctrl-1 = <&blsp1_i2c3_sleep>;
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x075b5000 0x1000>;
                        interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
-                               <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&blsp2_i2c1_default>;
                        pinctrl-1 = <&blsp2_i2c1_sleep>;
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x075b6000 0x1000>;
                        interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
-                               <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&blsp2_i2c2_default>;
                        pinctrl-1 = <&blsp2_i2c2_sleep>;
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x075b7000 0x1000>;
                        interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
-                               <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
                        clock-frequency = <400000>;
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&blsp2_i2c3_default>;
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x75b9000 0x1000>;
                        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
-                               <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
                        pinctrl-names = "default";
                        pinctrl-0 = <&blsp2_i2c5_default>;
                        dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
                        compatible = "qcom,i2c-qup-v2.2.1";
                        reg = <0x75ba000 0x1000>;
                        interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&gcc GCC_BLSP2_AHB_CLK>,
-                               <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>;
-                       clock-names = "iface", "core";
+                       clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
+                                <&gcc GCC_BLSP2_AHB_CLK>;
+                       clock-names = "core", "iface";
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&blsp2_i2c6_default>;
                        pinctrl-1 = <&blsp2_i2c6_sleep>;
                        reg = <0x09300000 0x80000>;
  
                        interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
-                                             <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
-                                             <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
-                                             <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
-                                             <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
+                                             <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
                        interrupt-names = "wdog", "fatal", "ready",
                                          "handover", "stop-ack";
  
                        clocks = <&rpmcc RPM_SMD_BB_CLK1>;
                        clock-names = "xo";
  
-                       memory-region = <&adsp_region>;
+                       memory-region = <&adsp_mem>;
  
-                       qcom,smem-states = <&smp2p_adsp_out 0>;
+                       qcom,smem-states = <&adsp_smp2p_out 0>;
                        qcom,smem-state-names = "stop";
  
                        power-domains = <&rpmpd MSM8996_VDDCX>;
index e47c74e513afddec831849f8dd6cddf099631c39,4841d42c8c620ead8a4d07d5916d4dce6cc17bd3..3df4920295ad777ded60d583968802c46817c756
@@@ -5,11 -5,6 +5,6 @@@
   * Copyright 2020 Google LLC.
   */
  
- #include "sc7180.dtsi"
- ap_ec_spi: &spi6 {};
- ap_h1_spi: &spi0 {};
  #include "sc7180-trogdor.dtsi"
  #include "sc7180-trogdor-ti-sn65dsi86.dtsi"
  
  };
  
  &alc5682 {
 -      realtek,dmic-clk-driving-high = "true";
 +      realtek,dmic-clk-driving-high;
  };
  
+ &ap_tp_i2c {
+       status = "okay";
+ };
  &cpu6_alert0 {
        temperature = <60000>;
  };
index 1304b86af1a00772ac0478d607f42950b5e318e6,26afaa4f98feab71ec11f9e85065c14983e7a408..dc256207033649d9db1d97b1784c178ffd39e572
@@@ -18,6 -18,7 +18,7 @@@
  #include <dt-bindings/soc/qcom,rpmh-rsc.h>
  #include <dt-bindings/sound/qcom,q6afe.h>
  #include <dt-bindings/thermal/thermal.h>
+ #include <dt-bindings/clock/qcom,camcc-sm8250.h>
  #include <dt-bindings/clock/qcom,videocc-sm8250.h>
  
  / {
                        pinctrl-0 = <&rx_swr_active>;
                        compatible = "qcom,sm8250-lpass-rx-macro";
                        reg = <0 0x3200000 0 0x1000>;
 +                      status = "disabled";
  
                        clocks = <&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                                <&q6afecc LPASS_CLK_ID_TX_CORE_NPL_MCLK  LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                swr1: soundwire-controller@3210000 {
                        reg = <0 0x3210000 0 0x2000>;
                        compatible = "qcom,soundwire-v1.5.1";
 +                      status = "disabled";
                        interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&rxmacro>;
                        clock-names = "iface";
                        pinctrl-0 = <&tx_swr_active>;
                        compatible = "qcom,sm8250-lpass-tx-macro";
                        reg = <0 0x3220000 0 0x1000>;
 +                      status = "disabled";
  
                        clocks = <&q6afecc LPASS_CLK_ID_TX_CORE_MCLK LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                                 <&q6afecc LPASS_CLK_ID_TX_CORE_NPL_MCLK  LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
                        compatible = "qcom,soundwire-v1.5.1";
                        interrupts-extended = <&intc GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
                        interrupt-names = "core";
 +                      status = "disabled";
  
                        clocks = <&txmacro>;
                        clock-names = "iface";
                        #power-domain-cells = <1>;
                };
  
+               cci0: cci@ac4f000 {
+                       compatible = "qcom,sm8250-cci";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0 0x0ac4f000 0 0x1000>;
+                       interrupts = <GIC_SPI 460 IRQ_TYPE_EDGE_RISING>;
+                       power-domains = <&camcc TITAN_TOP_GDSC>;
+                       clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CCI_0_CLK>,
+                                <&camcc CAM_CC_CCI_0_CLK_SRC>;
+                       clock-names = "camnoc_axi",
+                                     "slow_ahb_src",
+                                     "cpas_ahb",
+                                     "cci",
+                                     "cci_src";
+                       pinctrl-0 = <&cci0_default>;
+                       pinctrl-1 = <&cci0_sleep>;
+                       pinctrl-names = "default", "sleep";
+                       status = "disabled";
+                       cci0_i2c0: i2c-bus@0 {
+                               reg = <0>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+                       cci0_i2c1: i2c-bus@1 {
+                               reg = <1>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+               cci1: cci@ac50000 {
+                       compatible = "qcom,sm8250-cci";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       reg = <0 0x0ac50000 0 0x1000>;
+                       interrupts = <GIC_SPI 271 IRQ_TYPE_EDGE_RISING>;
+                       power-domains = <&camcc TITAN_TOP_GDSC>;
+                       clocks = <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CCI_1_CLK>,
+                                <&camcc CAM_CC_CCI_1_CLK_SRC>;
+                       clock-names = "camnoc_axi",
+                                     "slow_ahb_src",
+                                     "cpas_ahb",
+                                     "cci",
+                                     "cci_src";
+                       pinctrl-0 = <&cci1_default>;
+                       pinctrl-1 = <&cci1_sleep>;
+                       pinctrl-names = "default", "sleep";
+                       status = "disabled";
+                       cci1_i2c0: i2c-bus@0 {
+                               reg = <0>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+                       cci1_i2c1: i2c-bus@1 {
+                               reg = <1>;
+                               clock-frequency = <1000000>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+               camss: camss@ac6a000 {
+                       compatible = "qcom,sm8250-camss";
+                       status = "disabled";
+                       reg = <0 0xac6a000 0 0x2000>,
+                             <0 0xac6c000 0 0x2000>,
+                             <0 0xac6e000 0 0x1000>,
+                             <0 0xac70000 0 0x1000>,
+                             <0 0xac72000 0 0x1000>,
+                             <0 0xac74000 0 0x1000>,
+                             <0 0xacb4000 0 0xd000>,
+                             <0 0xacc3000 0 0xd000>,
+                             <0 0xacd9000 0 0x2200>,
+                             <0 0xacdb200 0 0x2200>;
+                       reg-names = "csiphy0",
+                                   "csiphy1",
+                                   "csiphy2",
+                                   "csiphy3",
+                                   "csiphy4",
+                                   "csiphy5",
+                                   "vfe0",
+                                   "vfe1",
+                                   "vfe_lite0",
+                                   "vfe_lite1";
+                       interrupts = <GIC_SPI 477 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 478 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 479 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
+                                    <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "csiphy0",
+                                         "csiphy1",
+                                         "csiphy2",
+                                         "csiphy3",
+                                         "csiphy4",
+                                         "csiphy5",
+                                         "csid0",
+                                         "csid1",
+                                         "csid2",
+                                         "csid3",
+                                         "vfe0",
+                                         "vfe1",
+                                         "vfe_lite0",
+                                         "vfe_lite1";
+                       power-domains = <&camcc IFE_0_GDSC>,
+                                       <&camcc IFE_1_GDSC>,
+                                       <&camcc TITAN_TOP_GDSC>;
+                       clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+                                <&gcc GCC_CAMERA_HF_AXI_CLK>,
+                                <&gcc GCC_CAMERA_SF_AXI_CLK>,
+                                <&camcc CAM_CC_CAMNOC_AXI_CLK>,
+                                <&camcc CAM_CC_CAMNOC_AXI_CLK_SRC>,
+                                <&camcc CAM_CC_CORE_AHB_CLK>,
+                                <&camcc CAM_CC_CPAS_AHB_CLK>,
+                                <&camcc CAM_CC_CSIPHY0_CLK>,
+                                <&camcc CAM_CC_CSI0PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY1_CLK>,
+                                <&camcc CAM_CC_CSI1PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY2_CLK>,
+                                <&camcc CAM_CC_CSI2PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY3_CLK>,
+                                <&camcc CAM_CC_CSI3PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY4_CLK>,
+                                <&camcc CAM_CC_CSI4PHYTIMER_CLK>,
+                                <&camcc CAM_CC_CSIPHY5_CLK>,
+                                <&camcc CAM_CC_CSI5PHYTIMER_CLK>,
+                                <&camcc CAM_CC_SLOW_AHB_CLK_SRC>,
+                                <&camcc CAM_CC_IFE_0_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_0_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_0_CLK>,
+                                <&camcc CAM_CC_IFE_0_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_0_CSID_CLK>,
+                                <&camcc CAM_CC_IFE_0_AREG_CLK>,
+                                <&camcc CAM_CC_IFE_1_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_1_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_1_CLK>,
+                                <&camcc CAM_CC_IFE_1_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_1_CSID_CLK>,
+                                <&camcc CAM_CC_IFE_1_AREG_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_AHB_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_AXI_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CPHY_RX_CLK>,
+                                <&camcc CAM_CC_IFE_LITE_CSID_CLK>;
+                       clock-names = "cam_ahb_clk",
+                                     "cam_hf_axi",
+                                     "cam_sf_axi",
+                                     "camnoc_axi",
+                                     "camnoc_axi_src",
+                                     "core_ahb",
+                                     "cpas_ahb",
+                                     "csiphy0",
+                                     "csiphy0_timer",
+                                     "csiphy1",
+                                     "csiphy1_timer",
+                                     "csiphy2",
+                                     "csiphy2_timer",
+                                     "csiphy3",
+                                     "csiphy3_timer",
+                                     "csiphy4",
+                                     "csiphy4_timer",
+                                     "csiphy5",
+                                     "csiphy5_timer",
+                                     "slow_ahb_src",
+                                     "vfe0_ahb",
+                                     "vfe0_axi",
+                                     "vfe0",
+                                     "vfe0_cphy_rx",
+                                     "vfe0_csid",
+                                     "vfe0_areg",
+                                     "vfe1_ahb",
+                                     "vfe1_axi",
+                                     "vfe1",
+                                     "vfe1_cphy_rx",
+                                     "vfe1_csid",
+                                     "vfe1_areg",
+                                     "vfe_lite_ahb",
+                                     "vfe_lite_axi",
+                                     "vfe_lite",
+                                     "vfe_lite_cphy_rx",
+                                     "vfe_lite_csid";
+                       iommus = <&apps_smmu 0x800 0x400>,
+                                <&apps_smmu 0x801 0x400>,
+                                <&apps_smmu 0x840 0x400>,
+                                <&apps_smmu 0x841 0x400>,
+                                <&apps_smmu 0xc00 0x400>,
+                                <&apps_smmu 0xc01 0x400>,
+                                <&apps_smmu 0xc40 0x400>,
+                                <&apps_smmu 0xc41 0x400>;
+                       interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_CAMERA_CFG>,
+                                       <&mmss_noc MASTER_CAMNOC_HF &mc_virt SLAVE_EBI_CH0>,
+                                       <&mmss_noc MASTER_CAMNOC_SF &mc_virt SLAVE_EBI_CH0>,
+                                       <&mmss_noc MASTER_CAMNOC_ICP &mc_virt SLAVE_EBI_CH0>;
+                       interconnect-names = "cam_ahb",
+                                            "cam_hf_0_mnoc",
+                                            "cam_sf_0_mnoc",
+                                            "cam_sf_icp_mnoc";
+               };
+               camcc: clock-controller@ad00000 {
+                       compatible = "qcom,sm8250-camcc";
+                       reg = <0 0x0ad00000 0 0x10000>;
+                       clocks = <&gcc GCC_CAMERA_AHB_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK_A>,
+                                <&sleep_clk>;
+                       clock-names = "iface", "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
+                       power-domains = <&rpmhpd SM8250_MMCX>;
+                       required-opps = <&rpmhpd_opp_low_svs>;
+                       #clock-cells = <1>;
+                       #reset-cells = <1>;
+                       #power-domain-cells = <1>;
+               };
                mdss: mdss@ae00000 {
                        compatible = "qcom,sm8250-mdss";
                        reg = <0 0x0ae00000 0 0x1000>;
                                power-domains = <&rpmhpd SM8250_MMCX>;
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <0>;
  
                                ports {
                                        #address-cells = <1>;
                                reg-names = "dsi_ctrl";
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <4>;
  
                                clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
                                         <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
                                reg-names = "dsi_ctrl";
  
                                interrupt-parent = <&mdss>;
-                               interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
+                               interrupts = <5>;
  
                                clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
                                         <&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
                        gpio-ranges = <&tlmm 0 0 181>;
                        wakeup-parent = <&pdc>;
  
+                       cci0_default: cci0-default {
+                               cci0_i2c0_default: cci0-i2c0-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio101", "gpio102";
+                                       function = "cci_i2c";
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                               cci0_i2c1_default: cci0-i2c1-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio103", "gpio104";
+                                       function = "cci_i2c";
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
+                       cci0_sleep: cci0-sleep {
+                               cci0_i2c0_sleep: cci0-i2c0-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio101", "gpio102";
+                                       function = "cci_i2c";
+                                       drive-strength = <2>; /* 2 mA */
+                                       bias-pull-down;
+                               };
+                               cci0_i2c1_sleep: cci0-i2c1-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio103", "gpio104";
+                                       function = "cci_i2c";
+                                       drive-strength = <2>; /* 2 mA */
+                                       bias-pull-down;
+                               };
+                       };
+                       cci1_default: cci1-default {
+                               cci1_i2c0_default: cci1-i2c0-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio105","gpio106";
+                                       function = "cci_i2c";
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                               cci1_i2c1_default: cci1-i2c1-default {
+                                       /* SDA, SCL */
+                                       pins = "gpio107","gpio108";
+                                       function = "cci_i2c";
+                                       bias-pull-up;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
+                       cci1_sleep: cci1-sleep {
+                               cci1_i2c0_sleep: cci1-i2c0-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio105","gpio106";
+                                       function = "cci_i2c";
+                                       bias-pull-down;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                               cci1_i2c1_sleep: cci1-i2c1-sleep {
+                                       /* SDA, SCL */
+                                       pins = "gpio107","gpio108";
+                                       function = "cci_i2c";
+                                       bias-pull-down;
+                                       drive-strength = <2>; /* 2 mA */
+                               };
+                       };
                        pri_mi2s_active: pri-mi2s-active {
                                sclk {
                                        pins = "gpio138";
                                };
                        };
  
-                       apps_bcm_voter: bcm_voter {
+                       apps_bcm_voter: bcm-voter {
                                compatible = "qcom,bcm-voter";
                        };
                };
index 067fe4a6b178c30e0895721f00fef271bf7ca924,a4aba63c7a1f7211ac9780d5b4bf5822e1253a2a..40cf2236c0b610f19df7c7c635b3321cdc11d88e
@@@ -16,7 -16,6 +16,7 @@@
  
        aliases {
                ethernet0 = &gmac0;
 +              ethernet1 = &gmac1;
                mmc0 = &sdmmc0;
                mmc1 = &sdhci;
        };
                regulator-max-microvolt = <5000000>;
                vin-supply = <&dc_12v>;
        };
+       vcc5v0_usb: vcc5v0_usb {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_usb";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&dc_12v>;
+       };
+       vcc5v0_usb_host: vcc5v0-usb-host {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc5v0_usb_host_en>;
+               regulator-name = "vcc5v0_usb_host";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&vcc5v0_usb>;
+       };
+       vcc5v0_usb_otg: vcc5v0-usb-otg {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc5v0_usb_otg_en>;
+               regulator-name = "vcc5v0_usb_otg";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&vcc5v0_usb>;
+       };
+ };
+ &combphy0 {
+       /* used for USB3 */
+       status = "okay";
+ };
+ &combphy1 {
+       /* used for USB3 */
+       status = "okay";
+ };
+ &combphy2 {
+       /* used for SATA */
+       status = "okay";
  };
  
  &gmac0 {
        assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
        assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
        clock_in_out = "input";
 -      phy-handle = <&rgmii_phy0>;
        phy-mode = "rgmii";
        pinctrl-names = "default";
        pinctrl-0 = <&gmac0_miim
        snps,reset-active-low;
        /* Reset time is 20ms, 100ms for rtl8211f */
        snps,reset-delays-us = <0 20000 100000>;
 +      tx_delay = <0x4f>;
 +      rx_delay = <0x0f>;
 +      status = "okay";
 +
 +      fixed-link {
 +              speed = <1000>;
 +              full-duplex;
 +              pause;
 +      };
 +};
 +
 +&gmac1 {
 +      assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
 +      assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
 +      clock_in_out = "output";
 +      phy-handle = <&rgmii_phy1>;
 +      phy-mode = "rgmii";
 +      pinctrl-names = "default";
 +      pinctrl-0 = <&gmac1m1_miim
 +                   &gmac1m1_tx_bus2
 +                   &gmac1m1_rx_bus2
 +                   &gmac1m1_rgmii_clk
 +                   &gmac1m1_rgmii_bus>;
 +
 +      snps,reset-gpio = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
 +      snps,reset-active-low;
 +      /* Reset time is 20ms, 100ms for rtl8211f */
 +      snps,reset-delays-us = <0 20000 100000>;
 +
        tx_delay = <0x3c>;
        rx_delay = <0x2f>;
 +
        status = "okay";
  };
  
        status = "disabled";
  };
  
 -&mdio0 {
 -      rgmii_phy0: ethernet-phy@0 {
 +&mdio1 {
 +      rgmii_phy1: ethernet-phy@0 {
                compatible = "ethernet-phy-ieee802.3-c22";
                reg = <0x0>;
        };
                                <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
+       usb {
+               vcc5v0_usb_host_en: vcc5v0_usb_host_en {
+                       rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+               vcc5v0_usb_otg_en: vcc5v0_usb_otg_en {
+                       rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
  };
  
  &pmu_io_domains {
        pmuio2-supply = <&vcc3v3_pmu>;
        vccio1-supply = <&vccio_acodec>;
        vccio3-supply = <&vccio_sd>;
 -      vccio4-supply = <&vcc_1v8>;
 +      vccio4-supply = <&vcc_3v3>;
        vccio5-supply = <&vcc_3v3>;
 -      vccio6-supply = <&vcc_3v3>;
 +      vccio6-supply = <&vcc_1v8>;
        vccio7-supply = <&vcc_3v3>;
        status = "okay";
  };
        status = "okay";
  };
  
+ &sata2 {
+       status = "okay";
+ };
  &sdhci {
        bus-width = <8>;
        max-frequency = <200000000>;
        pinctrl-0 = <&uart9m1_xfer>;
        status = "disabled";
  };
+ &usb_host0_ehci {
+       status = "okay";
+ };
+ &usb_host0_ohci {
+       status = "okay";
+ };
+ &usb_host0_xhci {
+       extcon = <&usb2phy0>;
+       status = "okay";
+ };
+ &usb_host1_ehci {
+       status = "okay";
+ };
+ &usb_host1_ohci {
+       status = "okay";
+ };
+ &usb_host1_xhci {
+       status = "okay";
+ };
+ &usb2phy0 {
+       status = "okay";
+ };
+ &usb2phy0_host {
+       phy-supply = <&vcc5v0_usb_host>;
+       status = "okay";
+ };
+ &usb2phy0_otg {
+       phy-supply = <&vcc5v0_usb_otg>;
+       status = "okay";
+ };