OSDN Git Service

Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 Dec 2014 22:57:37 +0000 (14:57 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 9 Dec 2014 22:57:37 +0000 (14:57 -0800)
Pull ARM SoC DT updates from Arnd Bergmann:
 "The DT branch adds a lot of new stuff for additional SoC and board
  support.  The branch is the largest one and contains 513 out of the
  total 972 non-merge arm-soc changesets for 3.19.

  Most of the changes are about enabling additional on-chip devices for
  existing machines, but there are also an unusual number of new SoC
  types being added this time:

   - AMLogic Meson8
   - ARM Realview in DT mode
   - Allwinner A80
   - Broadcom BCM47081
   - Broadcom Cygnus
   - Freescale LS1021A
   - Freescale Vybrid 500 series
   - Mediatek MT6592, MT8127, MT8135
   - STMicroelectronics STiH410
   - Samsung Exynos4415

  The level of support for the above differs widely, some are just stubs
  with nothing more than CPU, memory and a UART, but others are fairly
  complete.  As usual, these get extended over time.

  There are also many new boards getting added, this is the list of
  model strings that are showing up in new dts files:

   - ARM RealView PB1176
   - Altera SOCFPGA Arria 10
   - Asus RT-N18U (BCM47081)
   - Buffalo WZR-1750DHP (BCM4708)
   - Buffalo WZR-600DHP2 (BCM47081)
   - Cygnus Enterprise Phone (BCM911360_ENTPHN)
   - D-Link DIR-665
   - Google Spring
   - IGEP COM MODULE Rev. G (TI OMAP AM/DM37x)
   - IGEPv2 Rev. F (TI OMAP AM/DM37x)
   - LS1021A QDS Board
   - LS1021A TWR Board
   - LeMaker Banana Pi
   - MarsBoard RK3066
   - MediaTek MT8127 Moose Board
   - MediaTek MT8135 evaluation board
   - Mele M3
   - Merrii A80 Optimus Board
   - Netgear R6300 V2 (BCM4708)
   - Nomadik STN8815NHK
   - NovaTech OrionLXm
   - Olimex A20-OLinuXino-LIME2
   - Raspberry Pi Model B+
   - STiH410 B2120
   - Samsung Monk board
   - Samsung Rinato board
   - Synology DS213j
   - Synology DS414
   - TBS2910 Matrix ARM mini PC
   - TI AM5728 BeagleBoard-X15
   - Toradex Colibri VF50 on Colibri Evaluation Board
   - Zynq ZYBO Development Board

  Other notable changes include:

   - exynos: cleanup of existing dts files
   - mvebu: improved pinctrl support for Armada 370/XP
   - nomadik: restructuring dts files
   - omap: added CAN bus support
   - shmobile: added clock support for some SoCs
   - shmobile: added sound support for some SoCs
   - sirf: reset controller support
   - sunxi: continuing the relicensing under dual GPL/MIT
   - sunxi: lots of new on-chip device support
   - sunxi: working simplefb support (long awaited)
   - various: provide stdout-path property for earlycon"

* tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (510 commits)
  ARM: dts: rk3288: add arm,cpu-registers-not-fw-configured
  Revert "ARM: dts: rockchip: temporarily disable smp on rk3288"
  ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2
  ARM: BCM5301X: Add DT for Asus RT-N18U
  ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP
  ARM: BCM5301X: Add DT for Netgear R6300 V2
  ARM: BCM5301X: Add buttons for Netgear R6250
  ARM: dts: rockchip: Add input voltage supply regulators in pmic for Marsboard
  ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file
  arm: dts: zynq: Add Digilent ZYBO board
  arm: dts: zynq: Move crystal freq. to board level
  doc: dt: vendor-prefixes: Add Digilent Inc
  Documentation: devicetree: Fix Xilinx VDMA specification
  ARM: dts: rockchip: set FIFO size for SDMMC, SDIO and EMMC on rk3066 and rk3188
  ARM: dts: rockchip: add label property for leds on Radxa Rock
  ARM: BCM5301X: Add LEDs for Netgear R6250 V1
  ARM: BCM5301X: Add Broadcom's bus-axi to the DTS file
  ARM: dts: add sysreg phandle to i2c device nodes for exynos
  ARM: dts: Remove unused bootargs from exynos3250-rinato
  ARM: dts: add board dts file for Exynos3250-based Monk board
  ...

20 files changed:
1  2 
Documentation/devicetree/bindings/vendor-prefixes.txt
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/am335x-evm.dts
arch/arm/boot/dts/am437x-gp-evm.dts
arch/arm/boot/dts/am43x-epos-evm.dts
arch/arm/boot/dts/armada-370-xp.dtsi
arch/arm/boot/dts/armada-xp.dtsi
arch/arm/boot/dts/exynos5250-snow.dts
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/imx6qdl-sabresd.dtsi
arch/arm/boot/dts/omap3-ldp.dts
arch/arm/boot/dts/omap3.dtsi
arch/arm/boot/dts/omap4.dtsi
arch/arm/boot/dts/r8a7740.dtsi
arch/arm/boot/dts/r8a7790.dtsi
arch/arm/boot/dts/r8a7791-koelsch.dts
arch/arm/boot/dts/tegra30-cardhu.dtsi
arch/arm/boot/dts/vf610-cosmic.dts
arch/arm/boot/dts/zynq-parallella.dts
arch/arm/mach-shmobile/setup-r8a7778.c

@@@ -34,13 -34,13 +34,14 @@@ chipidea   Chipidea, In
  chrp  Common Hardware Reference Platform
  chunghwa      Chunghwa Picture Tubes Ltd.
  cirrus        Cirrus Logic, Inc.
 +cnm   Chips&Media, Inc.
  cortina       Cortina Systems, Inc.
  crystalfontz  Crystalfontz America, Inc.
  dallas        Maxim Integrated Products (formerly Dallas Semiconductor)
  davicom       DAVICOM Semiconductor, Inc.
  denx  Denx Software Engineering
  digi  Digi International Inc.
+ digilent      Diglent, Inc.
  dlg   Dialog Semiconductor
  dlink D-Link Corporation
  dmo   Data Modul AG
@@@ -78,6 -78,7 +79,7 @@@ innolux       Innolux Corporatio
  intel Intel Corporation
  intercontrol  Inter Control Group
  isee  ISEE 2007 S.L.
+ isil    Intersil (deprecated, use isl)
  isl   Intersil
  karo  Ka-Ro electronics GmbH
  keymile       Keymile GmbH
@@@ -91,10 -92,8 +93,10 @@@ lltc        Linear Technology Corporatio
  marvell       Marvell Technology Group Ltd.
  maxim Maxim Integrated Products
  mediatek      MediaTek Inc.
 +merrii        Merrii Technology Co., Ltd.
  micrel        Micrel Inc.
  microchip     Microchip Technology Inc.
 +micron        Micron Technology Inc.
  mitsubishi    Mitsubishi Electric Corporation
  mosaixtech    Mosaix Technologies, Inc.
  moxa  Moxa
@@@ -130,7 -129,6 +132,7 @@@ renesas    Renesas Electronics Corporatio
  ricoh Ricoh Co. Ltd.
  rockchip      Fuzhou Rockchip Electronics Co., Ltd
  samsung       Samsung Semiconductor
 +sandisk       Sandisk Corporation
  sbs   Smart Battery System
  schindler     Schindler
  seagate       Seagate Technology PLC
@@@ -142,7 -140,7 +144,7 @@@ silergy    Silergy Corp
  sirf  SiRF Technology, Inc.
  sitronix      Sitronix Technology Corporation
  smsc  Standard Microsystems Corporation
 -snps  Synopsys, Inc.
 +snps  Synopsys, Inc.
  solidrun      SolidRun
  sony  Sony Corporation
  spansion      Spansion Inc.
@@@ -150,6 -148,7 +152,7 @@@ st STMicroelectronic
  ste   ST-Ericsson
  stericsson    ST-Ericsson
  synology      Synology, Inc.
+ tbs   TBS Technologies
  thine THine Electronics, Inc.
  ti    Texas Instruments
  tlm   Trusted Logic Mobility
@@@ -54,8 -54,17 +54,17 @@@ dtb-$(CONFIG_ARCH_AT91)     += at91-sama5d4
  dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
  dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
  dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
- dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
+ dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b-plus.dtb
+ dtb-$(CONFIG_ARCH_BCM_5301X) += \
+       bcm4708-buffalo-wzr-1750dhp.dtb \
+       bcm4708-netgear-r6250.dtb \
+       bcm4708-netgear-r6300-v2.dtb \
+       bcm47081-asus-rt-n18u.dtb \
+       bcm47081-buffalo-wzr-600dhp2.dtb
  dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
+ dtb-$(CONFIG_ARCH_BCM_CYGNUS) += bcm911360_entphn.dtb \
+       bcm911360k.dtb \
+       bcm958300k.dtb
  dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
        bcm21664-garnet.dtb
  dtb-$(CONFIG_ARCH_BERLIN) += \
@@@ -67,7 -76,9 +76,9 @@@ dtb-$(CONFIG_ARCH_BRCMSTB) += 
  dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
        da850-evm.dtb
  dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
- dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
+ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
+       exynos3250-rinato.dtb \
+       exynos4210-origen.dtb \
        exynos4210-smdkv310.dtb \
        exynos4210-trats.dtb \
        exynos4210-universal_c210.dtb \
@@@ -81,6 -92,7 +92,7 @@@
        exynos5250-arndale.dtb \
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
+       exynos5250-spring.dtb \
        exynos5260-xyref5260.dtb \
        exynos5410-smdk5410.dtb \
        exynos5420-arndale-octa.dtb \
@@@ -104,6 -116,7 +116,7 @@@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood
        kirkwood-d2net.dtb \
        kirkwood-db-88f6281.dtb \
        kirkwood-db-88f6282.dtb \
+       kirkwood-dir665.dtb \
        kirkwood-dns320.dtb \
        kirkwood-dns325.dtb \
        kirkwood-dockstar.dtb \
@@@ -240,6 -253,7 +253,7 @@@ dtb-$(CONFIG_ARCH_MXC) += 
        imx6q-sabrelite.dtb \
        imx6q-sabresd.dtb \
        imx6q-sbc6x.dtb \
+       imx6q-tbs2910.dtb \
        imx6q-udoo.dtb \
        imx6q-wandboard.dtb \
        imx6q-wandboard-revb1.dtb \
        imx6q-tx6q-1110.dtb \
        imx6sl-evk.dtb \
        imx6sx-sdb.dtb \
+       ls1021a-qds.dtb \
+       ls1021a-twr.dtb \
+       vf500-colibri-eval-v3.dtb \
        vf610-colibri-eval-v3.dtb \
        vf610-cosmic.dtb \
        vf610-twr.dtb
@@@ -274,7 -291,8 +291,8 @@@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dt
        imx28-m28evk.dtb \
        imx28-sps1.dtb \
        imx28-tx28.dtb
- dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb
+ dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \
+       ste-nomadik-nhk15.dtb
  dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \
        nspire-tp.dtb \
        nspire-clp.dtb
@@@ -302,7 -320,9 +320,9 @@@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-cran
        omap3-ha.dtb \
        omap3-ha-lcd.dtb \
        omap3-igep0020.dtb \
+       omap3-igep0020-rev-f.dtb \
        omap3-igep0030.dtb \
+       omap3-igep0030-rev-g.dtb \
        omap3-ldp.dtb \
        omap3-lilly-dbb056.dtb \
        omap3-n900.dtb \
@@@ -331,7 -351,8 +351,8 @@@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base
        am335x-evm.dtb \
        am335x-evmsk.dtb \
        am335x-nano.dtb \
-       am335x-pepper.dtb
+       am335x-pepper.dtb \
+       am335x-lxm.dtb
  dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
        omap4-panda.dtb \
        omap4-panda-a4.dtb \
@@@ -347,6 -368,7 +368,7 @@@ dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54
        omap5-sbc-t54.dtb \
        omap5-uevm.dtb
  dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \
+       am57xx-beagle-x15.dtb \
        dra72-evm.dtb
  dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \
        orion5x-lacie-ethernet-disk-mini-v2.dtb \
@@@ -363,8 -385,10 +385,10 @@@ dtb-$(CONFIG_ARCH_QCOM) += 
        qcom-msm8660-surf.dtb \
        qcom-msm8960-cdp.dtb \
        qcom-msm8974-sony-xperia-honami.dtb
+ dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb
  dtb-$(CONFIG_ARCH_ROCKCHIP) += \
        rk3066a-bqcurie2.dtb \
+       rk3066a-marsboard.dtb \
        rk3188-radxarock.dtb \
        rk3288-evb-act8846.dtb \
        rk3288-evb-rk808.dtb
@@@ -384,6 -408,7 +408,6 @@@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += 
        r8a7778-bockw-reference.dtb \
        r8a7779-marzen.dtb \
        r8a7790-lager.dtb \
 -      r8a7791-koelsch.dtb \
        sh7372-mackerel.dtb \
        sh73a0-kzm9g.dtb \
        sh73a0-kzm9g-reference.dtb
@@@ -396,6 -421,7 +420,7 @@@ dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += em
        r8a7791-koelsch.dtb \
        r8a7794-alt.dtb
  dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
+       socfpga_arria10_socdk.dtb \
        socfpga_cyclone5_socdk.dtb \
        socfpga_cyclone5_sockit.dtb \
        socfpga_cyclone5_socrates.dtb \
@@@ -408,6 -434,7 +433,7 @@@ dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-
        spear320-hmi.dtb
  dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
  dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \
+       stih410-b2120.dtb \
        stih415-b2000.dtb \
        stih415-b2020.dtb \
        stih416-b2000.dtb \
@@@ -434,15 -461,20 +460,20 @@@ dtb-$(CONFIG_MACH_SUN6I) += 
        sun6i-a31-hummingbird.dtb \
        sun6i-a31-m9.dtb
  dtb-$(CONFIG_MACH_SUN7I) += \
+       sun7i-a20-bananapi.dtb \
        sun7i-a20-cubieboard2.dtb \
        sun7i-a20-cubietruck.dtb \
        sun7i-a20-hummingbird.dtb \
        sun7i-a20-i12-tvbox.dtb \
+       sun7i-a20-m3.dtb \
        sun7i-a20-olinuxino-lime.dtb \
+       sun7i-a20-olinuxino-lime2.dtb \
        sun7i-a20-olinuxino-micro.dtb \
        sun7i-a20-pcduino3.dtb
  dtb-$(CONFIG_MACH_SUN8I) += \
        sun8i-a23-ippo-q8h-v5.dtb
+ dtb-$(CONFIG_MACH_SUN9I) += \
+       sun9i-a80-optimus.dtb
  dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra20-iris-512.dtb \
        tegra20-medcom-wide.dtb \
@@@ -488,13 -520,15 +519,15 @@@ dtb-$(CONFIG_ARCH_ZYNQ) += 
        zynq-parallella.dtb \
        zynq-zc702.dtb \
        zynq-zc706.dtb \
-       zynq-zed.dtb
+       zynq-zed.dtb \
+       zynq-zybo.dtb
  dtb-$(CONFIG_MACH_ARMADA_370) += \
        armada-370-db.dtb \
        armada-370-mirabox.dtb \
        armada-370-netgear-rn102.dtb \
        armada-370-netgear-rn104.dtb \
-       armada-370-rd.dtb
+       armada-370-rd.dtb \
+       armada-370-synology-ds213j.dtb
  dtb-$(CONFIG_MACH_ARMADA_375) += \
        armada-375-db.dtb
  dtb-$(CONFIG_MACH_ARMADA_38X) += \
@@@ -507,16 -541,28 +540,20 @@@ dtb-$(CONFIG_MACH_ARMADA_XP) += 
        armada-xp-lenovo-ix4-300d.dtb \
        armada-xp-matrix.dtb \
        armada-xp-netgear-rn2120.dtb \
-       armada-xp-openblocks-ax3-4.dtb
+       armada-xp-openblocks-ax3-4.dtb \
+       armada-xp-synology-ds414.dtb
  dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
        dove-cubox.dtb \
        dove-cubox-es.dtb \
        dove-d2plug.dtb \
        dove-d3plug.dtb \
        dove-dove-db.dtb
- dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb
+ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb \
+       mt6592-evb.dtb \
+       mt8127-moose.dtb \
+       mt8135-evbp1.dtb
  
 -targets += dtbs dtbs_install
 -targets += $(dtb-y)
  endif
  
 -# *.dtb used to be generated in the directory above. Clean out the
 -# old build results so people don't accidentally use them.
 -dtbs: $(addprefix $(obj)/, $(dtb-y))
 -      $(Q)rm -f $(obj)/../*.dtb
 -
 -clean-files := *.dtb
 -
 -dtbs_install: $(addsuffix _dtbinst_, $(dtb-y))
 +always                := $(dtb-y)
 +clean-files   := *.dtb
                        0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */
                >;
        };
