]> Git Repo - linux.git/commitdiff
Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
authorLinus Torvalds <[email protected]>
Thu, 15 Dec 2016 23:50:24 +0000 (15:50 -0800)
committerLinus Torvalds <[email protected]>
Thu, 15 Dec 2016 23:50:24 +0000 (15:50 -0800)
Pull ARM DT updates from Arnd Bergmann:
 "Lots of changes as usual, so I'm trying to be brief here. Most of the
  new hardware support has the respective driver changes merged through
  other trees or has had it available for a while, so this is where
  things come together.

  We get a DT descriptions for a couple of new SoCs, all of them
  variants of other chips we already support, and usually coming with a
  new evaluation board:

   - Oxford semiconductor (now Broadcom) OX820 SoC for NAS devices
   - Qualcomm MDM9615 LTE baseband
   - NXP imx6ull, the latest and smallest i.MX6 application processor variant
   - Renesas RZ/G (r8a7743 and r8a7745) application processors
   - Rockchip PX3, a variant of the rk3188 chip used in Android tablets
   - Rockchip rk1108 single-core application processor
   - ST stm32f746 Cortex-M7 based microcontroller
   - TI DRA71x automotive processors

  These are commercially available consumer platforms we now support:

   - Motorola Droid 4 (xt894) mobile phone
   - Rikomagic MK808 Android TV stick based on Rockchips rx3066
   - Cloud Engines PogoPlug v3 based on OX820
   - Various Broadcom based wireless devices:
      - Netgear R8500 router
      - Tenda AC9 router
      - TP-LINK Archer C9 V1
      - Luxul XAP-1510 Access point
   - Turris Omnia open hardware router based on Armada 385

  And a couple of new boards targeted at developers, makers or
  industrial integration:

   - Macnica Sodia development platform for Altera socfpga (Cyclone V)
   - MicroZed board based on Xilinx Zynq FPGA platforms
   - TOPEET itop/elite based on exynos4412
   - WP8548 MangOH Open Hardware platform for IOT, based on Qualcomm MDM9615
   - NextThing CHIP Pro gadget
   - NanoPi M1 development board
   - AM571x-IDK industrial board based on TI AM5718
   - i.MX6SX UDOO Neo
   - Boundary Devices Nitrogen6_SOM2 (i.MX6)
   - Engicam i.CoreM6
   - Grinn i.MX6UL liteSOM/liteBoard
   - Toradex Colibri iMX6 module

  Other changes:

   - added peripherals on renesas, davinci, stm32f429, uniphier, sti,
     mediatek, integrator, at91, imx, vybrid, ls1021a, omap, qualcomm,
     mvebu, allwinner, broadcom, exynos, zynq

   - Continued fixes for W=1 dtc warnings

   - The old STiH415/416 SoC support gets removed, these never made it
     into products and have served their purpose in the kernel as a
     template for teh newer chips from ST

   - The exynos4415 dtsi file is removed as nothing uses it.

   - Intel PXA25x can now be booted using devicetree"

* tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (422 commits)
  arm: dts: zynq: Add MicroZed board support
  ARM: dts: da850: enable high speed for mmc
  ARM: dts: da850: Add node for pullup/pulldown pinconf
  ARM: dts: da850: enable memctrl and mstpri nodes per board
  ARM: dts: da850-lcdk: Add ethernet0 alias to DT
  ARM: dts: artpec: add pcie support
  ARM: dts: add support for Turris Omnia
  devicetree: Add vendor prefix for CZ.NIC
  ARM: dts: berlin2q-marvell-dmp: fix typo in chosen node
  ARM: dts: berlin2q-marvell-dmp: fix regulators' name
  ARM: dts: Add xo to sdhc clock node on qcom platforms
  ARM: dts: r8a7794: Add device node for PRR
  ARM: dts: r8a7793: Add device node for PRR
  ARM: dts: r8a7792: Add device node for PRR
  ARM: dts: r8a7791: Add device node for PRR
  ARM: dts: r8a7790: Add device node for PRR
  ARM: dts: r8a7779: Add device node for PRR
  ARM: dts: r8a73a4: Add device node for PRR
  ARM: dts: sk-rzg1e: add Ether support
  ARM: dts: sk-rzg1e: initial device tree
  ...

26 files changed:
1  2 
Documentation/devicetree/bindings/arm/cpus.txt
Documentation/devicetree/bindings/arm/omap/omap.txt
Documentation/devicetree/bindings/vendor-prefixes.txt
MAINTAINERS
arch/arm/boot/dts/dra72-evm-revc.dts
arch/arm/boot/dts/hisi-x5hd2.dtsi
arch/arm/boot/dts/imx31.dtsi
arch/arm/boot/dts/imx6qp.dtsi
arch/arm/boot/dts/imx7s.dtsi
arch/arm/boot/dts/r8a7778.dtsi
arch/arm/boot/dts/r8a7779.dtsi
arch/arm/boot/dts/r8a7790.dtsi
arch/arm/boot/dts/r8a7791.dtsi
arch/arm/boot/dts/r8a7792.dtsi
arch/arm/boot/dts/r8a7793.dtsi
arch/arm/boot/dts/r8a7794.dtsi
arch/arm/boot/dts/rk3036.dtsi
arch/arm/boot/dts/rk3288.dtsi
arch/arm/boot/dts/rk3xxx.dtsi
arch/arm/boot/dts/stih407-family.dtsi
arch/arm/boot/dts/stih410-b2260.dts
arch/arm/boot/dts/sun8i-h3.dtsi
arch/arm/boot/dts/vf610-zii-dev-rev-b.dts
arch/arm64/boot/dts/hisilicon/hi6220.dtsi
arch/arm64/boot/dts/mediatek/mt8173.dtsi
drivers/pinctrl/bcm/pinctrl-bcm2835.c

index c1dcf4cade2ee572faa54ce1f6eea78c95c7c43b,6b79f8744eaa0e79c4ea0f7352e5cc0fc18b92dc..a1bcfeed5f246f030ce69140cfde5f2fcf5f0ee0
@@@ -178,6 -178,7 +178,7 @@@ nodes to be present and contain the pro
                            "marvell,pj4b"
                            "marvell,sheeva-v5"
                            "nvidia,tegra132-denver"
+                           "nvidia,tegra186-denver"
                            "qcom,krait"
                            "qcom,kryo"
                            "qcom,scorpion"
                        # List of phandles to idle state nodes supported
                          by this cpu [3].
  
 +      - capacity-dmips-mhz
 +              Usage: Optional
 +              Value type: <u32>
 +              Definition:
 +                      # u32 value representing CPU capacity [3] in
 +                        DMIPS/MHz, relative to highest capacity-dmips-mhz
 +                        in the system.
 +
        - rockchip,pmu
                Usage: optional for systems that have an "enable-method"
                       property value of "rockchip,rk3066-smp"
@@@ -472,5 -465,3 +473,5 @@@ cpus 
  [2] arm/msm/qcom,kpss-acc.txt
  [3] ARM Linux kernel documentation - idle states bindings
      Documentation/devicetree/bindings/arm/idle-states.txt
 +[3] ARM Linux kernel documentation - cpu capacity bindings
 +    Documentation/devicetree/bindings/arm/cpu-capacity.txt
index 454b1bec7542e6ef99fe02010667b2322b6a5f0d,6cf680ed8290de4928ff81405c955db61d290cbe..05f95c3ed7d4826ee094e608a24b7f4b7acbc27a
@@@ -86,9 -86,6 +86,9 @@@ SoCs
  - DRA722
    compatible = "ti,dra722", "ti,dra72", "ti,dra7"
  
 +- DRA718
 +  compatible = "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"
 +
  - AM5728
    compatible = "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
  
@@@ -178,15 -175,15 +178,18 @@@ Boards
  - AM5728 IDK
    compatible = "ti,am5728-idk", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
  
+ - AM5718 IDK
+   compatible = "ti,am5718-idk", "ti,am5718", "ti,dra7"
  - DRA742 EVM:  Software Development Board for DRA742
    compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
  
  - DRA722 EVM: Software Development Board for DRA722
    compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
  
 +- DRA718 EVM: Software Development Board for DRA718
 +  compatible = "ti,dra718-evm", "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"
 +
  - DM3730 Logic PD Torpedo + Wireless: Commercial System on Module with WiFi and Bluetooth
    compatible = "logicpd,dm3730-torpedo-devkit", "ti,omap3630", "ti,omap3"
  
index 6e25c912a5c2611a377d6306e298ca3702aaf84e,b9ec0396775c2171ec065d578dc632aa138659a4..448c831753f85a3870b75539fc046b70c08aaf07
@@@ -24,11 -24,9 +24,11 @@@ ampire      Ampire Co., Ltd
  ams   AMS AG
  amstaos       AMS-Taos Inc.
  analogix      Analogix Semiconductor, Inc.
 +andestech     Andes Technology Corporation
  apm   Applied Micro Circuits Corporation (APM)
  aptina        Aptina Imaging
  arasan        Arasan Chip Systems
 +aries Aries Embedded GmbH
  arm   ARM Ltd.
  armadeus      ARMadeus Systems SARL
  arrow Arrow Electronics
@@@ -41,7 -39,6 +41,7 @@@ auo   AU Optronics Corporatio
  auvidea Auvidea GmbH
  avago Avago Technologies
  avic  Shanghai AVIC Optoelectronics Co., Ltd.
 +axentia       Axentia Technologies AB
  axis  Axis Communications AB
  boe   BOE Technology Group Co., Ltd.
  bosch Bosch Sensortec GmbH
@@@ -70,6 -67,7 +70,7 @@@ creative      Creative Technology Lt
  crystalfontz  Crystalfontz America, Inc.
  cubietech     Cubietech, Ltd.
  cypress       Cypress Semiconductor Corporation
+ cznic CZ.NIC, z.s.p.o.
  dallas        Maxim Integrated Products (formerly Dallas Semiconductor)
  davicom       DAVICOM Semiconductor, Inc.
  delta Delta Electronics, Inc.
@@@ -129,7 -127,6 +130,7 @@@ hitex      Hitex Development Tool
  holt  Holt Integrated Circuits, Inc.
  honeywell     Honeywell
  hp    Hewlett Packard
 +holtek        Holtek Semiconductor, Inc.
  i2se  I2SE GmbH
  ibm   International Business Machines (IBM)
  idt   Integrated Device Technologies, Inc.
@@@ -139,7 -136,6 +140,7 @@@ infineon Infineon Technologie
  inforce       Inforce Computing
  ingenic       Ingenic Semiconductor
  innolux       Innolux Corporation
 +inside-secure INSIDE Secure
  intel Intel Corporation
  intercontrol  Inter Control Group
  invensense    InvenSense Inc.
@@@ -163,22 -159,18 +164,22 @@@ lg      LG Corporatio
  linux Linux-specific binding
  lltc  Linear Technology Corporation
  lsi   LSI Corp. (LSI Logic)
 +macnica       Macnica Americas
  marvell       Marvell Technology Group Ltd.
  maxim Maxim Integrated Products
 +mcube mCube
  meas  Measurement Specialties
  mediatek      MediaTek Inc.
  melexis       Melexis N.V.
  melfas        MELFAS Inc.
 +memsic        MEMSIC Inc.
  merrii        Merrii Technology Co., Ltd.
  micrel        Micrel Inc.
  microchip     Microchip Technology Inc.
  microcrystal  Micro Crystal AG
  micron        Micron Technology Inc.
  minix MINIX Technology Ltd.
 +miramems      MiraMEMS Sensing Technology Co., Ltd.
  mitsubishi    Mitsubishi Electric Corporation
  mosaixtech    Mosaix Technologies, Inc.
  moxa  Moxa