+       dcan1_pins_default: dcan1_pins_default {
+               pinctrl-single,pins = <
+                       0x168 (PIN_OUTPUT | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
+                       0x16c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
+               >;
+       };
  };
  
  &uart0 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&nandflash_pins_s0>;
-       ranges = <0 0 0x08000000 0x10000000>;   /* CS0: NAND */
+       ranges = <0 0 0x08000000 0x1000000>;    /* CS0: 16MB for NAND */
        nand@0,0 {
-               reg = <0 0 0>; /* CS0, offset 0 */
+               reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
                ti,nand-ecc-opt = "bch8";
                ti,elm-id = <&elm>;
                nand-bus-width = <8>;
                        reg = <0x00060000 0x00020000>;
                };
                partition@4 {
 -                      label = "NAND.u-boot-spl";
 +                      label = "NAND.u-boot-spl-os";
                        reg = <0x00080000 0x00040000>;
                };
                partition@5 {
  &aes {
        status = "okay";
  };
+ &dcan1 {
+       status = "disabled";    /* Enable only if Profile 1 is selected */
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan1_pins_default>;
+ };
                        0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
                >;
        };
+       dcan0_default: dcan0_default_pins {
+               pinctrl-single,pins = <
+                       0x178 (PIN_OUTPUT | MUX_MODE2)          /* uart1_ctsn.d_can0_tx */
+                       0x17c (PIN_INPUT_PULLUP | MUX_MODE2)    /* uart1_rtsn.d_can0_rx */
+               >;
+       };
+       dcan1_default: dcan1_default_pins {
+               pinctrl-single,pins = <
+                       0x180 (PIN_OUTPUT | MUX_MODE2)          /* uart1_rxd.d_can1_tx */
+                       0x184 (PIN_INPUT_PULLUP | MUX_MODE2)    /* uart1_txd.d_can1_rx */
+               >;
+       };
  };
  
  &i2c0 {
                dcdc3: regulator-dcdc3 {
                        compatible = "ti,tps65218-dcdc3";
                        regulator-name = "vdcdc3";
 -                      regulator-min-microvolt = <1350000>;
 -                      regulator-max-microvolt = <1350000>;
 +                      regulator-min-microvolt = <1500000>;
 +                      regulator-max-microvolt = <1500000>;
                        regulator-boot-on;
                        regulator-always-on;
                };
        status = "okay";
  };
  
+ &tscadc {
+       status = "okay";
+       adc {
+               ti,adc-channels = <0 1 2 3 4 5 6 7>;
+       };
+ };
  &ecap0 {
        status = "okay";
        pinctrl-names = "default";
                };
        };
  };
+ &dcan0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan0_default>;
+       status = "okay";
+ };
+ &dcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan1_default>;
+       status = "okay";
+ };
                dcdc3: regulator-dcdc3 {
                        compatible = "ti,tps65218-dcdc3";
                        regulator-name = "vdcdc3";
 -                      regulator-min-microvolt = <1350000>;
 -                      regulator-max-microvolt = <1350000>;
 +                      regulator-min-microvolt = <1500000>;
 +                      regulator-max-microvolt = <1500000>;
                        regulator-boot-on;
                        regulator-always-on;
                };
        status = "okay";        /* Disable QSPI when enabling GPMC (NAND) */
        pinctrl-names = "default";
        pinctrl-0 = <&nand_flash_x8>;
-       ranges = <0 0 0x08000000 0x10000000>;   /* CS0: NAND */
+       ranges = <0 0 0x08000000 0x1000000>;    /* CS0: 16MB for NAND */
        nand@0,0 {
-               reg = <0 0 0>; /* CS0, offset 0 */
+               reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
                ti,nand-ecc-opt = "bch16";
                ti,elm-id = <&elm>;
                nand-bus-width = <8>;
        status = "okay";
  };
  
+ &tscadc {
+       status = "okay";
+       adc {
+               ti,adc-channels = <0 1 2 3 4 5 6 7>;
+       };
+ };
  &ecap0 {
                status = "okay";
                pinctrl-names = "default";
                                status = "disabled";
                        };
  