@@@ -189,7 -181,6 +190,7 @@@ mti        Imagination Technologies Ltd. (form
  mundoreader   Mundo Reader S.L.
  murata        Murata Manufacturing Co., Ltd.
  mxicy Macronix International Co., Ltd.
 +myir  MYIR Tech Limited
  national      National Semiconductor
  nec   NEC LCD Technologies, Ltd.
  neonode               Neonode Inc.
@@@ -197,15 -188,12 +198,15 @@@ netgear NETGEA
  netlogic      Broadcom Corporation (formerly NetLogic Microsystems)
  netxeon               Shenzhen Netxeon Technology CO., LTD
  newhaven      Newhaven Display International
 +ni    National Instruments
  nintendo      Nintendo
  nokia Nokia
  nuvoton       Nuvoton Technology Corporation
 +nvd   New Vision Display
  nvidia        NVIDIA
  nxp   NXP Semiconductors
  okaya Okaya Electric America, Inc.
 +oki   Oki Electric Industry Co., Ltd.
  olimex        OLIMEX Ltd.
  onion Onion Corporation
  onnn  ON Semiconductor Corp.
@@@ -242,9 -230,9 +243,10 @@@ realtek Realtek Semiconductor Corp
  renesas       Renesas Electronics Corporation
  richtek       Richtek Technology Corporation
  ricoh Ricoh Co. Ltd.
+ rikomagic     Rikomagic Tech Corp. Ltd
  rockchip      Fuzhou Rockchip Electronics Co., Ltd
  samsung       Samsung Semiconductor
 +samtec        Samtec/Softing company
  sandisk       Sandisk Corporation
  sbs   Smart Battery System
  schindler     Schindler
@@@ -289,7 -277,6 +291,7 @@@ tcg        Trusted Computing Grou
  tcl   Toby Churchill Ltd.
  technexion    TechNexion
  technologic   Technologic Systems
 +terasic       Terasic Inc.
  thine THine Electronics, Inc.
  ti    Texas Instruments
  tlm   Trusted Logic Mobility
@@@ -304,7 -291,6 +306,7 @@@ tronfy     Tronf
  tronsmart     Tronsmart
  truly Truly Semiconductors Limited
  tyan  Tyan Computer Corporation
 +udoo  Udoo
  uniwest       United Western Technologies Corp (UniWest)
  upisemi       uPI Semiconductor Corp.
  urt   United Radiant Technology Corporation
diff --combined MAINTAINERS
index 0ed5010ce089b39bc33aeb856fea6e92a33d9bf3,b4e472a159eea263f3a6641889ff72a3f8b576c0..3d7cf9910775a5fbdee95fb173e7a0f18cf6be51
@@@ -35,13 -35,13 +35,13 @@@ trivial patch so apply some common sens
  
        PLEASE check your patch with the automated style checker
        (scripts/checkpatch.pl) to catch trivial style violations.
 -      See Documentation/CodingStyle for guidance here.
 +      See Documentation/process/coding-style.rst for guidance here.
  
        PLEASE CC: the maintainers and mailing lists that are generated
        by scripts/get_maintainer.pl.  The results returned by the
        script will be best if you have git installed and are making
        your changes in a branch derived from Linus' latest git tree.
 -      See Documentation/SubmittingPatches for details.
 +      See Documentation/process/submitting-patches.rst for details.
  
        PLEASE try to include any credit lines you want added with the
        patch. It avoids people being missed off by mistake and makes
@@@ -54,7 -54,7 +54,7 @@@
        of the Linux Foundation certificate of contribution and should
        include a Signed-off-by: line.  The current version of this
        "Developer's Certificate of Origin" (DCO) is listed in the file
 -      Documentation/SubmittingPatches.
 +      Documentation/process/submitting-patches.rst.
  
  6.    Make sure you have the right to send any changes you make. If you
        do changes at work you may find your employer owns the patch
@@@ -74,14 -74,9 +74,14 @@@ Descriptions of section entries
           These reviewers should be CCed on patches.
        L: Mailing list that is relevant to this area
        W: Web-page with status/info
 +      B: URI for where to file bugs. A web-page with detailed bug
 +         filing info, a direct bug tracker link, or a mailto: URI.
 +      C: URI for chat protocol, server and channel where developers
 +         usually hang out, for example irc://server/channel.
        Q: Patchwork web based patch tracking system site
        T: SCM tree type and location.
           Type is one of: git, hg, quilt, stgit, topgit
 +      B: Bug tracking system location.
        S: Status, one of the following:
           Supported:   Someone is actually paid to look after this.
           Maintained:  Someone actually looks after it.
@@@ -260,12 -255,6 +260,12 @@@ L:       [email protected]
  S:    Maintained
  F:    drivers/gpio/gpio-104-idio-16.c
  
 +ACCES 104-QUAD-8 IIO DRIVER
 +M:    William Breathitt Gray <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/iio/counter/104-quad-8.c
 +
  ACENIC DRIVER
  M:    Jes Sorensen <[email protected]>
  L:    [email protected]
  W:    https://01.org/linux-acpi
  Q:    https://patchwork.kernel.org/project/linux-acpi/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/acpi/
  F:    drivers/pnp/pnpacpi/
@@@ -316,8 -304,6 +316,8 @@@ W: https://acpica.org
  W:    https://github.com/acpica/acpica/
  Q:    https://patchwork.kernel.org/project/linux-acpi/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
 +B:    https://bugzilla.kernel.org
 +B:    https://bugs.acpica.org
  S:    Supported
  F:    drivers/acpi/acpica/
  F:    include/acpi/
@@@ -327,7 -313,6 +327,7 @@@ ACPI FAN DRIVE
  M:    Zhang Rui <[email protected]>
  L:    [email protected]
  W:    https://01.org/linux-acpi
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/acpi/fan.c
  
@@@ -343,7 -328,6 +343,7 @@@ ACPI THERMAL DRIVE
  M:    Zhang Rui <[email protected]>
  L:    [email protected]
  W:    https://01.org/linux-acpi
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/acpi/*thermal*
  
@@@ -351,7 -335,6 +351,7 @@@ ACPI VIDEO DRIVE
  M:    Zhang Rui <[email protected]>
  L:    [email protected]
  W:    https://01.org/linux-acpi
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/acpi/acpi_video.c
  
@@@ -540,7 -523,6 +540,7 @@@ S: Supporte
  F:    fs/afs/
  F:    include/net/af_rxrpc.h
  F:    net/rxrpc/af_rxrpc.c
 +W:    https://www.infradead.org/~dhowells/kafs/
  
  AGPGART DRIVER
  M:    David Airlie <[email protected]>
@@@ -588,11 -570,6 +588,11 @@@ T:       git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/usb/airspy/
  
 +ALACRITECH GIGABIT ETHERNET DRIVER
 +M:    Lino Sanfilippo <[email protected]>
 +S:    Maintained
 +F:    drivers/net/ethernet/alacritech/*
 +
  ALCATEL SPEEDTOUCH USB DRIVER
  M:    Duncan Sands <[email protected]>
  L:    [email protected]
@@@ -810,7 -787,7 +810,7 @@@ S: Supporte
  F:    drivers/iio/*/ad*
  X:    drivers/iio/*/adjd*
  F:    drivers/staging/iio/*/ad*
 -F:    staging/iio/trigger/iio-trig-bfin-timer.c
 +F:    drivers/staging/iio/trigger/iio-trig-bfin-timer.c
  
  ANALOG DEVICES INC DMA DRIVERS
  M:    Lars-Peter Clausen <[email protected]>
@@@ -1059,7 -1036,6 +1059,7 @@@ F:      arch/arm/mach-meson
  F:    arch/arm/boot/dts/meson*
  F:    arch/arm64/boot/dts/amlogic/
  F:    drivers/pinctrl/meson/
 +F:    drivers/mmc/host/meson*
  N:    meson
  
  ARM/Annapurna Labs ALPINE ARCHITECTURE
@@@ -1503,8 -1479,9 +1503,9 @@@ L:      [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-oxnas/
- F:    arch/arm/boot/dts/oxnas*
+ F:    arch/arm/boot/dts/ox8*.dtsi
  F:    arch/arm/boot/dts/wd-mbwe.dts
+ F:    arch/arm/boot/dts/cloudengines-pogoplug-series-3.dts
  N:    oxnas
  
  ARM/Mediatek RTC DRIVER
@@@ -1799,18 -1776,14 +1800,16 @@@ F:   drivers/char/hw_random/st-rng.
  F:    drivers/clocksource/arm_global_timer.c
  F:    drivers/clocksource/clksrc_st_lpc.c
  F:    drivers/cpufreq/sti-cpufreq.c
 +F:    drivers/dma/st_fdma*
  F:    drivers/i2c/busses/i2c-st.c
  F:    drivers/media/rc/st_rc.c
  F:    drivers/media/platform/sti/c8sectpfe/
  F:    drivers/mmc/host/sdhci-st.c
  F:    drivers/phy/phy-miphy28lp.c
- F:    drivers/phy/phy-miphy365x.c
  F:    drivers/phy/phy-stih407-usb.c
- F:    drivers/phy/phy-stih41x-usb.c
  F:    drivers/pinctrl/pinctrl-st.c
  F:    drivers/remoteproc/st_remoteproc.c
 +F:    drivers/remoteproc/st_slim_rproc.c
  F:    drivers/reset/sti/
  F:    drivers/rtc/rtc-st-lpc.c
  F:    drivers/tty/serial/st-asc.c
@@@ -1819,7 -1792,6 +1818,7 @@@ F:      drivers/usb/host/ehci-st.
  F:    drivers/usb/host/ohci-st.c
  F:    drivers/watchdog/st_lpc_wdt.c
  F:    drivers/ata/ahci_st.c
 +F:    include/linux/remoteproc/st_slim_rproc.h
  
  ARM/STM32 ARCHITECTURE
  M:    Maxime Coquelin <[email protected]>
@@@ -2345,13 -2317,6 +2344,13 @@@ F:    include/uapi/linux/ax25.
  F:    include/net/ax25.h
  F:    net/ax25/
  
 +AXENTIA ASOC DRIVERS
 +M:    Peter Rosin <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/sound/axentia,*
 +F:    sound/soc/atmel/tse850-pcm5142.c
 +
  AZ6007 DVB DRIVER
  M:    Mauro Carvalho Chehab <[email protected]>
  M:    Mauro Carvalho Chehab <[email protected]>
@@@ -2564,8 -2529,6 +2563,8 @@@ L:      [email protected]
  L:    [email protected]
  S:    Supported
  F:    kernel/bpf/
 +F:    tools/testing/selftests/bpf/
 +F:    lib/test_bpf.c
  
  BROADCOM B44 10/100 ETHERNET DRIVER
  M:    Michael Chan <[email protected]>
@@@ -2588,18 -2551,15 +2587,18 @@@ S:   Supporte
  F:    drivers/net/ethernet/broadcom/genet/
  
  BROADCOM BNX2 GIGABIT ETHERNET DRIVER
 -M:    Sony Chacko <[email protected]>
 -M:    [email protected]
 +M:    Rasesh Mody <[email protected]>
 +M:    Harish Patil <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2.*
  F:    drivers/net/ethernet/broadcom/bnx2_*
  
  BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
 -M:    Ariel Elior <[email protected]>
 +M:    Yuval Mintz <[email protected]>
 +M:    Ariel Elior <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2x/
@@@ -2626,7 -2586,6 +2625,7 @@@ L:      [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rpi/linux-rpi.git
  S:    Maintained
  N:    bcm2835
 +F:    drivers/staging/vc04_services
  
  BROADCOM BCM47XX MIPS ARCHITECTURE
  M:    Hauke Mehrtens <[email protected]>
  S:    Maintained
  F:    drivers/mtd/nand/brcmnand/
  
 +BROADCOM STB AVS CPUFREQ DRIVER
 +M:    Markus Mayer <[email protected]>
 +M:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/cpufreq/brcm,stb-avs-cpu-freq.txt
 +F:    drivers/cpufreq/brcmstb*
 +
  BROADCOM SPECIFIC AMBA DRIVER (BCMA)
  M:    RafaÅ‚ MiÅ‚ecki <[email protected]>
  L:    [email protected]
@@@ -2801,7 -2752,7 +2800,7 @@@ S:      Supporte
  F:    drivers/net/ethernet/broadcom/bcmsysport.*
  
  BROADCOM VULCAN ARM64 SOC
 -M:    Jayachandran C. <jchandra@broadcom.com>
 +M:    Jayachandran C. <c.jayachandran@gmail.com>
  M:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
@@@ -2815,9 -2766,7 +2814,9 @@@ S:      Supporte
  F:    drivers/scsi/bfa/
  
  BROCADE BNA 10 GIGABIT ETHERNET DRIVER
 -M:    Rasesh Mody <[email protected]>
 +M:    Rasesh Mody <[email protected]>
 +M:    Sudarsana Kalluru <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/brocade/bna/
@@@ -2975,7 -2924,7 +2974,7 @@@ CAPELLA MICROSYSTEMS LIGHT SENSOR DRIVE
  M:    Kevin Tsai <[email protected]>
  S:    Maintained
  F:    drivers/iio/light/cm*
 -F:    Documentation/devicetree/bindings/i2c/trivial-devices.txt
 +F:    Documentation/devicetree/bindings/i2c/trivial-admin-guide/devices.rst
  
  CAVIUM I2C DRIVER
  M:    Jan Glauber <[email protected]>
@@@ -3075,12 -3024,6 +3074,12 @@@ F:    drivers/usb/host/whci
  F:    drivers/usb/wusbcore/
  F:    include/linux/usb/wusb*
  
 +HT16K33 LED CONTROLLER DRIVER
 +M:    Robin van der Gracht <[email protected]>
 +S:    Maintained
 +F:    drivers/auxdisplay/ht16k33.c
 +F:    Documentation/devicetree/bindings/display/ht16k33.txt
 +
  CFAG12864B LCD DRIVER
  M:    Miguel Ojeda Sandonis <[email protected]>
  W:    http://miguelojeda.es/auxdisplay.htm
@@@ -3129,7 -3072,7 +3128,7 @@@ M:      Harry Wei <[email protected]
  L:    [email protected] (subscribers-only)
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 -F:    Documentation/zh_CN/
 +F:    Documentation/translations/zh_CN/
  
  CHIPIDEA USB HIGH SPEED DUAL ROLE CONTROLLER
  M:    Peter Chen <[email protected]>
@@@ -3200,15 -3143,15 +3199,15 @@@ S:   Supporte
  F:    drivers/clocksource
  
  CISCO FCOE HBA DRIVER
 -M:    Hiral Patel <hiralpat@cisco.com>
 -M:    Suma Ramars <sramars@cisco.com>
 -M:    Brian Uchino <buchino@cisco.com>
 +M:    Satish Kharat <satishkh@cisco.com>
 +M:    Sesidhar Baddela <sebaddel@cisco.com>
 +M:    Karan Tilak Kumar <kartilak@cisco.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/scsi/fnic/
  
  CISCO SCSI HBA DRIVER
 -M:    Narsimhulu Musini <nmusini@cisco.com>
 +M:    Karan Tilak Kumar <kartilak@cisco.com>
  M:    Sesidhar Baddela <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -3385,7 -3328,6 +3384,7 @@@ L:      [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
  T:    git git://git.linaro.org/people/vireshk/linux.git (For ARM Updates)
 +B:    https://bugzilla.kernel.org
  F:    Documentation/cpu-freq/
  F:    drivers/cpufreq/
  F:    include/linux/cpufreq.h
@@@ -3425,7 -3367,6 +3424,7 @@@ M:      Daniel Lezcano <daniel.lezcano@linar
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
 +B:    https://bugzilla.kernel.org
  F:    drivers/cpuidle/*
  F:    include/linux/cpuidle.h
  
@@@ -3471,7 -3412,6 +3470,7 @@@ F:      arch/*/crypto
  F:    crypto/
  F:    drivers/crypto/
  F:    include/crypto/
 +F:    include/linux/crypto*
  
  CRYPTOGRAPHIC RANDOM NUMBER GENERATOR
  M:    Neil Horman <[email protected]>
@@@ -3965,7 -3905,7 +3964,7 @@@ F:      include/linux/dma-buf
  F:    include/linux/reservation.h
  F:    include/linux/*fence.h
  F:    Documentation/dma-buf-sharing.txt
 -T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  
  SYNC FILE FRAMEWORK
  M:    Sumit Semwal <[email protected]>
@@@ -3973,12 -3913,10 +3972,12 @@@ R:   Gustavo Padovan <[email protected]
  S:    Maintained
  L:    [email protected]
  L:    [email protected]
 -F:    drivers/dma-buf/sync_file.c
 +F:    drivers/dma-buf/sync_*
 +F:    drivers/dma-buf/sw_sync.c
  F:    include/linux/sync_file.h
 +F:    include/uapi/linux/sync_file.h
  F:    Documentation/sync_file.txt
 -T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
  
  DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
  M:    Vinod Koul <[email protected]>
@@@ -4066,8 -4004,6 +4065,8 @@@ DRM DRIVER
  M:    David Airlie <[email protected]>
  L:    [email protected]
  T:    git git://people.freedesktop.org/~airlied/linux
 +B:    https://bugs.freedesktop.org/
 +C:    irc://chat.freenode.net/dri-devel
  S:    Maintained
  F:    drivers/gpu/drm/
  F:    drivers/gpu/vga/
@@@ -4078,30 -4014,11 +4077,30 @@@ F:   Documentation/gpu
  F:    include/drm/
  F:    include/uapi/drm/
  
 +DRM DRIVERS AND MISC GPU PATCHES
 +M:    Daniel Vetter <[email protected]>
 +M:    Jani Nikula <[email protected]>
 +M:    Sean Paul <[email protected]>
 +W:    https://01.org/linuxgraphics/gfx-docs/maintainer-tools/drm-misc.html
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    Documentation/gpu/
 +F:    drivers/gpu/vga/
 +F:    drivers/gpu/drm/*
 +F:    include/drm/drm*
 +F:    include/uapi/drm/drm*
 +
  DRM DRIVER FOR AST SERVER GRAPHICS CHIPS
  M:    Dave Airlie <[email protected]>
  S:    Odd Fixes
  F:    drivers/gpu/drm/ast/
  
 +DRM DRIVERS FOR BRIDGE CHIPS
 +M:    Archit Taneja <[email protected]>
 +S:    Maintained
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +F:    drivers/gpu/drm/bridge/
 +
  DRM DRIVER FOR BOCHS VIRTUAL GPU
  M:    Gerd Hoffmann <[email protected]>
  S:    Odd Fixes
@@@ -4137,9 -4054,8 +4136,9 @@@ INTEL DRM DRIVERS (excluding Poulsbo, M
  M:    Daniel Vetter <[email protected]>
  M:    Jani Nikula <[email protected]>
  L:    [email protected]
 -L:    [email protected]
  W:    https://01.org/linuxgraphics/
 +B:    https://01.org/linuxgraphics/documentation/how-report-bugs
 +C:    irc://chat.freenode.net/intel-gfx
  Q:    http://patchwork.freedesktop.org/project/intel-gfx/
  T:    git git://anongit.freedesktop.org/drm-intel
  S:    Supported
@@@ -4148,16 -4064,6 +4147,16 @@@ F:    include/drm/i915
  F:    include/uapi/drm/i915_drm.h
  F:    Documentation/gpu/i915.rst
  
 +INTEL GVT-g DRIVERS (Intel GPU Virtualization)
 +M:      Zhenyu Wang <[email protected]>
 +M:      Zhi Wang <[email protected]>
 +L:      [email protected]
 +L:      [email protected]
 +W:      https://01.org/igvt-g
 +T:      git https://github.com/01org/gvt-linux.git
 +S:      Supported
 +F:      drivers/gpu/drm/i915/gvt/
 +
  DRM DRIVERS FOR ATMEL HLCDC
  M:    Boris Brezillon <[email protected]>
  L:    [email protected]
@@@ -4172,15 -4078,6 +4171,15 @@@ S:    Supporte
  F:    drivers/gpu/drm/sun4i/
  F:    Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt
  
 +DRM DRIVERS FOR AMLOGIC SOCS
 +M:    Neil Armstrong <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +W:    http://linux-meson.com/
 +S:    Supported
 +F:    drivers/gpu/drm/meson/
 +F:    Documentation/devicetree/bindings/display/amlogic,meson-vpu.txt
 +
  DRM DRIVERS FOR EXYNOS
  M:    Inki Dae <[email protected]>
  M:    Joonyoung Shim <[email protected]>
@@@ -4220,7 -4117,6 +4219,7 @@@ F:      drivers/gpu/drm/gma500
  
  DRM DRIVERS FOR HISILICON
  M:    Xinliang Liu <[email protected]>
 +M:    Rongrong Zou <[email protected]>
  R:    Xinwei Kong <[email protected]>
  R:    Chen Feng <[email protected]>
  L:    [email protected]
@@@ -4345,7 -4241,6 +4344,7 @@@ DRM DRIVERS FOR VIVANTE GPU I
  M:    Lucas Stach <[email protected]>
  R:    Russell King <[email protected]>
  R:    Christian Gmeiner <[email protected]>
 +L:    [email protected]
  L:    [email protected]
  S:    Maintained
  F:    drivers/gpu/drm/etnaviv/
@@@ -4386,13 -4281,6 +4385,13 @@@ S:    Maintaine
  F:    drivers/gpu/drm/tilcdc/
  F:    Documentation/devicetree/bindings/display/tilcdc/
  
 +DRM DRIVERS FOR ZTE ZX
 +M:    Shawn Guo <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/gpu/drm/zte/
 +F:    Documentation/devicetree/bindings/display/zte,vou.txt
 +
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
  S:    Maintained
  F:    Documentation/efi-stub.txt
 -F:    arch/ia64/kernel/efi.c
 +F:    arch/*/kernel/efi.c
  F:    arch/x86/boot/compressed/eboot.[ch]
 -F:    arch/x86/include/asm/efi.h
 +F:    arch/*/include/asm/efi.h
  F:    arch/x86/platform/efi/
  F:    drivers/firmware/efi/
  F:    include/linux/efi*.h
 +F:    arch/arm/boot/compressed/efi-header.S
 +F:    arch/arm64/kernel/efi-entry.S
  
  EFI VARIABLE FILESYSTEM
  M:    Matthew Garrett <[email protected]>
@@@ -4796,11 -4682,11 +4795,11 @@@ M:   David Woodhouse <[email protected]
  L:    [email protected]
  S:    Maintained
  
 -EMULEX/AVAGO LPFC FC/FCOE SCSI DRIVER
 -M:    James Smart <james.smart@avagotech.com>
 -M:    Dick Kennedy <dick.kennedy@avagotech.com>
 +EMULEX/BROADCOM LPFC FC/FCOE SCSI DRIVER
 +M:    James Smart <james.smart@broadcom.com>
 +M:    Dick Kennedy <dick.kennedy@broadcom.com>
  L:    [email protected]
 -W:    http://www.avagotech.com
 +W:    http://www.broadcom.com
  S:    Supported
  F:    drivers/scsi/lpfc/
  
@@@ -5058,9 -4944,7 +5057,9 @@@ K:      fmc_d.*registe
  FPGA MANAGER FRAMEWORK
  M:    Alan Tull <[email protected]>
  R:    Moritz Fischer <[email protected]>
 +L:    [email protected]
  S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/atull/linux-fpga.git
  F:    drivers/fpga/
  F:    include/linux/fpga/fpga-mgr.h
  W:    http://www.rocketboards.org
@@@ -5078,9 -4962,10 +5077,9 @@@ F:     drivers/net/wan/dlci.
  F:    drivers/net/wan/sdla.c
  
  FRAMEBUFFER LAYER
 -M:    Tomi Valkeinen <[email protected]>
  L:    [email protected]
  Q:    http://patchwork.kernel.org/project/linux-fbdev/list/
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/fb/
  F:    drivers/video/
  F:    include/video/
@@@ -5088,14 -4973,6 +5087,14 @@@ F:    include/linux/fb.
  F:    include/uapi/video/
  F:    include/uapi/linux/fb.h
  
 +FREESCALE CAAM (Cryptographic Acceleration and Assurance Module) DRIVER
 +M:    Horia Geantă <[email protected]>
 +M:    Dan Douglass <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/crypto/caam/
 +F:    Documentation/devicetree/bindings/crypto/fsl-sec4.txt
 +
  FREESCALE DIU FRAMEBUFFER DRIVER
  M:    Timur Tabi <[email protected]>
  L:    [email protected]
@@@ -5161,18 -5038,9 +5160,18 @@@ S:    Maintaine
  F:    drivers/net/ethernet/freescale/fman
  F:    Documentation/devicetree/bindings/powerpc/fsl/fman.txt
  
 +FREESCALE SOC DRIVERS
 +M:    Scott Wood <[email protected]>
 +L:    [email protected]
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/soc/fsl/
 +F:    include/linux/fsl/
 +
  FREESCALE QUICC ENGINE LIBRARY
 +M:    Qiang Zhao <[email protected]>
  L:    [email protected]
 -S:    Orphan
 +S:    Maintained
  F:    drivers/soc/fsl/qe/
  F:    include/soc/fsl/*qe*.h
  F:    include/soc/fsl/*ucc*.h
@@@ -5224,6 -5092,13 +5223,6 @@@ F:     sound/soc/fsl/fsl
  F:    sound/soc/fsl/imx*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
 -FREESCALE QORIQ MANAGEMENT COMPLEX DRIVER
 -M:    "J. German Rivera" <[email protected]>
 -M:    Stuart Yoder <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/staging/fsl-mc/
 -
  FREEVXFS FILESYSTEM
  M:    Christoph Hellwig <[email protected]>
  W:    ftp://ftp.openlinux.org/pub/people/hch/vxfs
@@@ -5257,7 -5132,6 +5256,7 @@@ F:      include/linux/fscache*.
  FS-CRYPTO: FILE SYSTEM LEVEL ENCRYPTION SUPPORT
  M:    Theodore Y. Ts'o <[email protected]>
  M:    Jaegeuk Kim <[email protected]>
 +L:    [email protected]
  S:    Supported
  F:    fs/crypto/
  F:    include/linux/fscrypto.h
@@@ -5322,7 -5196,6 +5321,7 @@@ L:      [email protected]
  S:    Maintained
  F:    scripts/gcc-plugins/
  F:    scripts/gcc-plugin.sh
 +F:    scripts/Makefile.gcc-plugins
  F:    Documentation/gcc-plugins.txt
  
  GCOV BASED KERNEL PROFILING
@@@ -5734,6 -5607,7 +5733,6 @@@ F:      drivers/watchdog/hpwdt.
  
  HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
  M:    Don Brace <[email protected]>
 -L:    [email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -5744,6 -5618,7 +5743,6 @@@ F:      include/uapi/linux/cciss*.
  
  HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
  M:    Don Brace <[email protected]>
 -L:    [email protected]
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -5782,7 -5657,6 +5781,7 @@@ HIBERNATION (aka Software Suspend, aka 
  M:    "Rafael J. Wysocki" <[email protected]>
  M:    Pavel Machek <[email protected]>
  L:    [email protected]
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    arch/x86/power/
  F:    drivers/base/power/
@@@ -5964,7 -5838,6 +5963,7 @@@ F:      drivers/input/serio/hyperv-keyboard.
  F:    drivers/pci/host/pci-hyperv.c
  F:    drivers/net/hyperv/
  F:    drivers/scsi/storvsc_drv.c
 +F:    drivers/uio/uio_hv_generic.c
  F:    drivers/video/fbdev/hyperv_fb.c
  F:    include/linux/hyperv.h
  F:    tools/hv/
@@@ -6208,9 -6081,14 +6207,9 @@@ S:     Maintaine
  F:    Documentation/cdrom/ide-cd
  F:    drivers/ide/ide-cd*
  
 -IDLE-I7300
 -M:    Andy Henroid <[email protected]>
 -L:    [email protected]
 -S:    Supported
 -F:    drivers/idle/i7300_idle.c
 -
  IEEE 802.15.4 SUBSYSTEM
  M:    Alexander Aring <[email protected]>
 +M:    Stefan Schmidt <[email protected]>
  L:    [email protected]
  W:    http://wpan.cakelab.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git
  S:    Maintained
  F:    drivers/media/rc/iguanair.c
  
 +IIO DIGITAL POTENTIOMETER DAC
 +M:    Peter Rosin <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-dac-dpot-dac
 +F:    Documentation/devicetree/bindings/iio/dac/dpot-dac.txt
 +F:    drivers/iio/dac/dpot-dac.c
 +
 +IIO ENVELOPE DETECTOR
 +M:    Peter Rosin <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
 +F:    Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
 +F:    drivers/iio/adc/envelope-detector.c
 +
  IIO SUBSYSTEM AND DRIVERS
  M:    Jonathan Cameron <[email protected]>
  R:    Hartmut Knaack <[email protected]>
@@@ -6413,11 -6275,9 +6412,11 @@@ S:    Maintaine
  F:    drivers/platform/x86/intel-vbtn.c
  
  INTEL IDLE DRIVER
 +M:    Jacob Pan <[email protected]>
  M:    Len Brown <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/idle/intel_idle.c
  
@@@ -6515,7 -6375,10 +6514,7 @@@ F:     drivers/net/ethernet/intel/*
  
  INTEL RDMA RNIC DRIVER
  M:     Faisal Latif <[email protected]>
 -R:     Chien Tin Tung <[email protected]>
 -R:     Mustafa Ismail <[email protected]>
 -R:     Shiraz Saleem <[email protected]>
 -R:     Tatyana Nikolova <[email protected]>
 +M:     Shiraz Saleem <[email protected]>
  L:     [email protected]
  S:     Supported
  F:     drivers/infiniband/hw/i40iw/
@@@ -6634,13 -6497,6 +6633,13 @@@ S:    Maintaine
  F:    arch/x86/include/asm/pmc_core.h
  F:    drivers/platform/x86/intel_pmc_core*
  
 +INVENSENSE MPU-3050 GYROSCOPE DRIVER
 +M:    Linus Walleij <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/iio/gyro/mpu3050*
 +F:    Documentation/devicetree/bindings/iio/gyroscope/inv,mpu3050.txt
 +
  IOC3 ETHERNET DRIVER
  M:    Ralf Baechle <[email protected]>
  L:    [email protected]
@@@ -7222,7 -7078,6 +7221,7 @@@ F:      drivers/scsi/53c700
  LED SUBSYSTEM
  M:    Richard Purdie <[email protected]>
  M:    Jacek Anaszewski <[email protected]>
 +M:    Pavel Machek <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds.git
  S:    Maintained
@@@ -7695,10 -7550,8 +7694,10 @@@ S:    Maintaine
  MARVELL 88E6XXX ETHERNET SWITCH FABRIC DRIVER
  M:    Andrew Lunn <[email protected]>
  M:    Vivien Didelot <[email protected]>
 +L:    [email protected]
  S:    Maintained
  F:    drivers/net/dsa/mv88e6xxx/
 +F:    Documentation/devicetree/bindings/net/dsa/marvell.txt
  
  MARVELL ARMADA DRM SUPPORT
  M:    Russell King <[email protected]>
@@@ -7848,7 -7701,6 +7847,7 @@@ MCP4531 MICROCHIP DIGITAL POTENTIOMETE
  M:    Peter Rosin <[email protected]>
  L:    [email protected]
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-bus-iio-potentiometer-mcp4531
  F:    drivers/iio/potentiometer/mcp4531.c
  
  MEASUREMENT COMPUTING CIO-DAC IIO DRIVER
@@@ -7980,12 -7832,12 +7979,12 @@@ S:   Maintaine
  F:    drivers/net/wireless/mediatek/mt7601u/
  
  MEGARAID SCSI/SAS DRIVERS
 -M:    Kashyap Desai <kashyap.desai@avagotech.com>
 -M:    Sumit Saxena <sumit.saxena@avagotech.com>
 -M:    Uday Lingala <uday.lingala@avagotech.com>
 -L:    megaraidlinux.pdl@avagotech.com
 +M:    Kashyap Desai <kashyap.desai@broadcom.com>
 +M:    Sumit Saxena <sumit.saxena@broadcom.com>
 +M:    Shivasharan S <shivasharan.srikanteshwara@broadcom.com>
 +L:    megaraidlinux.pdl@broadcom.com
  L:    [email protected]
 -W:    http://www.lsi.com
 +W:    http://www.avagotech.com/support/
  S:    Maintained
  F:    Documentation/scsi/megaraid.txt
  F:    drivers/scsi/megaraid.*
@@@ -8023,15 -7875,6 +8022,15 @@@ W:    http://www.mellanox.co
  Q:    http://patchwork.ozlabs.org/project/netdev/list/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  
 +MELLANOX MLXCPLD I2C AND MUX DRIVER
 +M:    Vadim Pasternak <[email protected]>
 +M:    Michael Shych <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/i2c/busses/i2c-mlxcpld.c
 +F:    drivers/i2c/muxes/i2c-mux-mlxcpld.c
 +F:    Documentation/i2c/busses/i2c-mlxcpld
 +
  MELLANOX MLXCPLD LED DRIVER
  M:    Vadim Pasternak <[email protected]>
  L:    [email protected]
  S:      Supported
  F:      arch/x86/platform/mellanox/mlx-platform.c
  
 +MELLANOX MLX CPLD HOTPLUG DRIVER
 +M:    Vadim Pasternak <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/platform/x86/mlxcpld-hotplug.c
 +F:    include/linux/platform_data/mlxcpld-hotplug.h
 +
  SOFT-ROCE DRIVER (rxe)
  M:    Moni Shoua <[email protected]>
  L:    [email protected]
@@@ -8083,10 -7919,6 +8082,10 @@@ F:    mm
  MEMORY TECHNOLOGY DEVICES (MTD)
  M:    David Woodhouse <[email protected]>
  M:    Brian Norris <[email protected]>
 +M:    Boris Brezillon <[email protected]>
 +M:    Marek Vasut <[email protected]>
 +M:    Richard Weinberger <[email protected]>
 +M:    Cyrille Pitchen <[email protected]>
  L:    [email protected]
  W:    http://www.linux-mtd.infradead.org/
  Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
@@@ -8215,7 -8047,6 +8214,7 @@@ F:      drivers/infiniband/hw/mlx4
  F:    include/linux/mlx4/
  
  MELLANOX MLX5 core VPI driver
 +M:    Saeed Mahameed <[email protected]>
  M:    Matan Barak <[email protected]>
  M:    Leon Romanovsky <[email protected]>
  L:    [email protected]
@@@ -8429,12 -8260,6 +8428,12 @@@ T:    git git://linuxtv.org/mkrufky/tuners
  S:    Maintained
  F:    drivers/media/tuners/mxl5007t.*
  
 +MXSFB DRM DRIVER
 +M:    Marek Vasut <[email protected]>
 +S:    Supported
 +F:    drivers/gpu/drm/mxsfb/
 +F:    Documentation/devicetree/bindings/display/mxsfb-drm.txt
 +
  MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
  M:    Hyong-Youb Kim <[email protected]>
  L:    [email protected]
@@@ -8481,6 -8306,7 +8480,6 @@@ F:      drivers/scsi/arm/oak.
  F:    drivers/scsi/atari_scsi.*
  F:    drivers/scsi/dmx3191d.c
  F:    drivers/scsi/g_NCR5380.*
 -F:    drivers/scsi/g_NCR5380_mmio.c
  F:    drivers/scsi/mac_scsi.*
  F:    drivers/scsi/sun3_scsi.*
  F:    drivers/scsi/sun3_scsi_vme.c
@@@ -8611,6 -8437,7 +8610,6 @@@ F:      include/uapi/linux/net_namespace.
  F:    tools/net/
  F:    tools/testing/selftests/net/
  F:    lib/random32.c
 -F:    lib/test_bpf.c
  
  NETWORKING [IPv4/IPv6]
  M:    "David S. Miller" <[email protected]>
@@@ -8689,10 -8516,11 +8688,10 @@@ F:   Documentation/devicetree/bindings/ne
  F:    drivers/net/wireless/
  
  NETXEN (1/10) GbE SUPPORT
 -M:    Manish Chopra <manish.chopra@qlogic.com>
 -M:    Sony Chacko <sony.chacko@qlogic.com>
 -M:    Rajesh Borundia <[email protected]>
 +M:    Manish Chopra <manish.chopra@cavium.com>
 +M:    Rahul Verma <rahul.verma@cavium.com>
 +M:    [email protected]
  L:    [email protected]
 -W:    http://www.qlogic.com
  S:    Supported
  F:    drivers/net/ethernet/qlogic/netxen/
  
  S:    Supported
  F:    drivers/nvme/target/
  
 +NVM EXPRESS FC TRANSPORT DRIVERS
 +M:    James Smart <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    include/linux/nvme-fc.h
 +F:    include/linux/nvme-fc-driver.h
 +F:    drivers/nvme/host/fc.c
 +F:    drivers/nvme/target/fc.c
 +F:    drivers/nvme/target/fcloop.c
 +
  NVMEM FRAMEWORK
  M:    Srinivas Kandagatla <[email protected]>
  M:    Maxime Ripard <[email protected]>
@@@ -8911,7 -8729,6 +8910,7 @@@ F:      drivers/regulator/tps65217-regulator
  F:    drivers/regulator/tps65218-regulator.c
  F:    drivers/regulator/tps65910-regulator.c
  F:    drivers/regulator/twl-regulator.c
 +F:    drivers/regulator/twl6030-regulator.c
  F:    include/linux/i2c-omap.h
  
  OMAP DEVICE TREE SUPPORT
@@@ -9132,11 -8949,9 +9131,11 @@@ F:    drivers/of/resolver.
  
  OPENRISC ARCHITECTURE
  M:    Jonas Bonn <[email protected]>
 -W:    http://openrisc.net
 +M:    Stefan Kristiansson <[email protected]>
 +M:    Stafford Horne <[email protected]>
 +L:    [email protected]
 +W:    http://openrisc.io
  S:    Maintained
 -T:    git git://openrisc.net/~jonas/linux
  F:    arch/openrisc/
  
  OPENVSWITCH
@@@ -9268,7 -9083,7 +9267,7 @@@ F:      drivers/misc/panel.
  
  PARALLEL PORT SUBSYSTEM
  M:    Sudip Mukherjee <[email protected]>
 -M:    Sudip Mukherjee <sudip@vectorindia.org>
 +M:    Sudip Mukherjee <sudip[email protected]>
  L:    [email protected] (subscribers-only)
  S:    Maintained
  F:    drivers/parport/
@@@ -9423,12 -9238,11 +9422,12 @@@ S:   Maintaine
  F:    drivers/pci/host/*layerscape*
  
  PCI DRIVER FOR IMX6
 -M:    Richard Zhu <Richard.Zhu@freescale.com>
 +M:    Richard Zhu <hongxing.zhu@nxp.com>
  M:    Lucas Stach <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
 +F:    Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
  F:    drivers/pci/host/*imx6*
  
  PCI DRIVER FOR TI KEYSTONE
@@@ -9487,11 -9301,17 +9486,11 @@@ F:   drivers/pci/host/pci-exynos.
  
  PCI DRIVER FOR SYNOPSIS DESIGNWARE
  M:    Jingoo Han <[email protected]>
 -M:    Pratyush Anand <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/pci/host/*designware*
 -
 -PCI DRIVER FOR SYNOPSYS PROTOTYPING DEVICE
 -M:    Jose Abreu <[email protected]>
 +M:    Joao Pinto <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/designware-pcie.txt
 -F:    drivers/pci/host/pcie-designware-plat.c
 +F:    drivers/pci/host/*designware*
  
  PCI DRIVER FOR GENERIC OF HOSTS
  M:    Will Deacon <[email protected]>
@@@ -9506,7 -9326,7 +9505,7 @@@ PCI DRIVER FOR INTEL VOLUME MANAGEMENT 
  M:    Keith Busch <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    arch/x86/pci/vmd.c
 +F:    drivers/pci/host/vmd.c
  
  PCIE DRIVER FOR ST SPEAR13XX
  M:    Pratyush Anand <[email protected]>
@@@ -9739,8 -9559,8 +9738,8 @@@ F:      arch/mips/boot/dts/pistachio
  F:      arch/mips/configs/pistachio*_defconfig
  
  PKTCDVD DRIVER
 -M:    Jiri Kosina <[email protected]>
 -S:    Maintained
 +S:    Orphan
 +M:    [email protected]
  F:    drivers/block/pktcdvd.c
  F:    include/linux/pktcdvd.h
  F:    include/uapi/linux/pktcdvd.h
@@@ -9793,7 -9613,6 +9792,7 @@@ POWER MANAGEMENT COR
  M:    "Rafael J. Wysocki" <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    drivers/base/power/
  F:    include/linux/pm.h
@@@ -9975,7 -9794,7 +9974,7 @@@ F:      drivers/media/usb/pwc/
  
  PWM FAN DRIVER
  M:    Kamil Debski <[email protected]>
 -M:    Lukasz Majewski <l.majewski@samsung.com>
 +M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    [email protected]
  S:    Supported
  F:    Documentation/devicetree/bindings/hwmon/pwm-fan.txt
@@@ -10077,32 -9896,33 +10076,32 @@@ F: Documentation/scsi/LICENSE.qla4xx
  F:    drivers/scsi/qla4xxx/
  
  QLOGIC QLA3XXX NETWORK DRIVER
 -M:    Jitendra Kalsaria <[email protected]>
 -M:    Ron Mercer <[email protected]>
 -M:    [email protected]
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    Documentation/networking/LICENSE.qla3xxx
  F:    drivers/net/ethernet/qlogic/qla3xxx.*
  
  QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
 -M:    [email protected]
 +M:    Harish Patil <[email protected]>
 +M:    Manish Chopra <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qlcnic/
  
  QLOGIC QLGE 10Gb ETHERNET DRIVER
 -M:    Harish Patil <[email protected]>
 -M:    Sudarsana Kalluru <[email protected]>
 -M:    [email protected]
 -M:    [email protected]
 +M:    Harish Patil <[email protected]>
 +M:    Manish Chopra <[email protected]>
 +M:    [email protected]
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qlge/
  
  QLOGIC QL4xxx ETHERNET DRIVER
 -M:    Yuval Mintz <Yuval.Mintz@qlogic.com>
 -M:    Ariel Elior <Ariel.Elior@qlogic.com>
 -M:    everest-linux-l2@qlogic.com
 +M:    Yuval Mintz <Yuval.Mintz@cavium.com>
 +M:    Ariel Elior <Ariel.Elior@cavium.com>
 +M:    everest-linux-l2@cavium.com
  L:    [email protected]
  S:    Supported
  F:    drivers/net/ethernet/qlogic/qed/
@@@ -10117,12 -9937,6 +10116,12 @@@ F:  fs/qnx4
  F:    include/uapi/linux/qnx4_fs.h
  F:    include/uapi/linux/qnxtypes.h
  
 +QORIQ DPAA2 FSL-MC BUS DRIVER
 +M:    Stuart Yoder <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/staging/fsl-mc/
 +
  QT1010 MEDIA DRIVER
  M:    Antti Palosaari <[email protected]>
  L:    [email protected]
@@@ -10585,7 -10399,7 +10584,7 @@@ F:   arch/s390/pci
  F:    drivers/pci/hotplug/s390_pci_hpc.c
  
  S390 ZCRYPT DRIVER
 -M:    Ingo Tuchscherer <ingo.tuchscherer@de.ibm.com>
 +M:    Harald Freudenberger <freude@de.ibm.com>
  L:    [email protected]
  W:    http://www.ibm.com/developerworks/linux/linux390/
  S:    Supported
  F:    drivers/net/ethernet/samsung/sxgbe/
  
  SAMSUNG THERMAL DRIVER
 -M:    Lukasz Majewski <l.majewski@samsung.com>
 +M:    Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
  L:    [email protected]
  L:    [email protected]
  S:    Supported
@@@ -10878,11 -10692,6 +10877,11 @@@ W: http://www.sunplus.co
  S:    Supported
  F:    arch/score/
  
 +SCR24X CHIP CARD INTERFACE DRIVER
 +M:    Lubomir Rintel <[email protected]>
 +S:    Supported
 +F:    drivers/char/pcmcia/scr24x_cs.c
 +
  SYSTEM CONTROL & POWER INTERFACE (SCPI) Message Protocol drivers
  M:    Sudeep Holla <[email protected]>
  L:    [email protected]
@@@ -11091,6 -10900,7 +11090,6 @@@ F:   drivers/net/ethernet/emulex/benet
  EMULEX ONECONNECT ROCE DRIVER
  M:    Selvin Xavier <[email protected]>
  M:    Devesh Sharma <[email protected]>
 -M:    Mitesh Ahuja <[email protected]>
  L:    [email protected]
  W:    http://www.emulex.com
  S:    Supported
@@@ -11285,7 -11095,7 +11284,7 @@@ F:   include/media/i2c/ov2659.
  SILICON MOTION SM712 FRAME BUFFER DRIVER
  M:    Sudip Mukherjee <[email protected]>
  M:    Teddy Wang <[email protected]>
 -M:    Sudip Mukherjee <sudip@vectorindia.org>
 +M:    Sudip Mukherjee <sudip[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/video/fbdev/sm712*
@@@ -11590,17 -11400,6 +11589,17 @@@ W: http://www.st.com/spea
  S:    Maintained
  F:    drivers/clk/spear/
  
 +SPI NOR SUBSYSTEM
 +M:    Cyrille Pitchen <[email protected]>
 +M:    Marek Vasut <[email protected]>
 +L:    [email protected]
 +W:    http://www.linux-mtd.infradead.org/
 +Q:    http://patchwork.ozlabs.org/project/linux-mtd/list/
 +T:    git git://github.com/spi-nor/linux.git
 +S:    Maintained
 +F:    drivers/mtd/spi-nor/
 +F:    include/linux/mtd/spi-nor.h
 +
  SPI SUBSYSTEM
  M:    Mark Brown <[email protected]>
  L:    [email protected]
@@@ -11647,7 -11446,7 +11646,7 @@@ STABLE BRANC
  M:    Greg Kroah-Hartman <[email protected]>
  L:    [email protected]
  S:    Supported
 -F:    Documentation/stable_kernel_rules.txt
 +F:    Documentation/process/stable-kernel-rules.rst
  
  STAGING SUBSYSTEM
  M:    Greg Kroah-Hartman <[email protected]>
@@@ -11713,11 -11512,17 +11712,11 @@@ F:        drivers/staging/rtl8712
  STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER
  M:    Sudip Mukherjee <[email protected]>
  M:    Teddy Wang <[email protected]>
 -M:    Sudip Mukherjee <sudip@vectorindia.org>
 +M:    Sudip Mukherjee <sudip[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/staging/sm750fb/
  
 -STAGING - SLICOSS
 -M:    Lior Dotan <[email protected]>
 -M:    Christopher Harrer <[email protected]>
 -S:    Odd Fixes
 -F:    drivers/staging/slicoss/
 -
  STAGING - SPEAKUP CONSOLE SPEECH DRIVER
  M:    William Hubbs <[email protected]>
  M:    Chris Brannon <[email protected]>
@@@ -11787,7 -11592,6 +11786,7 @@@ M:   "Rafael J. Wysocki" <[email protected]
  M:    Len Brown <[email protected]>
  M:    Pavel Machek <[email protected]>
  L:    [email protected]
 +B:    https://bugzilla.kernel.org
  S:    Supported
  F:    Documentation/power/
  F:    arch/x86/kernel/acpi/
@@@ -11827,7 -11631,6 +11826,7 @@@ S:   Supporte
  F:    arch/arc/
  F:    Documentation/devicetree/bindings/arc/*
  F:    Documentation/devicetree/bindings/interrupt-controller/snps,arc*
 +F:    drivers/clocksource/arc_timer.c
  F:    drivers/tty/serial/arc_uart.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git
  
@@@ -12518,12 -12321,6 +12517,12 @@@ S: Maintaine
  F:    Documentation/filesystems/udf.txt
  F:    fs/udf/
  
 +UDRAW TABLET
 +M:    Bastien Nocera <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hid/hid-udraw.c
 +
  UFS FILESYSTEM
  M:    Evgeniy Dushistov <[email protected]>
  S:    Maintained
@@@ -12580,8 -12377,7 +12579,8 @@@ F:   Documentation/scsi/ufs.tx
  F:    drivers/scsi/ufs/
  
  UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER DWC HOOKS
 -M:    Joao Pinto <[email protected]>
 +M:    Manjunath M Bettegowda <[email protected]>
 +M:    Prabu Thangamuthu <[email protected]>
  L:    [email protected]
  S:    Supported
  F:    drivers/scsi/ufs/*dwc*
@@@ -12939,15 -12735,6 +12938,15 @@@ F: drivers/vfio
  F:    include/linux/vfio.h
  F:    include/uapi/linux/vfio.h
  
 +VFIO MEDIATED DEVICE DRIVERS
 +M:    Kirti Wankhede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/vfio-mediated-device.txt
 +F:    drivers/vfio/mdev/
 +F:    include/linux/mdev.h
 +F:    samples/vfio-mdev/
 +
  VFIO PLATFORM DRIVER
  M:    Baptiste Reynal <[email protected]>
  L:    [email protected]
@@@ -12992,7 -12779,6 +12991,7 @@@ F:   include/uapi/linux/virtio_console.
  
  VIRTIO CORE, NET AND BLOCK DRIVERS
  M:    "Michael S. Tsirkin" <[email protected]>
 +M:    Jason Wang <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    Documentation/devicetree/bindings/virtio/
@@@ -13023,7 -12809,6 +13022,7 @@@ F:   include/uapi/linux/virtio_gpu.
  
  VIRTIO HOST (VHOST)
  M:    "Michael S. Tsirkin" <[email protected]>
 +M:    Jason Wang <[email protected]>
  L:    [email protected]
  L:    [email protected]
  L:    [email protected]
@@@ -13100,7 -12885,7 +13099,7 @@@ M:   Greg Kroah-Hartman <gregkh@linuxfoun
  L:    [email protected]
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
 -F:    Documentation/vme_api.txt
 +F:    Documentation/driver-api/vme.rst
  F:    drivers/staging/vme/
  F:    drivers/vme/
  F:    include/linux/vme*
@@@ -13142,13 -12927,6 +13141,13 @@@ S: Maintaine
  F:    drivers/scsi/vmw_pvscsi.c
  F:    drivers/scsi/vmw_pvscsi.h
  
 +VMWARE PVRDMA DRIVER
 +M:    Adit Ranadive <[email protected]>
 +M:    VMware PV-Drivers <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/infiniband/hw/vmw_pvrdma/
 +
  VOLTAGE AND CURRENT REGULATOR FRAMEWORK
  M:    Liam Girdwood <[email protected]>
  M:    Mark Brown <[email protected]>
@@@ -13331,7 -13109,7 +13330,7 @@@ T:   git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    include/linux/workqueue.h
  F:    kernel/workqueue.c
 -F:    Documentation/workqueue.txt
 +F:    Documentation/core-api/workqueue.rst
  
  X-POWERS MULTIFUNCTION PMIC DEVICE DRIVERS
  M:    Chen-Yu Tsai <[email protected]>
@@@ -13396,6 -13174,7 +13395,6 @@@ F:   drivers/media/tuners/tuner-xc2028.
  
  XEN HYPERVISOR INTERFACE
  M:    Boris Ostrovsky <[email protected]>
 -M:    David Vrabel <[email protected]>
  M:    Juergen Gross <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git
index 3b23b32e1b307ba7e9eec0c9f98336b5624ed056,4ea2a0c7819ef9c8b224a60ccd30623860c1f62b..c3d939c9666cabb03752806cab94c002073a4d65
        };
  };
  
- &tps65917_regulators {
-       ldo2_reg: ldo2 {
-               /* LDO2_OUT --> VDDA_1V8_PHY2 */
-               regulator-name = "ldo2";
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
-               regulator-always-on;
-               regulator-boot-on;
+ &i2c1 {
+       tps65917: tps65917@58 {
+               reg = <0x58>;
+               interrupts = <GIC_SPI 2 IRQ_TYPE_NONE>;  /* IRQ_SYS_1N */
        };
  };
  
+ #include "dra72-evm-tps65917.dtsi"
+ &ldo2_reg {
+       /* LDO2_OUT --> VDDA_1V8_PHY2 */
+       regulator-always-on;
+       regulator-boot-on;
+ };
  &hdmi {
        vdda-supply = <&ldo2_reg>;
  };
  &davinci_mdio {
        dp83867_0: ethernet-phy@2 {
                reg = <2>;
 -              ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
 -              ti,tx-internal-delay = <DP83867_RGMIIDCTL_1_NS>;
 +              ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
 +              ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
 +              ti,min-output-impedance;
        };
  
        dp83867_1: ethernet-phy@3 {
                reg = <3>;
 -              ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
 -              ti,tx-internal-delay = <DP83867_RGMIIDCTL_1_NS>;
 +              ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
 +              ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
                ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
 +              ti,min-output-imepdance;
        };
  };
index 0da76c5ff6d701d824fe92c845d82ad81b8c97eb,506fdc10706d87b5a5e2a13e71325cdaadff3206..c02e092fad8b17bf8c8e80c29b218db7ba86ea46
@@@ -7,10 -7,12 +7,12 @@@
   * publishhed by the Free Software Foundation.
   */
  
- #include "skeleton.dtsi"
  #include <dt-bindings/clock/hix5hd2-clock.h>
  
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        aliases {
                serial0 = &uart0;
        };
                };
  
                gmac0: ethernet@1840000 {
 -                      compatible = "hisilicon,hix5hd2-gmac";
 +                      compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1";
                        reg = <0x1840000 0x1000>,<0x184300c 0x4>;
                        interrupts = <0 71 4>;
                        clocks = <&clock HIX5HD2_MAC0_CLK>;
 +                      clock-names = "mac_core";
                        status = "disabled";
                };
  
                gmac1: ethernet@1841000 {
 -                      compatible = "hisilicon,hix5hd2-gmac";
 +                      compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1";
                        reg = <0x1841000 0x1000>,<0x1843010 0x4>;
                        interrupts = <0 72 4>;
                        clocks = <&clock HIX5HD2_MAC1_CLK>;
 +                      clock-names = "mac_core";
                        status = "disabled";
                };
  
index 8d4c0e3533fa1a3b86df88b98ae274a87f8ad8d2,c534c1fd185ae2f6f31d1f1755828b6fb55264be..685916e3d8a1eaefb083d2a7a81583c18a360168
@@@ -9,9 -9,10 +9,10 @@@
   * http://www.gnu.org/copyleft/gpl.html
   */
  
- #include "skeleton.dtsi"
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        aliases {
                serial0 = &uart1;
                serial1 = &uart2;
                                interrupts = <19>;
                                clocks = <&clks 25>;
                        };
 -
 -                      clks: ccm@53f80000{
 -                              compatible = "fsl,imx31-ccm";
 -                              reg = <0x53f80000 0x4000>;
 -                              interrupts = <0 31 0x04 0 53 0x04>;
 -                              #clock-cells = <1>;
 -                      };
                };
  
                aips@53f00000 { /* AIPS2 */
                        reg = <0x53f00000 0x100000>;
                        ranges;
  
 +                      clks: ccm@53f80000{
 +                              compatible = "fsl,imx31-ccm";
 +                              reg = <0x53f80000 0x4000>;
 +                              interrupts = <31>, <53>;
 +                              #clock-cells = <1>;
 +                      };
 +
                        gpt: timer@53f90000 {
                                compatible = "fsl,imx31-gpt";
                                reg = <0x53f90000 0x4000>;
index caaa04036c8a1a26d511aef55f3b7a8d58b1bfe7,e0fdd0fda3614694bd2d3b4466638c3ccbd28ade..0d4977ab7d298ac7ca5ede7274c160c2f73a6ba9
                pcie: pcie@0x01000000 {
                        compatible = "fsl,imx6qp-pcie", "snps,dw-pcie";
                };
+               aips-bus@02100000 {
+                       mmdc0: mmdc@021b0000 { /* MMDC0 */
+                               compatible = "fsl,imx6qp-mmdc", "fsl,imx6q-mmdc";
+                               reg = <0x021b0000 0x4000>;
+                       };
+               };
        };
  };
 +
 +&ldb {
 +      clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
 +               <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
 +               <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>,
 +               <&clks IMX6QDL_CLK_LDB_DI0_PODF>, <&clks IMX6QDL_CLK_LDB_DI1_PODF>;
 +      clock-names = "di0_pll", "di1_pll",
 +                    "di0_sel", "di1_sel", "di2_sel", "di3_sel",
 +                    "di0", "di1";
 +};
index 2b6cb05bc01a85f937823d8c1c97fd5aec13bb5c,51dfcc16e4b882126aa93468ed24d31283124dee..8ff2cbdd8f0df26e59805a12dcb0ee871cc3ca73
  #include <dt-bindings/input/input.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
  #include "imx7d-pinfunc.h"
- #include "skeleton.dtsi"
  
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        aliases {
                gpio0 = &gpio1;
                gpio1 = &gpio2;
                                reg = <0x30730000 0x10000>;
                                interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                                clocks = <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>,
 -                                      <&clks IMX7D_CLK_DUMMY>,
 -                                      <&clks IMX7D_CLK_DUMMY>;
 -                              clock-names = "pix", "axi", "disp_axi";
 +                                      <&clks IMX7D_LCDIF_PIXEL_ROOT_CLK>;
 +                              clock-names = "pix", "axi";
                                status = "disabled";
                        };
                };
index 3d0a18abd408c76d2997d6c44063513ec22c336e,f3ffe1d315443e7e9e2a9838b1601724052e8200..d0db998effc8e2d8e4dde10e4c28794f20560903
@@@ -14,8 -14,6 +14,6 @@@
   * kind, whether express or implied.
   */
  
- /include/ "skeleton.dtsi"
  #include <dt-bindings/clock/r8a7778-clock.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
  #include <dt-bindings/interrupt-controller/irq.h>
@@@ -23,6 -21,8 +21,8 @@@
  / {
        compatible = "renesas,r8a7778";
        interrupt-parent = <&gic>;
+       #address-cells = <1>;
+       #size-cells = <1>;
  
        cpus {
                #address-cells = <1>;
                                "sru-src6", "sru-src7", "sru-src8";
                };
        };
 +
 +      rst: reset-controller@ffcc0000 {
 +              compatible = "renesas,r8a7778-reset-wdt";
 +              reg = <0xffcc0000 0x40>;
 +      };
  };