-                       serial@12000 {
+                       uart0: serial@12000 {
                                compatible = "snps,dw-apb-uart";
                                reg = <0x12000 0x100>;
                                reg-shift = <2>;
                                clocks = <&coreclk 0>;
                                status = "disabled";
                        };
-                       serial@12100 {
+                       uart1: serial@12100 {
                                compatible = "snps,dw-apb-uart";
                                reg = <0x12100 0x100>;
                                reg-shift = <2>;
                                status = "disabled";
                        };
  
+                       pinctrl: pin-ctrl@18000 {
+                               reg = <0x18000 0x38>;
+                       };
                        coredivclk: corediv-clock@18740 {
                                compatible = "marvell,armada-370-corediv-clock";
                                reg = <0x18740 0xc>;
  
                        mbusc: mbus-controller@20000 {
                                compatible = "marvell,mbus-controller";
 -                              reg = <0x20000 0x100>, <0x20180 0x20>;
 +                              reg = <0x20000 0x100>, <0x20180 0x20>,
 +                                    <0x20250 0x8>;
                        };
  
                        mpic: interrupt-controller@20000 {
                                status = "disabled";
                        };
  
-                       mdio {
+                       mdio: mdio {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                compatible = "marvell,orion-mdio";
                };
  
                internal-regs {
 +                      sdramc@1400 {
 +                              compatible = "marvell,armada-xp-sdram-controller";
 +                              reg = <0x1400 0x500>;
 +                      };
 +
                        L2: l2-cache {
                                compatible = "marvell,aurora-system-cache";
                                reg = <0x08000 0x1000>;
                                cache-id-part = <0x100>;
+                               cache-unified;
                                wt-override;
                        };
  
+                       spi0: spi@10600 {
+                               pinctrl-0 = <&spi0_pins>;
+                               pinctrl-names = "default";
+                       };
                        i2c0: i2c@11000 {
                                compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
                                reg = <0x11000 0x100>;
                                reg = <0x11100 0x100>;
                        };
  
-                       serial@12200 {
+                       uart2: serial@12200 {
                                compatible = "snps,dw-apb-uart";
+                               pinctrl-0 = <&uart2_pins>;
+                               pinctrl-names = "default";
                                reg = <0x12200 0x100>;
                                reg-shift = <2>;
                                interrupts = <43>;
                                clocks = <&coreclk 0>;
                                status = "disabled";
                        };
-                       serial@12300 {
+                       uart3: serial@12300 {
                                compatible = "snps,dw-apb-uart";
+                               pinctrl-0 = <&uart3_pins>;
+                               pinctrl-names = "default";
                                reg = <0x12300 0x100>;
                                reg-shift = <2>;
                                interrupts = <44>;
                };
        };
  };
+ &pinctrl {
+       ge0_gmii_pins: ge0-gmii-pins {
+               marvell,pins =
+                    "mpp0",  "mpp1",  "mpp2",  "mpp3",
+                    "mpp4",  "mpp5",  "mpp6",  "mpp7",
+                    "mpp8",  "mpp9",  "mpp10", "mpp11",
+                    "mpp12", "mpp13", "mpp14", "mpp15",
+                    "mpp16", "mpp17", "mpp18", "mpp19",
+                    "mpp20", "mpp21", "mpp22", "mpp23";
+               marvell,function = "ge0";
+       };
+       ge0_rgmii_pins: ge0-rgmii-pins {
+               marvell,pins =
+                    "mpp0", "mpp1", "mpp2", "mpp3",
+                    "mpp4", "mpp5", "mpp6", "mpp7",
+                    "mpp8", "mpp9", "mpp10", "mpp11";
+               marvell,function = "ge0";
+       };
+       ge1_rgmii_pins: ge1-rgmii-pins {
+               marvell,pins =
+                    "mpp12", "mpp13", "mpp14", "mpp15",
+                    "mpp16", "mpp17", "mpp18", "mpp19",
+                    "mpp20", "mpp21", "mpp22", "mpp23";
+               marvell,function = "ge1";
+       };
+       sdio_pins: sdio-pins {
+               marvell,pins = "mpp30", "mpp31", "mpp32",
+                              "mpp33", "mpp34", "mpp35";
+               marvell,function = "sd0";
+       };
+       spi0_pins: spi0-pins {
+               marvell,pins = "mpp36", "mpp37",
+                              "mpp38", "mpp39";
+               marvell,function = "spi";
+       };
+       uart2_pins: uart2-pins {
+               marvell,pins = "mpp42", "mpp43";
+               marvell,function = "uart2";
+       };
+       uart3_pins: uart3-pins {
+               marvell,pins = "mpp44", "mpp45";
+               marvell,function = "uart3";
+       };
+ };
@@@ -6,10 -6,13 +6,13 @@@
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License version 2 as
   * published by the Free Software Foundation.
- */
 */
  
  /dts-v1/;
  #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/clock/maxim,max77686.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/input/input.h>
  #include "exynos5250.dtsi"
  
  / {
        };
  
        chosen {
-       };
-       rtc@101E0000 {
-               status = "okay";
-       };
-       pinctrl@11400000 {
-               ec_irq: ec-irq {
-                       samsung,pins = "gpx1-6";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-               sd3_clk: sd3-clk {
-                       samsung,pin-drv = <0>;
-               };
-               sd3_cmd: sd3-cmd {
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-               sd3_bus4: sd3-bus-width4 {
-                       samsung,pin-drv = <0>;
-               };
-               max98095_en: max98095-en {
-                       samsung,pins = "gpx1-7";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-               tps65090_irq: tps65090-irq {
-                       samsung,pins = "gpx2-6";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-               usb3_vbus_en: usb3-vbus-en {
-                       samsung,pins = "gpx2-7";
-                       samsung,pin-function = <1>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-               hdmi_hpd_irq: hdmi-hpd-irq {
-                       samsung,pins = "gpx3-7";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <1>;
-                       samsung,pin-drv = <0>;
-               };
-       };
-       pinctrl@13400000 {
-               arb_their_claim: arb-their-claim {
-                       samsung,pins = "gpe0-4";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-               arb_our_claim: arb-our-claim {
-                       samsung,pins = "gpf0-3";
-                       samsung,pin-function = <1>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
+               bootargs = "console=tty1";
        };
  
        gpio-keys {
  
                power {
                        label = "Power";
-                       gpios = <&gpx1 3 1>;
-                       linux,code = <116>; /* KEY_POWER */
+                       gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
                        gpio-key,wakeup;
                };
  
                lid-switch {
                        label = "Lid";
-                       gpios = <&gpx3 5 1>;
+                       gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
                        linux,input-type = <5>; /* EV_SW */
                        linux,code = <0>; /* SW_LID */
                        debounce-interval = <1>;
  
                i2c-parent = <&{/i2c@12CA0000}>;
  
-               our-claim-gpio = <&gpf0 3 1>;
-               their-claim-gpios = <&gpe0 4 1>;
+               our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
+               their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
                slew-delay-us = <10>;
                wait-retry-us = <3000>;
                wait-free-us = <50000>;
                        cros_ec: embedded-controller {
                                compatible = "google,cros-ec-i2c";
                                reg = <0x1e>;
-                               interrupts = <6 0>;
+                               interrupts = <6 IRQ_TYPE_NONE>;
                                interrupt-parent = <&gpx1>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&ec_irq>;
        };
  
        i2c@12CD0000 {
-               max98095: codec@11 {
-                       compatible = "maxim,max98095";
-                       reg = <0x11>;
-                       pinctrl-0 = <&max98095_en>;
-                       pinctrl-names = "default";
-               };
                ptn3460: lvds-bridge@20 {
                        compatible = "nxp,ptn3460";
                        reg = <0x20>;
                };
        };
  
-       i2s0: i2s@03830000 {
-               status = "okay";
-       };
        sound {
                compatible = "google,snow-audio-max98095";
  
                regulator-name = "P5.0V_USB3CON";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
-               gpio = <&gpx2 7 0>;
+               gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&usb3_vbus_en>;
                enable-active-high;
        };
  
-       phy@12100000 {
-               vbus-supply = <&usb3_vbus_reg>;
-       };
-       usb@12110000 {
-               samsung,vbus-gpio = <&gpx1 1 0>;
-       };
        fixed-rate-clocks {
                xxti {
                        compatible = "samsung,clock-xxti";
                };
        };
  
-       hdmi {
-               hpd-gpio = <&gpx3 7 0>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&hdmi_hpd_irq>;
-               phy = <&hdmiphy>;
-               ddc = <&i2c_2>;
-               hdmi-en-supply = <&tps65090_fet7>;
-               vdd-supply = <&ldo8_reg>;
-               vdd_osc-supply = <&ldo10_reg>;
-               vdd_pll-supply = <&ldo8_reg>;
-       };
        backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm 0 1000000 0>;
                pinctrl-names = "default";
        };
  
-       fimd@14400000 {
-               status = "okay";
-               samsung,invert-vclk;
-       };
        panel: panel {
                compatible = "auo,b116xw03";
                power-supply = <&fet6>;
                backlight = <&backlight>;
        };
+ };
  
-       dp-controller@145B0000 {
-               status = "okay";
-               pinctrl-names = "default";
-               pinctrl-0 = <&dp_hpd>;
-               samsung,color-space = <0>;
-               samsung,dynamic-range = <0>;
-               samsung,ycbcr-coeff = <0>;
-               samsung,color-depth = <1>;
-               samsung,link-rate = <0x0a>;
-               samsung,lane-count = <2>;
-               samsung,hpd-gpio = <&gpx0 7 0>;
-               bridge = <&ptn3460>;
-       };
+ &dp {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dp_hpd>;
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <2>;
+       samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
+       bridge = <&ptn3460>;
+ };
+ &ehci {
+       samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
+ };
+ &fimd {
+       status = "okay";
+       samsung,invert-vclk;
+ };
+ &hdmi {
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd_irq>;
+       phy = <&hdmiphy>;
+       ddc = <&i2c_2>;
+       hdmi-en-supply = <&tps65090_fet7>;
+       vdd-supply = <&ldo8_reg>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
  };
  
  &i2c_0 {
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <378000>;
  
-       max77686@09 {
+       max77686: max77686@09 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx3>;
-               interrupts = <2 0>;
+               interrupts = <2 IRQ_TYPE_NONE>;
                pinctrl-names = "default";
                pinctrl-0 = <&max77686_irq>;
                wakeup-source;
        trackpad {
                reg = <0x67>;
                compatible = "cypress,cyapa";
-               interrupts = <2 0>;
+               interrupts = <2 IRQ_TYPE_NONE>;
                interrupt-parent = <&gpx1>;
                wakeup-source;
        };
        status = "okay";
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
+       max98095: codec@11 {
+               compatible = "maxim,max98095";
+               reg = <0x11>;
+               pinctrl-0 = <&max98095_en>;
+               pinctrl-names = "default";
+       };
  };
  
  &i2c_8 {
        };
  };
  
+ &i2s0 {
+       status = "okay";
+ };
  &mmc_0 {
        status = "okay";
        num-slots = <1>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
        bus-width = <4>;
-       wp-gpios = <&gpc2 1 0>;
+       wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
        cap-sd-highspeed;
  };
  
  };
  
  &pinctrl_0 {
+       ec_irq: ec-irq {
+               samsung,pins = "gpx1-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+       max98095_en: max98095-en {
+               samsung,pins = "gpx1-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+       tps65090_irq: tps65090-irq {
+               samsung,pins = "gpx2-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+       usb3_vbus_en: usb3-vbus-en {
+               samsung,pins = "gpx2-7";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
        max77686_irq: max77686-irq {
                samsung,pins = "gpx3-2";
                samsung,pin-function = <0>;
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+ };
+ &pinctrl_1 {
+       arb_their_claim: arb-their-claim {
+               samsung,pins = "gpe0-4";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+       arb_our_claim: arb-our-claim {
+               samsung,pins = "gpf0-3";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+ };
+ &rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
+       clock-names = "rtc", "rtc_src";
+ };
+ &sd3_bus4 {
+       samsung,pin-drv = <0>;
+ };
+ &sd3_clk {
+       samsung,pin-drv = <0>;
+ };
+ &sd3_cmd {
+       samsung,pin-pud = <3>;
+       samsung,pin-drv = <0>;
  };
  
  &spi_1 {
        num-cs = <1>;
  };
  
 +&usbdrd_dwc3 {
 +      dr_mode = "host";
 +};
 +
+ &usbdrd_phy {
+       vbus-supply = <&usb3_vbus_reg>;
+ };
  #include "cros-ec-keyboard.dtsi"
                clock-names = "fimg2d";
        };
  
-       codec@11000000 {
+       mfc: codec@11000000 {
                compatible = "samsung,mfc-v6";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
                clock-names = "mfc";
        };
  
-       rtc@101E0000 {
+       rtc: rtc@101E0000 {
                clocks = <&clock CLK_RTC>;
                clock-names = "rtc";
                status = "disabled";
                clock-names = "uart", "clk_uart_baud0";
        };
  
-       sata@122F0000 {
+       sata: sata@122F0000 {
                compatible = "snps,dwc-ahci";
                samsung,sata-freq = <66>;
                reg = <0x122F0000 0x1ff>;
                clock-names = "i2c";
                pinctrl-names = "default";
                pinctrl-0 = <&i2c0_bus>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
                status = "disabled";
        };
  
                clock-names = "i2c";
                pinctrl-names = "default";
                pinctrl-0 = <&i2c1_bus>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
                status = "disabled";
        };
  
                clock-names = "i2c";
                pinctrl-names = "default";
                pinctrl-0 = <&i2c2_bus>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
                status = "disabled";
        };
  
                clock-names = "i2c";
                pinctrl-names = "default";
                pinctrl-0 = <&i2c3_bus>;
+               samsung,sysreg-phandle = <&sysreg_system_controller>;
                status = "disabled";
        };
  
                #size-cells = <1>;
                ranges;
  
 -              dwc3 {
 +              usbdrd_dwc3: dwc3 {
                        compatible = "synopsys,dwc3";
                        reg = <0x12000000 0x10000>;
                        interrupts = <0 72 0>;
                #phy-cells = <1>;
        };
  
-       usb@12110000 {
+       ehci: usb@12110000 {
                compatible = "samsung,exynos4210-ehci";
                reg = <0x12110000 0x100>;
                interrupts = <0 71 0>;
                };
        };
  
-       usb@12120000 {
+       ohci: usb@12120000 {
                compatible = "samsung,exynos4210-ohci";
                reg = <0x12120000 0x100>;
                interrupts = <0 71 0>;
                clock-names = "gscl";
        };
  
-       hdmi {
+       hdmi: hdmi {
                compatible = "samsung,exynos4212-hdmi";
                reg = <0x14530000 0x70000>;
                interrupts = <0 95 0>;
                #phy-cells = <0>;
        };
  
-       dp-controller@145B0000 {
+       dp: dp-controller@145B0000 {
                clocks = <&clock CLK_DP>;
                clock-names = "dp";
                phys = <&dp_phy>;
                phy-names = "dp";
        };
  
-       fimd@14400000 {
+       fimd: fimd@14400000 {
                clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
                clock-names = "sclk_fimd", "fimd";
        };
                        "Headphone Jack", "HPOUTR",
                        "Ext Spk", "SPKOUTL",
                        "Ext Spk", "SPKOUTR",
 -                      "MICBIAS", "AMIC",
 -                      "IN3R", "MICBIAS",
 -                      "DMIC", "MICBIAS",
 -                      "DMICDAT", "DMIC";
 +                      "AMIC", "MICBIAS",
 +                      "IN3R", "AMIC";
                mux-int-port = <2>;
                mux-ext-port = <3>;
        };
        codec: wm8962@1a {
                compatible = "wlf,wm8962";
                reg = <0x1a>;
 -              clocks = <&clks 201>;
 +              clocks = <&clks IMX6QDL_CLK_CKO>;
                DCVDD-supply = <&reg_audio>;
                DBVDD-supply = <&reg_audio>;
                AVDD-supply = <&reg_audio>;
        status = "okay";
  };
  
+ &snvs_poweroff {
+       status = "okay";
+ };
  &ssi2 {
        status = "okay";
  };
@@@ -7,7 -7,6 +7,7 @@@
   */
  /dts-v1/;
  
 +#include <dt-bindings/input/input.h>
  #include "omap34xx.dtsi"
  #include "omap-gpmc-smsc911x.dtsi"
  
  
        nand@0,0 {
                linux,mtd-name= "micron,nand";
-               reg = <0 0 0>;
+               reg = <0 0 4>;  /* CS0, offset 0, IO size 4 */
                nand-bus-width = <16>;
+               gpmc,device-width = <2>;
                ti,nand-ecc-opt = "bch8";
  
                gpmc,sync-clk-ps = <0>;
                };
                partition@2000000 {
                        label = "Filesystem";
 -                      reg = <0x2000000 0xe000000>;
 +                      reg = <0x2000000 0x6000000>;
                };
        };
  
        };
  };
  
 +&twl_keypad {
 +      linux,keymap = <MATRIX_KEY(0, 0, KEY_1)
 +                      MATRIX_KEY(0, 1, KEY_2)
 +                      MATRIX_KEY(0, 2, KEY_3)
 +                      MATRIX_KEY(1, 0, KEY_4)
 +                      MATRIX_KEY(1, 1, KEY_5)
 +                      MATRIX_KEY(1, 2, KEY_6)
 +                      MATRIX_KEY(1, 3, KEY_F5)
 +                      MATRIX_KEY(2, 0, KEY_7)
 +                      MATRIX_KEY(2, 1, KEY_8)
 +                      MATRIX_KEY(2, 2, KEY_9)
 +                      MATRIX_KEY(2, 3, KEY_F6)
 +                      MATRIX_KEY(3, 0, KEY_F7)
 +                      MATRIX_KEY(3, 1, KEY_0)
 +                      MATRIX_KEY(3, 2, KEY_F8)
 +                      MATRIX_KEY(5, 4, KEY_RESERVED)
 +                      MATRIX_KEY(4, 4, KEY_VOLUMEUP)
 +                      MATRIX_KEY(5, 5, KEY_VOLUMEDOWN)>;
 +};
 +
  &uart3 {
        interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
  };
@@@ -79,7 -79,7 +79,7 @@@
         * hierarchy.
         */
        ocp {
 -              compatible = "simple-bus";
 +              compatible = "ti,omap3-l3-smx", "simple-bus";
                reg = <0x68000000 0x10000>;
                interrupts = <9 10>;
                #address-cells = <1>;
                        ti,hwmods = "mailbox";
                        reg = <0x48094000 0x200>;
                        interrupts = <26>;
+                       #mbox-cells = <1>;
                        ti,mbox-num-users = <2>;
                        ti,mbox-num-fifos = <2>;
                        mbox_dsp: dsp {
                        reg = <0x4a0f4000 0x200>;
                        interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
                        ti,hwmods = "mailbox";
+                       #mbox-cells = <1>;
                        ti,mbox-num-users = <3>;
                        ti,mbox-num-fifos = <8>;
                        mbox_ipu: mbox_ipu {
                                reg = <0x58002000 0x1000>;
                                status = "disabled";
                                ti,hwmods = "dss_rfbi";
 -                              clocks = <&dss_dss_clk>, <&dss_fck>;
 +                              clocks = <&dss_dss_clk>, <&l3_div_ck>;
                                clock-names = "fck", "ick";
                        };
  
@@@ -71,6 -71,7 +71,7 @@@
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
        };
  
        /* irqpin1: IRQ8 - IRQ15 */
@@@ -91,6 -92,7 +92,7 @@@
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
        };
  
        /* irqpin2: IRQ16 - IRQ23 */
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
        };
  
        /* irqpin3: IRQ24 - IRQ31 */
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH
                              0 149 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp2_clks R8A7740_CLK_INTCA>;
        };
  
        ether: ethernet@e9a00000 {
                compatible = "renesas,scifa-r8a7740", "renesas,scifa";
                reg = <0xe6c60000 0x100>;
                interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>;
-               clocks = <&mstp2_clks R8A7740_CLK_SCIFA0>;
+               clocks = <&mstp2_clks R8A7740_CLK_SCIFA2>;
                clock-names = "sci_ick";
                status = "disabled";
        };
                status = "disabled";
        };
  
+       tmu0: timer@fff80000 {
+               compatible = "renesas,tmu-r8a7740", "renesas,tmu";
+               reg = <0xfff80000 0x2c>;
+               interrupts = <0 198 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 199 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 200 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp1_clks R8A7740_CLK_TMU0>;
+               clock-names = "fck";
+               #renesas,channels = <3>;
+               status = "disabled";
+       };
+       tmu1: timer@fff90000 {
+               compatible = "renesas,tmu-r8a7740", "renesas,tmu";
+               reg = <0xfff90000 0x2c>;
+               interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 171 IRQ_TYPE_LEVEL_HIGH>,
+                            <0 172 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp1_clks R8A7740_CLK_TMU1>;
+               clock-names = "fck";
+               #renesas,channels = <3>;
+               status = "disabled";
+       };
        clocks {
                #address-cells = <1>;
                #size-cells = <1>;
                        clocks = <&cpg_clocks R8A7740_CLK_S>,
                                 <&cpg_clocks R8A7740_CLK_S>, <&sub_clk>,
                                 <&cpg_clocks R8A7740_CLK_B>,
 -                               <&sub_clk>, <&sub_clk>,
 +                               <&cpg_clocks R8A7740_CLK_HPP>, <&sub_clk>,
                                 <&cpg_clocks R8A7740_CLK_B>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
                mstp2_clks: mstp2_clks@e6150138 {
                        compatible = "renesas,r8a7740-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0xe6150138 4>, <0xe6150040 4>;
-                       clocks = <&sub_clk>, <&sub_clk>,
-                                <&cpg_clocks R8A7740_CLK_HP>,
+                       clocks = <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
+                                <&sub_clk>, <&cpg_clocks R8A7740_CLK_HP>,
                                 <&cpg_clocks R8A7740_CLK_HP>,
                                 <&cpg_clocks R8A7740_CLK_HP>,
                                 <&cpg_clocks R8A7740_CLK_HP>,
                                 <&sub_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
-                               R8A7740_CLK_SCIFA6 R8A7740_CLK_SCIFA7
+                               R8A7740_CLK_SCIFA6 R8A7740_CLK_INTCA
+                               R8A7740_CLK_SCIFA7
                                R8A7740_CLK_DMAC1 R8A7740_CLK_DMAC2
                                R8A7740_CLK_DMAC3 R8A7740_CLK_USBDMAC
                                R8A7740_CLK_SCIFA5 R8A7740_CLK_SCIFB
                                R8A7740_CLK_SCIFA4
                        >;
                        clock-output-names =
-                               "scifa6", "scifa7", "dmac1", "dmac2", "dmac3",
+                               "scifa6", "intca",
+                               "scifa7", "dmac1", "dmac2", "dmac3",
                                "usbdmac", "scifa5", "scifb", "scifa0", "scifa1",
                                "scifa2", "scifa3", "scifa4";
                };
                #dma-cells = <1>;
                dma-channels = <15>;
        };
+       audma0: dma-controller@ec700000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xec700000 0 0x10000>;
+               interrupts =    <0 346 IRQ_TYPE_LEVEL_HIGH
+                                0 320 IRQ_TYPE_LEVEL_HIGH
+                                0 321 IRQ_TYPE_LEVEL_HIGH
+                                0 322 IRQ_TYPE_LEVEL_HIGH
+                                0 323 IRQ_TYPE_LEVEL_HIGH
+                                0 324 IRQ_TYPE_LEVEL_HIGH
+                                0 325 IRQ_TYPE_LEVEL_HIGH
+                                0 326 IRQ_TYPE_LEVEL_HIGH
+                                0 327 IRQ_TYPE_LEVEL_HIGH
+                                0 328 IRQ_TYPE_LEVEL_HIGH
+                                0 329 IRQ_TYPE_LEVEL_HIGH
+                                0 330 IRQ_TYPE_LEVEL_HIGH
+                                0 331 IRQ_TYPE_LEVEL_HIGH
+                                0 332 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12";
+               clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC0>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <13>;
+       };
+       audma1: dma-controller@ec720000 {
+               compatible = "renesas,rcar-dmac";
+               reg = <0 0xec720000 0 0x10000>;
+               interrupts =    <0 347 IRQ_TYPE_LEVEL_HIGH
+                                0 333 IRQ_TYPE_LEVEL_HIGH
+                                0 334 IRQ_TYPE_LEVEL_HIGH
+                                0 335 IRQ_TYPE_LEVEL_HIGH
+                                0 336 IRQ_TYPE_LEVEL_HIGH
+                                0 337 IRQ_TYPE_LEVEL_HIGH
+                                0 338 IRQ_TYPE_LEVEL_HIGH
+                                0 339 IRQ_TYPE_LEVEL_HIGH
+                                0 340 IRQ_TYPE_LEVEL_HIGH
+                                0 341 IRQ_TYPE_LEVEL_HIGH
+                                0 342 IRQ_TYPE_LEVEL_HIGH
+                                0 343 IRQ_TYPE_LEVEL_HIGH
+                                0 344 IRQ_TYPE_LEVEL_HIGH
+                                0 345 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "error",
+                               "ch0", "ch1", "ch2", "ch3",
+                               "ch4", "ch5", "ch6", "ch7",
+                               "ch8", "ch9", "ch10", "ch11",
+                               "ch12";
+               clocks = <&mstp5_clks R8A7790_CLK_AUDIO_DMAC1>;
+               clock-names = "fck";
+               #dma-cells = <1>;
+               dma-channels = <13>;
+       };
+       audmapp: dma-controller@ec740000 {
+               compatible = "renesas,rcar-audmapp";
+               #dma-cells = <1>;
+               reg = <0 0xec740000 0 0x200>;
+       };
        i2c0: i2c@e6508000 {
                #address-cells = <1>;
                #size-cells = <0>;
                reg = <0 0xe6500000 0 0x425>;
                interrupts = <0 174 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_IIC0>;
+               dmas = <&dmac0 0x61>, <&dmac0 0x62>;
+               dma-names = "tx", "rx";
                status = "disabled";
        };
  
                reg = <0 0xe6510000 0 0x425>;
                interrupts = <0 175 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_IIC1>;
+               dmas = <&dmac0 0x65>, <&dmac0 0x66>;
+               dma-names = "tx", "rx";
                status = "disabled";
        };
  
                reg = <0 0xe6520000 0 0x425>;
                interrupts = <0 176 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_IIC2>;
+               dmas = <&dmac0 0x69>, <&dmac0 0x6a>;
+               dma-names = "tx", "rx";
                status = "disabled";
        };
  
                reg = <0 0xe60b0000 0 0x425>;
                interrupts = <0 173 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp9_clks R8A7790_CLK_IICDVFS>;
+               dmas = <&dmac0 0x77>, <&dmac0 0x78>;
+               dma-names = "tx", "rx";
                status = "disabled";
        };
  
-       mmcif0: mmcif@ee200000 {
+       mmcif0: mmc@ee200000 {
                compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif";
                reg = <0 0xee200000 0 0x80>;
                interrupts = <0 169 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_MMCIF0>;
+               dmas = <&dmac0 0xd1>, <&dmac0 0xd2>;
+               dma-names = "tx", "rx";
                reg-io-width = <4>;
                status = "disabled";
        };
                reg = <0 0xee220000 0 0x80>;
                interrupts = <0 170 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_MMCIF1>;
+               dmas = <&dmac0 0xe1>, <&dmac0 0xe2>;
+               dma-names = "tx", "rx";
                reg-io-width = <4>;
                status = "disabled";
        };
                reg = <0 0xee100000 0 0x200>;
                interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_SDHI0>;
-               cap-sd-highspeed;
                status = "disabled";
        };
  
                reg = <0 0xee120000 0 0x200>;
                interrupts = <0 166 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_SDHI1>;
-               cap-sd-highspeed;
                status = "disabled";
        };
  
                reg = <0 0xee140000 0 0x100>;
                interrupts = <0 167 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_SDHI2>;
-               cap-sd-highspeed;
                status = "disabled";
        };
  
                reg = <0 0xee160000 0 0x100>;
                interrupts = <0 168 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp3_clks R8A7790_CLK_SDHI3>;
-               cap-sd-highspeed;
                status = "disabled";
        };
  
                status = "disabled";
        };
  
+       hsusb: usb@e6590000 {
+               compatible = "renesas,usbhs-r8a7790";
+               reg = <0 0xe6590000 0 0x100>;
+               interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+               renesas,buswait = <4>;
+               phys = <&usb0 1>;
+               phy-names = "usb";
+               status = "disabled";
+       };
+       usbphy: usb-phy@e6590100 {
+               compatible = "renesas,usb-phy-r8a7790";
+               reg = <0 0xe6590100 0 0x100>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               clocks = <&mstp7_clks R8A7790_CLK_HSUSB>;
+               clock-names = "usbhs";
+               status = "disabled";
+               usb0: usb-channel@0 {
+                       reg = <0>;
+                       #phy-cells = <1>;
+               };
+               usb2: usb-channel@2 {
+                       reg = <2>;
+                       #phy-cells = <1>;
+               };
+       };
        vin0: video@e6ef0000 {
                compatible = "renesas,vin-r8a7790";
                clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
                        #clock-cells = <0>;
                        clock-output-names = "sd2";
                };
 -              sd3_clk: sd3_clk@e615007c {
 +              sd3_clk: sd3_clk@e615026c {
                        compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
 -                      reg = <0 0xe615007c 0 4>;
 +                      reg = <0 0xe615026c 0 4>;
                        clocks = <&pll1_div2_clk>;
                        #clock-cells = <0>;
                        clock-output-names = "sd3";
                mstp1_clks: mstp1_clks@e6150134 {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150134 0 4>, <0 0xe6150038 0 4>;
-                       clocks = <&m2_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
-                                <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>,
-                                <&zs_clk>;
+                       clocks = <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&m2_clk>,
+                                <&zs_clk>, <&p_clk>, <&zg_clk>, <&zs_clk>, <&zs_clk>,
+                                <&zs_clk>, <&zs_clk>, <&p_clk>, <&p_clk>, <&rclk_clk>,
+                                <&cp_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>, <&zs_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
-                               R8A7790_CLK_JPU R8A7790_CLK_TMU1 R8A7790_CLK_TMU3 R8A7790_CLK_TMU2
-                               R8A7790_CLK_CMT0 R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1
-                               R8A7790_CLK_VSP1_DU0 R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
+                               R8A7790_CLK_VCP1 R8A7790_CLK_VCP0 R8A7790_CLK_VPC1
+                               R8A7790_CLK_VPC0 R8A7790_CLK_JPU R8A7790_CLK_SSP1
+                               R8A7790_CLK_TMU1 R8A7790_CLK_3DG R8A7790_CLK_2DDMAC
+                               R8A7790_CLK_FDP1_2 R8A7790_CLK_FDP1_1 R8A7790_CLK_FDP1_0
+                               R8A7790_CLK_TMU3 R8A7790_CLK_TMU2 R8A7790_CLK_CMT0
+                               R8A7790_CLK_TMU0 R8A7790_CLK_VSP1_DU1 R8A7790_CLK_VSP1_DU0
+                               R8A7790_CLK_VSP1_R R8A7790_CLK_VSP1_S
                        >;
                        clock-output-names =
-                               "jpu", "tmu1", "tmu3", "tmu2", "cmt0", "tmu0", "vsp1-du1",
-                               "vsp1-du0", "vsp1-rt", "vsp1-sy";
+                               "vcp1", "vcp0", "vpc1", "vpc0", "jpu", "ssp1",
+                               "tmu1", "3dg", "2ddmac", "fdp1-2", "fdp1-1",
+                               "fdp1-0", "tmu3", "tmu2", "cmt0", "tmu0",
+                               "vsp1-du1", "vsp1-du0", "vsp1-rt", "vsp1-sy";
                };
                mstp2_clks: mstp2_clks@e6150138 {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
                        clocks = <&hp_clk>, <&cp_clk>, <&mmc1_clk>, <&sd3_clk>,
                                 <&sd2_clk>, <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, <&mmc0_clk>,
-                                <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>;
+                                <&hp_clk>, <&mp_clk>, <&hp_clk>, <&mp_clk>, <&rclk_clk>,
+                                <&hp_clk>, <&hp_clk>;
                        #clock-cells = <1>;
                        renesas,clock-indices = <
                                R8A7790_CLK_IIC2 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
                                R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 R8A7790_CLK_MMCIF0
                                R8A7790_CLK_IIC0 R8A7790_CLK_PCIEC R8A7790_CLK_IIC1 R8A7790_CLK_SSUSB R8A7790_CLK_CMT1
+                               R8A7790_CLK_USBDMAC0 R8A7790_CLK_USBDMAC1
                        >;
                        clock-output-names =
                                "iic2", "tpu0", "mmcif1", "sdhi3",
                                "sdhi2", "sdhi1", "sdhi0", "mmcif0",
-                               "iic0", "pciec", "iic1", "ssusb", "cmt1";
+                               "iic0", "pciec", "iic1", "ssusb", "cmt1",
+                               "usbdmac0", "usbdmac1";
                };
                mstp5_clks: mstp5_clks@e6150144 {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150144 0 4>, <0 0xe615003c 0 4>;
-                       clocks = <&extal_clk>, <&p_clk>;
+                       clocks = <&hp_clk>, <&hp_clk>, <&extal_clk>, <&p_clk>;
                        #clock-cells = <1>;
-                       renesas,clock-indices = <R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
-                       clock-output-names = "thermal", "pwm";
+                       renesas,clock-indices = <R8A7790_CLK_AUDIO_DMAC0 R8A7790_CLK_AUDIO_DMAC1
+                                                R8A7790_CLK_THERMAL R8A7790_CLK_PWM>;
+                       clock-output-names = "audmac0", "audmac1", "thermal", "pwm";
                };
                mstp7_clks: mstp7_clks@e615014c {
                        compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
                status = "disabled";
        };
  
+       xhci: usb@ee000000 {
+               compatible = "renesas,xhci-r8a7790";
+               reg = <0 0xee000000 0 0xc00>;
+               interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp3_clks R8A7790_CLK_SSUSB>;
+               phys = <&usb2 1>;
+               phy-names = "usb";
+               status = "disabled";
+       };
        pci0: pci@ee090000 {
                compatible = "renesas,pci-r8a7790";
                device_type = "pci";
                interrupt-map = <0x0000 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
                                 0x0800 0 0 1 &gic 0 108 IRQ_TYPE_LEVEL_HIGH
                                 0x1000 0 0 2 &gic 0 108 IRQ_TYPE_LEVEL_HIGH>;
+               usb@0,1 {
+                       reg = <0x800 0 0 0 0>;
+                       device_type = "pci";
+                       phys = <&usb0 0>;
+                       phy-names = "usb";
+               };
+               usb@0,2 {
+                       reg = <0x1000 0 0 0 0>;
+                       device_type = "pci";
+                       phys = <&usb0 0>;
+                       phy-names = "usb";
+               };
        };
  
        pci1: pci@ee0b0000 {
                interrupt-map = <0x0000 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
                                 0x0800 0 0 1 &gic 0 113 IRQ_TYPE_LEVEL_HIGH
                                 0x1000 0 0 2 &gic 0 113 IRQ_TYPE_LEVEL_HIGH>;
+               usb@0,1 {
+                       reg = <0x800 0 0 0 0>;
+                       device_type = "pci";
+                       phys = <&usb2 0>;
+                       phy-names = "usb";
+               };
+               usb@0,2 {
+                       reg = <0x1000 0 0 0 0>;
+                       device_type = "pci";
+                       phys = <&usb2 0>;
+                       phy-names = "usb";
+               };
        };
  
        pciec: pcie@fe000000 {
                status = "disabled";
        };
  
-       rcar_sound: rcar_sound@0xec500000 {
+       rcar_sound: rcar_sound@ec500000 {
                #sound-dai-cells = <1>;
                compatible =  "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2", "renesas,rcar_sound";
                reg =   <0 0xec500000 0 0x1000>, /* SCU */
   * kind, whether express or implied.
   */
  
+ /*
+  * SSI-AK4643
+  *
+  * SW1: 1: AK4643
+  *      2: CN22
+  *      3: ADV7511
+  *
+  * This command is required when Playback/Capture
+  *
+  *    amixer set "LINEOUT Mixer DACL" on
+  *    amixer set "DVC Out" 100%
+  *    amixer set "DVC In" 100%
+  *
+  * You can use Mute
+  *
+  *    amixer set "DVC Out Mute" on
+  *    amixer set "DVC In Mute" on
+  *
+  * You can use Volume Ramp
+  *
+  *    amixer set "DVC Out Ramp Up Rate"   "0.125 dB/64 steps"
+  *    amixer set "DVC Out Ramp Down Rate" "0.125 dB/512 steps"
+  *    amixer set "DVC Out Ramp" on
+  *    aplay xxx.wav &
+  *    amixer set "DVC Out"  80%  // Volume Down
+  *    amixer set "DVC Out" 100%  // Volume Up
+  */
  /dts-v1/;
  #include "r8a7791.dtsi"
  #include <dt-bindings/gpio/gpio.h>
@@@ -25,7 -53,7 +53,7 @@@
        };
  
        chosen {
 -              bootargs = "console=ttySC6,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
 +              bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
                stdout-path = &scif0;
        };
  
@@@ -44,7 -72,7 +72,7 @@@
                #size-cells = <1>;
        };
  
-       gpio-keys {
+       keyboard {
                compatible = "gpio-keys";
  
                key-1 {
                compatible = "gpio-leds";
                led6 {
                        gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
+                       label = "LED6";
                };
                led7 {
                        gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
+                       label = "LED7";
                };
                led8 {
                        gpios = <&gpio2 21 GPIO_ACTIVE_HIGH>;
+                       label = "LED8";
                };
        };
  
                states = <3300000 1
                          1800000 0>;
        };
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,format = "left_j";
+               simple-audio-card,bitclock-master = <&sndcodec>;
+               simple-audio-card,frame-master = <&sndcodec>;
+               sndcpu: simple-audio-card,cpu {
+                       sound-dai = <&rcar_sound>;
+               };
+               sndcodec: simple-audio-card,codec {
+                       sound-dai = <&ak4643>;
+                       system-clock-frequency = <11289600>;
+               };
+       };
  };
  
  &du {
                renesas,groups = "vin1_data8", "vin1_clk";
                renesas,function = "vin1";
        };
+       sound_pins: sound {
+               renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
+               renesas,function = "ssi";
+       };
+       sound_clk_pins: sound_clk {
+               renesas,groups = "audio_clk_a";
+               renesas,function = "audio_clk";
+       };
  };
  
  &ether {
        pinctrl-names = "default";
  
        status = "okay";
-       clock-frequency = <400000>;
+       clock-frequency = <100000>;
+       ak4643: sound-codec@12 {
+               compatible = "asahi-kasei,ak4643";
+               #sound-dai-cells = <0>;
+               reg = <0x12>;
+       };
  
        composite-in@20 {
                compatible = "adi,adv7180";
        pinctrl-names = "default";
  };
  
+ &hsusb {
+       status = "okay";
+       pinctrl-0 = <&usb0_pins>;
+       pinctrl-names = "default";
+       renesas,enable-gpio = <&gpio5 31 GPIO_ACTIVE_HIGH>;
+ };
+ &usbphy {
+       status = "okay";
+ };
  &pcie_bus_clk {
        status = "okay";
  };
                };
        };
  };