index 8cf16008a09b9a26be041b4e7dadf64eaf18635b,9d3bb74bd3f684d5e2b374a6505ede4369629cc4..55a7c1e37c57809528b29fb49a4e3f1f1a458152
@@@ -9,8 -9,6 +9,6 @@@
   * kind, whether express or implied.
   */
  
- /include/ "skeleton.dtsi"
  #include <dt-bindings/clock/r8a7779-clock.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
  #include <dt-bindings/interrupt-controller/irq.h>
@@@ -19,6 -17,8 +17,8 @@@
  / {
        compatible = "renesas,r8a7779";
        interrupt-parent = <&gic>;
+       #address-cells = <1>;
+       #size-cells = <1>;
  
        cpus {
                #address-cells = <1>;
  
        du: display@fff80000 {
                compatible = "renesas,du-r8a7779";
-               reg = <0 0xfff80000 0 0x40000>;
+               reg = <0xfff80000 0x40000>;
                interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp1_clks R8A7779_CLK_DU>;
                power-domains = <&sysc R8A7779_PD_ALWAYS_ON>;
                };
        };
  
+       prr: chipid@ff000044 {
+               compatible = "renesas,prr";
+               reg = <0xff000044 4>;
+       };
 +      rst: reset-controller@ffcc0000 {
 +              compatible = "renesas,r8a7779-reset-wdt";
 +              reg = <0xffcc0000 0x48>;
 +      };
 +
        sysc: system-controller@ffd85000 {
                compatible = "renesas,r8a7779-sysc";
                reg = <0xffd85000 0x0200>;
index 3f10b0bf1b08fa89cf3744579366ec6a73c5f4d8,f554ef3c8096726ad90286fb48816a134a89a796..0c8900d4b8242ac93c24f120692ddbfd05aae20a
        scifb0: serial@e6c20000 {
                compatible = "renesas,scifb-r8a7790",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c20000 0 64>;
+               reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_SCIFB0>;
                clock-names = "fck";
        scifb1: serial@e6c30000 {
                compatible = "renesas,scifb-r8a7790",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c30000 0 64>;
+               reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_SCIFB1>;
                clock-names = "fck";
        scifb2: serial@e6ce0000 {
                compatible = "renesas,scifb-r8a7790",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6ce0000 0 64>;
+               reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7790_CLK_SCIFB2>;
                clock-names = "fck";
                };
        };
  
+       prr: chipid@ff000044 {
+               compatible = "renesas,prr";
+               reg = <0 0xff000044 0 4>;
+       };
 +      rst: reset-controller@e6160000 {
 +              compatible = "renesas,r8a7790-rst";
 +              reg = <0 0xe6160000 0 0x0100>;
 +      };
 +
        sysc: system-controller@e6180000 {
                compatible = "renesas,r8a7790-sysc";
                reg = <0 0xe6180000 0 0x0200>;
index c465c79bcca6e8f31503fd1875bf6bc84e612d7d,4c50de2faef12301a44f7705b4dc00b955c8af0c..87214668d70f12ff9fff7ee7ba5c6861fbd4ad48
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <195000000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
                status = "disabled";
        };
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <97500000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
                status = "disabled";
        };
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <97500000>;
                power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
                status = "disabled";
        };
        scifb0: serial@e6c20000 {
                compatible = "renesas,scifb-r8a7791",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c20000 0 64>;
+               reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7791_CLK_SCIFB0>;
                clock-names = "fck";
        scifb1: serial@e6c30000 {
                compatible = "renesas,scifb-r8a7791",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c30000 0 64>;
+               reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7791_CLK_SCIFB1>;
                clock-names = "fck";
        scifb2: serial@e6ce0000 {
                compatible = "renesas,scifb-r8a7791",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6ce0000 0 64>;
+               reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7791_CLK_SCIFB2>;
                clock-names = "fck";
                };
        };
  
 +      rst: reset-controller@e6160000 {
 +              compatible = "renesas,r8a7791-rst";
 +              reg = <0 0xe6160000 0 0x0100>;
 +      };
 +
+       prr: chipid@ff000044 {
+               compatible = "renesas,prr";
+               reg = <0 0xff000044 0 4>;
+       };
        sysc: system-controller@e6180000 {
                compatible = "renesas,r8a7791-sysc";
                reg = <0 0xe6180000 0 0x0200>;
index 6e1f61f65d292b0bea394ff3e36d4feaf8330839,69789020cf39e95fe14e75759921f7fab0c72ea3..6ced3c1ec3770c70c53d6d0e0cacf43788fb7e23
@@@ -26,6 -26,8 +26,8 @@@
                i2c4 = &i2c4;
                i2c5 = &i2c5;
                spi0 = &qspi;
+               spi1 = &msiof0;
+               spi2 = &msiof1;
                vin0 = &vin0;
                vin1 = &vin1;
                vin2 = &vin2;
                                      IRQ_TYPE_LEVEL_LOW)>;
                };
  
 +              rst: reset-controller@e6160000 {
 +                      compatible = "renesas,r8a7792-rst";
 +                      reg = <0 0xe6160000 0 0x0100>;
 +              };
 +
+               prr: chipid@ff000044 {
+                       compatible = "renesas,prr";
+                       reg = <0 0xff000044 0 4>;
+               };
                sysc: system-controller@e6180000 {
                        compatible = "renesas,r8a7792-sysc";
                        reg = <0 0xe6180000 0 0x0200>;
                        status = "disabled";
                };
  
+               msiof0: spi@e6e20000 {
+                       compatible = "renesas,msiof-r8a7792";
+                       reg = <0 0xe6e20000 0 0x0064>;
+                       interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&mstp0_clks R8A7792_CLK_MSIOF0>;
+                       dmas = <&dmac0 0x51>, <&dmac0 0x52>,
+                              <&dmac1 0x51>, <&dmac1 0x52>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
+               msiof1: spi@e6e10000 {
+                       compatible = "renesas,msiof-r8a7792";
+                       reg = <0 0xe6e10000 0 0x0064>;
+                       interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&mstp2_clks R8A7792_CLK_MSIOF1>;
+                       dmas = <&dmac0 0x55>, <&dmac0 0x56>,
+                              <&dmac1 0x55>, <&dmac1 0x56>;
+                       dma-names = "tx", "rx", "tx", "rx";
+                       power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       status = "disabled";
+               };
                du: display@feb00000 {
                        compatible = "renesas,du-r8a7792";
                        reg = <0 0xfeb00000 0 0x40000>;
                        clock-div = <48>;
                        clock-mult = <1>;
                };
+               mp_clk: mp {
+                       compatible = "fixed-factor-clock";
+                       clocks = <&pll1_div2_clk>;
+                       #clock-cells = <0>;
+                       clock-div = <15>;
+                       clock-mult = <1>;
+               };
                m2_clk: m2 {
                        compatible = "fixed-factor-clock";
                        clocks = <&cpg_clocks R8A7792_CLK_PLL1>;
                };
  
                /* Gate clocks */
+               mstp0_clks: mstp0_clks@e6150130 {
+                       compatible = "renesas,r8a7792-mstp-clocks",
+                                    "renesas,cpg-mstp-clocks";
+                       reg = <0 0xe6150130 0 4>, <0 0xe6150030 0 4>;
+                       clocks = <&mp_clk>;
+                       #clock-cells = <1>;
+                       clock-indices = <R8A7792_CLK_MSIOF0>;
+                       clock-output-names = "msiof0";
+               };
                mstp1_clks: mstp1_clks@e6150134 {
                        compatible = "renesas,r8a7792-mstp-clocks",
                                     "renesas,cpg-mstp-clocks";
                        compatible = "renesas,r8a7792-mstp-clocks",
                                     "renesas,cpg-mstp-clocks";
                        reg = <0 0xe6150138 0 4>, <0 0xe6150040 0 4>;
-                       clocks = <&zs_clk>, <&zs_clk>;
+                       clocks = <&mp_clk>, <&zs_clk>, <&zs_clk>;
                        #clock-cells = <1>;
                        clock-indices = <
+                               R8A7792_CLK_MSIOF1
                                R8A7792_CLK_SYS_DMAC1 R8A7792_CLK_SYS_DMAC0
                        >;
-                       clock-output-names = "sys-dmac1", "sys-dmac0";
+                       clock-output-names = "msiof1", "sys-dmac1", "sys-dmac0";
                };
                mstp3_clks: mstp3_clks@e615013c {
                        compatible = "renesas,r8a7792-mstp-clocks",
index e4b385eccf74e95e381dcf7fc4cf308b8c38c5b1,a377dda177241da0e603d9b972a768f5b96111e4..2fb527ca0b15edaa89782f636a9ed8155071bc50
        scifb0: serial@e6c20000 {
                compatible = "renesas,scifb-r8a7793",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c20000 0 64>;
+               reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7793_CLK_SCIFB0>;
                clock-names = "fck";
        scifb1: serial@e6c30000 {
                compatible = "renesas,scifb-r8a7793",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c30000 0 64>;
+               reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7793_CLK_SCIFB1>;
                clock-names = "fck";
        scifb2: serial@e6ce0000 {
                compatible = "renesas,scifb-r8a7793",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6ce0000 0 64>;
+               reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7793_CLK_SCIFB2>;
                clock-names = "fck";
                status = "disabled";
        };
  
+       vin0: video@e6ef0000 {
+               compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
+               reg = <0 0xe6ef0000 0 0x1000>;
+               interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp8_clks R8A7793_CLK_VIN0>;
+               power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               status = "disabled";
+       };
+       vin1: video@e6ef1000 {
+               compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
+               reg = <0 0xe6ef1000 0 0x1000>;
+               interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp8_clks R8A7793_CLK_VIN1>;
+               power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               status = "disabled";
+       };
+       vin2: video@e6ef2000 {
+               compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin";
+               reg = <0 0xe6ef2000 0 0x1000>;
+               interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&mstp8_clks R8A7793_CLK_VIN2>;
+               power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
+               status = "disabled";
+       };
        qspi: spi@e6b10000 {
                compatible = "renesas,qspi-r8a7793", "renesas,qspi";
                reg = <0 0xe6b10000 0 0x2c>;
                };
        };
  
 +      rst: reset-controller@e6160000 {
 +              compatible = "renesas,r8a7793-rst";
 +              reg = <0 0xe6160000 0 0x0100>;
 +      };
 +
+       prr: chipid@ff000044 {
+               compatible = "renesas,prr";
+               reg = <0 0xff000044 0 4>;
+       };
        sysc: system-controller@e6180000 {
                compatible = "renesas,r8a7793-sysc";
                reg = <0 0xe6180000 0 0x0200>;
index 69e4f4fad89b23230c2e29053f4f3333b3db124f,63dc7f29d216c32ed8cd5d069dcc7f583da234df..fb576dba748cd97c5e7c253386bd0675ed6852ad
                                  "ch12";
                clocks = <&mstp5_clks R8A7794_CLK_AUDIO_DMAC0>;
                clock-names = "fck";
-               power-domains = <&cpg_clocks>;
+               power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
                #dma-cells = <1>;
                dma-channels = <13>;
        };
        scifb0: serial@e6c20000 {
                compatible = "renesas,scifb-r8a7794",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c20000 0 64>;
+               reg = <0 0xe6c20000 0 0x100>;
                interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7794_CLK_SCIFB0>;
                clock-names = "fck";
        scifb1: serial@e6c30000 {
                compatible = "renesas,scifb-r8a7794",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6c30000 0 64>;
+               reg = <0 0xe6c30000 0 0x100>;
                interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7794_CLK_SCIFB1>;
                clock-names = "fck";
        scifb2: serial@e6ce0000 {
                compatible = "renesas,scifb-r8a7794",
                             "renesas,rcar-gen2-scifb", "renesas,scifb";
-               reg = <0 0xe6ce0000 0 64>;
+               reg = <0 0xe6ce0000 0 0x100>;
                interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&mstp2_clks R8A7794_CLK_SCIFB2>;
                clock-names = "fck";
                dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
                       <&dmac1 0xcd>, <&dmac1 0xce>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <195000000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
                status = "disabled";
        };
                dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
                       <&dmac1 0xc1>, <&dmac1 0xc2>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <97500000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
                status = "disabled";
        };
                dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
                       <&dmac1 0xd3>, <&dmac1 0xd4>;
                dma-names = "tx", "rx", "tx", "rx";
+               max-frequency = <97500000>;
                power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
                status = "disabled";
        };
                        clocks = <&extal_clk &usb_extal_clk>;
                        #clock-cells = <1>;
                        clock-output-names = "main", "pll0", "pll1", "pll3",
-                                            "lb", "qspi", "sdh", "sd0", "z",
-                                            "rcan";
+                                            "lb", "qspi", "sdh", "sd0", "rcan";
                        #power-domain-cells = <0>;
                };
                /* Variable factor clocks */
                mstp7_clks: mstp7_clks@e615014c {
                        compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
                        reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
-                       clocks = <&mp_clk>, <&mp_clk>,
+                       clocks = <&mp_clk>, <&hp_clk>,
                                 <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
                                 <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>,
                                 <&zx_clk>;
                };
        };
  
 +      rst: reset-controller@e6160000 {
 +              compatible = "renesas,r8a7794-rst";
 +              reg = <0 0xe6160000 0 0x0100>;
 +      };
 +
+       prr: chipid@ff000044 {
+               compatible = "renesas,prr";
+               reg = <0 0xff000044 0 4>;
+       };
        sysc: system-controller@e6180000 {
                compatible = "renesas,r8a7794-sysc";
                reg = <0 0xe6180000 0 0x0200>;
                              "mix.0", "mix.1",
                              "dvc.0", "dvc.1",
                              "clk_a", "clk_b", "clk_c", "clk_i";
-               power-domains = <&cpg_clocks>;
+               power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
  
                status = "disabled";
  
                rcar_sound,dvc {
-                       dvc0: dvc@0 {
+                       dvc0: dvc-0 {
                                dmas = <&audma0 0xbc>;
                                dma-names = "tx";
                        };
-                       dvc1: dvc@1 {
+                       dvc1: dvc-1 {
                                dmas = <&audma0 0xbe>;
                                dma-names = "tx";
                        };
                };
  
                rcar_sound,mix {
-                       mix0: mix@0 { };
-                       mix1: mix@1 { };
+                       mix0: mix-0 { };
+                       mix1: mix-1 { };
                };
  
                rcar_sound,ctu {
-                       ctu00: ctu@0 { };
-                       ctu01: ctu@1 { };
-                       ctu02: ctu@2 { };
-                       ctu03: ctu@3 { };
-                       ctu10: ctu@4 { };
-                       ctu11: ctu@5 { };
-                       ctu12: ctu@6 { };
-                       ctu13: ctu@7 { };
+                       ctu00: ctu-0 { };
+                       ctu01: ctu-1 { };
+                       ctu02: ctu-2 { };
+                       ctu03: ctu-3 { };
+                       ctu10: ctu-4 { };
+                       ctu11: ctu-5 { };
+                       ctu12: ctu-6 { };
+                       ctu13: ctu-7 { };
                };
  
                rcar_sound,src {
-                       src@0 {
+                       src-0 {
                                status = "disabled";
                        };
-                       src1: src@1 {
+                       src1: src-1 {
                                interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x87>, <&audma0 0x9c>;
                                dma-names = "rx", "tx";
                        };
-                       src2: src@2 {
+                       src2: src-2 {
                                interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x89>, <&audma0 0x9e>;
                                dma-names = "rx", "tx";
                        };
-                       src3: src@3 {
+                       src3: src-3 {
                                interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x8b>, <&audma0 0xa0>;
                                dma-names = "rx", "tx";
                        };
-                       src4: src@4 {
+                       src4: src-4 {
                                interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x8d>, <&audma0 0xb0>;
                                dma-names = "rx", "tx";
                        };
-                       src5: src@5 {
+                       src5: src-5 {
                                interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x8f>, <&audma0 0xb2>;
                                dma-names = "rx", "tx";
                        };
-                       src6: src@6 {
+                       src6: src-6 {
                                interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x91>, <&audma0 0xb4>;
                                dma-names = "rx", "tx";
                };
  
                rcar_sound,ssi {
-                       ssi0: ssi@0 {
+                       ssi0: ssi-0 {
                                interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x01>, <&audma0 0x02>,
                                       <&audma0 0x15>, <&audma0 0x16>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi1: ssi@1 {
+                       ssi1: ssi-1 {
                                interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x03>, <&audma0 0x04>,
                                       <&audma0 0x49>, <&audma0 0x4a>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi2: ssi@2 {
+                       ssi2: ssi-2 {
                                interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x05>, <&audma0 0x06>,
                                       <&audma0 0x63>, <&audma0 0x64>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi3: ssi@3 {
+                       ssi3: ssi-3 {
                                interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x07>, <&audma0 0x08>,
                                       <&audma0 0x6f>, <&audma0 0x70>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi4: ssi@4 {
+                       ssi4: ssi-4 {
                                interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x09>, <&audma0 0x0a>,
                                       <&audma0 0x71>, <&audma0 0x72>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi5: ssi@5 {
+                       ssi5: ssi-5 {
                                interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x0b>, <&audma0 0x0c>,
                                       <&audma0 0x73>, <&audma0 0x74>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi6: ssi@6 {
+                       ssi6: ssi-6 {
                                interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x0d>, <&audma0 0x0e>,
                                       <&audma0 0x75>, <&audma0 0x76>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi7: ssi@7 {
+                       ssi7: ssi-7 {
                                interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x0f>, <&audma0 0x10>,
                                       <&audma0 0x79>, <&audma0 0x7a>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi8: ssi@8 {
+                       ssi8: ssi-8 {
                                interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x11>, <&audma0 0x12>,
                                       <&audma0 0x7b>, <&audma0 0x7c>;
                                dma-names = "rx", "tx", "rxu", "txu";
                        };
-                       ssi9: ssi@9 {
+                       ssi9: ssi-9 {
                                interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
                                dmas = <&audma0 0x13>, <&audma0 0x14>,
                                       <&audma0 0x7d>, <&audma0 0x7e>;
index 7c2dc19925a1d29f6099dd3b295553d0b12ecde7,3279c996a300f1b96099daeafe69d9ee8fb9a570..4ed49a243e5c73304a87a9df6965f6e7ea7f85f7
  #include <dt-bindings/pinctrl/rockchip.h>
  #include <dt-bindings/clock/rk3036-cru.h>
  #include <dt-bindings/soc/rockchip,boot-mode.h>
- #include "skeleton.dtsi"
  
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        compatible = "rockchip,rk3036";
  
        interrupt-parent = <&gic>;
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
 -              g-use-dma;
                status = "disabled";
        };
  
                compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
                reg = <0x10214000 0x4000>;
                clock-frequency = <37500000>;
-               clock-freq-min-max = <400000 37500000>;
+               max-frequency = <37500000>;
                clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>;
                clock-names = "biu", "ciu";
                fifo-depth = <0x100>;
        sdio: dwmmc@10218000 {
                compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc";
                reg = <0x10218000 0x4000>;
-               clock-freq-min-max = <400000 37500000>;
+               max-frequency = <37500000>;
                clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
                         <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
                clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
                bus-width = <8>;
                cap-mmc-highspeed;
                clock-frequency = <37500000>;
-               clock-freq-min-max = <400000 37500000>;
+               max-frequency = <37500000>;
                clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
                         <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
                clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
index 74a749c566eedf1719610029e6e7c9cfc6e0180f,73590e47f4fbfeab35348af1fe9312b0dc17fd7b..4fad13368a7bec2e7836fde4435b72e643135a15
  #include <dt-bindings/thermal/thermal.h>
  #include <dt-bindings/power/rk3288-power.h>
  #include <dt-bindings/soc/rockchip,boot-mode.h>
- #include "skeleton.dtsi"
  
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        compatible = "rockchip,rk3288";
  
        interrupt-parent = <&gic>;
  
        sdmmc: dwmmc@ff0c0000 {
                compatible = "rockchip,rk3288-dw-mshc";
-               clock-freq-min-max = <400000 150000000>;
+               max-frequency = <150000000>;
                clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
                         <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
                clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  
        sdio0: dwmmc@ff0d0000 {
                compatible = "rockchip,rk3288-dw-mshc";
-               clock-freq-min-max = <400000 150000000>;
+               max-frequency = <150000000>;
                clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
                         <&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
                clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  
        sdio1: dwmmc@ff0e0000 {
                compatible = "rockchip,rk3288-dw-mshc";
-               clock-freq-min-max = <400000 150000000>;
+               max-frequency = <150000000>;
                clocks = <&cru HCLK_SDIO1>, <&cru SCLK_SDIO1>,
                         <&cru SCLK_SDIO1_DRV>, <&cru SCLK_SDIO1_SAMPLE>;
                clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
  
        emmc: dwmmc@ff0f0000 {
                compatible = "rockchip,rk3288-dw-mshc";
-               clock-freq-min-max = <400000 150000000>;
+               max-frequency = <150000000>;
                clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
                         <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
                clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
 -              g-use-dma;
                phys = <&usbphy0>;
                phy-names = "usb2-phy";
                status = "disabled";
        };
  
        efuse: efuse@ffb40000 {
-               compatible = "rockchip,rockchip-efuse";
+               compatible = "rockchip,rk3288-efuse";
                reg = <0xffb40000 0x20>;
                #address-cells = <1>;
                #size-cells = <1>;
index 8fbd3c806fa0bf2687f167898ab2c9d98cf4fecf,0394312f392dfaf6e1053de3e15aa6e5835ac60c..0b45811cf28bb246cfad4425c135ca802b0d76ea
  #include <dt-bindings/interrupt-controller/irq.h>
  #include <dt-bindings/interrupt-controller/arm-gic.h>
  #include <dt-bindings/soc/rockchip,boot-mode.h>
- #include "skeleton.dtsi"
  
  / {
+       #address-cells = <1>;
+       #size-cells = <1>;
        interrupt-parent = <&gic>;
  
        aliases {
                g-np-tx-fifo-size = <16>;
                g-rx-fifo-size = <275>;
                g-tx-fifo-size = <256 128 128 64 64 32>;
 -              g-use-dma;
                phys = <&usbphy0>;
                phy-names = "usb2-phy";
                status = "disabled";
index 8f79b4147bba1b5f57155d1a738b7af851a1e901,d29960b6c47b04236b22ea79ad0223bb44199662..c8b2944e304ac6dfdfdacbc3d1b63ab12e7ad73f
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c4_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c5_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c10_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                        clock-frequency = <400000>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c11_default>;
 +                      #address-cells = <1>;
 +                      #size-cells = <0>;
  
                        status = "disabled";
                };
                };
  
                sti_uni_player0: sti-uni-player@8d80000 {
-                       compatible = "st,sti-uni-player";
+                       compatible = "st,stih407-uni-player-hdmi";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        clocks = <&clk_s_d0_flexgen CLK_PCM_0>;
                        reg = <0x8d80000 0x158>;
                        interrupts = <GIC_SPI 84 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 2 0 1>;
-                       dai-name = "Uni Player #0 (HDMI)";
                        dma-names = "tx";
-                       st,uniperiph-id = <0>;
-                       st,version = <5>;
-                       st,mode = "HDMI";
  
                        status          = "disabled";
                };
  
                sti_uni_player1: sti-uni-player@8d81000 {
-                       compatible = "st,sti-uni-player";
+                       compatible = "st,stih407-uni-player-pcm-out";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
                        reg = <0x8d81000 0x158>;
                        interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 3 0 1>;
-                       dai-name = "Uni Player #1 (PIO)";
                        dma-names = "tx";
-                       st,uniperiph-id = <1>;
-                       st,version = <5>;
-                       st,mode = "PCM";
  
                        status = "disabled";
                };
  
                sti_uni_player2: sti-uni-player@8d82000 {
-                       compatible = "st,sti-uni-player";
+                       compatible = "st,stih407-uni-player-dac";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
                        reg = <0x8d82000 0x158>;
                        interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 4 0 1>;
-                       dai-name = "Uni Player #1 (DAC)";
                        dma-names = "tx";
-                       st,uniperiph-id = <2>;
-                       st,version = <5>;
-                       st,mode = "PCM";
  
                        status = "disabled";
                };
  
                sti_uni_player3: sti-uni-player@8d85000 {
-                       compatible = "st,sti-uni-player";
+                       compatible = "st,stih407-uni-player-spdif";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
                        interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 7 0 1>;
                        dma-names = "tx";
-                       dai-name = "Uni Player #1 (PIO)";
-                       st,uniperiph-id = <3>;
-                       st,version = <5>;
-                       st,mode = "SPDIF";
  
                        status = "disabled";
                };
  
                sti_uni_reader0: sti-uni-reader@8d83000 {
-                       compatible = "st,sti-uni-reader";
+                       compatible = "st,stih407-uni-reader-pcm_in";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        reg = <0x8d83000 0x158>;
                        interrupts = <GIC_SPI 87 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 5 0 1>;
                        dma-names = "rx";
-                       dai-name = "Uni Reader #0 (PCM IN)";
-                       st,version = <3>;
  
                        status = "disabled";
                };
  
                sti_uni_reader1: sti-uni-reader@8d84000 {
-                       compatible = "st,sti-uni-reader";
+                       compatible = "st,stih407-uni-reader-hdmi";
                        #sound-dai-cells = <0>;
                        st,syscfg = <&syscfg_core>;
                        reg = <0x8d84000 0x158>;
                        interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
                        dmas = <&fdma0 6 0 1>;
                        dma-names = "rx";
-                       dai-name = "Uni Reader #1 (HDMI RX)";
-                       st,version = <3>;
  
                        status = "disabled";
                };
index 7fb507fcba7eed404de64af7d5669de2274e2b99,d50242eabae827c3e05a1f9fff975c538b60c335..06b0696cb6b8d0007732cac1c627f75080d054ee
@@@ -74,7 -74,7 +74,7 @@@
                /* Low speed expansion connector */
                spi0: spi@9844000 {
                        label = "LS-SPI0";
 -                      cs-gpio = <&pio30 3 0>;
 +                      cs-gpios = <&pio30 3 0>;
                        status = "okay";
                };
  
                        status = "okay";
                };
  
+               sti_uni_player0: sti-uni-player@8d80000 {
+                       status = "okay";
+               };
                /* SSC11 to HDMI */
                hdmiddc: i2c@9541000 {
                        /* HDMI V1.3a supports Standard mode only */
                        status = "okay";
                };
  
-               sti-display-subsystem {
-                       sti_hdmi: sti-hdmi@8d04000 {
-                               status = "okay";
+               sound {
+                       compatible = "simple-audio-card";
+                       simple-audio-card,name = "STI-B2260";
+                       status = "okay";
+                       simple-audio-card,dai-link@0 {
+                               /* DAC */
+                               format = "i2s";
+                               mclk-fs = <128>;
+                               cpu {
+                                       sound-dai = <&sti_uni_player0>;
+                               };
+                               codec {
+                                       sound-dai = <&sti_hdmi>;
+                               };
                        };
                };
  
index f4ba088b225edee8d26dcfdf5ab4f8469ea9628d,3c6596f06ebc3840b0c5c17e212ed69658f59061..6c14a6f72820828e39d4c656f4567dc7362346fd
                        reg = <0x01c20800 0x400>;
                        interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
                                     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&ccu CLK_BUS_PIO>;
+                       clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
+                       clock-names = "apb", "hosc", "losc";
                        gpio-controller;
                        #gpio-cells = <3>;
                        interrupt-controller;
                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
                        };
  
+                       spi0_pins: spi0 {
+                               allwinner,pins = "PC0", "PC1", "PC2", "PC3";
+                               allwinner,function = "spi0";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
+                       spi1_pins: spi1 {
+                               allwinner,pins = "PA15", "PA16", "PA14", "PA13";
+                               allwinner,function = "spi1";
+                               allwinner,drive = <SUN4I_PINCTRL_10_MA>;
+                               allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
+                       };
                        uart0_pins_a: uart0@0 {
                                allwinner,pins = "PA4", "PA5";
                                allwinner,function = "uart0";
                        };
  
                        uart3_pins: uart3 {
 -                              allwinner,pins = "PG13", "PG14";
 +                              allwinner,pins = "PA13", "PA14";
                                allwinner,function = "uart3";
                                allwinner,drive = <SUN4I_PINCTRL_10_MA>;
                                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
                        clocks = <&osc24M>;
                };
  
+               spi0: spi@01c68000 {
+                       compatible = "allwinner,sun8i-h3-spi";
+                       reg = <0x01c68000 0x1000>;
+                       interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
+                       clock-names = "ahb", "mod";
+                       dmas = <&dma 23>, <&dma 23>;
+                       dma-names = "rx", "tx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi0_pins>;
+                       resets = <&ccu RST_BUS_SPI0>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
+               spi1: spi@01c69000 {
+                       compatible = "allwinner,sun8i-h3-spi";
+                       reg = <0x01c69000 0x1000>;
+                       interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
+                       clock-names = "ahb", "mod";
+                       dmas = <&dma 24>, <&dma 24>;
+                       dma-names = "rx", "tx";
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&spi1_pins>;
+                       resets = <&ccu RST_BUS_SPI1>;
+                       status = "disabled";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+               };
                wdt0: watchdog@01c20ca0 {
                        compatible = "allwinner,sun6i-a31-wdt";
                        reg = <0x01c20ca0 0x20>;
                        compatible = "allwinner,sun8i-h3-r-pinctrl";
                        reg = <0x01f02c00 0x400>;
                        interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&apb0_gates 0>;
+                       clocks = <&apb0_gates 0>, <&osc24M>, <&osc32k>;
+                       clock-names = "apb", "hosc", "losc";
                        resets = <&apb0_reset 0>;
                        gpio-controller;
                        #gpio-cells = <3>;
index 1552db00cc592e0a17465c702b74428310b343b0,fa19cfdc33fb7c4f330c10abcff2a7cb9f43de86..7ea617e47fe41123193bc10a9cb331d9687e015a
  
                        switch0: switch0@0 {
                                compatible = "marvell,mv88e6085";
 +                              pinctrl-0 = <&pinctrl_gpio_switch0>;
 +                              pinctrl-names = "default";
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0>;
                                dsa,member = <0 0>;
 +                              interrupt-parent = <&gpio0>;
 +                              interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
 +                              interrupt-controller;
 +                              #interrupt-cells = <2>;
  
                                ports {
                                        #address-cells = <1>;
                                        port@0 {
                                                reg = <0>;
                                                label = "lan0";
 +                                              phy-handle = <&switch0phy0>;
                                        };
  
                                        port@1 {
                                                reg = <1>;
                                                label = "lan1";
 +                                              phy-handle = <&switch0phy1>;
                                        };
  
                                        port@2 {
                                                reg = <2>;
                                                label = "lan2";
 +                                              phy-handle = <&switch0phy2>;
                                        };
  
                                        switch0port5: port@5 {
                                                };
                                        };
                                };
 +                              mdio {
 +                                      #address-cells = <1>;
 +                                      #size-cells = <0>;
 +                                      switch0phy0: switch0phy0@0 {
 +                                              reg = <0>;
 +                                              interrupt-parent = <&switch0>;
 +                                              interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
 +                                      };
 +                                      switch0phy1: switch1phy0@1 {
 +                                              reg = <1>;
 +                                              interrupt-parent = <&switch0>;
 +                                              interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;                                   };
 +                                      switch0phy2: switch1phy0@2 {
 +                                              reg = <2>;
 +                                              interrupt-parent = <&switch0>;
 +                                              interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
 +                                      };
 +                              };
                        };
                };
  
  
                        switch1: switch1@0 {
                                compatible = "marvell,mv88e6085";
 +                              pinctrl-0 = <&pinctrl_gpio_switch1>;
 +                              pinctrl-names = "default";
                                #address-cells = <1>;
                                #size-cells = <0>;
                                reg = <0>;
                                dsa,member = <0 1>;
 +                              interrupt-parent = <&gpio0>;
 +                              interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
 +                              interrupt-controller;
 +                              #interrupt-cells = <2>;
  
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        switch1phy0: switch1phy0@0 {
                                                reg = <0>;
 +                                              interrupt-parent = <&switch1>;
 +                                              interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
                                        };
                                        switch1phy1: switch1phy0@1 {
                                                reg = <1>;
 +                                              interrupt-parent = <&switch1>;
 +                                              interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
                                        };
                                        switch1phy2: switch1phy0@2 {
                                                reg = <2>;
 +                                              interrupt-parent = <&switch1>;
 +                                              interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
                                        };
                                };
                        };
        };
  };
  
- &i2c3 {
-       clock-frequency = <100000>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_i2c3>;
-       status = "okay";
- };
  &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart0>;
                >;
        };
  
 +      pinctrl_gpio_switch0: pinctrl-gpio-switch0 {
 +              fsl,pins = <
 +                      VF610_PAD_PTB5__GPIO_27         0x219d
 +              >;
 +      };
 +
 +      pinctrl_gpio_switch1: pinctrl-gpio-switch1 {
 +              fsl,pins = <
 +                      VF610_PAD_PTB4__GPIO_26         0x219d
 +              >;
 +      };
 +
        pinctrl_i2c_mux_reset: pinctrl-i2c-mux-reset {
                fsl,pins = <
                         VF610_PAD_PTE14__GPIO_119      0x31c2
                >;
        };
  
-       pinctrl_i2c3: i2c3grp {
-               fsl,pins = <
-                       VF610_PAD_PTA30__I2C3_SCL       0x37ff
-                       VF610_PAD_PTA31__I2C3_SDA       0x37ff
-               >;
-       };
        pinctrl_leds_debug: pinctrl-leds-debug {
                fsl,pins = <
                         VF610_PAD_PTD20__GPIO_74       0x31c2
index e0ea60382087c2cb4ab9a6fb0b2d0691d36389af,8b5d42a90e89e811d1c4d1a8a6a5faba48758068..470461ddd4276a1cf4fece290db7858b5ddc9960
                        reg = <0x0 0xf7010000  0x0 0x27c>;
                        #address-cells = <1>;
                        #size-cells = <1>;
+                       #pinctrl-cells = <1>;
                        #gpio-range-cells = <3>;
                        pinctrl-single,register-width = <32>;
                        pinctrl-single,function-mask = <7>;
                        reg = <0x0 0xf7010800 0x0 0x28c>;
                        #address-cells = <1>;
                        #size-cells = <1>;
+                       #pinctrl-cells = <1>;
                        pinctrl-single,register-width = <32>;
                };
  
                        reg = <0x0 0xf8001800 0x0 0x78>;
                        #address-cells = <1>;
                        #size-cells = <1>;
+                       #pinctrl-cells = <1>;
                        pinctrl-single,register-width = <32>;
                };
  
                        clocks = <&sys_ctrl HI6220_USBOTG_HCLK>;
                        clock-names = "otg";
                        dr_mode = "otg";
 -                      g-use-dma;
                        g-rx-fifo-size = <512>;
                        g-np-tx-fifo-size = <128>;
                        g-tx-fifo-size = <128 128 128 128 128 128>;
index c2d588ca59b70f455f2da6e4d5c5332a4fb33575,6c03c1702bb32ff1766d478c872034d725e85e1b..9c9fccbabb31174f259546beab0cc85493712547
                auxadc: auxadc@11001000 {
                        compatible = "mediatek,mt8173-auxadc";
                        reg = <0 0x11001000 0 0x1000>;
+                       clocks = <&pericfg CLK_PERI_AUXADC>;
+                       clock-names = "main";
+                       #io-channel-cells = <1>;
                };
  
                uart0: serial@11002000 {
                        status = "disabled";
                };
  
 -              usb30: usb@11270000 {
 -                      compatible = "mediatek,mt8173-xhci";
 -                      reg = <0 0x11270000 0 0x1000>,
 +              ssusb: usb@11271000 {
 +                      compatible = "mediatek,mt8173-mtu3";
 +                      reg = <0 0x11271000 0 0x3000>,
                              <0 0x11280700 0 0x0100>;
 -                      interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
 +                      reg-names = "mac", "ippc";
 +                      interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_LOW>;
 +                      phys = <&phy_port0 PHY_TYPE_USB3>,
 +                             <&phy_port1 PHY_TYPE_USB2>;
                        power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
                        clocks = <&topckgen CLK_TOP_USB30_SEL>,
                                 <&pericfg CLK_PERI_USB0>,
                        clock-names = "sys_ck",
                                      "wakeup_deb_p0",
                                      "wakeup_deb_p1";
 -                      phys = <&phy_port0 PHY_TYPE_USB3>,
 -                             <&phy_port1 PHY_TYPE_USB2>;
                        mediatek,syscon-wakeup = <&pericfg>;
 -                      status = "okay";
 +                      #address-cells = <2>;
 +                      #size-cells = <2>;
 +                      ranges;
 +                      status = "disabled";
 +
 +                      usb_host: xhci@11270000 {
 +                              compatible = "mediatek,mt8173-xhci";
 +                              reg = <0 0x11270000 0 0x1000>;
 +                              reg-names = "mac";
 +                              interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_LOW>;
 +                              power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
 +                              clocks = <&topckgen CLK_TOP_USB30_SEL>;
 +                              clock-names = "sys_ck";
 +                              status = "disabled";
 +                      };
                };
  
                u3phy: usb-phy@11290000 {
index 1bb38d0493eb600fd3ada16aaba46ade8b8c3861,4cf612bcfdfa31d006c14972c895d20928226296..85d0091128644c446aed878e87769e82c77c3ebf
  #include <linux/device.h>
  #include <linux/err.h>
  #include <linux/gpio/driver.h>
 -#include <linux/interrupt.h>
  #include <linux/io.h>
  #include <linux/irq.h>
  #include <linux/irqdesc.h>
 -#include <linux/irqdomain.h>
  #include <linux/module.h>
  #include <linux/of_address.h>
  #include <linux/of.h>
@@@ -45,7 -47,6 +45,7 @@@
  #define MODULE_NAME "pinctrl-bcm2835"
  #define BCM2835_NUM_GPIOS 54
  #define BCM2835_NUM_BANKS 2
 +#define BCM2835_NUM_IRQS  3
  
  #define BCM2835_PIN_BITMAP_SZ \
        DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8)
@@@ -75,33 -76,35 +75,27 @@@ enum bcm2835_pinconf_param 
        BCM2835_PINCONF_PARAM_PULL,
  };
  
- enum bcm2835_pinconf_pull {
-       BCM2835_PINCONFIG_PULL_NONE,
-       BCM2835_PINCONFIG_PULL_DOWN,
-       BCM2835_PINCONFIG_PULL_UP,
- };
  #define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_))
  #define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16)
  #define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff)
  
 -struct bcm2835_gpio_irqdata {
 -      struct bcm2835_pinctrl *pc;
 -      int bank;
 -};
 -
  struct bcm2835_pinctrl {
        struct device *dev;
        void __iomem *base;
 -      int irq[BCM2835_NUM_BANKS];
 +      int irq[BCM2835_NUM_IRQS];
  
        /* note: locking assumes each bank will have its own unsigned long */
        unsigned long enabled_irq_map[BCM2835_NUM_BANKS];
        unsigned int irq_type[BCM2835_NUM_GPIOS];
  
        struct pinctrl_dev *pctl_dev;
 -      struct irq_domain *irq_domain;
        struct gpio_chip gpio_chip;
        struct pinctrl_gpio_range gpio_range;
  
 -      struct bcm2835_gpio_irqdata irq_data[BCM2835_NUM_BANKS];
 +      int irq_group[BCM2835_NUM_IRQS];
        spinlock_t irq_lock[BCM2835_NUM_BANKS];
  };
  
 -static struct lock_class_key gpio_lock_class;
 -
  /* pins are just named GPIO0..GPIO53 */
  #define BCM2835_GPIO_PIN(a) PINCTRL_PIN(a, "gpio" #a)
  static struct pinctrl_pin_desc bcm2835_gpio_pins[] = {
@@@ -359,6 -362,13 +353,6 @@@ static int bcm2835_gpio_direction_outpu
        return pinctrl_gpio_direction_output(chip->base + offset);
  }
  
 -static int bcm2835_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
 -{
 -      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
 -
 -      return irq_linear_revmap(pc->irq_domain, offset);
 -}
 -
  static struct gpio_chip bcm2835_gpio_chip = {
        .label = MODULE_NAME,
        .owner = THIS_MODULE,
        .get_direction = bcm2835_gpio_get_direction,
        .get = bcm2835_gpio_get,
        .set = bcm2835_gpio_set,
 -      .to_irq = bcm2835_gpio_to_irq,
        .base = -1,
        .ngpio = BCM2835_NUM_GPIOS,
        .can_sleep = false,
  };
  
 -static irqreturn_t bcm2835_gpio_irq_handler(int irq, void *dev_id)
 +static void bcm2835_gpio_irq_handle_bank(struct bcm2835_pinctrl *pc,
 +                                       unsigned int bank, u32 mask)
  {
 -      struct bcm2835_gpio_irqdata *irqdata = dev_id;
 -      struct bcm2835_pinctrl *pc = irqdata->pc;
 -      int bank = irqdata->bank;
        unsigned long events;
        unsigned offset;
        unsigned gpio;
        unsigned int type;
  
        events = bcm2835_gpio_rd(pc, GPEDS0 + bank * 4);
 +      events &= mask;
        events &= pc->enabled_irq_map[bank];
        for_each_set_bit(offset, &events, 32) {
                gpio = (32 * bank) + offset;
 +              /* FIXME: no clue why the code looks up the type here */
                type = pc->irq_type[gpio];
  
 -              generic_handle_irq(irq_linear_revmap(pc->irq_domain, gpio));
 +              generic_handle_irq(irq_linear_revmap(pc->gpio_chip.irqdomain,
 +                                                   gpio));
        }
 -      return events ? IRQ_HANDLED : IRQ_NONE;
 +}
 +
 +static void bcm2835_gpio_irq_handler(struct irq_desc *desc)
 +{
 +      struct gpio_chip *chip = irq_desc_get_handler_data(desc);
 +      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
 +      struct irq_chip *host_chip = irq_desc_get_chip(desc);
 +      int irq = irq_desc_get_irq(desc);
 +      int group;
 +      int i;
 +
 +      for (i = 0; i < ARRAY_SIZE(pc->irq); i++) {
 +              if (pc->irq[i] == irq) {
 +                      group = pc->irq_group[i];
 +                      break;
 +              }
 +      }
 +      /* This should not happen, every IRQ has a bank */
 +      if (i == ARRAY_SIZE(pc->irq))
 +              BUG();
 +
 +      chained_irq_enter(host_chip, desc);
 +
 +      switch (group) {
 +      case 0: /* IRQ0 covers GPIOs 0-27 */
 +              bcm2835_gpio_irq_handle_bank(pc, 0, 0x0fffffff);
 +              break;
 +      case 1: /* IRQ1 covers GPIOs 28-45 */
 +              bcm2835_gpio_irq_handle_bank(pc, 0, 0xf0000000);
 +              bcm2835_gpio_irq_handle_bank(pc, 1, 0x00003fff);
 +              break;
 +      case 2: /* IRQ2 covers GPIOs 46-53 */
 +              bcm2835_gpio_irq_handle_bank(pc, 1, 0x003fc000);
 +              break;
 +      }
 +
 +      chained_irq_exit(host_chip, desc);
  }
  
  static inline void __bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc,
@@@ -475,8 -449,7 +469,8 @@@ static void bcm2835_gpio_irq_config(str
  
  static void bcm2835_gpio_irq_enable(struct irq_data *data)
  {
 -      struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data);
 +      struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
 +      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
        unsigned gpio = irqd_to_hwirq(data);
        unsigned offset = GPIO_REG_SHIFT(gpio);
        unsigned bank = GPIO_REG_OFFSET(gpio);
  
  static void bcm2835_gpio_irq_disable(struct irq_data *data)
  {
 -      struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data);
 +      struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
 +      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
        unsigned gpio = irqd_to_hwirq(data);
        unsigned offset = GPIO_REG_SHIFT(gpio);
        unsigned bank = GPIO_REG_OFFSET(gpio);
@@@ -597,8 -569,7 +591,8 @@@ static int __bcm2835_gpio_irq_set_type_
  
  static int bcm2835_gpio_irq_set_type(struct irq_data *data, unsigned int type)
  {
 -      struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data);
 +      struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
 +      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
        unsigned gpio = irqd_to_hwirq(data);
        unsigned offset = GPIO_REG_SHIFT(gpio);
        unsigned bank = GPIO_REG_OFFSET(gpio);
  
  static void bcm2835_gpio_irq_ack(struct irq_data *data)
  {
 -      struct bcm2835_pinctrl *pc = irq_data_get_irq_chip_data(data);
 +      struct gpio_chip *chip = irq_data_get_irq_chip_data(data);
 +      struct bcm2835_pinctrl *pc = gpiochip_get_data(chip);
        unsigned gpio = irqd_to_hwirq(data);
  
        bcm2835_gpio_set_bit(pc, GPEDS0, gpio);
@@@ -668,11 -638,10 +662,11 @@@ static void bcm2835_pctl_pin_dbg_show(s
                unsigned offset)
  {
        struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev);
 +      struct gpio_chip *chip = &pc->gpio_chip;
        enum bcm2835_fsel fsel = bcm2835_pinctrl_fsel_get(pc, offset);
        const char *fname = bcm2835_functions[fsel];
        int value = bcm2835_gpio_get_bit(pc, GPLEV0, offset);
 -      int irq = irq_find_mapping(pc->irq_domain, offset);
 +      int irq = irq_find_mapping(chip->irqdomain, offset);
  
        seq_printf(s, "function %s in %s; irq %d (%s)",
                fname, value ? "hi" : "lo",
@@@ -846,16 -815,6 +840,16 @@@ static const struct pinctrl_ops bcm2835
        .dt_free_map = bcm2835_pctl_dt_free_map,
  };
  
 +static int bcm2835_pmx_free(struct pinctrl_dev *pctldev,
 +              unsigned offset)
 +{
 +      struct bcm2835_pinctrl *pc = pinctrl_dev_get_drvdata(pctldev);
 +
 +      /* disable by setting to GPIO_IN */
 +      bcm2835_pinctrl_fsel_set(pc, offset, BCM2835_FSEL_GPIO_IN);
 +      return 0;
 +}
 +
  static int bcm2835_pmx_get_functions_count(struct pinctrl_dev *pctldev)
  {
        return BCM2835_FSEL_COUNT;
@@@ -915,7 -874,6 +909,7 @@@ static int bcm2835_pmx_gpio_set_directi
  }
  
  static const struct pinmux_ops bcm2835_pmx_ops = {
 +      .free = bcm2835_pmx_free,
        .get_functions_count = bcm2835_pmx_get_functions_count,
        .get_function_name = bcm2835_pmx_get_function_name,
        .get_function_groups = bcm2835_pmx_get_function_groups,
@@@ -953,14 -911,12 +947,14 @@@ static int bcm2835_pinconf_set(struct p
  
                bcm2835_gpio_wr(pc, GPPUD, arg & 3);
                /*
 -               * Docs say to wait 150 cycles, but not of what. We assume a
 -               * 1 MHz clock here, which is pretty slow...
 +               * BCM2835 datasheet say to wait 150 cycles, but not of what.
 +               * But the VideoCore firmware delay for this operation
 +               * based nearly on the same amount of VPU cycles and this clock
 +               * runs at 250 MHz.
                 */
 -              udelay(150);
 +              udelay(1);
                bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), BIT(bit));
 -              udelay(150);
 +              udelay(1);
                bcm2835_gpio_wr(pc, GPPUDCLK0 + (off * 4), 0);
        } /* for each config */
  
@@@ -1018,9 -974,26 +1012,9 @@@ static int bcm2835_pinctrl_probe(struc
        pc->gpio_chip.parent = dev;
        pc->gpio_chip.of_node = np;
  
 -      pc->irq_domain = irq_domain_add_linear(np, BCM2835_NUM_GPIOS,
 -                      &irq_domain_simple_ops, NULL);
 -      if (!pc->irq_domain) {
 -              dev_err(dev, "could not create IRQ domain\n");
 -              return -ENOMEM;
 -      }
 -
 -      for (i = 0; i < BCM2835_NUM_GPIOS; i++) {
 -              int irq = irq_create_mapping(pc->irq_domain, i);
 -              irq_set_lockdep_class(irq, &gpio_lock_class);
 -              irq_set_chip_and_handler(irq, &bcm2835_gpio_irq_chip,
 -                              handle_level_irq);
 -              irq_set_chip_data(irq, pc);
 -      }
 -
        for (i = 0; i < BCM2835_NUM_BANKS; i++) {
                unsigned long events;
                unsigned offset;
 -              int len;
 -              char *name;
  
                /* clear event detection flags */
                bcm2835_gpio_wr(pc, GPREN0 + i * 4, 0);
                for_each_set_bit(offset, &events, 32)
                        bcm2835_gpio_wr(pc, GPEDS0 + i * 4, BIT(offset));
  
 -              pc->irq[i] = irq_of_parse_and_map(np, i);
 -              pc->irq_data[i].pc = pc;
 -              pc->irq_data[i].bank = i;
                spin_lock_init(&pc->irq_lock[i]);
 -
 -              len = strlen(dev_name(pc->dev)) + 16;
 -              name = devm_kzalloc(pc->dev, len, GFP_KERNEL);
 -              if (!name)
 -                      return -ENOMEM;
 -              snprintf(name, len, "%s:bank%d", dev_name(pc->dev), i);
 -
 -              err = devm_request_irq(dev, pc->irq[i],
 -                      bcm2835_gpio_irq_handler, IRQF_SHARED,
 -                      name, &pc->irq_data[i]);
 -              if (err) {
 -                      dev_err(dev, "unable to request IRQ %d\n", pc->irq[i]);
 -                      return err;
 -              }
        }
  
        err = gpiochip_add_data(&pc->gpio_chip, pc);
                return err;
        }
  
 +      err = gpiochip_irqchip_add(&pc->gpio_chip, &bcm2835_gpio_irq_chip,
 +                                 0, handle_level_irq, IRQ_TYPE_NONE);
 +      if (err) {
 +              dev_info(dev, "could not add irqchip\n");
 +              return err;
 +      }
 +
 +      for (i = 0; i < BCM2835_NUM_IRQS; i++) {
 +              pc->irq[i] = irq_of_parse_and_map(np, i);
 +              pc->irq_group[i] = i;
 +              /*
 +               * Use the same handler for all groups: this is necessary
 +               * since we use one gpiochip to cover all lines - the
 +               * irq handler then needs to figure out which group and
 +               * bank that was firing the IRQ and look up the per-group
 +               * and bank data.
 +               */
 +              gpiochip_set_chained_irqchip(&pc->gpio_chip,
 +                                           &bcm2835_gpio_irq_chip,
 +                                           pc->irq[i],
 +                                           bcm2835_gpio_irq_handler);
 +      }
 +
        pc->pctl_dev = devm_pinctrl_register(dev, &bcm2835_pinctrl_desc, pc);
        if (IS_ERR(pc->pctl_dev)) {
                gpiochip_remove(&pc->gpio_chip);
This page took 0.237806 seconds and 4 git commands to generate.