+ &rcar_sound {
+       pinctrl-0 = <&sound_pins &sound_clk_pins>;
+       pinctrl-names = "default";
+       #sound-dai-cells = <0>;
+       status = "okay";
+       rcar_sound,dai {
+               dai0 {
+                       playback = <&ssi0 &src2 &dvc0>;
+                       capture  = <&ssi1 &src3 &dvc1>;
+               };
+       };
+ };
+ &ssi1 {
+       shared-pin;
+ };
@@@ -30,8 -30,6 +30,8 @@@
        aliases {
                rtc0 = "/i2c@7000d000/tps65911@2d";
                rtc1 = "/rtc@7000e000";
 +              serial0 = &uarta;
 +              serial1 = &uartc;
        };
  
        memory {
  
                /* ALS and Proximity sensor */
                isl29028@44 {
-                       compatible = "isil,isl29028";
+                       compatible = "isl,isl29028";
                        reg = <0x44>;
                        interrupt-parent = <&gpio>;
                        interrupts = <TEGRA_GPIO(L, 0) IRQ_TYPE_LEVEL_HIGH>;
                reg = <0x80000000 0x10000000>;
        };
  
-       clocks {
-               enet_ext {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <50000000>;
-               };
+       enet_ext: enet_ext {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <50000000>;
        };
+ };
  
+ &clks {
+       clocks = <&sxosc>, <&fxosc>, <&enet_ext>;
+       clock-names = "sxosc", "fxosc", "enet_ext";
  };
  
 +&esdhc1 {
 +      pinctrl-names = "default";
 +      pinctrl-0 = <&pinctrl_esdhc1>;
 +      bus-width = <4>;
 +      status = "okay";
 +};
 +
  &fec1 {
        phy-mode = "rmii";
        pinctrl-names = "default";
  
  &iomuxc {
        vf610-cosmic {
 +              pinctrl_esdhc1: esdhc1grp {
 +                      fsl,pins = <
 +                              VF610_PAD_PTA24__ESDHC1_CLK     0x31ef
 +                              VF610_PAD_PTA25__ESDHC1_CMD     0x31ef
 +                              VF610_PAD_PTA26__ESDHC1_DAT0    0x31ef
 +                              VF610_PAD_PTA27__ESDHC1_DAT1    0x31ef
 +                              VF610_PAD_PTA28__ESDHC1_DATA2   0x31ef
 +                              VF610_PAD_PTA29__ESDHC1_DAT3    0x31ef
 +                              VF610_PAD_PTB28__GPIO_98        0x219d
 +                      >;
 +              };
 +
                pinctrl_fec1: fec1grp {
                        fsl,pins = <
                                VF610_PAD_PTC9__ENET_RMII1_MDC          0x30d2
@@@ -35,7 -35,7 +35,8 @@@
  };
  
  &clkc {
 +      fclk-enable = <0xf>;
+       ps-clk-frequency = <33333333>;
  };
  
  &gem0 {
@@@ -288,8 -288,6 +288,6 @@@ void __init r8a7778_add_dt_devices(void
                l2x0_init(base, 0x00400000, 0xc20f0fff);
        }
  #endif
-       r8a7778_register_tmu(0);
  }
  
  /* HPB-DMA */
@@@ -497,6 -495,7 +495,7 @@@ static void __init r8a7778_register_hpb
  void __init r8a7778_add_standard_devices(void)
  {
        r8a7778_add_dt_devices();
+       r8a7778_register_tmu(0);
        r8a7778_register_scif(0);
        r8a7778_register_scif(1);
        r8a7778_register_scif(2);
@@@ -568,6 -567,11 +567,6 @@@ void __init r8a7778_init_irq_extpin(in
                        &irqpin_platform_data, sizeof(irqpin_platform_data));
  }
  
 -void __init r8a7778_init_delay(void)
 -{
 -      shmobile_init_delay();
 -}
 -
  #ifdef CONFIG_USE_OF
  #define INT2SMSKCR0   0x82288 /* 0xfe782288 */
  #define INT2SMSKCR1   0x8228c /* 0xfe78228c */
@@@ -599,7 -603,7 +598,7 @@@ static const char *r8a7778_compat_dt[] 
  };
  
  DT_MACHINE_START(R8A7778_DT, "Generic R8A7778 (Flattened Device Tree)")
 -      .init_early     = r8a7778_init_delay,
 +      .init_early     = shmobile_init_delay,
        .init_irq       = r8a7778_init_irq_dt,
        .init_late      = shmobile_init_late,
        .dt_compat      = r8a7778_compat_dt,