Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 03/11] ARM: shmobile: r8a7743: basic SoC support
From: Simon Horman @ 2016-10-08  2:31 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <2345971.ESZSzve5jF@avalon>

On Fri, Oct 07, 2016 at 11:33:33AM +0300, Laurent Pinchart wrote:
> Hi Simon,
> 
> 
> On Friday 07 Oct 2016 12:15:37 Simon Horman wrote:
> > On Thu, Oct 06, 2016 at 12:37:08AM +0300, Sergei Shtylyov wrote:
> > > Add minimal support for the RZ/G1M (R8A7743) SoC.
> > > 
> > > Based on the original (and large) patch by Dmitry Shifrin
> > > <dmitry.shifrin@cogentembedded.com>.
> > > 
> > > Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > 
> > Thanks, I have queued this up.
> 
> I'd like to see this patch rebased on top of "[PATCH] ARM: shmobile: 
> Consolidate R8A779[234] machine definitions".

I'm happy to drop this patch if that is the desired outcome of
the discussion in this sub-thread.

^ permalink raw reply

* [PATCH v3 04/11] ARM: dts: r8a7743: initial SoC device tree
From: Simon Horman @ 2016-10-08  2:28 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <cd1391d1-d2b5-6315-ee15-0253019d9836@cogentembedded.com>

On Fri, Oct 07, 2016 at 12:57:28PM +0300, Sergei Shtylyov wrote:
> On 10/7/2016 6:09 AM, Simon Horman wrote:
> 
> >>The  initial R8A7743 SoC device tree including CPU cores, GIC, timer, SYSC,
> >>CPG, and the required clock descriptions.
> >>
> >>Based on the original (and large) patch by Dmitry Shifrin
> >><dmitry.shifrin@cogentembedded.com>.
> >>
> >>Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> >
> >I notice that this patch enables two CPUs. Have you tested SMP and:
> >- CPU hotplug
> >- Suspend to RAM
> 
>    No, not really. I'll remove CPU1. :-<

Thanks.

^ permalink raw reply

* [PATCH] arm64: uniphier: select ARCH_HAS_RESET_CONTROLLER
From: Masahiro Yamada @ 2016-10-08  2:25 UTC (permalink / raw)
  To: linux-arm-kernel

The UniPhier reset driver (drivers/reset/reset-uniphier.c) has been
merged.  Select ARCH_HAS_RESET_CONTROLLER from the SoC Kconfig.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

This is a counter-part of the following ARM-32bit variant:
https://patchwork.kernel.org/patch/9341021/

As discussed with Philipp, we go ARCH_HAS_RESET_CONTROLLER for now.


 arch/arm64/Kconfig.platforms | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index b6b3657..d4f5f5c 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -178,6 +178,7 @@ config ARCH_THUNDER
 
 config ARCH_UNIPHIER
 	bool "Socionext UniPhier SoC Family"
+	select ARCH_HAS_RESET_CONTROLLER
 	select PINCTRL
 	help
 	  This enables support for Socionext UniPhier SoC family.
-- 
1.9.1

^ permalink raw reply related

* [PATCH] ARM: uniphier: select ARCH_HAS_RESET_CONTROLLER
From: Masahiro Yamada @ 2016-10-08  2:18 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1474356649.4030.8.camel@pengutronix.de>

2016-09-20 16:30 GMT+09:00 Philipp Zabel <p.zabel@pengutronix.de>:
> Am Dienstag, den 20.09.2016, 13:43 +0900 schrieb Masahiro Yamada:
>> The UniPhier reset driver (drivers/reset/reset-uniphier.c) has been
>> merged.  Select ARCH_HAS_RESET_CONTROLLER from the SoC Kconfig.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
>
> Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
>
> regards
> Philipp


Applied.



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply

* [PATCH 4/10] MAINTAINERS: add entry for Marvell Xenon MMC Host Controller drivers
From: Ziji Hu @ 2016-10-08  0:59 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475873086.1945.20.camel@perches.com>

Hi Joe,

On 2016/10/8 4:44, Joe Perches wrote:
> On Fri, 2016-10-07 at 17:22 +0200, Gregory CLEMENT wrote:
>> Add maintainer entry for Marvell Xenon eMMC/SD/SDIO Host
>> Controller drivers.
> []
>> diff --git a/MAINTAINERS b/MAINTAINERS
> []
>> @@ -7578,6 +7578,11 @@ M:	Nicolas Pitre <nico@fluxnic.net>
>>  S:	Odd Fixes
>>  F:	drivers/mmc/host/mvsdio.*
>>  
>> +MARVELL XENON MMC/SD/SDIO HOST CONTROLLER DRIVER
>> +M:	Ziji Hu <huziji@marvell.com>
>> +L:	linux-mmc at vger.kernel.org
>> +S:	Supported
> 
> You should really add F: file patterns here
> 
	The specific file patterns will be added later when the corresponding file is included in patch.
	Otherwise, it cannot pass checkpatch.pl.

	Thank you.

Best regards,
Hu Ziji

^ permalink raw reply

* [GIT PULL 8/8] ARM: SoC: late DT updates for v4.9
From: Arnd Bergmann @ 2016-10-08  0:39 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit d63a5e7c713a68bd368016f2022326a1a91310d8:

  clk: sunxi-ng: Add hardware dependency (2016-09-10 11:41:21 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-late

for you to fetch changes up to 8185041f5fa6f02acf75229a590e16aac028fc5e:

  ARM: dts: lpc32xx: add device node for IRAM on-chip memory (2016-10-02 22:08:11 -0700)

----------------------------------------------------------------
ARM: SoC: late DT updates for v4.9

These updates have been kept in a separate branch mostly because
they rely on updates to the respective clk drivers to keep the
shared header files in sync.

- The Renesas r8a7796 (R-Car M3-W) platform gets added, this is an
  automotive SoC similar to the ?8a7795 chip we already support, but
  the dts changes rely on a clock driver change that has been
  merged for v4.9 through the clk tree.

- The Amlogic meson-gxbb (S905) platform gains support for a few
  drivers merged through our tree, in particular the network and
  usb driver changes are required and included here, and also
  the clk tree changes.

- The Allwinner platforms have seen a large-scale change to their
  clk drivers and the dts file updates must come after that.
  This includes the newly added Nextthing GR8 platform, which is
  derived from sun5i/A13.

- Some integrator (arm32) changes rely on clk driver changes.

- A single patch for lpc32xx has no such dependency but wasn't
  added until just before the merge window

----------------------------------------------------------------
Arnd Bergmann (8):
      Merge tag 'sunxi-dt-for-4.9-2' of https://git.kernel.org/.../mripard/linux into next/late
      Merge tag 'amlogic-dt64' of git://git.kernel.org/.../khilman/linux-amlogic into next/late
      Merge tag 'renesas-arm64-dt-for-v4.9' of git://git.kernel.org/.../horms/renesas into next/late
      Merge tag 'integrator-armsoc-1' of git://git.kernel.org/.../linusw/linux-integrator into next/late
      Merge tag 'amlogic-drivers-2' of git://git.kernel.org/.../khilman/linux-amlogic into next/late
      Merge tag 'amlogic-dt64-2' of git://git.kernel.org/.../khilman/linux-amlogic into next/late
      Merge tag 'sunxi-dt-for-4.9-3' of https://git.kernel.org/.../mripard/linux into next/late
      Merge branch 'next/late' into HEAD

Carlo Caione (4):
      documentation: Add secure monitor bindings documentation
      ARM64: dts: amlogic: gxbb: Enable secure monitor
      documentation: Add nvmem bindings documentation
      ARM64: dts: amlogic: gxbb: Enable NVMEM

Chen-Yu Tsai (7):
      ARM: dts: sun6i: switch A31/A31s to new CCU clock bindings
      ARM: dts: sun8i: Move A23/A33 usbphy and usb_otg nodes to common dtsi
      ARM: dts: sun9i: a80-optimus: Declare AXP809 SW regulator as unused
      ARM: dts: sun9i: cubieboard4: Declare AXP809 SW regulator as unused
      ARM: dts: sun9i: a80-optimus: Add AXP806 PMIC device node and regulators
      ARM: dts: sun9i: cubieboard4: Add AXP806 PMIC device node and regulators
      ARM: dts: sun9i: a80-optimus: Disable EHCI1

Geert Uytterhoeven (1):
      arm64: dts: r8a7795: Add SoC-specific compatible property to audio-dmac nodes

Hans de Goede (6):
      ARM: dts: sun8i: Add touchscreen node for sun8i-a23-gt90h
      ARM: dts: sun8i: Add touchscreen node for sun8i-a23-inet86dz
      ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2407pxe03
      ARM: dts: sun8i: Add touchscreen node for sun8i-a23-polaroid-mid2809pxe04
      ARM: dts: sun8i: Add touchscreen node for sun8i-a33-ga10h
      ARM: dts: sun8i: Add accelerometer to polaroid-mid2407pxe03

Icenowy Zheng (2):
      ARM: dts: sun8i: add pinmux for UART1 at PG
      ARM: dts: sun8i: enable UART1 for iNet D978 Rev2 board

Jerome Brunet (7):
      ARM64: dts: amlogic: add spi nor pins
      ARM64: dts: meson-gxbb: add pins for I2C
      ARM64: dts: gxbb: add i2c bus
      usb: dwc2: add support for Meson8b and GXBB SoCs
      clk: gxbb: expose spifc clock
      clk: gxbb: expose i2c clocks
      ARM64: dts: meson-gxbb-p20x: Enable USB Nodes

Joachim Eastwood (1):
      stmmac: introduce get_stmmac_bsp_priv() helper

Jorik Jonker (5):
      dts: sun8i-h3: add pinmux definitions for UART2-3
      dts: sun8i-h3: split off RTS/CTS for UART1 in seperate pinmux
      dts: sun8i-h3: associate exposed UARTs on Orange Pi Boards
      dts: sun8i-h3: add pinmux definitions for I2C0-2
      dts: sun8i-h3: add I2C0-2 peripherals to H3 SOC

Kevin Hilman (7):
      ARM64: DTS: meson-gxbb: switch ethernet to real clock
      Merge branch 'clk-meson-gxbb-ao' of git://git.kernel.org/.../clk/linux into v4.8/dt64
      ARM64: dts: amlogic: add the input pin for the IR remote
      ARM64: dts: meson-gxbb: Add PWM pinctrl nodes
      Merge branch 'clk-meson-gxbb' of git://git.kernel.org/.../clk/linux into v4.8/drivers
      Merge tag 'amlogic-drivers-2' into v4.8/dt64-2
      Merge branch 'v4.8/dt64' into v4.8/dt64-2

Kieran Bingham (2):
      arm64: dts: r8a7795: add FCPF device nodes
      arm64: dts: r8a7795: add FDP1 device nodes

Laurent Pinchart (5):
      arm64: dts: renesas: r8a7795: Add FCPV nodes
      arm64: dts: renesas: r8a7795: Add VSP instances
      arm64: dts: renesas: r8a7795: Add DU device to DT
      arm64: dts: r8a7795: renesas: salvator-x: Enable DU
      arm64: dts: r8a7795: salvator-x: Configure pins for the DU RGB output

Linus Walleij (8):
      ARM: dts: set the 24MHz xtal as parent of the UART clock
      ARM: dts: add the Integrator/AP baseboard clocks
      ARM: dts: Add the core module clocks to Integrator/AP
      ARM: dts: add the core module clocks to Integrator/CP
      ARM: integrator: move CP CLCD display to DTS
      ARM: integrator: delete some auxdata
      ARM: integrator: cut down on static maps
      ARM: integrator: read counter using syscon/regmap

Martin Blumenstingl (11):
      ARM64: dts: meson-gxbb: Enable the the IR decoder on supported boards
      net: dt-bindings: Document the new Meson8b and GXBB DWMAC bindings
      net: stmmac: add a glue driver for the Amlogic Meson 8b / GXBB DWMAC
      net: stmmac: update the module description of the dwmac-meson driver
      ARM64: dts: amlogic: enable ethernet on all Tronsmart Vega S95 devices
      ARM64: dts: meson-gxbb: use the new GXBB DWMAC glue driver
      ARM64: dts: meson-gxbb: add USB Nodes
      Documentation: dt-bindings: Add documentation for the Meson USB2 PHYs
      clk: gxbb: expose MPLL2 clock for use by DT
      clk: gxbb: expose USB clocks
      ARM64: dts: meson-gxbb-vega-s95: Enable USB Nodes

Maxime Ripard (4):
      Merge branch 'sunxi/clk-for-4.9' into sunxi/dt-for-4.9
      ARM: sun8i: Convert the A23 and A33 to the CCU
      ARM: sun8i: a33: Add display pipeline
      ARM: sun8i: a23/a33: Add RGB666 pins

Myl?ne Josserand (2):
      ARM: dts: Add NextThing GR8 dtsi
      ARM: dts: gr8: Add support for the GR8 evaluation board

Neil Armstrong (9):
      ARM64: dts: amlogic: meson-gxbb: Add watchdog node
      ARM64: dts: meson-gxbb: Add GXBB AO Clock and Reset node
      dt-bindings: media: meson-ir: Add Meson8b and GXBB compatible strings
      ARM64: dts: meson-gxbb: Add Infrared Remote Controller decoder
      ARM64: dts: meson-gxbb: Add Meson MHU Node
      ARM64: dts: meson-gxbb: Add Meson GXBB PWM Controller nodes
      ARM64: dts: meson-gxbb: add the SDIO pins
      ARM64: dts: meson-gxbb: Add SPIFC node
      ARM64: dts: meson-gxbb: add I2C nodes

Simon Horman (1):
      arm64: dts: r8a7795: remove unnecessary cap-mmc-highspeed property

Takeshi Kihara (2):
      arm64: dts: r8a7796: Add pinctrl device node
      arm64: dts: r8a7796: Add GPIO device nodes

Ulrich Hecht (1):
      arm64: dts: r8a7796: salvator-x: add serial console pins

Vladimir Barinov (13):
      arm64: dts: h3ulcb: add H3ULCB board DT bindings
      arm64: dts: h3ulcb: initial device tree
      arm64: dts: h3ulcb: enable SCIF clk and pins
      arm64: dts: h3ulcb: enable EthernetAVB
      arm64: dts: h3ulcb: enable I2C2
      arm64: dts: h3ulcb: enable EXTALR clk
      arm64: dts: h3ulcb: enable WDT
      arm64: dts: h3ulcb: enable USB2 PHY of channel 1
      arm64: dts: h3ulcb: enable USB2.0 Host channel 1
      arm64: dts: h3ulcb: enable GPIO keys
      arm64: dts: h3ulcb: enable SDHI0
      arm64: dts: h3ulcb: Sound SSI support
      arm64: dts: h3ulcb: enable GPIO leds

Vladimir Zapolskiy (1):
      ARM: dts: lpc32xx: add device node for IRAM on-chip memory

Wolfram Sang (1):
      arm64: dts: r8a7795: set maximum frequency for SDHI clocks

Yoshihiro Shimoda (4):
      arm64: dts: r8a7795: Add HSUSB device node
      arm64: dts: r8a7795: salvator-x: enable usb2_phy of channel 0
      arm64: dts: r8a7795: salvator-x: enable USB 2.0 Host channel 0
      arm64: dts: r8a7795: salvator-x: enable HSUSB

 Documentation/devicetree/bindings/arm/shmobile.txt |    2 +
 .../bindings/firmware/meson/meson_sm.txt           |   15 +
 .../devicetree/bindings/media/meson-ir.txt         |    5 +-
 .../devicetree/bindings/net/meson-dwmac.txt        |   45 +-
 .../devicetree/bindings/nvmem/amlogic-efuse.txt    |   39 +
 .../devicetree/bindings/phy/meson-usb2-phy.txt     |   27 +
 Documentation/devicetree/bindings/usb/dwc2.txt     |    2 +
 arch/arm/boot/dts/Makefile                         |    1 +
 arch/arm/boot/dts/integratorap.dts                 |   51 +-
 arch/arm/boot/dts/integratorcp.dts                 |   74 +-
 arch/arm/boot/dts/lpc32xx.dtsi                     |   12 +-
 arch/arm/boot/dts/ntc-gr8-evb.dts                  |  342 ++++++
 arch/arm/boot/dts/ntc-gr8.dtsi                     | 1087 ++++++++++++++++++++
 arch/arm/boot/dts/sun6i-a31.dtsi                   |  424 ++------
 arch/arm/boot/dts/sun8i-a23-a33.dtsi               |  305 ++----
 arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts           |    9 +
 arch/arm/boot/dts/sun8i-a23-inet86dz.dts           |    9 +
 .../boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts   |   26 +
 .../boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts   |    9 +
 arch/arm/boot/dts/sun8i-a23.dtsi                   |   80 +-
 arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts         |   10 +
 arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts     |   20 +
 arch/arm/boot/dts/sun8i-a33.dtsi                   |  236 +++--
 arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts    |    2 +-
 arch/arm/boot/dts/sun8i-h3-orangepi-2.dts          |   18 +
 arch/arm/boot/dts/sun8i-h3-orangepi-one.dts        |   18 +
 arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts         |   18 +
 arch/arm/boot/dts/sun8i-h3.dtsi                    |   85 +-
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts        |  116 +++
 arch/arm/boot/dts/sun9i-a80-optimus.dts            |  123 ++-
 arch/arm/mach-integrator/integrator_ap.c           |   36 -
 arch/arm/mach-integrator/integrator_cp.c           |  123 +--
 .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts |   11 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts    |    6 +
 arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi   |   35 +
 .../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi      |   42 +
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  329 +++++-
 arch/arm64/boot/dts/renesas/Makefile               |    2 +-
 arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts     |  328 ++++++
 arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts |   87 ++
 arch/arm64/boot/dts/renesas/r8a7795.dtsi           |  276 ++++-
 arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts |   16 +
 arch/arm64/boot/dts/renesas/r8a7796.dtsi           |  117 +++
 drivers/clk/meson/gxbb.h                           |   18 +-
 drivers/net/ethernet/stmicro/stmmac/Kconfig        |    6 +-
 drivers/net/ethernet/stmicro/stmmac/Makefile       |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-meson.c  |    4 +-
 .../net/ethernet/stmicro/stmmac/dwmac-meson8b.c    |  324 ++++++
 .../net/ethernet/stmicro/stmmac/stmmac_platform.h  |    8 +
 drivers/usb/dwc2/platform.c                        |   34 +
 include/dt-bindings/clock/gxbb-clkc.h              |    9 +
 51 files changed, 4153 insertions(+), 870 deletions(-)

^ permalink raw reply

* [GIT PULL 7/8] ARM: 64-bit DT updates for v4.8
From: Arnd Bergmann @ 2016-10-08  0:37 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit f2a89d3b2b85b90b05453872aaabfdb412a21a03:

  arm64: dts: Fix broken architected timer interrupt trigger (2016-09-14 22:47:22 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-dt64

for you to fetch changes up to c1fd2794a4111501027dc60b3fd9d2a29789ea47:

  Merge tag 'berlin64-dt-for-v4.9-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt64 (2016-10-02 22:21:33 -0700)

----------------------------------------------------------------
ARM: 64-bit DT updates for v4.8

The 64-bit DT changes are surprisingly small this time, we only add two
SoC platforms: the ZTE ZX296718 Set-top-box SoC and the SocioNext
UniPhier LD11 TV SoC, each with their reference boards.

There are three new machines added for existing SoC platforms:

- The Marvell Armada 8040 development board is an impressive quad-core
  Cortex-A72 machine with three 10gbit ethernet interfaces

- Qualcomms DragonBoard 820c single-board computer is their current
  high-end phone platform in the 96boards form factor

- Rockchip: Tronsmart Orion r86 set-top-box is a popular mid-range
  Android box based on the 8-core rk3368 SoC.

----------------------------------------------------------------
Alexander Graf (1):
      ARM64: zynqmp: Align gic ranges for 64k in device tree

Andy Yan (2):
      soc: rockchip: add reboot-mode header
      arm64: dts: rockchip: add syscon-reboot-mode DT node

Archit Taneja (2):
      arm64: dts: msm8916: Add display support
      arm64: dts: apq8016-sbc: Add HDMI display support

Arnd Bergmann (15):
      Merge tag 'uniphier-dt64-v4.9' of git://git.kernel.org/.../masahiroy/linux-uniphier into next/dt64
      Merge tag 'samsung-dt64-4.9' of git://git.kernel.org/.../krzk/linux into next/dt64
      Merge tag 'hisi-soc-dt-for-4.9' of git://github.com/hisilicon/linux-hisi into next/dt64
      Merge tag 'qcom-arm64-for-4.9' of git://git.kernel.org/.../agross/linux into next/dt64
      Merge tag 'mvebu-dt64-4.9-1' of git://git.infradead.org/linux-mvebu into next/dt64
      Merge tag 'arm-soc/for-4.9/devicetree-arm64' of http://github.com/Broadcom/stblinux into next/dt64
      Merge tag 'v4.9-rockchip-dts64-1' of git://git.kernel.org/.../mmind/linux-rockchip into next/dt64
      Merge tag 'tegra-for-4.9-arm64-dt' of git://git.kernel.org/.../tegra/linux into next/dt64
      Merge tag 'imx-dt64-4.9' of git://git.kernel.org/.../shawnguo/linux into next/dt64
      Merge tag 'v4.8-next-dts64' of https://github.com/mbgg/linux-mediatek into next/dt64
      Merge tag 'zynqmp-dt-for-4.9' of https://github.com/Xilinx/linux-xlnx into next/dt64
      Merge branch 'dt/irq-fix' into next/dt64
      Merge tag 'mvebu-dt64-4.9-2' of git://git.infradead.org/linux-mvebu into next/dt64
      Merge tag 'xgene-dts-for-v4.9' of https://github.com/AppliedMicro/xgene-next into next/dt64
      Merge tag 'zte-dt64-4.9' of git://git.kernel.org/.../shawnguo/linux into next/dt64

Bjorn Andersson (4):
      arm64: dts: qcom: msm8916: Add smsm and smp2p nodes
      arm64: dts: qcom: msm8916: Add mba memory reserve
      arm64: dts: qcom: msm8916: Make scm a reset-controller
      arm64: dts: qcom: msm8916: Add tcsr syscon

CK Hu (1):
      arm64: dts: mt8173: Add HDMI related nodes

Caesar Wang (5):
      arm64: dts: rockchip: add the saradc for rk3399
      arm64: dts: rockchip: add the gmac power domain on rk3399
      arm64: dts: rockchip: add the tcpc for rk3399 power domain
      arm64: dts: rockchip: change all interrupts cells to 4 on rk3399 SoCs
      arm64: dts: rockchip: support the pmu node for rk3399

Chris Zhong (1):
      arm64: dts: rockchip: add Type-C phy for RK3399

Douglas Anderson (1):
      arm64: dts: rockchip: Add pinctrl entry for 32k clock on rk3399

Duc Dang (2):
      arm64: dts: apm: Add APM X-Gene v2 SoC PMU DTS entries
      arm64: dts: apm: Fix interrupt polarity for X-Gene PCIe legacy interrupts

Elaine Zhang (1):
      arm64: dts: rockchip: add the power domain node for rk3399

Finley Xiao (1):
      arm64: dts: rockchip: add efuse0 device node for rk3399

Frank Wang (2):
      arm64: dts: rockchip: add usb2-phy support for rk3399
      arm64: dts: rockchip: configure usb2-phy support for rk3399-evb

Guodong Xu (3):
      arm64: dts: hikey: extend default cma size to 128MB
      arm64: dts: hi6220: add resets property into dwmmc nodes
      arm64: dts: hi6220: add sd-uhs- properties into dwmmc_1

Heiko Stuebner (1):
      Merge branch 'v4.9-shared/soc-hdr' into v4.9-armsoc/dts64

Jisheng Zhang (3):
      arm64: dts: berlin4ct: switch to Cortex-A53 specific pmu nodes
      arm64: dts: berlin4ct: enable all wdt nodes unconditionally
      arm64: dts: berlin4ct: Add L2 cache topology

John Stultz (2):
      arm64: dts: hikey: Add hikey support for syscon-reboot-mode
      arm64: dts: hikey: Add pstore support for HiKey

Jon Hunter (9):
      arm64: tegra: Drop clock and reset names for XUSB powergates
      arm64: tegra: Add AGIC node for Tegra210
      arm64: tegra: Add ADMA node for Tegra210
      arm64: tegra: Add SOR power-domain for Tegra210
      arm64: tegra: Add ACONNECT, ADMA and AGIC nodes Tegra210 Smaug
      arm64: tegra: Enable DPAUX for Tegra210 Smaug
      arm64: tegra: Add the various audio devices for Tegra210 Smaug
      arm64: tegra: Enable XUSB controller on Tegra210 Smaug
      arm64: tegra: Select PM_GENERIC_DOMAINS

Jorge Ramirez-Ortiz (1):
      arm64: dts: set UART1 clock frequency to 150MHz

Jun Nie (1):
      arm64: dts: Add ZTE ZX296718 SoC dts and Makefile

Kefeng Wang (4):
      arm64: dts: hip05: kill hip05_hns.dtsi
      dt-bindings: hisilicon: Add Hip05 and Hip06 system controller support
      arm64: dts: hip06: Append hns node
      arm64: dts: hip06: Append sas node

Krzysztof Kozlowski (1):
      arm64: dts: exynos: Use human-friendly symbols for timer interrupt flags

Liu Gang (1):
      arm64: dts: ls2080a: Add 'dma-coherent' for ls2080a PCI nodes

Marc Zyngier (1):
      arm64: dts: qcom: Fix broken interrupt trigger settings

Masahiro Yamada (5):
      arm64: dts: uniphier: match DT names to other projects and documents
      arm64: dts: uniphier: add pinctrl property to System Bus node
      arm64: dts: uniphier: use clock/reset controllers
      arm64: dts: uniphier: add specific compatible to SoC-Glue node
      arm64: dts: uniphier: add LD11 SoC/Board support

Matthias Brugger (1):
      arm64: dts: rockchip: Add basic support for orion-r68

Michal Simek (3):
      ARM64: zynqmp: Use 64bit size cell format
      ARM64: zynqmp: Add PCIe node
      ARM64: zynqmp: Add missing interrupt-parent to PMU node

Olof Johansson (1):
      Merge tag 'berlin64-dt-for-v4.9-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt64

Philipp Zabel (1):
      arm64: dts: mt8173-evb: enable HDMI output

Punnaiah Choudary Kalluri (1):
      ARM64: zynqmp: Correct the watchdog timer interrupt number

Rajendra Nayak (2):
      arm64: dts: msm8916: Add thermal zones, tsens and qfprom nodes
      arm64: dts: msm8996: Add thermal zones, tsens and qfprom nodes

Roger Chen (2):
      arm64: dts: rockchip: add the gmac needed node for rk3399
      arm64: dts: rockchip: enable the gmac for rk3399 evb board

Shawn Lin (4):
      arm64: dts: rockchip: remove broken-cd from sdio0
      arm64: dts: rockchip: add the PCIe PHY for RK3399
      arm64: dts: rockchip: add the PCIe controller support for RK3399
      arm64: dts: rockchip: configure PCIe support for rk3399-evb

Shunqian Zheng (1):
      arm64: dts: rockchip: set to CCI clock of RK3399 to 600M

Srinivas Kandagatla (8):
      arm64: dts: db820c: add basic board support
      arm64: dts: db820c: add support to LS-UART0
      arm64: dts: db820c: add support to LS-I2C0
      arm64: dts: db820c: add support to LS-I2C1
      arm64: dts: db820c: add support to I2C on HS
      arm64: dts: db820c: add support to LS-SPI0
      arm64: dts: db820c: add support to SPI on HS
      arm64: dts: db820c: add support to external sd card.

Stephen Warren (1):
      arm64: tegra: Simplify Tegra210 GPIO compatible value

Stuart Yoder (2):
      arm64: dts: updates serial aliases for ls1043a rdb and qds boards
      arm64: dts: add stdout-path to chosen node for ls2080a/ls1043a boards

Tai Nguyen (1):
      arm64: dts: apm: Add APM X-Gene SoC PMU DTS entries

Thomas Petazzoni (4):
      arm64: dts: marvell: add description for the slave CP110 in Armada 8K
      arm64: dts: marvell: add description for the Armada 8040 dev board
      arm64: dts: marvell: describe the PIC and PMU on Armada 7K/8K
      arm64: dts: marvell: enable MSI for PCIe on Armada 7K/8K

Xing Zheng (1):
      arm64: dts: rockchip: fix the address map for WDT0 and WDT1

Xinliang Liu (2):
      arm64: dts: Add display subsystem DT nodes for hi6220-hikey
      arm64: dts: Add HDMI node for hi6220-hikey

Yendapally Reddy Dhananjaya Reddy (1):
      arm64: dts: Add PWM DT node for NS2

York Sun (1):
      arm64: dts: Add DDR memory controller for Layerscape SoCs

hotran (2):
      arm64: dts: apm: Add X-Gene SoC hwmon to device tree
      arm64: dts: apm: Add DT node for APM X-Gene 2 CPU clocks


 .../bindings/arm/hisilicon/hisilicon.txt           |  39 +-
 Documentation/devicetree/bindings/arm/rockchip.txt |   4 +
 Documentation/devicetree/bindings/arm/zte.txt      |  24 +
 arch/arm64/Kconfig.platforms                       |   2 +
 arch/arm64/boot/dts/Makefile                       |   1 +
 arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi  |   8 +-
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |   8 +-
 arch/arm64/boot/dts/apm/apm-shadowcat.dtsi         | 135 ++++-
 arch/arm64/boot/dts/apm/apm-storm.dtsi             | 111 +++-
 arch/arm64/boot/dts/broadcom/ns2.dtsi              |  16 +-
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi       |   8 +-
 arch/arm64/boot/dts/exynos/exynos7.dtsi            |  13 +-
 arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts  |  14 +-
 arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts  |   8 +
 arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi     |  15 +-
 arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts  |   3 +
 arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts  |   4 +
 arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi     |  26 +-
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts     |  86 ++-
 arch/arm64/boot/dts/hisilicon/hi6220.dtsi          |  61 +++
 arch/arm64/boot/dts/hisilicon/hip05.dtsi           |   5 -
 arch/arm64/boot/dts/hisilicon/hip05_hns.dtsi       | 180 ------
 arch/arm64/boot/dts/hisilicon/hip06-d03.dts        |  28 +
 arch/arm64/boot/dts/hisilicon/hip06.dtsi           | 365 +++++++++++++
 arch/arm64/boot/dts/marvell/Makefile               |   1 +
 arch/arm64/boot/dts/marvell/armada-8020.dtsi       |   1 +
 arch/arm64/boot/dts/marvell/armada-8040-db.dts     | 150 +++++
 arch/arm64/boot/dts/marvell/armada-8040.dtsi       |   1 +
 arch/arm64/boot/dts/marvell/armada-ap806.dtsi      |  22 +-
 .../boot/dts/marvell/armada-cp110-master.dtsi      |   3 +
 .../arm64/boot/dts/marvell/armada-cp110-slave.dtsi | 249 +++++++++
 arch/arm64/boot/dts/marvell/berlin4ct.dtsi         |  12 +-
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts        |  38 ++
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           |  77 +++
 arch/arm64/boot/dts/nvidia/tegra210-smaug.dts      | 120 ++++
 arch/arm64/boot/dts/nvidia/tegra210.dtsi           |  79 ++-
 arch/arm64/boot/dts/qcom/Makefile                  |   1 +
 arch/arm64/boot/dts/qcom/apq8016-sbc-soc-pins.dtsi |  48 ++
 arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi          |  82 +++
 arch/arm64/boot/dts/qcom/apq8096-db820c-pins.dtsi  |  39 ++
 arch/arm64/boot/dts/qcom/apq8096-db820c.dts        |  21 +
 arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi       |  88 +++
 arch/arm64/boot/dts/qcom/msm8916.dtsi              | 286 +++++++++-
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |  94 +++-
 arch/arm64/boot/dts/rockchip/Makefile              |   1 +
 .../boot/dts/rockchip/rk3368-orion-r68-meta.dts    | 382 +++++++++++++
 arch/arm64/boot/dts/rockchip/rk3368-r88.dts        |   1 -
 arch/arm64/boot/dts/rockchip/rk3368.dtsi           |  10 +
 arch/arm64/boot/dts/rockchip/rk3399-evb.dts        |  87 +++
 arch/arm64/boot/dts/rockchip/rk3399.dtsi           | 607 +++++++++++++++++++--
 arch/arm64/boot/dts/socionext/Makefile             |   4 +-
 .../arm64/boot/dts/socionext/uniphier-ld11-ref.dts | 100 ++++
 arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi   | 338 ++++++++++++
 ...hier-ph1-ld20-ref.dts => uniphier-ld20-ref.dts} |  11 +-
 .../{uniphier-ph1-ld20.dtsi => uniphier-ld20.dtsi} | 102 ++--
 arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts        |   2 +-
 arch/arm64/boot/dts/xilinx/zynqmp.dtsi             | 108 ++--
 arch/arm64/boot/dts/zte/Makefile                   |   5 +
 arch/arm64/boot/dts/zte/zx296718-evb.dts           |  64 +++
 arch/arm64/boot/dts/zte/zx296718.dtsi              | 292 ++++++++++
 include/dt-bindings/soc/rockchip,boot-mode.h       |  15 +
 61 files changed, 4294 insertions(+), 411 deletions(-)

^ permalink raw reply

* [GIT PULL 6/8] ARM: DT updates for v4.9
From: Arnd Bergmann @ 2016-10-08  0:33 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-dt

for you to fetch changes up to adff807988f92d4646c50b601936e340a92d5455:

  Merge tag 'berlin-dt-for-v4.9-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt (2016-10-02 22:20:39 -0700)

----------------------------------------------------------------
ARM: DT updates for v4.9

These are as usual a very large number of mostly boring updates to
enable devices in existing machines, or to fix minor bugs.  Notably,
an ongoing treewide effort to fix warnings caused by an update to the
device tree compiler. These are enabled with "make W=1" at the moment
but can hopefully become the default once all issues have been addressed.

No new SoC platform is added this time around (Armada 395 and Orion
mv88f5181 are slight variations of existing ones), but a significant
number of new dts files are added, which I list by platform:

- Allwinner: Empire Electronix M712 and iNet d978 Rev2 tablets;
	Orange Pi PC Plus, Orange Pi 2, Orange Pi Plus 2E,
	Orange Pi Lite, Olimex A33-Olinuxino, and Nano Pi Neo
	single-board computers

- ARM Realview: all supported machines (ported from board files)

- Broadcom: BCM958525er, BCM958522er, BCM988312hr, BCM958623hr and
	BCM958622hr reference boards for Northstar platform;
	Raspberry Pi Zero single-board computer

- Marvell EBU: Netgear WNR854T router (ported from board file);
	Armada 395 SoC platform and GP board
	Armada 390 DB development board

- NXP i.MX: imx7s Warp7 reference board;
	Gateworks Ventana GW553x single-board computer,
	Technologic Systems TS-4900 and
	Engicam IMX6UL GEA M6UL computer-on-module,
	Inverse Path USB armory board

- Qualcomm: LG Nexus 5 Phone

- Renesas: r8a7792/wheat and r7s72100/rskrza1 development boards

- Rockchip: Rockchip RK3288 Fennec reference board;
	Firefly RK3288 Reload platform

- ST Microelectronics STi: B2260 (96boards) single-board computer

- TI Davinci: OMAP-L138 LCDK Development kit

- TI OMAP: beagleboard-x15 rev B1 single-board computer

Conflicts: vendor-prefixes.txt has conflicting additions, keep all of
them in alphabetical order.

----------------------------------------------------------------
Adam Ford (1):
      ARM: dts: Add LogicPD DM37/AM37 Torpedo and SOM-LV

Andrej Rosano (2):
      devicetree: Add vendor prefix for Inverse Path
      ARM: dts: imx53: add support for USB armory board

Andrew F. Davis (3):
      ARM: dts: keystone-k2g: Add device state controller node
      ARM: dts: keystone-k2g: Add keystone IRQ controller node
      ARM: dts: keystone-k2g: Add DSP GPIO controller node

Andy Yan (5):
      soc: rockchip: add reboot-mode header
      ARM: dts: rockchip: add syscon-reboot-mode DT node
      ARM: dts: rockchip: enable usbotg for Popemtal-rk3288 board
      ARM: dts: rockchip: fix L3G4200D i2c address on PopMetal-RK3288 board
      ARM: dts: rockchip: Add sensor-supplies on PopMetal-RK3288 board

Anson Huang (1):
      ARM: dts: imx6ul iomuxc syscon is compatible to imx6q

Arnd Bergmann (30):
      ARM: dts: mvebu: fix reference to a390 spi controller
      Merge tag 'renesas-dt-for-v4.9' of git://git.kernel.org/.../horms/renesas into next/dt
      Merge tag 'lpc18xx_dts_for_4.9' of https://github.com/manabian/linux-lpc into next/dt
      Merge tag 'samsung-dt-4.9' of git://git.kernel.org/.../krzk/linux into next/dt
      Merge tag 'uniphier-dt-v4.9' of git://git.kernel.org/.../masahiroy/linux-uniphier into next/dt
      Merge tag 'keystone_dts_for_4.9' of git://git.kernel.org/.../ssantosh/linux-keystone into next/dt
      Merge tag 'omap-for-v4.9/dt-pt1-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/dt
      Merge tag 'sti-dt-for-v4.9-1' of git://git.kernel.org/.../pchotard/sti into next/dt
      Merge tag 'qcom-dts-for-4.9' of git://git.kernel.org/.../agross/linux into next/dt
      Merge tag 'mvebu-dt-4.9-1' of git://git.infradead.org/linux-mvebu into next/dt
      Merge tag 'lpc18xx_dts_for_4.9_part2' of https://github.com/manabian/linux-lpc into next/dt
      Merge tag 'renesas-dt2-for-v4.9' of git://git.kernel.org/.../horms/renesas into next/dt
      Merge tag 'sunxi-dt-for-4.9' of https://git.kernel.org/.../mripard/linux into next/dt
      Merge tag 'v4.9-rockchip-dts32-1' of git://git.kernel.org/.../mmind/linux-rockchip into next/dt
      Merge tag 'tegra-for-4.9-arm-dt' of git://git.kernel.org/.../tegra/linux into next/dt
      Merge tag 'realview-dts-split' of git://git.kernel.org/.../linusw/linux-integrator into next/dt
      Merge tag 'imx-dt-4.9' of git://git.kernel.org/.../shawnguo/linux into next/dt
      Merge tag 'clcd-nomadik' of git://git.kernel.org/.../linusw/linux-nomadik into next/dt
      Merge tag 'arm-soc/for-4.9/devicetree' of http://github.com/Broadcom/stblinux into next/dt
      Merge tag 'davinci-for-v4.9/dts' of git://git.kernel.org/.../nsekhar/linux-davinci into next/dt
      Merge tag 'at91-ab-4.9-dt1' of git://git.kernel.org/.../abelloni/linux into next/dt
      Merge tag 'mvebu-dt-4.9-2' of git://git.infradead.org/linux-mvebu into next/dt
      Merge tag 'amlogic-dt' of git://git.kernel.org/.../khilman/linux-amlogic into next/dt
      Merge tag 'sti-dt-for-v4.9-2' of git://git.kernel.org/.../pchotard/sti into next/dt
      Merge tag 'sti-dt-for-v4.9-3' of git://git.kernel.org/.../pchotard/sti into next/dt
      Merge tag 'davinci-for-v4.9/dts-p2' of git://git.kernel.org/.../nsekhar/linux-davinci into next/dt
      Merge tag 'omap-for-v4.9/dt-pt2-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/dt
      Merge tag 'samsung-dt-4.9-2' of git://git.kernel.org/.../krzk/linux into next/dt
      Merge tag 'samsung-dt-pinctrl-4.9' of git://git.kernel.org/.../krzk/linux into next/dt
      Merge tag 'omap-for-v4.9/dt-pt3-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/dt

Baruch Siach (1):
      dt-binding: mrvl-gpio: remove orion-gpio description

Bhushan Shah (6):
      ARM: dts: msm8974: Add nodes for blsp1_uart1 serial port
      ARM: dts: qcom: Add initial DTS for LG Nexus 5 Phone
      ARM: dts: msm8974-hammerhead: Add regulator nodes for hammerhead
      ARM: dts: msm8974-hammerhead: Introduce gpio-keys nodes
      ARM: dts: qcom: msm8974: Add fixed regulator node for vph-pwr-reg
      ARM: dts: msm8974: Move vreg_boost node from the honami to msm8974

Bjorn Andersson (1):
      ARM: dts: msm8974: honami: Add touchscreen

Breno Lima (1):
      ARM: dts: imx7s-warp: Add MPL3115 sensor support

Chen-Yu Tsai (4):
      ARM: dts: sun9i: a80-optimus: Add device node for AC100
      ARM: dts: sun9i: cubieboard4: Add device node for AC100
      ARM: dts: sun9i: Switch to the AC100 RTC clock outputs for osc32k
      ARM: dts: sun9i: Add missing #interrupt-cells to R_PIO pinctrl device node

Chris Brandt (5):
      ARM: dts: Add RSKRZA1 DT bindings documentation
      ARM: dts: rskrza1: initial device tree
      ARM: dts: r7s72100: add ethernet clock to device tree
      ARM: dts: r7s72100: add ethernet to device tree
      ARM: dts: rskrza1: add ethernet DT support

Chris Packham (1):
      ARM: dts: armada-38x: Add NAND pinctrl information

Christoph Fritz (1):
      ARM: dts: imx6sx: document SION necessity of ENET1_REF_CLK1

Cooper Jr., Franklin (1):
      ARM: dts: da850: Add new ECAP and EPWM bindings

Dave Gerlach (3):
      Revert "ARM: dts: am335x-boneblack: Enable 1GHz OPP for cpu"
      Revert "ARM: dts: am33xx: Move to operating-points-v2 table and ti-cpufreq driver"
      Revert "ARM: dts: dra7: Move to operating-points-v2 table"

Fabien Lahoudere (2):
      ARM: dts: imx53: Add DMA configuration for UART
      ARM: dts: imx53: Add IPU nodes for csi

Fabio Estevam (8):
      ARM: dts: imx7s-warp: Add initial support
      ARM: dts: imx7s: Add SDMA node
      ARM: dts: imx7s: Add SAI nodes
      ARM: dts: imx7s-warp: Add audio support
      ARM: dts: imx7s-warp: Add Wifi support
      ARM: dts: imx7s-warp: Use WDOG_B pin reset
      ARM: dts: imx6ul-pico-hobbit: Use WDOG_B pin reset
      ARM: dts: imx7s-warp: Let the codec control MCLK pinctrl

Florian Fainelli (3):
      ARM: dts: NSP: Add Switch Register Access Block node
      ARM: dts: NSP: Add BCM958625HR switch ports
      Merge tag 'bcm2835-dt-next-2016-08-29' into devicetree/next

Gabriel Fernandez (9):
      ARM: dts: STiH4xx: Simplify clock binding of STiH4xx platforms
      ARM: dts: STiH407: Enable clock propagation for audio clocks
      ARM: dts: STiH410: Enable clock propagation for audio clocks
      ARM: dts: STiH418: Enable clock propagation for audio clocks
      ARM: dts: STiH407: Enable synchronous clock mode for video clocks
      ARM: dts: STiH410: Enable synchronous clock mode for video clocks
      ARM: dts: STiH418: Enable synchronous clock mode for video clocks
      ARM: dts: STi: STiH407: clock configuration to address 720p and 1080p
      ARM: dts: STiH410: clock configuration to address 720p and 1080p

Geert Uytterhoeven (2):
      ARM: dts: r8a7790: Remove obsolete vsp1 properties
      ARM: dts: r8a7791: Remove obsolete vsp1 properties

Grygorii Strashko (2):
      ARM: dts: dra7: cpsw: fix clocks tree
      ARM: dts: keystone: specify usb mode explicitly

Grzegorz Jaszczyk (14):
      ARM: dts: mvebu: a385-db-ap: enable USB (orion-ehci) port
      ARM: dts: mvebu: a385-db-ap: add default partition description for NAND
      ARM: dts: mvebu: armada-390: add missing compatibility string and bracket
      ARM: dts: mvebu: armada-39x: update the SDHCI node on Armada 39x
      ARM: dts: mvebu: armada-39x: enable PMU, CA9 SoC Controller and Coherency fabric
      ARM: dts: mvebu: armada-39x: enable the thermal sensor in Armada-39x SoCs
      ARM: dts: mvebu: armada-39x: enable watchdog for all Armada-39x SoCs
      ARM: dts: mvebu: armada-39x: add missing nodes describing GPIO's
      ARM: dts: mvebu: armada-39x: enable rtc for all Armada-39x SoCs
      ARM: dts: mvebu: armada-395: add support for the Armada 395 SoC family
      ARM: dts: mvebu: armada-398: update the dtsi about missing interfaces
      ARM: dts: mvebu: armada-398-db: enable supported usb interfaces
      ARM: dts: mvebu: armada-390-db: add support for the Armada 390 DB board
      ARM: dts: mvebu: armada-395-gp: add support for the Armada 395 GP Board

Guenter Roeck (1):
      ARM: dts: lpc4350-hitex-eval: fix binding for SE97 i2c device

H. Nikolaus Schaller (1):
      ARM: dts: omap3-gta04: reduce panel backlight PWM frequency to 83Hz

Hans de Goede (19):
      ARM: dts: sun6i-a31s-colorfly-e708-q1: Add full otg support
      ARM: dts: sun8i: Add dts file for the Orange Pi PC Plus SBC
      ARM: dts: sun8i: Add ethernet1 alias to Orange Pi 2 dts
      ARM: dts: sun8i: Add dts file for the Orange Pi Lite SBC
      ARM: dts: sun8i: Use sun8i-reference-design-tablet for gt90h dts
      ARM: dts: sun8i: Add dt node for rtl8703as wifi chip on ga10h
      ARM: dts: sun8i: reference-design-tablet: Add gsl1680 touchscreen node
      ARM: dts: sun6i: colorfly-e708-q1: Remove unused mma8452_int_e708_q1 node
      ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi
      ARM: dts: sun6i: Add new dts file for tablets using the inet-q972 PCB
      ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2407
      ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2809
      ARM: dts: sun4i: Disable ohci1 on ba10-tv-box
      ARM: dts: sun5i: Convert inet-98v-rev2 dts to use reference-design-tablet.dtsi
      ARM: dts: sun5i: Add dts file for the Empire Electronix M712 tablet
      ARM: dts: sun8i: Rename reference-design-tablet touchscreen node
      ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
      ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
      ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers

Heiko Stuebner (2):
      ARM: dts: rockchip: move rk3288 usbphy under the GRF node
      Merge branch 'v4.9-shared/soc-hdr' into v4.9-armsoc/dts32

Icenowy Zheng (2):
      ARM: dts: sun8i: add NAND controller node for A23/A33
      ARM: dts: sun8i: Add dts file for inet-d978_rev2 tablets

J.D. Schroeder (1):
      ARM: dts: dra7: Fix clock data for gmac_gmii_ref_clk_div

James Pettigrew (2):
      ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
      devicetree: Add vendor prefix for FriendlyARM

Jamie Lentin (5):
      ARM: dts: orion5x: Add required properties for orion-wdt to DT node
      dt-bindings: arm: add DT binding for Marvell Orion5x SoC family
      ARM: dts: arm: orion5x: Add DT include for mv88f5181
      ARM: dts: orion5x: Add description for Netgear WNR854T
      ARM: dts: orion5x: Configure WNR854T ethernet PHY LEDs

Jason Cooper (1):
      ARM: dts: kirkwood: Fix Openblock A6 external GPIO pins

Javier Martinez Canillas (42):
      ARM: dts: omap3/am4372: add missing unit name to ocp node
      ARM: dts: omap3: overo: add missing unit name for lcd35 display
      ARM: dts: am335x/am437x: remove unneeded unit name for gpio-matrix-keypad
      ARM: dts: am335x/am437x: remove unneeded unit name for fixed regulators
      ARM: dts: da850/dm81x: remove unneeded unit name for fixed regulators
      ARM: dts: omap3/dra62x: remove unneeded unit name for fixed regulators
      ARM: dts: am335x/am437x: remove unneeded unit name for gpio-keys nodes
      ARM: dts: omap3/4: remove unneeded unit name for gpio-keys nodes
      ARM: dts: am335x/437x/57xx: remove unneeded unit name for gpio-leds nodes
      ARM: dts: omap3/4/5/dra7: remove unneeded unit name for gpio-leds nodes
      ARM: am335x: Add missing memory node in sl50 board
      ARM: omap3: Add missing memory node in overo and torpedo boards
      ARM: dts: omap2: Remove skeleton.dtsi usage
      ARM: dts: omap3: Remove skeleton.dtsi usage
      ARM: dts: omap4: Remove skeleton.dtsi usage
      ARM: dts: omap5: Remove skeleton.dtsi usage
      ARM: dts: am33xx: Remove skeleton.dtsi usage
      ARM: dts: dm814x: Remove skeleton.dtsi usage
      ARM: dts: dm816x: Remove skeleton.dtsi usage
      ARM: dts: dra7: Remove skeleton.dtsi usage
      ARM: dts: am4372: Remove skeleton.dtsi usage
      ARM: dts: omap2: Add missing unit name to memory nodes
      ARM: dts: omap3: Add missing unit name to memory nodes
      ARM: dts: omap4: Add missing unit name to memory nodes
      ARM: dts: omap5: Add missing unit name to memory nodes
      ARM: dts: am335x: Add missing unit name to memory nodes
      ARM: dts: am3517: Add missing unit name to memory nodes
      ARM: dts: am4372: Add missing unit name to memory nodes
      ARM: dts: am572x: Add missing unit name to memory nodes
      ARM: dts: dm8148: Add missing unit name to memory nodes
      ARM: dts: dm8168: Add missing unit name to memory nodes
      ARM: dts: dra62x: Add missing unit name to memory nodes
      ARM: dts: dra7: Add missing unit name to memory nodes
      ARM: dts: exynos: Add missing memory node for Exynos5440 boards
      ARM: dts: exynos: Remove skeleton.dtsi usage for Exynos3
      ARM: dts: exynos: Remove skeleton.dtsi usage for Exynos4
      ARM: dts: exynos: Remove skeleton.dtsi usage for Exynos5
      ARM: dts: exynos: Add missing unit name to memory nodes in Exynos3 DTS
      ARM: dts: exynos: Add missing unit name to memory nodes in Exynos4 DTS
      ARM: dts: exynos: Add missing unit name to memory nodes in Exynos5 DTS
      ARM: dts: s5p: Remove skeleton.dtsi inclusion for S5PV210
      ARM: dts: s5p: Add missing unit name to memory nodes for S5PV210 boards

Jean-Christophe Trotin (1):
      ARM: dts: STiH410: Add hva dt nodes

Jisheng Zhang (11):
      arm: dts: berlin2: enable all wdt nodes unconditionally
      arm: dts: berlin2q: enable all wdt nodes unconditionally
      ARM: dts: berlin2q: Remove skeleton.dtsi inclusion
      ARM: dts: berlin2cd: Remove skeleton.dtsi inclusion
      ARM: dts: berlin2: Remove skeleton.dtsi inclusion
      ARM: dts: berlin2q: Add missing unit name to /soc node
      ARM: dts: berlin2cd: Add missing unit name to /soc node
      ARM: dts: berlin2: Add missing unit name to /soc node
      ARM: dts: berlin2q-marvell-dmp: add missing unit name to /memory node
      ARM: dts: chromecast: add missing unit name to /memory node
      ARM: dts: sony-nsz-gs7: add missing unit name to /memory node

Joachim Eastwood (4):
      ARM: dts: lpc18xx: configure dwmac properly
      ARM: dts: armv7-m: remove skeleton.dtsi include
      ARM: dts: lpc18xx: remove skeleton.dtsi include and fix unit address warnings
      ARM: dts: efm32: remove skeleton.dtsi include and fix unit address warnings

John Stultz (3):
      device-tree: nexus7: Set phy mode to otg instead of host
      device-tree: aqp8064.dtsi: Remove usb phy dr_mode = "host"
      device-tree: nexus7: Add IMEM syscon and reboot reason support

Jon Hunter (1):
      ARM: tegra: Correct polarity for Tegra114 PMIC interrupt

Jon Mason (14):
      dt-bindings: net: bgmac: add bindings documentation for bgmac
      ARM: dts: NSP: Add AMAC entries
      ARM: dts: NSP: Correct RAM amount for BCM958625HR board
      ARM: dts: NSP: Enable SATA on bcm958625hr
      ARM: dts: NSP: Enable SATA and add i2c devices on XMC
      ARM: dts: NSP: Specify RAM amount for BCM958625K board
      ARM: dts: NSP: Specify RAM amount for BCM958525XMC board
      ARM: dts: NSP: Add GPIO reboot method to bcm958625hr DTS file
      ARM: dts: NSP: Add GPIO reboot method to bcm958625xmc DTS file
      ARM: dts: NSP: Add new DT file for bcm958525er
      ARM: dts: NSP: Add new DT file for bcm958522er
      ARM: dts: NSP: Add new DT file for bcm988312hr
      ARM: dts: NSP: Add new DT file for bcm958623hr
      ARM: dts: NSP: Add new DT file for bcm958622hr

Joshua Clayton (1):
      ARM: dts: imx6q-evi: Use GPIO_6 for fec irq

Jyri Sarha (3):
      ARM: dts: am335x-evm: Add blue-and-red-wiring -property to lcdc node
      ARM: dts: am335x-evmsk: Whitespace cleanup of lcdc related nodes
      ARM: dts: am335x-evmsk: Add blue-and-red-wiring -property to lcdc node

Karl Beldan (5):
      ARM: dts: da850: Add missing pin muxing for the UARTs
      ARM: dts: da850: Add basic DTS for the LCDK
      ARM: dts: da850,da850-evm: Add an aemif node and use it for the NAND
      ARM: dts: da850-lcdk: Audio support via simple-card
      ARM: dts: da850-lcdk: Add NAND to DT

Keerthy (5):
      ARM: dts: AM437X-GP-EVM: AM437X-SK-EVM: Make dcdc3 dcdc5 and dcdc6 enable during suspend
      ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles
      ARM: dts: AM437X-SK-EVM: Remove redundant regulator compatibles
      ARM: dts: AM437X-CM-T43: Remove redundant regulator compatibles
      ARM: dts: AM43X-EPOS-EVM: Remove redundant regulator compatibles

Ken Lin (1):
      ARM: dts: imx6q-bx50v3: configure unused pca953x pins

Kishon Vijay Abraham I (1):
      ARM: dts: DRA7: Add "linux,pci-domain" property for pci dt nodes

Krzysztof Kozlowski (18):
      ARM: dts: exynos: Use stdout non-deprecated property and add serial options to Odroid XU/XU3/XU4
      pinctrl: dt-bindings: samsung: Add header with values used for configuration
      pinctrl: dt-bindings: samsung: Update documentation with new macros
      ARM: dts: exynos: Use common macros for pinctrl configuration
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos3250
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos4210
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos4x12
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos4415
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos5250
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos5260
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos5410
      ARM: dts: exynos: Use macros for pinctrl configuration on exynos542x/exynos5800
      ARM: dts: exynos: Fix mismatched value for SD4 pull up/down configuration on exynos4210
      ARM: dts: exynos: Fix mismatched values of SD drive strengh configuration on exynos4415
      ARM: dts: s3c64xx: Use common macros for pinctrl configuration
      ARM: dts: s5pv210: Use macros for pinctrl configuration
      ARM: dts: s3c2416: Use macros for pinctrl configuration
      ARM: dts: s3c64xx: Use macros for pinctrl configuration

Ladislav Michl (1):
      ARM: dts: omap5-igep0050.dts: Use tabs for indentation

Lars Persson (3):
      ARM: dts: artpec: use clock binding header
      ARM: dts: artpec: use optimized pl310 settings
      ARM: dts: artpec: set irq affinity on pmu interrupts

Lee Jones (6):
      ARM: dts: STiH407: Supply PWM Capture IRQ
      ARM: dts: STiH407: Declare PWM Capture data lines via Pinctrl
      ARM: dts: STiH416: Supply PWM Capture IRQs
      ARM: dts: STiH416: Declare PWM Capture data lines via Pinctrl
      ARM: dts: STiH416: Define PWM Capture clock
      ARM: dts: STiH416: Define the number of PWM Capture channels

Linus Walleij (13):
      ARM: dts: MSM8064 remove flags from SPMI/MPP IRQs
      ARM: dts: MSM8660 remove flags from SPMI/MPP IRQs
      ARM: dts: add PM8058 LEDs to the APQ8060 Dragonboard
      ARM: dts: fix RealView EB SMSC ethernet version
      ARM: dts: add device tree for the RealView EB Rev D
      ARM: dts: split RealView EB 11MPCore variants
      ARM: dts: add RealView EB rev D A9 MPCore variant
      ARM: dts: add STMPE PWM to the NHK15 device tree
      dt-bindings: add vendor TPO
      dt-bindings: Add TPO TPG110 binding
      ARM: nomadik: select MFD_SYSCON
      ARM: dts: add PMU to the NHK15 device tree
      ARM: dts: add the CLCD LCD display to the NHK15

Lucile Quirion (2):
      of: documentation: add bindings documentation for TS-4900
      ARM: dts: TS-4900: add basic device tree

Marek Szyprowski (1):
      ARM: dts: exynos: Add all required FIMC-IS clocks to exynos4x12

Marek Vasut (1):
      ARM: dts: imx6sx: Add GPU bindings

Mark Rutland (1):
      ARM: dts: explicitly mark skeleton.dtsi as deprecated

Masahiro Yamada (5):
      ARM: dts: uniphier: remove a whitespace after tabs
      ARM: dts: uniphier: match DT names to other projects and documents
      ARM: dts: uniphier: switch over to PSCI
      ARM: dts: uniphier: use clock/reset controllers
      ARM: dts: uniphier: add specific compatible to SoC-Glue node

Maxime Ripard (2):
      ARM: dt: axp209: Add AXP209 GPIO driver
      ARM: sun5i: chip: Add status LED

Meng Yi (1):
      ARM: dts: ls1021a: Add of_graph dt nodes to describe the panel

Michael Trimarchi (1):
      ARM: dts: imx6ul-geam: Add Engicam IMX6UL GEA M6UL initial support

Milo Kim (3):
      ARM: dts: exynos: Use 'hpd-gpios' instead of 'hpd-gpio'
      ARM: dts: exynos: Enable HDMI for Arndale Octa board
      ARM: dts: sun8i: Add PWM controller node in H3

Neil Armstrong (1):
      ARM: dts: meson8b: Add Meson8b PWM Controller nodes

Nishanth Menon (4):
      ARM: dts: keystone-k2g: Add Message Manager node
      ARM: dts: am57xx-beagle-x15: Remove pinmux configurations for erratum i869
      ARM: dts: am57xx-beagle-x15: Add support for rev B1
      ARM: dts: am57xx-beagle-x15-common: Fix wrong pinctrl selection for mmc2

Olivier Schonken (1):
      ARM: dts: at91: sama5d2: add ETM and ETB nodes

Olof Johansson (1):
      Merge tag 'berlin-dt-for-v4.9-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/dt

Patrice Chotard (17):
      ARM: dts: STiH407: Move pio20 node to fix kernel warning
      ARM: dts: STiH410: Add thermal node
      ARM: dts: STiH407-pinctrl: Add i2c2_alt2_1 node
      ARM: dts: STiH407: Move non-removable property to board file
      ARM: dts: STiH407-pinctrl: Add pinctrl_rgmii1_mdio_1 node
      ARM: dts: STiH407-family: Add ports-implemented property in sata nodes
      ARM: dts: STi: Introduce B2260 board
      ARM: dts: STiH407-pinctrl: Update gpio-cells to 2
      ARM: dts: STiH418-B2199: Update gpio specifier
      ARM: dts: STiH41x-b2020: Update gpio specifier
      ARM: dts: STiH415-pinctrl: update gpio-cells to 2
      ARM: dts: STiH416-pinctrl: update gpio-cells to 2
      ARM: dts: STiHxxx-b2120: update gpio specifier
      ARM: dts: STiH41x-b2000: update gpio specifier
      ARM: dts: STiH416-b2020e: update gpio specifier
      ARM: dts: STiH410-b2260: add USB3 node
      ARM: dts: STiH410-b2260: add clk_ignore_unused in bootargs

Peter Griffin (8):
      ARM: STi: DT: STiH407: Add FDMA driver dt nodes.
      ARM: DT: STiH407: Add i2s_out pinctrl configuration
      ARM: DT: STiH407: Add i2s_in pinctrl configuration
      ARM: DT: STiH407: Add spdif_out pinctrl config
      ARM: STi: DT: STiH407: Add sti-sasg-codec dt node
      ARM: STi: DT: STiH407: Add uniperif player dt nodes
      ARM: STi: DT: STiH407: Add uniperif reader dt nodes
      ARM: DT: STi: stihxxx-b2120: Add DT nodes for STi audio card

Rafa? Mi?ecki (1):
      ARM: BCM5301X: Specify PHY of USB 2.0 in DT

Rajendra Nayak (3):
      arm: dts: msm8974: Add thermal zones, tsens and qfprom nodes
      arm: dts: apq8064: Add thermal zones, tsens and qfprom nodes
      arm: dts: apq8084: Add thermal zones, tsens and qfprom nodes

Randy Li (3):
      ARM: dts: rockchip: add rk3288-firefly-reload
      ARM: dts: rockchip: remove excess sd properties from firefly reload
      ARM: dts: rockchip: add missing regulators for firefly reload board

Sascha Hauer (1):
      ARM: i.MX6 Phytec PFLA02: Add supplies for the SoC internal regulators

Sekhar Nori (1):
      ARM: dts: dra7: workaround silicon limitation i845

Sergei Shtylyov (42):
      ARM: dts: r8a7792: add PFC support
      ARM: dts: blanche: add SCIF0/3 pins
      ARM: dts: blanche: add Ethernet pins
      ARM: dts: r8a7792: add GPIO clocks
      ARM: dts: r8a7792: add GPIO support
      ARM: dts: r8a7792: add EtherAVB clocks
      ARM: dts: r8a7792: add EtherAVB support
      ARM: dts: r8a7792: add CAN clocks
      ARM: dts: r8a7792: add CAN support
      ARM: dts: blanche: add CAN0 support
      ARM: dts: r8a7792: add SD clocks
      ARM: dts: r8a7792: add SDHI support
      ARM: dts: r8a7792: add I2C clocks
      ARM: dts: r8a7792: add I2C support
      ARM: dts: r8a7792: add VIN clocks
      ARM: dts: r8a7792: add VIN support
      ARM: dts: r8a7794: add audio clocks
      ARM: dts: r8a7794: add MSTP5 clocks
      ARM: dts: r8a7794: add MSTP10 clocks
      ARM: dts: r8a7794: add Audio-DMAC support
      ARM: dts: r8a7794: add sound support
      ARM: dts: silk: add sound support
      ARM: dts: r8a7792: fix misindented line
      ARM: dts: r8a7792: add DU clocks
      ARM: dts: r8a7792: add DU support
      ARM: dts: r8a7794: add VSP1 support
      ARM: dts: blanche: add support for general purpose switches
      ARM: dts: blanche: add SDHI0 support
      ARM: dts: blanche: add DU support
      ARM: dts: r8a7792: add VSP1V clocks
      ARM: dts: r8a7792: add VSP1V support
      ARM: dts: blanche: add support for general purpose LEDs
      ARM: dts: document Wheat board
      ARM: dts: wheat: initial device tree
      ARM: dts: wheat: add Ethernet support
      ARM: dts: r8a7794: fix PWM clock parent
      ARM: dts: wheat: add CAN support
      ARM: dts: wheat: add SDHI0 support
      ARM: dts: r8a7792: add QSPI clock
      ARM: dts: r8a7792: add QSPI support
      ARM: dts: wheat: add QSPI support
      ARM: dts: wheat: add support for tactile switches

Simon Horman (3):
      ARM: dts: r8a7794: Correct SDHI register size
      ARM: dts: alt: add SDHI0 and 1 support
      ARM: dts: alt: add MMCIF support

Stefan Agner (8):
      ARM: dts: imx7d: move ARM platform peripherals inside soc node
      ARM: dts: imx7d: fix GIC nodes interrupt and register specification
      ARM: dts: imx7d: move CPU operating points to imx7d.dtsi
      ARM: dts: imx7d: add clock-frequency to CPU nodes
      ARM: dts: imx7-colibri: move SD-card to module level
      ARM: dts: imx7-colibri: add basic supply regulators
      ARM: dts: imx7-colibri: add Audio support
      ARM: dts: vf610-colibri: use of_graph dt nodes to describe the panel

Stefan Mavrodiev (1):
      ARM: dts: sun8i: Add dts file for Olimex A33-OLinuXino

Stefan M?ller-Klieser (1):
      ARM: dts: am335x-wega: Add audio support

Stefan Roese (3):
      ARM: dts: mvebu: Add SPI1 pinctrl defines for Armada XP
      ARM: dts: mvebu: A37x/XP/38x/39x: Move SPI controller nodes into 'soc' node
      ARM: dts: mvebu: armada-370-xp: Add MBus mappings for all SPI devices

Stefan Wahren (4):
      ARM: dts: bcm283x: Add missing USB clock
      ARM: dts: bcm283x: Add dtsi for USB host mode
      DT: bindings: bcm: Add Raspberry Pi Zero
      ARM: dts: bcm2835: Add Raspberry Pi Zero

Stephen Warren (1):
      ARM: tegra: Fix Tegra114 USB compatible values

Tero Kristo (2):
      ARM: dts: am437x-gp-evm: disable DDR regulator in rtc-only/poweroff mode
      ARM: dts: am437x-sk-evm: disable DDR regulator in rtc-only/poweroff mode

Tim Harvey (3):
      ARM: dts: imx: ventana: Add ext watchdog reset
      ARM: dts: imx: add Gateworks Ventana GW553x support
      ARM: dts: imx: ventana: add RS485 txen gpio support

Tony Lindgren (8):
      ARM: dts: Configure panda SDIO WLAN wakeirq
      ARM: dts: ARM: dts: Fix omap5 SDIO dat1 interrupt
      ARM: dts: Configure omap5 OTG ID pin
      ARM: dts: Add power button support for igepv5
      ARM: dts: Fix LEDs for igepv5
      ARM: dts: Add support for more than 2GB of memory for omap5
      Merge branch 'am335x-cpufreq-regression' into omap-for-v4.9/dt-v2
      ARM: dts: Fix igepv5 power button GPIO direction

Uwe Kleine-K?nig (2):
      ARM: dts: imx6qdl: don't configure reserved pad settings
      ARM: dts: imx35: add iim module to imx35.dtsi

Vanessa Maegima (4):
      ARM: dts: imx6ul-pico-hobbit: Add Wifi support
      ARM: dts: imx7s-warp: Enable I2C2 device support
      ARM: dts: imx7s-warp: Add User Button support
      ARM: dts: imx7s-warp: Add Bluetooth support

Vignesh R (3):
      ARM: dts: dra7xx: Increase spi-max-frequency to 76.8MHz for QSPI
      ARM: dts: am57xx-idk-common: Enable support for QSPI
      ARM: dts: am335x-icev2: Add nodes for gpio-decoder

Vladimir Zapolskiy (1):
      ARM: dts: add gpio-ranges property to iMX GPIO controllers

Xing Zheng (1):
      ARM: dts: rockchip: add dts for RK3288-Fennec boards

Yakir Yang (3):
      ARM: dts: rockchip: add eDP/panel display device nodes for rk3288-evb
      ARM: dts: rockchip: add the panel power supply for rk3288-evb board with act8846 pmu
      ARM: dts: rockchip: add the panel power supply for rk3288-evb board with rk808 pmu

Yendapally Reddy Dhananjaya Reddy (1):
      ARM: dts: NSP: Add PWM Support to DT

twp at codeaurora.org (1):
      ipq8064: dts: force AP148 SATA port mapping

 .../devicetree/bindings/arm/bcm/brcm,bcm2835.txt   |   4 +
 Documentation/devicetree/bindings/arm/davinci.txt  |   4 +
 .../devicetree/bindings/arm/marvell/armada-39x.txt |  15 +-
 .../bindings/arm/marvell/marvell,orion5x.txt       |  25 +
 .../devicetree/bindings/arm/omap/omap.txt          |   6 +
 Documentation/devicetree/bindings/arm/rockchip.txt |   8 +
 Documentation/devicetree/bindings/arm/shmobile.txt |   4 +
 .../devicetree/bindings/arm/technologic.txt        |   6 +
 .../devicetree/bindings/clock/qcom,gcc.txt         |  16 +
 .../bindings/display/exynos/exynos_hdmi.txt        |   4 +-
 .../bindings/display/panel/tpo,tpg110.txt          |  47 ++
 .../devicetree/bindings/gpio/mrvl-gpio.txt         |  23 -
 .../devicetree/bindings/net/brcm,amac.txt          |  24 +
 .../devicetree/bindings/net/brcm,bgmac-nsp.txt     |  24 +
 .../bindings/pinctrl/samsung-pinctrl.txt           |  44 +-
 .../devicetree/bindings/vendor-prefixes.txt        |   3 +
 MAINTAINERS                                        |   2 +
 arch/arm/boot/dts/Makefile                         |  58 +-
 arch/arm/boot/dts/am335x-baltos.dtsi               |   8 +-
 arch/arm/boot/dts/am335x-base0033.dts              |   4 +-
 arch/arm/boot/dts/am335x-bone-common.dtsi          |  12 +-
 arch/arm/boot/dts/am335x-boneblack.dts             |  11 -
 arch/arm/boot/dts/am335x-chilisom.dtsi             |   2 +-
 arch/arm/boot/dts/am335x-cm-t335.dts               |   8 +-
 arch/arm/boot/dts/am335x-evm.dts                   |  18 +-
 arch/arm/boot/dts/am335x-evmsk.dts                 |  70 +-
 arch/arm/boot/dts/am335x-icev2.dts                 |  47 +-
 arch/arm/boot/dts/am335x-igep0033.dtsi             |  10 +-
 arch/arm/boot/dts/am335x-lxm.dts                   |   6 +-
 arch/arm/boot/dts/am335x-nano.dts                  |   4 +-
 arch/arm/boot/dts/am335x-pepper.dts                |  18 +-
 arch/arm/boot/dts/am335x-phycore-som.dtsi          |   6 +-
 arch/arm/boot/dts/am335x-shc.dts                   |  16 +-
 arch/arm/boot/dts/am335x-sl50.dts                  |  15 +-
 arch/arm/boot/dts/am335x-wega.dtsi                 |  64 +-
 arch/arm/boot/dts/am33xx.dtsi                      |  92 +--
 arch/arm/boot/dts/am3517-craneboard.dts            |   2 +-
 arch/arm/boot/dts/am3517-evm.dts                   |   2 +-
 arch/arm/boot/dts/am3517.dtsi                      |   2 +-
 arch/arm/boot/dts/am3517_mt_ventoux.dts            |   2 +-
 arch/arm/boot/dts/am4372.dtsi                      |  10 +-
 arch/arm/boot/dts/am437x-cm-t43.dts                |   6 -
 arch/arm/boot/dts/am437x-gp-evm.dts                |  21 +-
 arch/arm/boot/dts/am437x-idk-evm.dts               |   2 +-
 arch/arm/boot/dts/am437x-sk-evm.dts                |  45 +-
 arch/arm/boot/dts/am43x-epos-evm.dts               |  11 +-
 arch/arm/boot/dts/am572x-idk.dts                   |   2 +-
 arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi    | 596 +++++++++++++++
 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts      |  24 +
 arch/arm/boot/dts/am57xx-beagle-x15.dts            | 812 +--------------------
 arch/arm/boot/dts/am57xx-cl-som-am57x.dts          |   4 +-
 arch/arm/boot/dts/am57xx-idk-common.dtsi           |  49 ++
 .../dts/arm-realview-eb-11mp-bbrevd-ctrevb.dts     |  32 +
 arch/arm/boot/dts/arm-realview-eb-11mp-bbrevd.dts  |  28 +
 ...mp-revb.dts => arm-realview-eb-11mp-ctrevb.dts} |   0
 arch/arm/boot/dts/arm-realview-eb-11mp.dts         |   2 +-
 arch/arm/boot/dts/arm-realview-eb-a9mp-bbrevd.dts  |  28 +
 arch/arm/boot/dts/arm-realview-eb-bbrevd.dts       |  29 +
 arch/arm/boot/dts/arm-realview-eb-bbrevd.dtsi      |  45 ++
 arch/arm/boot/dts/arm-realview-eb.dtsi             |  23 +-
 arch/arm/boot/dts/armada-370-db.dts                |  29 +-
 .../dts/armada-370-seagate-personal-cloud.dtsi     |  40 +-
 arch/arm/boot/dts/armada-370-synology-ds213j.dts   | 112 +--
 arch/arm/boot/dts/armada-370-xp.dtsi               |  56 +-
 arch/arm/boot/dts/armada-370.dtsi                  |  34 +-
 arch/arm/boot/dts/armada-385-db-ap.dts             |  58 +-
 arch/arm/boot/dts/armada-385-linksys.dtsi          |   9 +-
 arch/arm/boot/dts/armada-388-clearfog.dts          |  48 +-
 arch/arm/boot/dts/armada-388-db.dts                |  25 +-
 arch/arm/boot/dts/armada-388-gp.dts                |  30 +-
 arch/arm/boot/dts/armada-388-rd.dts                |  25 +-
 arch/arm/boot/dts/armada-38x.dtsi                  |  57 +-
 arch/arm/boot/dts/armada-390-db.dts                | 175 +++++
 arch/arm/boot/dts/armada-390.dtsi                  |   3 +
 arch/arm/boot/dts/armada-395-gp.dts                | 163 +++++
 arch/arm/boot/dts/armada-395.dtsi                  |  76 ++
 arch/arm/boot/dts/armada-398-db.dts                |  56 +-
 arch/arm/boot/dts/armada-398.dtsi                  |  10 +-
 arch/arm/boot/dts/armada-39x.dtsi                  | 126 +++-
 arch/arm/boot/dts/armada-xp-axpwifiap.dts          |  24 +-
 arch/arm/boot/dts/armada-xp-db.dts                 |  24 +-
 arch/arm/boot/dts/armada-xp-gp.dts                 |  24 +-
 arch/arm/boot/dts/armada-xp-linksys-mamba.dts      |  24 +-
 arch/arm/boot/dts/armada-xp-synology-ds414.dts     | 112 +--
 arch/arm/boot/dts/armada-xp.dtsi                   |  31 +-
 arch/arm/boot/dts/armv7-m.dtsi                     |   2 -
 arch/arm/boot/dts/artpec6.dtsi                     |  31 +-
 arch/arm/boot/dts/axp209.dtsi                      |   6 +
 arch/arm/boot/dts/bcm-nsp.dtsi                     |  37 +
 arch/arm/boot/dts/bcm2835-rpi-a-plus.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-a.dts                |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b-plus.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts           |   1 +
 arch/arm/boot/dts/bcm2835-rpi-b.dts                |   1 +
 arch/arm/boot/dts/bcm2835-rpi-zero.dts             |  40 +
 arch/arm/boot/dts/bcm2836-rpi-2-b.dts              |   1 +
 arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi        |   3 +
 arch/arm/boot/dts/bcm283x.dtsi                     |   9 +
 arch/arm/boot/dts/bcm5301x.dtsi                    |  11 +
 arch/arm/boot/dts/bcm958522er.dts                  | 130 ++++
 arch/arm/boot/dts/bcm958525er.dts                  | 142 ++++
 arch/arm/boot/dts/bcm958525xmc.dts                 |  44 +-
 arch/arm/boot/dts/bcm958622hr.dts                  | 170 +++++
 arch/arm/boot/dts/bcm958623hr.dts                  | 178 +++++
 arch/arm/boot/dts/bcm958625hr.dts                  |  71 +-
 arch/arm/boot/dts/bcm958625k.dts                   |  13 +
 arch/arm/boot/dts/bcm988312hr.dts                  | 182 +++++
 arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts         |   2 +-
 arch/arm/boot/dts/berlin2.dtsi                     |   7 +-
 arch/arm/boot/dts/berlin2cd-google-chromecast.dts  |   2 +-
 arch/arm/boot/dts/berlin2cd.dtsi                   |   5 +-
 arch/arm/boot/dts/berlin2q-marvell-dmp.dts         |   2 +-
 arch/arm/boot/dts/berlin2q.dtsi                    |   8 +-
 arch/arm/boot/dts/da850-evm.dts                    |  51 +-
 arch/arm/boot/dts/da850-lcdk.dts                   | 221 ++++++
 arch/arm/boot/dts/da850.dtsi                       |  80 +-
 arch/arm/boot/dts/dm8148-evm.dts                   |   4 +-
 arch/arm/boot/dts/dm8148-t410.dts                  |   4 +-
 arch/arm/boot/dts/dm814x.dtsi                      |   4 +-
 arch/arm/boot/dts/dm8168-evm.dts                   |   4 +-
 arch/arm/boot/dts/dm816x.dtsi                      |   4 +-
 arch/arm/boot/dts/dra62x-j5eco-evm.dts             |   4 +-
 arch/arm/boot/dts/dra7-evm.dts                     |  14 +-
 arch/arm/boot/dts/dra7.dtsi                        |  36 +-
 arch/arm/boot/dts/dra72-evm-common.dtsi            |   4 +-
 arch/arm/boot/dts/dra72-evm-revc.dts               |   2 +-
 arch/arm/boot/dts/dra72-evm.dts                    |   2 +-
 arch/arm/boot/dts/dra74x.dtsi                      |   1 -
 arch/arm/boot/dts/dra7xx-clocks.dtsi               |  15 +-
 arch/arm/boot/dts/efm32gg-dk3750.dts               |   5 +-
 arch/arm/boot/dts/efm32gg.dtsi                     |   4 +
 arch/arm/boot/dts/exynos3250-artik5.dtsi           |   3 +-
 arch/arm/boot/dts/exynos3250-monk.dts              |   3 +-
 arch/arm/boot/dts/exynos3250-pinctrl.dtsi          | 346 +++++----
 arch/arm/boot/dts/exynos3250-rinato.dts            |   3 +-
 arch/arm/boot/dts/exynos3250.dtsi                  |   3 +-
 arch/arm/boot/dts/exynos4.dtsi                     |   3 +-
 arch/arm/boot/dts/exynos4210-origen.dts            |   3 +-
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi          | 458 ++++++------
 arch/arm/boot/dts/exynos4210-smdkv310.dts          |  15 +-
 arch/arm/boot/dts/exynos4210-trats.dts             |   3 +-
 arch/arm/boot/dts/exynos4210-universal_c210.dts    |  13 +-
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi    |  16 +-
 arch/arm/boot/dts/exynos4412-odroidu3.dts          |   3 +-
 arch/arm/boot/dts/exynos4412-odroidx.dts           |   5 +-
 arch/arm/boot/dts/exynos4412-odroidx2.dts          |   3 +-
 arch/arm/boot/dts/exynos4412-origen.dts            |  15 +-
 arch/arm/boot/dts/exynos4412-smdk4412.dts          |  15 +-
 arch/arm/boot/dts/exynos4412-tiny4412.dts          |   3 +-
 arch/arm/boot/dts/exynos4412-trats2.dts            |   3 +-
 arch/arm/boot/dts/exynos4415-pinctrl.dtsi          | 296 ++++----
 arch/arm/boot/dts/exynos4415.dtsi                  |   3 +-
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi          | 525 +++++++------
 arch/arm/boot/dts/exynos4x12.dtsi                  |   5 +-
 arch/arm/boot/dts/exynos5.dtsi                     |   3 +-
 arch/arm/boot/dts/exynos5250-arndale.dts           |   5 +-
 arch/arm/boot/dts/exynos5250-pinctrl.dtsi          | 404 +++++-----
 arch/arm/boot/dts/exynos5250-smdk5250.dts          |  11 +-
 arch/arm/boot/dts/exynos5250-snow-common.dtsi      |  81 +-
 arch/arm/boot/dts/exynos5250-snow-rev5.dts         |   6 +-
 arch/arm/boot/dts/exynos5250-snow.dts              |   6 +-
 arch/arm/boot/dts/exynos5250-spring.dts            |  77 +-
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi          | 280 ++++---
 arch/arm/boot/dts/exynos5260-xyref5260.dts         |   9 +-
 arch/arm/boot/dts/exynos5260.dtsi                  |   4 +-
 arch/arm/boot/dts/exynos5410-odroidxu.dts          |  35 +-
 arch/arm/boot/dts/exynos5410-pinctrl.dtsi          | 182 ++---
 arch/arm/boot/dts/exynos5410-smdk5410.dts          |  13 +-
 arch/arm/boot/dts/exynos5420-arndale-octa.dts      |  22 +-
 arch/arm/boot/dts/exynos5420-peach-pit.dts         | 131 ++--
 arch/arm/boot/dts/exynos5420-pinctrl.dtsi          | 356 ++++-----
 arch/arm/boot/dts/exynos5420-smdk5420.dts          |  23 +-
 arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi |  25 +-
 arch/arm/boot/dts/exynos5440-sd5v1.dts             |   6 +
 arch/arm/boot/dts/exynos5440-ssdk5440.dts          |   6 +
 arch/arm/boot/dts/exynos5440.dtsi                  |   3 +-
 arch/arm/boot/dts/exynos54xx.dtsi                  |   1 -
 arch/arm/boot/dts/exynos5800-peach-pi.dts          | 131 ++--
 arch/arm/boot/dts/imx35.dtsi                       |   7 +
 arch/arm/boot/dts/imx50.dtsi                       |  10 +
 arch/arm/boot/dts/imx53-usbarmory.dts              | 224 ++++++
 arch/arm/boot/dts/imx53.dtsi                       |  18 +
 arch/arm/boot/dts/imx6dl-gw553x.dts                |  55 ++
 arch/arm/boot/dts/imx6dl-riotboard.dts             |  22 +-
 arch/arm/boot/dts/imx6dl-ts4900.dts                |  49 ++
 arch/arm/boot/dts/imx6dl.dtsi                      |  53 ++
 arch/arm/boot/dts/imx6q-arm2.dts                   |  24 +-
 arch/arm/boot/dts/imx6q-b450v3.dts                 |  16 +
 arch/arm/boot/dts/imx6q-b650v3.dts                 |   9 +
 arch/arm/boot/dts/imx6q-ba16.dtsi                  |  24 +-
 arch/arm/boot/dts/imx6q-bx50v3.dtsi                |  70 ++
 arch/arm/boot/dts/imx6q-cm-fx6.dts                 |  24 +-
 arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts            |  24 +-
 arch/arm/boot/dts/imx6q-evi.dts                    |  28 +-
 arch/arm/boot/dts/imx6q-gw5400-a.dts               |  24 +-
 arch/arm/boot/dts/imx6q-gw553x.dts                 |  55 ++
 arch/arm/boot/dts/imx6q-marsboard.dts              |  24 +-
 arch/arm/boot/dts/imx6q-novena.dts                 |  12 +-
 arch/arm/boot/dts/imx6q-sbc6x.dts                  |  24 +-
 arch/arm/boot/dts/imx6q-tbs2910.dts                |  24 +-
 arch/arm/boot/dts/imx6q-ts4900.dts                 |  53 ++
 arch/arm/boot/dts/imx6q.dtsi                       |  37 +
 arch/arm/boot/dts/imx6qdl-apalis.dtsi              |  24 +-
 arch/arm/boot/dts/imx6qdl-dfi-fs700-m60.dtsi       |  24 +-
 arch/arm/boot/dts/imx6qdl-gw51xx.dtsi              |  36 +-
 arch/arm/boot/dts/imx6qdl-gw52xx.dtsi              |  39 +-
 arch/arm/boot/dts/imx6qdl-gw53xx.dtsi              |  39 +-
 arch/arm/boot/dts/imx6qdl-gw54xx.dtsi              |  44 +-
 arch/arm/boot/dts/imx6qdl-gw551x.dtsi              |  12 +
 arch/arm/boot/dts/imx6qdl-gw552x.dtsi              |  12 +
 arch/arm/boot/dts/imx6qdl-gw553x.dtsi              | 433 +++++++++++
 arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi           |  24 +-
 arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi           |  12 +-
 arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi       |  24 +-
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi          |  24 +-
 arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi       |  36 +-
 arch/arm/boot/dts/imx6qdl-rex.dtsi                 |  24 +-
 arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |  24 +-
 arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |  24 +-
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi             |  24 +-
 arch/arm/boot/dts/imx6qdl-ts4900.dtsi              | 481 ++++++++++++
 arch/arm/boot/dts/imx6qdl-udoo.dtsi                |  24 +-
 arch/arm/boot/dts/imx6qdl-wandboard.dtsi           |  24 +-
 arch/arm/boot/dts/imx6sl.dtsi                      |  47 ++
 arch/arm/boot/dts/imx6sx-pinfunc.h                 |  14 +
 arch/arm/boot/dts/imx6sx.dtsi                      |  22 +
 arch/arm/boot/dts/imx6ul-geam-kit.dts              | 101 +++
 arch/arm/boot/dts/imx6ul-geam.dtsi                 | 361 +++++++++
 arch/arm/boot/dts/imx6ul-pico-hobbit.dts           |  33 +
 arch/arm/boot/dts/imx6ul.dtsi                      |   9 +-
 arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi        |   4 -
 arch/arm/boot/dts/imx7-colibri.dtsi                |  61 +-
 arch/arm/boot/dts/imx7d.dtsi                       |  42 +-
 arch/arm/boot/dts/imx7s-warp.dts                   | 446 +++++++++++
 arch/arm/boot/dts/imx7s.dtsi                       | 371 ++++++----
 arch/arm/boot/dts/keystone-k2e-evm.dts             |  12 +-
 arch/arm/boot/dts/keystone-k2e.dtsi                |   4 +-
 arch/arm/boot/dts/keystone-k2g.dtsi                |  32 +
 arch/arm/boot/dts/keystone-k2hk-evm.dts            |   6 +-
 arch/arm/boot/dts/keystone-k2l-evm.dts             |   6 +-
 arch/arm/boot/dts/keystone.dtsi                    |   4 +-
 arch/arm/boot/dts/kirkwood-openblocks_a6.dts       |   9 +-
 arch/arm/boot/dts/logicpd-som-lv.dtsi              |  11 +-
 arch/arm/boot/dts/logicpd-torpedo-som.dtsi         |   6 +
 arch/arm/boot/dts/lpc18xx.dtsi                     |   7 +
 arch/arm/boot/dts/lpc4337-ciaa.dts                 |   2 +-
 arch/arm/boot/dts/lpc4350-hitex-eval.dts           |   4 +-
 arch/arm/boot/dts/lpc4357-ea4357-devkit.dts        |   2 +-
 arch/arm/boot/dts/ls1021a-twr.dts                  |  13 +-
 arch/arm/boot/dts/meson8b.dtsi                     |  21 +
 arch/arm/boot/dts/mps2.dtsi                        |   1 +
 arch/arm/boot/dts/omap2.dtsi                       |   4 +-
 arch/arm/boot/dts/omap2420-h4.dts                  |   2 +-
 arch/arm/boot/dts/omap2420-n8x0-common.dtsi        |   2 +-
 arch/arm/boot/dts/omap2430-sdp.dts                 |   2 +-
 arch/arm/boot/dts/omap3-beagle-xm.dts              |   2 +-
 arch/arm/boot/dts/omap3-beagle.dts                 |   2 +-
 arch/arm/boot/dts/omap3-cm-t3x.dtsi                |   2 +-
 arch/arm/boot/dts/omap3-devkit8000-common.dtsi     |   2 +-
 arch/arm/boot/dts/omap3-evm-37xx.dts               |   2 +-
 arch/arm/boot/dts/omap3-evm.dts                    |   2 +-
 arch/arm/boot/dts/omap3-gta04.dtsi                 |   4 +-
 arch/arm/boot/dts/omap3-igep.dtsi                  |   2 +-
 arch/arm/boot/dts/omap3-ldp.dts                    |   2 +-
 arch/arm/boot/dts/omap3-lilly-a83x.dtsi            |   2 +-
 arch/arm/boot/dts/omap3-n900.dts                   |   2 +-
 arch/arm/boot/dts/omap3-n950-n9.dtsi               |   6 +-
 arch/arm/boot/dts/omap3-overo-alto35-common.dtsi   |   2 +-
 arch/arm/boot/dts/omap3-overo-base.dtsi            |  10 +-
 .../boot/dts/omap3-overo-chestnut43-common.dtsi    |   6 +-
 arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi    |   2 +-
 arch/arm/boot/dts/omap3-overo-gallop43-common.dtsi |   4 +-
 arch/arm/boot/dts/omap3-overo-palo35-common.dtsi   |   4 +-
 arch/arm/boot/dts/omap3-overo-palo43-common.dtsi   |   4 +-
 arch/arm/boot/dts/omap3-overo-tobi-common.dtsi     |   2 -
 arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi  |   3 -
 arch/arm/boot/dts/omap3-pandora-common.dtsi        |  10 +-
 arch/arm/boot/dts/omap3-sniper.dts                 |   2 +-
 arch/arm/boot/dts/omap3-tao3530.dtsi               |   2 +-
 arch/arm/boot/dts/omap3-zoom3.dts                  |   2 +-
 arch/arm/boot/dts/omap3.dtsi                       |   6 +-
 arch/arm/boot/dts/omap3430-sdp.dts                 |   2 +-
 arch/arm/boot/dts/omap34xx.dtsi                    |   2 +-
 arch/arm/boot/dts/omap36xx.dtsi                    |   2 +-
 arch/arm/boot/dts/omap4-duovero-parlor.dts         |   2 +-
 arch/arm/boot/dts/omap4-duovero.dtsi               |   2 +-
 arch/arm/boot/dts/omap4-kc1.dts                    |   2 +-
 arch/arm/boot/dts/omap4-panda-common.dtsi          |   4 +-
 arch/arm/boot/dts/omap4-sdp.dts                    |   2 +-
 arch/arm/boot/dts/omap4-var-som-om44.dtsi          |   2 +-
 arch/arm/boot/dts/omap4.dtsi                       |   4 +-
 arch/arm/boot/dts/omap5-board-common.dtsi          |  29 +-
 arch/arm/boot/dts/omap5-cm-t54.dts                 |   6 +-
 arch/arm/boot/dts/omap5-igep0050.dts               |  42 +-
 arch/arm/boot/dts/omap5-uevm.dts                   |  18 +-
 arch/arm/boot/dts/omap5.dtsi                       |  26 +-
 arch/arm/boot/dts/orion5x-mv88f5181.dtsi           |  49 ++
 arch/arm/boot/dts/orion5x-netgear-wnr854t.dts      | 251 +++++++
 arch/arm/boot/dts/orion5x.dtsi                     |   3 +-
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts     |  39 +
 arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dts |  15 +
 arch/arm/boot/dts/qcom-apq8064.dtsi                | 180 ++++-
 arch/arm/boot/dts/qcom-apq8084.dtsi                | 103 +++
 arch/arm/boot/dts/qcom-ipq8064-ap148.dts           |   1 +
 arch/arm/boot/dts/qcom-msm8660.dtsi                |  75 +-
 .../dts/qcom-msm8974-lge-nexus5-hammerhead.dts     | 262 +++++++
 .../boot/dts/qcom-msm8974-sony-xperia-honami.dts   |  81 +-
 arch/arm/boot/dts/qcom-msm8974.dtsi                | 139 ++++
 arch/arm/boot/dts/qcom-pm8941.dtsi                 |   5 +
 arch/arm/boot/dts/r7s72100-rskrza1.dts             |  61 ++
 arch/arm/boot/dts/r7s72100.dtsi                    |  22 +
 arch/arm/boot/dts/r8a7790.dtsi                     |  23 -
 arch/arm/boot/dts/r8a7791.dtsi                     |  18 -
 arch/arm/boot/dts/r8a7792-blanche.dts              | 264 +++++++
 arch/arm/boot/dts/r8a7792-wheat.dts                | 199 +++++
 arch/arm/boot/dts/r8a7792.dtsi                     | 554 +++++++++++++-
 arch/arm/boot/dts/r8a7794-alt.dts                  | 106 +++
 arch/arm/boot/dts/r8a7794-silk.dts                 |  70 ++
 arch/arm/boot/dts/r8a7794.dtsi                     | 309 +++++++-
 arch/arm/boot/dts/rk3036.dtsi                      |  12 +-
 arch/arm/boot/dts/rk3288-evb-act8846.dts           |   4 +
 arch/arm/boot/dts/rk3288-evb-rk808.dts             |   4 +
 arch/arm/boot/dts/rk3288-evb.dtsi                  |  45 +-
 arch/arm/boot/dts/rk3288-fennec.dts                | 382 ++++++++++
 arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi  | 310 ++++++++
 arch/arm/boot/dts/rk3288-firefly-reload.dts        | 403 ++++++++++
 arch/arm/boot/dts/rk3288-popmetal.dts              |  12 +-
 arch/arm/boot/dts/rk3288.dtsi                      |  73 +-
 arch/arm/boot/dts/rk3xxx.dtsi                      |  12 +-
 arch/arm/boot/dts/s3c2416-pinctrl.dtsi             |  38 +-
 arch/arm/boot/dts/s3c6410-mini6410.dts             |   4 +-
 arch/arm/boot/dts/s3c64xx-pinctrl.dtsi             | 356 +++++----
 arch/arm/boot/dts/s5pv210-aquila.dts               |   6 +-
 arch/arm/boot/dts/s5pv210-goni.dts                 |   2 +-
 arch/arm/boot/dts/s5pv210-pinctrl.dtsi             | 476 ++++++------
 arch/arm/boot/dts/s5pv210-smdkc110.dts             |   2 +-
 arch/arm/boot/dts/s5pv210-smdkv210.dts             |   2 +-
 arch/arm/boot/dts/s5pv210-torbreck.dts             |   2 +-
 arch/arm/boot/dts/s5pv210.dtsi                     |   4 +-
 arch/arm/boot/dts/sama5d2.dtsi                     |  29 +
 arch/arm/boot/dts/skeleton.dtsi                    |   4 +
 arch/arm/boot/dts/ste-nomadik-nhk15.dts            |  68 ++
 arch/arm/boot/dts/ste-nomadik-stn8815.dtsi         |  28 +
 arch/arm/boot/dts/stih407-clock.dtsi               |  22 +-
 arch/arm/boot/dts/stih407-family.dtsi              | 173 ++++-
 arch/arm/boot/dts/stih407-pinctrl.dtsi             | 140 +++-
 arch/arm/boot/dts/stih407.dtsi                     |  16 +-
 arch/arm/boot/dts/stih410-b2260.dts                | 194 +++++
 arch/arm/boot/dts/stih410-clock.dtsi               |  20 +-
 arch/arm/boot/dts/stih410.dtsi                     |  34 +-
 arch/arm/boot/dts/stih415-pinctrl.dtsi             |  54 +-
 arch/arm/boot/dts/stih416-b2020e.dts               |   6 +-
 arch/arm/boot/dts/stih416-pinctrl.dtsi             |  65 +-
 arch/arm/boot/dts/stih416.dtsi                     |   8 +-
 arch/arm/boot/dts/stih418-b2199.dts                |   8 +-
 arch/arm/boot/dts/stih418-clock.dtsi               |  20 +-
 arch/arm/boot/dts/stih41x-b2000.dtsi               |   5 +-
 arch/arm/boot/dts/stih41x-b2020.dtsi               |   6 +-
 arch/arm/boot/dts/stihxxx-b2120.dtsi               |  52 +-
 arch/arm/boot/dts/stm32f429.dtsi                   |   1 +
 arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts         |   4 -
 .../boot/dts/sun5i-a13-empire-electronix-m712.dts  |  51 ++
 arch/arm/boot/dts/sun5i-a13-inet-98v-rev2.dts      | 164 +----
 arch/arm/boot/dts/sun5i-r8-chip.dts                |  10 +
 arch/arm/boot/dts/sun6i-a31s-colorfly-e708-q1.dts  | 138 +---
 arch/arm/boot/dts/sun6i-a31s-inet-q972.dts         | 100 +++
 .../boot/dts/sun6i-reference-design-tablet.dtsi    | 193 +++++
 arch/arm/boot/dts/sun8i-a23-a33.dtsi               |  21 +
 arch/arm/boot/dts/sun8i-a23-gt90h-v4.dts           | 192 +----
 .../boot/dts/sun8i-a23-polaroid-mid2407pxe03.dts   |  42 ++
 .../boot/dts/sun8i-a23-polaroid-mid2809pxe04.dts   |  42 ++
 arch/arm/boot/dts/sun8i-a33-ga10h-v1.1.dts         |  18 +
 arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts     |  88 +++
 arch/arm/boot/dts/sun8i-a33-olinuxino.dts          | 226 ++++++
 arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts          | 125 ++++
 arch/arm/boot/dts/sun8i-h3-orangepi-2.dts          |  10 +
 arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts       | 178 +++++
 arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts    |  88 +++
 arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts       |   2 +-
 arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts     |  53 ++
 arch/arm/boot/dts/sun8i-h3.dtsi                    |   8 +
 arch/arm/boot/dts/sun8i-q8-common.dtsi             |  49 ++
 .../boot/dts/sun8i-reference-design-tablet.dtsi    |  26 +
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts        |  29 +
 arch/arm/boot/dts/sun9i-a80-optimus.dts            |  29 +
 arch/arm/boot/dts/sun9i-a80.dtsi                   |  14 +-
 arch/arm/boot/dts/tegra114-dalmore.dts             |   2 +-
 arch/arm/boot/dts/tegra114-roth.dts                |   2 +-
 arch/arm/boot/dts/tegra114-tn7.dts                 |   2 +-
 arch/arm/boot/dts/tegra114.dtsi                    |   8 +-
 arch/arm/boot/dts/uniphier-common32.dtsi           |  63 +-
 ...iphier-ph1-ld4-ref.dts => uniphier-ld4-ref.dts} |  11 +-
 .../{uniphier-ph1-ld4.dtsi => uniphier-ld4.dtsi}   |  59 +-
 ...hier-ph1-ld6b-ref.dts => uniphier-ld6b-ref.dts} |  11 +-
 .../{uniphier-ph1-ld6b.dtsi => uniphier-ld6b.dtsi} |  17 +-
 ...hier-ph1-pro4-ace.dts => uniphier-pro4-ace.dts} |  11 +-
 ...hier-ph1-pro4-ref.dts => uniphier-pro4-ref.dts} |  11 +-
 ...-ph1-pro4-sanji.dts => uniphier-pro4-sanji.dts} |  11 +-
 .../{uniphier-ph1-pro4.dtsi => uniphier-pro4.dtsi} |  63 +-
 .../{uniphier-ph1-pro5.dtsi => uniphier-pro5.dtsi} |  58 +-
 ...stream2-gentil.dts => uniphier-pxs2-gentil.dts} |  12 +-
 ...oxstream2-vodka.dts => uniphier-pxs2-vodka.dts} |  11 +-
 ...niphier-proxstream2.dtsi => uniphier-pxs2.dtsi} |  62 +-
 ...hier-ph1-sld3-ref.dts => uniphier-sld3-ref.dts} |  11 +-
 .../{uniphier-ph1-sld3.dtsi => uniphier-sld3.dtsi} |  75 +-
 ...hier-ph1-sld8-ref.dts => uniphier-sld8-ref.dts} |  11 +-
 .../{uniphier-ph1-sld8.dtsi => uniphier-sld8.dtsi} |  59 +-
 arch/arm/boot/dts/vf-colibri-eval-v3.dtsi          |  13 +-
 arch/arm/boot/dts/vf610m4.dtsi                     |   1 +
 arch/arm/mach-davinci/da8xx-dt.c                   |   1 +
 arch/arm/mach-nomadik/Kconfig                      |   1 +
 include/dt-bindings/clock/r7s72100-clock.h         |   3 +
 include/dt-bindings/clock/r8a7794-clock.h          |  25 +
 include/dt-bindings/pinctrl/samsung.h              |  57 ++
 include/dt-bindings/soc/rockchip,boot-mode.h       |  15 +
 415 files changed, 16267 insertions(+), 5464 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/marvell/marvell,orion5x.txt
 create mode 100644 Documentation/devicetree/bindings/display/panel/tpo,tpg110.txt
 create mode 100644 Documentation/devicetree/bindings/net/brcm,amac.txt
 create mode 100644 Documentation/devicetree/bindings/net/brcm,bgmac-nsp.txt
 create mode 100644 arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
 create mode 100644 arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts
 create mode 100644 arch/arm/boot/dts/arm-realview-eb-11mp-bbrevd-ctrevb.dts
 create mode 100644 arch/arm/boot/dts/arm-realview-eb-11mp-bbrevd.dts
 rename arch/arm/boot/dts/{arm-realview-eb-11mp-revb.dts => arm-realview-eb-11mp-ctrevb.dts} (100%)
 create mode 100644 arch/arm/boot/dts/arm-realview-eb-a9mp-bbrevd.dts
 create mode 100644 arch/arm/boot/dts/arm-realview-eb-bbrevd.dts
 create mode 100644 arch/arm/boot/dts/arm-realview-eb-bbrevd.dtsi
 create mode 100644 arch/arm/boot/dts/armada-390-db.dts
 create mode 100644 arch/arm/boot/dts/armada-395-gp.dts
 create mode 100644 arch/arm/boot/dts/armada-395.dtsi
 create mode 100644 arch/arm/boot/dts/bcm2835-rpi-zero.dts
 create mode 100644 arch/arm/boot/dts/bcm283x-rpi-usb-host.dtsi
 create mode 100644 arch/arm/boot/dts/bcm958522er.dts
 create mode 100644 arch/arm/boot/dts/bcm958525er.dts
 create mode 100644 arch/arm/boot/dts/bcm958622hr.dts
 create mode 100644 arch/arm/boot/dts/bcm958623hr.dts
 create mode 100644 arch/arm/boot/dts/bcm988312hr.dts
 create mode 100644 arch/arm/boot/dts/da850-lcdk.dts
 create mode 100644 arch/arm/boot/dts/imx53-usbarmory.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-gw553x.dts
 create mode 100644 arch/arm/boot/dts/imx6dl-ts4900.dts
 create mode 100644 arch/arm/boot/dts/imx6q-gw553x.dts
 create mode 100644 arch/arm/boot/dts/imx6q-ts4900.dts
 create mode 100644 arch/arm/boot/dts/imx6qdl-gw553x.dtsi
 create mode 100644 arch/arm/boot/dts/imx6qdl-ts4900.dtsi
 create mode 100644 arch/arm/boot/dts/imx6ul-geam-kit.dts
 create mode 100644 arch/arm/boot/dts/imx6ul-geam.dtsi
 create mode 100644 arch/arm/boot/dts/imx7s-warp.dts
 create mode 100644 arch/arm/boot/dts/orion5x-mv88f5181.dtsi
 create mode 100644 arch/arm/boot/dts/orion5x-netgear-wnr854t.dts
 create mode 100644 arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
 create mode 100644 arch/arm/boot/dts/r7s72100-rskrza1.dts
 create mode 100644 arch/arm/boot/dts/r8a7792-wheat.dts
 create mode 100644 arch/arm/boot/dts/rk3288-fennec.dts
 create mode 100644 arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi
 create mode 100644 arch/arm/boot/dts/rk3288-firefly-reload.dts
 create mode 100644 arch/arm/boot/dts/stih410-b2260.dts
 create mode 100644 arch/arm/boot/dts/sun5i-a13-empire-electronix-m712.dts
 create mode 100644 arch/arm/boot/dts/sun6i-a31s-inet-q972.dts
 create mode 100644 arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
 create mode 100644 arch/arm/boot/dts/sun8i-a33-inet-d978-rev2.dts
 create mode 100644 arch/arm/boot/dts/sun8i-a33-olinuxino.dts
 create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
 create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
 create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
 create mode 100644 arch/arm/boot/dts/sun8i-h3-orangepi-plus2e.dts
 rename arch/arm/boot/dts/{uniphier-ph1-ld4-ref.dts => uniphier-ld4-ref.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-ld4.dtsi => uniphier-ld4.dtsi} (80%)
 rename arch/arm/boot/dts/{uniphier-ph1-ld6b-ref.dts => uniphier-ld6b-ref.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-ld6b.dtsi => uniphier-ld6b.dtsi} (82%)
 rename arch/arm/boot/dts/{uniphier-ph1-pro4-ace.dts => uniphier-pro4-ace.dts} (90%)
 rename arch/arm/boot/dts/{uniphier-ph1-pro4-ref.dts => uniphier-pro4-ref.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-pro4-sanji.dts => uniphier-pro4-sanji.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-pro4.dtsi => uniphier-pro4.dtsi} (82%)
 rename arch/arm/boot/dts/{uniphier-ph1-pro5.dtsi => uniphier-pro5.dtsi} (85%)
 rename arch/arm/boot/dts/{uniphier-proxstream2-gentil.dts => uniphier-pxs2-gentil.dts} (88%)
 rename arch/arm/boot/dts/{uniphier-proxstream2-vodka.dts => uniphier-pxs2-vodka.dts} (88%)
 rename arch/arm/boot/dts/{uniphier-proxstream2.dtsi => uniphier-pxs2.dtsi} (84%)
 rename arch/arm/boot/dts/{uniphier-ph1-sld3-ref.dts => uniphier-sld3-ref.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-sld3.dtsi => uniphier-sld3.dtsi} (83%)
 rename arch/arm/boot/dts/{uniphier-ph1-sld8-ref.dts => uniphier-sld8-ref.dts} (89%)
 rename arch/arm/boot/dts/{uniphier-ph1-sld8.dtsi => uniphier-sld8.dtsi} (80%)
 create mode 100644 include/dt-bindings/pinctrl/samsung.h
 create mode 100644 include/dt-bindings/soc/rockchip,boot-mode.h

^ permalink raw reply

* [GIT PULL 5/8] ARM: SoC driver updates for v4.9
From: Arnd Bergmann @ 2016-10-08  0:32 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-drivers

for you to fetch changes up to d6db68b2deaa0158d25b236edffcf6dd2117208f:

  bus: qcom-ebi2: depend on HAS_IOMEM (2016-10-02 22:23:57 -0700)

----------------------------------------------------------------
ARM: SoC driver updates for v4.9

Driver updates for ARM SoCs, including a couple of newly added drivers:

- The Qualcomm external bus interface 2 (EBI2), used in some of their
  mobile phone chips for connecting flash memory, LCD displays or
  other peripherals

- Secure monitor firmware for Amlogic SoCs, and an NVMEM driver for the
  EFUSE based on that firmware interface.

- Perf support for the AppliedMicro X-Gene performance monitor unit

- Reset driver for STMicroelectronics STM32

- Reset driver for SocioNext UniPhier SoCs

Aside from these, there are minor updates to SoC-specific bus,
clocksource, firmware, pinctrl, reset, rtc and pmic drivers.

----------------------------------------------------------------
Arnd Bergmann (14):
      Merge tag 'gpmc-omap-for-v4.9' of https://github.com/rogerq/linux into next/drivers
      Merge tag 'reset-for-4.9' of git://git.pengutronix.de/git/pza/linux into next/drivers
      Merge commit 'http://github.com/rogerq/linux gpmc-omap-v4.8-rc1' into next/drivers
      Merge tag 'amlogic-drivers' of git://git.kernel.org/.../khilman/linux-amlogic into next/drivers
      Merge tag 'v4.9-rockchip-drivers1' of git://git.kernel.org/.../mmind/linux-rockchip into next/drivers
      Merge tag 'at91-ab-4.9-drivers' of git://git.kernel.org/.../abelloni/linux into next/drivers
      Merge tag 'qcom-drivers-for-4.9' of git://git.kernel.org/.../agross/linux into next/drivers
      Merge tag 'tegra-for-4.9-bus' of git://git.kernel.org/.../tegra/linux into next/drivers
      Merge tag 'tegra-for-4.9-soc' of git://git.kernel.org/.../tegra/linux into next/drivers
      Merge tag 'v4.8-next-soc' of https://github.com/mbgg/linux-mediatek into next/drivers
      Merge tag 'samsung-drivers-4.9-2' of git://git.kernel.org/.../krzk/linux into next/drivers
      Merge tag 'xgene-drivers-for-4.9' of https://github.com/AppliedMicro/xgene-next into next/drivers
      Merge tag 'mvebu-drivers-4.9-1' of git://git.infradead.org/linux-mvebu into next/drivers
      Merge tag 'qcom-ebi2-arm-soc' of git://git.kernel.org/.../linusw/linux-integrator into next/drivers

Baoyou Xie (1):
      memory: omap-gpmc: make gpmc_clk_ticks_to_ns() static

Bjorn Andersson (5):
      soc: qcom: smd: Correct compile stub prototypes
      soc: qcom: smd: Simplify multi channel handling
      soc: qcom: smd: Request irqs after parsing properties
      soc: qcom: smd: Represent smd edges as devices
      soc: qcom: smd: Reset rx tail rather than tx

Carlo Caione (2):
      firmware: Amlogic: Add secure monitor driver
      nvmem: amlogic: Add Amlogic Meson EFUSE driver

Chanwoo Choi (2):
      clocksource: exynos_mct: Add the support for ARM64
      dt-bindings: EXYNOS: Add Exynos5433 PMU compatible

Elaine Zhang (1):
      soc: rockchip: support active_wakeup for rockchip power-domains

Gabriel Fernandez (1):
      ARM: dts: stm32f429: add missing #reset-cells of rcc

Henry Chen (1):
      soc: mediatek: PMIC wrap: Extend the waiting time to 10ms.

Jamie Lentin (2):
      clk: mvebu: Add clk support for the orion5x SoC mv88f5181
      pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181

Jon Hunter (1):
      bus: tegra-aconnect: Use of_pm_clk_add_clk()

LABBE Corentin (1):
      memory: atmel-sdramc: fix a possible NULL dereference

Linus Walleij (4):
      memory: omap-gpmc: use devm_gpiochip_add_data()
      bus: qcom: add EBI2 device tree bindings
      bus: qcom: add EBI2 driver
      bus: qcom-ebi2: depend on HAS_IOMEM

Markus Elfring (1):
      memory: omap-gpmc: Delete an unnecessary check before the function call "gpiochip_free_own_desc"

Masahiro Yamada (1):
      reset: uniphier: add reset controller driver for UniPhier SoCs

Maxime Coquelin (3):
      dt-bindings: mfd: Add STM32F4 RCC numeric constants into DT include file
      dt-bindings: Document the STM32 reset bindings
      drivers: reset: Add STM32 reset driver

Neil Armstrong (2):
      media: rc: meson-ir: Add support for newer versions of the IR decoder
      rtc: rtc-pm8xxx: Add support for pm8018 rtc

Paul Gortmaker (1):
      firmware: qcom_scm: make it explicitly non-modular

Philipp Zabel (13):
      reset: socfpga: no need to store modrst_offset
      reset: warn on invalid input to reset_control_reset/assert/deassert/status
      reset: ath79: add missing include
      reset: ath79: add driver Kconfig option
      reset: berlin: add driver Kconfig option
      reset: lpc18xx: add driver Kconfig option
      reset: meson: add driver Kconfig option
      reset: pistachio: add driver Kconfig option
      reset: socfpga: add driver Kconfig option
      reset: stm32: add driver Kconfig option
      reset: sunxi: add driver Kconfig option
      reset: zynq: add driver Kconfig option
      reset: hi6220: allow to compile test driver on other architectures

Roger Quadros (1):
      memory: omap-gpmc: Fix build with CONFIG_OMAP_GPMC disabled

Stephen Boyd (1):
      soc: qcom: smem: Silence probe defer error

Tai Nguyen (3):
      MAINTAINERS: Add entry for APM X-Gene SoC PMU driver
      Documentation: Add documentation for APM X-Gene SoC PMU DTS binding
      perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver

Thierry Reding (1):
      bus: tegra-aconnect: Make symbol tristate

Vince Hsu (1):
      soc/tegra: pmc: Fix incorrect DPD request

Wei Yongjun (1):
      memory: atmel-ebi: use PTR_ERR_OR_ZERO() to simplify the code

 .../devicetree/bindings/arm/samsung/pmu.txt        |    1 +
 .../devicetree/bindings/bus/qcom,ebi2.txt          |  138 ++
 .../devicetree/bindings/clock/mvebu-core-clock.txt |    1 +
 .../devicetree/bindings/clock/st,stm32-rcc.txt     |   42 +-
 .../devicetree/bindings/mfd/qcom-pm8xxx.txt        |    1 +
 .../devicetree/bindings/perf/apm-xgene-pmu.txt     |  112 ++
 .../bindings/pinctrl/marvell,orion-pinctrl.txt     |    4 +-
 .../devicetree/bindings/reset/st,stm32-rcc.txt     |    6 +
 .../devicetree/bindings/reset/uniphier-reset.txt   |   93 ++
 Documentation/perf/xgene-pmu.txt                   |   48 +
 MAINTAINERS                                        |    8 +
 arch/arm/boot/dts/stm32f429.dtsi                   |    1 +
 drivers/bus/Kconfig                                |   14 +-
 drivers/bus/Makefile                               |    1 +
 drivers/bus/qcom-ebi2.c                            |  408 ++++++
 drivers/bus/tegra-aconnect.c                       |   22 +-
 drivers/clk/mvebu/orion.c                          |   70 +
 drivers/clocksource/Kconfig                        |    2 +-
 drivers/clocksource/exynos_mct.c                   |    4 +
 drivers/firmware/Kconfig                           |    1 +
 drivers/firmware/Makefile                          |    1 +
 drivers/firmware/meson/Kconfig                     |    9 +
 drivers/firmware/meson/Makefile                    |    1 +
 drivers/firmware/meson/meson_sm.c                  |  248 ++++
 drivers/firmware/qcom_scm.c                        |   19 +-
 drivers/media/rc/meson-ir.c                        |   29 +-
 drivers/memory/atmel-ebi.c                         |   10 +-
 drivers/memory/atmel-sdramc.c                      |    4 +-
 drivers/memory/omap-gpmc.c                         |   41 +-
 drivers/nvmem/Kconfig                              |   10 +
 drivers/nvmem/Makefile                             |    2 +
 drivers/nvmem/meson-efuse.c                        |   93 ++
 drivers/perf/Kconfig                               |    7 +
 drivers/perf/Makefile                              |    1 +
 drivers/perf/xgene_pmu.c                           | 1398 ++++++++++++++++++++
 drivers/pinctrl/mvebu/pinctrl-orion.c              |   23 +-
 drivers/reset/Kconfig                              |   65 +
 drivers/reset/Makefile                             |   20 +-
 drivers/reset/core.c                               |   12 +-
 drivers/reset/hisilicon/Kconfig                    |    3 +-
 drivers/reset/reset-ath79.c                        |    1 +
 drivers/reset/reset-socfpga.c                      |   19 +-
 drivers/reset/reset-stm32.c                        |  108 ++
 drivers/reset/reset-uniphier.c                     |  440 ++++++
 drivers/rtc/rtc-pm8xxx.c                           |    1 +
 drivers/soc/mediatek/mtk-pmic-wrap.c               |    2 +-
 drivers/soc/qcom/smd.c                             |  265 ++--
 drivers/soc/qcom/smem.c                            |    3 +-
 drivers/soc/rockchip/pm_domains.c                  |  100 +-
 drivers/soc/tegra/pmc.c                            |   28 +-
 include/dt-bindings/mfd/stm32f4-rcc.h              |   98 ++
 include/linux/firmware/meson/meson_sm.h            |   31 +
 include/linux/omap-gpmc.h                          |    4 +-
 include/linux/soc/qcom/smd.h                       |   29 +-
 54 files changed, 3798 insertions(+), 304 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/bus/qcom,ebi2.txt
 create mode 100644 Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt
 create mode 100644 Documentation/devicetree/bindings/reset/st,stm32-rcc.txt
 create mode 100644 Documentation/devicetree/bindings/reset/uniphier-reset.txt
 create mode 100644 Documentation/perf/xgene-pmu.txt
 create mode 100644 drivers/bus/qcom-ebi2.c
 create mode 100644 drivers/firmware/meson/Kconfig
 create mode 100644 drivers/firmware/meson/Makefile
 create mode 100644 drivers/firmware/meson/meson_sm.c
 create mode 100644 drivers/nvmem/meson-efuse.c
 create mode 100644 drivers/perf/xgene_pmu.c
 create mode 100644 drivers/reset/reset-stm32.c
 create mode 100644 drivers/reset/reset-uniphier.c
 create mode 100644 include/dt-bindings/mfd/stm32f4-rcc.h
 create mode 100644 include/linux/firmware/meson/meson_sm.h

^ permalink raw reply

* [GIT PULL 4/8] ARM: SoC 64-bit changes for v4.9
From: Arnd Bergmann @ 2016-10-08  0:31 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-arm64

for you to fetch changes up to a119a2c4c093716193574675590ea4a7835fa277:

  Merge tag 'zte-defconfig64-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/arm64 (2016-09-19 22:35:21 +0200)

----------------------------------------------------------------
ARM: SoC 64-bit changes for v4.9

Changes to platform code for 64-bit ARM platforms.

Nearly all of these are defconfig updates to enable new drivers or old
drivers still used on these 64-bit platforms.

Aside from that, we gain initial support for two set-top-box platforms,
both of which already have 32-bit support in arch/arm:

- Broadcom adds abstract support for the bcm7xxx/brcmstb platform,
  presumably the respective dts files and more information will
  follow at a later point.

- The ZTE ZX296718 SoC for set-top-boxes, a relative of the 32-bit
  ZX296702 SoC that we already support.

----------------------------------------------------------------
Andre Przywara (1):
      arm64: sunxi: Kconfig: add essential pinctrl driver

Arnd Bergmann (8):
      Merge tag 'hisi-defconfig-for-4.9' of git://github.com/hisilicon/linux-hisi into next/arm64
      Merge tag 'qcom-arm64-defconfig-for-4.9' of git://git.kernel.org/.../agross/linux into next/arm64
      Merge tag 'mvebu-defconfig64-4.9-1' of git://git.infradead.org/linux-mvebu into next/arm64
      Merge tag 'renesas-arm64-defconfig-for-v4.9' of git://git.kernel.org/.../horms/renesas into next/arm64
      Merge tag 'arm-soc/for-4.9/soc-arm64' of http://github.com/Broadcom/stblinux into next/arm64
      Merge tag 'sunxi-config64-for-4.9' of https://git.kernel.org/.../mripard/linux into next/arm64
      Merge tag 'zte-soc64-4.9' of git://git.kernel.org/.../shawnguo/linux into next/arm64
      Merge tag 'zte-defconfig64-4.9' of git://git.kernel.org/.../shawnguo/linux into next/arm64

Christopher Covington (1):
      arm64: defconfig: Enable QDF2432 config options

Florian Fainelli (1):
      arm64: Add Broadcom Set Top Box Kconfig entry point

Gregory CLEMENT (1):
      arm64: configs: enable PCIe driver for Aardvark

Guodong Xu (3):
      arm64: defconfig: Enable HiSilicon kirin drm, adv7533 for HiKey
      arm64: defconfig: enable CONFIG_INPUT_HISI_POWERKEY for HiKey
      arm64: defconfig: enable bluetooth supports as modules

John Stultz (1):
      Kconfig: ARCH_HISI: Add PINCTRL to HISI platform

Jun Nie (2):
      arm64: defconfig: enable ZTE ZX related config
      arm64: add ZTE ZX SoC family

Kefeng Wang (1):
      arm64: defconfig: Enable Hisi SAS and HNS

Kevin Hilman (4):
      arm64: defconfig: enable HW random as module
      arm64: defconfig: enable meson WDT as modules
      arm64: defconfig: enable meson SPI as module
      arm64: defconfig: enable meson I2C

Leo Yan (1):
      arm64: defconfig: enable common modules for power management

Simon Horman (1):
      arm64: defconfig: Enable SDHI and GPIO_REGULATOR

Thomas Petazzoni (1):
      arm64: defconfig: enable xhci-platform

Yoshihiro Shimoda (1):
      arm64: defconfig: Add Renesas R-Car HSUSB driver support as module

 arch/arm64/Kconfig.platforms | 15 +++++++++++++++
 arch/arm64/configs/defconfig | 35 +++++++++++++++++++++++++++++++++--
 2 files changed, 48 insertions(+), 2 deletions(-)

^ permalink raw reply

* [GIT PULL 3/8] ARM: SoC defconfig changes for v4.9
From: Arnd Bergmann @ 2016-10-08  0:31 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-defconfig

for you to fetch changes up to 3f0958d8aea708019d52962a7a8fe827d9f9006c:

  ARM: multi_v7_defconfig: enable CONFIG_EFI (2016-09-19 17:16:34 +0200)

----------------------------------------------------------------
ARM: SoC defconfig updates for v4.9

Defconfig additions, removals, etc. Most of these are small changes adding
the options for newly upstreamed drivers, or drivers needed for new board
support. Nothing specifically sticks out this time.

----------------------------------------------------------------
Ard Biesheuvel (1):
      ARM: multi_v7_defconfig: enable CONFIG_EFI

Arnd Bergmann (6):
      Merge tag 'davinci-for-v4.9/defconfig' of git://git.kernel.org/.../nsekhar/linux-davinci into next/defconfig
      Merge tag 'samsung-defconfig-4.9' of git://git.kernel.org/.../krzk/linux into next/defconfig
      Merge tag 'omap-for-v4.9/defconfig-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/defconfig
      Merge tag 'keystone_config_for_4.9' of git://git.kernel.org/.../ssantosh/linux-keystone into next/defconfig
      Merge tag 'mvebu-defconfig-4.9-1' of git://git.infradead.org/linux-mvebu into next/defconfig
      Merge tag 'imx-defconfig-4.9' of git://git.kernel.org/.../shawnguo/linux into next/defconfig

Borislav Petkov (1):
      ARM: s3c2410_defconfig: Remove CONFIG_IPV6_PRIVACY

Breno Lima (1):
      ARM: imx_v6_v7_defconfig: Add CONFIG_MPL3115

Chanwoo Choi (1):
      ARM: exynos_defconfig: Enable bus frequency scaling with devfreq

Fabian Frederick (1):
      ARM: mvebu_v5_defconfig: use MV88E6XXX

Fabio Estevam (2):
      ARM: imx_v6_v7_defconfig: Enable GPU support
      ARM: imx_v6_v7_defconfig: Select the wm8960 codec driver

Grzegorz Jaszczyk (2):
      ARM: mvebu: enable MTD command line partition table in mvebu_v7_defconfig
      ARM: mvebu: enable UBI and UBIFS in mvebu_v7_defconfig

Javier Martinez Canillas (1):
      ARM: multi_v7_defconfig: Build Atmel maXTouch driver as a module

Karl Beldan (4):
      ARM: davinci_all_defconfig: enable RTC driver as module
      ARM: davinci_all_defconfig: enable SMSC ethernet PHY
      ARM: davinci_all_defconfig: Enable AEMIF as a module
      ARM: davinci_all_defconfig: Enable some UBI modules

Kevin Hilman (2):
      ARM: davinci_all_defconfig: cleanup with savedefconfig
      ARM: davinci_all_defconfig: enable DA850 audio as modules

Krzysztof Kozlowski (4):
      ARM: exynos_defconfig: Enable PM_DEBUG
      ARM: exynos_defconfig: Enable SECCOMP
      ARM: multi_v7_defconfig: Enable SECCOMP
      Merge tag 'tags/samsung-defconfig-schedutil-4.9' into next/defconfig

Linus Walleij (2):
      ARM: omap2plus_defconfig: switch to the IIO BMP085 driver
      ARM: defconfig: update the Integrator defconfig

Peter Chen (1):
      ARM: imx_v6_v7_defconfig: enable more USB configurations

Roger Quadros (1):
      ARM: keystone: defconfig: Fix USB configuration

Tuomas Tynkkynen (2):
      ARM: multi_v7_defconfig: Enable AHCI_IMX
      ARM: multi_v7_defconfig: Enable ARM_IMX6Q_CPUFREQ

 arch/arm/configs/davinci_all_defconfig | 66 +++++++++++++---------------------
 arch/arm/configs/exynos_defconfig      | 11 +++++-
 arch/arm/configs/imx_v6_v7_defconfig   | 17 +++++----
 arch/arm/configs/integrator_defconfig  | 13 ++-----
 arch/arm/configs/keystone_defconfig    |  1 +
 arch/arm/configs/multi_v7_defconfig    | 13 +++++--
 arch/arm/configs/mvebu_v5_defconfig    |  5 +--
 arch/arm/configs/mvebu_v7_defconfig    |  3 ++
 arch/arm/configs/omap2plus_defconfig   |  2 +-
 arch/arm/configs/s3c2410_defconfig     |  1 -
 10 files changed, 66 insertions(+), 66 deletions(-)

^ permalink raw reply

* [GIT PULL 2/8] ARM: SoC platform updates for v4.9
From: Arnd Bergmann @ 2016-10-08  0:30 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-soc

for you to fetch changes up to e40454d3f444ba7f8cc78dd985a1414a5945757c:

  Merge tag 'mvebu-soc-4.9-1' of git://git.infradead.org/linux-mvebu into next/soc (2016-09-21 22:35:56 +0200)

----------------------------------------------------------------
ARM: SoC platform updates for v4.9

These are updates for platform specific code on 32-bit ARM machines,
essentially anything that can not (yet) be expressed using DT files.

Noteworthy changes include:

- We get support for running in big-endian mode on two platforms:
  sunxi (Allwinner) and s3c24xx (old Samsung).

- The recently added Uniphier platform now uses standard PSCI
  methods for SMP booting and we remove support for old bootloader
  versions that did not support it yet.

- In sunxi, we gain support for the "Nextthing GR8" SoC, which
  is a close relative of the Allwinner A13 and R8 chips.

- PXA completes its move over to the generic dmaengine framework
  and removes its old private API

- mach-bcm gains support for BCM47189/BCM53573, their first ARM
  SoC with integrated 802.11ac wireless networking.

----------------------------------------------------------------
Andy Gross (1):
      ARM: qcom: Cleanup/Remove unnecessary board file

Anson Huang (3):
      ARM: imx: rename imx6q_set_int_mem_clk_lpm() function
      ARM: imx: enable WAIT mode hardware workaround for imx6sx
      ARM: imx: add cpuidle support for i.mx6ul

Arnd Bergmann (16):
      Merge tag 'davinci-for-v4.9/soc' of git://git.kernel.org/.../nsekhar/linux-davinci into next/soc
      Merge tag 'samsung-soc-4.9' of git://git.kernel.org/.../krzk/linux into next/soc
      ARM: imx: build cpuidle-imx6sx.o for imx6ul
      ARM: mv78xx0: simplify ethernet device creation
      ARM: mvebu/orion: remove NO_IRQ check from device init
      ARM: orion: simplify orion_ge00_switch_init
      ARM: orion5x: remove extraneous NO_IRQ
      Merge tag 'qcom-soc-for-4.9' of git://git.kernel.org/.../agross/linux into next/soc
      Merge tag 'arm-soc/for-4.9/soc' of http://github.com/Broadcom/stblinux into next/soc
      Merge tag 'renesas-soc-for-v4.9' of git://git.kernel.org/.../horms/renesas into next/soc
      Merge tag 'pxa-for-4.9' of https://github.com/rjarzmik/linux into next/soc
      Merge tag 'sunxi-core-for-4.9' of https://git.kernel.org/.../mripard/linux into next/soc
      Merge tag 'imx-soc-4.9' of git://git.kernel.org/.../shawnguo/linux into next/soc
      Merge tag 'uniphier-soc-v4.9' of git://git.kernel.org/.../masahiroy/linux-uniphier into next/soc
      Merge tag 'imx-legacy-4.9' of git://git.kernel.org/.../shawnguo/linux into next/soc
      Merge tag 'mvebu-soc-4.9-1' of git://git.infradead.org/linux-mvebu into next/soc

Bartlomiej Zolnierkiewicz (4):
      arm: colibri_pxa270_defconfig: disable IDE subsystem
      arm: lpda270_defconfig: disable IDE subsystem
      arm: pxa255-idp_defconfig: disable IDE subsystem
      arm: trizeps4_defconfig: disable IDE subsystem

Ben Dooks (1):
      ARM: EXYNOS: Enable ARCH_SUPPORTS_BIG_ENDIAN explicitly

Florian Fainelli (1):
      ARM: brcmstb: Add earlyprintk support using run-time checks

Geert Uytterhoeven (1):
      ARM: debug-ll: Add support for r8a7992

Karl Beldan (1):
      ARM: davinci: da850: Add ti-aemif lookup for clock matching

Markus Elfring (2):
      ARM: s3c64xx: Delete unnecessary assignment for the field "owner"
      ARM: pxa: Use kmalloc_array() in pxa_pm_init()

Masahiro Yamada (1):
      ARM: uniphier: remove SoC-specific SMP code

Maxime Ripard (1):
      ARM: sunxi: Support the Nextthing GR8

Michael Weiser (1):
      ARM: sunxi: enable big-endian

Neil Armstrong (1):
      MAINTAINERS: update list of Oxnas maintainers

Pankaj Dubey (1):
      ARM: EXYNOS: Remove unused DMC and CMU offsets and their mappings

Petr Cvek (1):
      ARM: pxa: magician: Remove duplicated I2C pins declaration

Rafa? Mi?ecki (1):
      ARM: BCM53573: Initial support for Broadcom BCM53573 SoCs

Robert Jarzmik (7):
      ARM: pxa: remove devicetree boards from pxa_defconfig
      ARM: pxa: remove platform dma code
      ARM: pxa: prepare pxa25x interrupts for device-tree platforms
      ARM: pxa: add pxa25x device-tree support
      ARM: pxa: fix GPIO double shifts
      ARM: pxa: remove irq init from dt machines
      ARM: pxa: pxa_cplds: fix interrupt handling

Sylwester Nawrocki (2):
      ARM: S3C24XX: Add dma_mask assignments for DMA devices
      ARM: S3C24XX: Add missing DMA device for Mini2440 board

Vladimir Zapolskiy (17):
      ARM: imx legacy: kzm: move peripheral initialization to .init_late
      ARM: imx legacy: mx31lite: move peripheral initialization to .init_late
      ARM: imx legacy: mx31ads: move peripheral initialization to .init_late
      ARM: imx legacy: mx31lilly: move peripheral initialization to .init_late
      ARM: imx legacy: pcm037: move peripheral initialization to .init_late
      ARM: imx legacy: mx31-3ds: move peripheral initialization to .init_late
      ARM: imx legacy: qong: move peripheral initialization to .init_late
      ARM: imx legacy: armadillo5x0: move peripheral initialization to .init_late
      ARM: imx legacy: mx31moboard: move peripheral initialization to .init_late
      ARM: imx legacy: vpr200: move peripheral initialization to .init_late
      ARM: imx legacy: imx27-visstrim-m10: move peripheral initialization to .init_late
      ARM: imx legacy: mx27-3ds: move peripheral initialization to .init_late
      ARM: imx legacy: mx35-3ds: move peripheral initialization to .init_late
      ARM: imx legacy: pcm043: move peripheral initialization to .init_late
      ARM: imx legacy: mx21ads: move peripheral initialization to .init_late
      ARM: imx legacy: mx27ads: move peripheral initialization to .init_late
      ARM: imx legacy: pca100: move peripheral initialization to .init_late

Wolfram Sang (2):
      ARM: shmobile: r8a7790: only use smp_init when SMP is selected
      ARM: shmobile: r8a7791: only use smp_init when SMP is selected

 Documentation/arm/sunxi/README                  |   2 +
 Documentation/devicetree/bindings/arm/sunxi.txt |   1 +
 MAINTAINERS                                     |   9 +
 arch/arm/Kconfig.debug                          |  22 +-
 arch/arm/configs/colibri_pxa270_defconfig       |   1 -
 arch/arm/configs/lpd270_defconfig               |   1 -
 arch/arm/configs/pxa255-idp_defconfig           |   1 -
 arch/arm/configs/pxa_defconfig                  |   2 -
 arch/arm/configs/trizeps4_defconfig             |   2 -
 arch/arm/include/asm/hardware/cache-uniphier.h  |  20 +-
 arch/arm/include/debug/brcmstb.S                | 145 +++++++++
 arch/arm/mach-bcm/Kconfig                       |  14 +
 arch/arm/mach-bcm/brcmstb.c                     |  16 +
 arch/arm/mach-davinci/da850.c                   |   1 +
 arch/arm/mach-davinci/da8xx-dt.c                |   1 +
 arch/arm/mach-exynos/Kconfig                    |   1 +
 arch/arm/mach-exynos/exynos.c                   |  15 -
 arch/arm/mach-exynos/include/mach/map.h         |   5 -
 arch/arm/mach-imx/Makefile                      |   1 +
 arch/arm/mach-imx/common.h                      |   2 +-
 arch/arm/mach-imx/cpuidle-imx6q.c               |   2 +-
 arch/arm/mach-imx/cpuidle-imx6sx.c              |  11 +
 arch/arm/mach-imx/mach-armadillo5x0.c           |  39 ++-
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c     |  24 +-
 arch/arm/mach-imx/mach-imx6ul.c                 |   3 +
 arch/arm/mach-imx/mach-kzm_arm11_01.c           |   9 +-
 arch/arm/mach-imx/mach-mx21ads.c                |  13 +-
 arch/arm/mach-imx/mach-mx27_3ds.c               |  30 +-
 arch/arm/mach-imx/mach-mx27ads.c                |  13 +-
 arch/arm/mach-imx/mach-mx31_3ds.c               |  39 ++-
 arch/arm/mach-imx/mach-mx31ads.c                |  18 +-
 arch/arm/mach-imx/mach-mx31lilly.c              |  50 ++-
 arch/arm/mach-imx/mach-mx31lite.c               |  68 +++--
 arch/arm/mach-imx/mach-mx31moboard.c            |  23 +-
 arch/arm/mach-imx/mach-mx35_3ds.c               |  15 +-
 arch/arm/mach-imx/mach-pca100.c                 |  26 +-
 arch/arm/mach-imx/mach-pcm037.c                 |  67 ++--
 arch/arm/mach-imx/mach-pcm043.c                 |  10 +-
 arch/arm/mach-imx/mach-qong.c                   |   2 +-
 arch/arm/mach-imx/mach-vpr200.c                 |  29 +-
 arch/arm/mach-imx/mx31lilly-db.c                |  20 --
 arch/arm/mach-imx/mx31lite-db.c                 |  33 --
 arch/arm/mach-imx/pm-imx6.c                     |   8 +-
 arch/arm/mach-mv78xx0/common.c                  |   9 +-
 arch/arm/mach-orion5x/common.c                  |   4 +-
 arch/arm/mach-orion5x/common.h                  |   2 +-
 arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c    |   4 +-
 arch/arm/mach-orion5x/rd88f5181l-ge-setup.c     |   5 +-
 arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c    |   6 +-
 arch/arm/mach-orion5x/wnr854t-setup.c           |   4 +-
 arch/arm/mach-orion5x/wrt350n-v2-setup.c        |   4 +-
 arch/arm/mach-pxa/Kconfig                       |  11 +
 arch/arm/mach-pxa/Makefile                      |   3 +-
 arch/arm/mach-pxa/corgi_pm.c                    |  13 +-
 arch/arm/mach-pxa/devices.h                     |   1 +
 arch/arm/mach-pxa/generic.h                     |   2 -
 arch/arm/mach-pxa/include/mach/dma.h            |   1 -
 arch/arm/mach-pxa/magician.c                    |   4 -
 arch/arm/mach-pxa/pm.c                          |   5 +-
 arch/arm/mach-pxa/pxa-dt.c                      |  35 ++-
 arch/arm/mach-pxa/pxa25x.c                      |  26 +-
 arch/arm/mach-pxa/pxa27x.c                      |  14 +-
 arch/arm/mach-pxa/pxa3xx.c                      |  11 +-
 arch/arm/mach-pxa/pxa_cplds_irqs.c              |  24 +-
 arch/arm/mach-pxa/sharpsl_pm.c                  |   2 +-
 arch/arm/mach-pxa/sharpsl_pm.h                  |   2 +-
 arch/arm/mach-pxa/spitz_pm.c                    |   9 +-
 arch/arm/mach-qcom/Makefile                     |   1 -
 arch/arm/mach-qcom/board.c                      |  31 --
 arch/arm/mach-s3c24xx/common.c                  |  20 +-
 arch/arm/mach-s3c24xx/mach-mini2440.c           |   1 +
 arch/arm/mach-s3c64xx/mach-crag6410-module.c    |   3 +-
 arch/arm/mach-shmobile/setup-r8a7790.c          |   2 +-
 arch/arm/mach-shmobile/setup-r8a7791.c          |   2 +-
 arch/arm/mach-sunxi/Kconfig                     |   1 +
 arch/arm/mach-sunxi/sunxi.c                     |   1 +
 arch/arm/mach-uniphier/Makefile                 |   2 +-
 arch/arm/mach-uniphier/headsmp.S                |  43 ---
 arch/arm/mach-uniphier/platsmp.c                | 209 -------------
 arch/arm/mm/cache-uniphier.c                    |  63 +---
 arch/arm/plat-orion/common.c                    |  85 ++----
 arch/arm/plat-orion/include/plat/common.h       |  10 +-
 arch/arm/plat-pxa/Makefile                      |   2 -
 arch/arm/plat-pxa/dma.c                         | 386 ------------------------
 arch/arm/plat-pxa/include/plat/dma.h            | 100 ------
 arch/arm/plat-samsung/include/plat/map-s5p.h    |   4 -
 86 files changed, 696 insertions(+), 1285 deletions(-)
 create mode 100644 arch/arm/include/debug/brcmstb.S
 delete mode 100644 arch/arm/mach-qcom/board.c
 delete mode 100644 arch/arm/mach-uniphier/headsmp.S
 delete mode 100644 arch/arm/mach-uniphier/platsmp.c
 delete mode 100644 arch/arm/plat-pxa/dma.c
 delete mode 100644 arch/arm/plat-pxa/include/plat/dma.h

^ permalink raw reply

* [GIT PULL 1/8] ARM: SoC cleanups for v4.9
From: Arnd Bergmann @ 2016-10-08  0:29 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <3637015.LRn5VyhPVM@wuerfel>

The following changes since commit 3eab887a55424fc2c27553b7bfe32330df83f7b8:

  Linux 4.8-rc4 (2016-08-28 15:04:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-cleanup

for you to fetch changes up to e13688fe618881dd407a68dfbd2295d70b21a445:

  ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM (2016-09-21 22:45:13 +0200)

----------------------------------------------------------------
ARM: SoC cleanups for v4.9

The cleanups for v4.9 are a little larger that usual, but thankfully
that is almost exclusively due to removing a significant number of
files that have become obsolete after the still ongoing conversion
of old board files to devicetree.

- for mach-omap2, which is still the largest platform in arch/arm/,
  the conversion to DT is finally complete after the Nokia N900 is
  now fully supported there, along with the omap3 LDP, and we can
  remove those two board files.
  If no regressions are found, another large cleanup for the platform
  will happen as a follow-up, removing dead code and restructuring
  the platform based on being DT-only.

- In mach-imx, similar work is ongoing, but has not come that far.
  This time, we remove the obsolete board file for the i.MX1
  generation, which like i.MX25, i.MX5, i.MX6, and i.MX7 is now DT-only.
  The remaining board files are for i.MX2 and i.MX3 machines
  based on old ARM926 or ARM1136 cores that should work with DT
  in principle.

- realview has just been converted from board files to DT, and a lot
  of code gets removed in the process. This is the last
  ARM/Keil/Versatile derived platform that was still using board
  files, the other ones being integrator, versatile and vexpress.
  We can probably merge the remaining code into a single directory
  in the near future.

- clps711x had completed the conversion in v4.8, but we accidentally
  left the files in place that should have been deleted then.

Conflicts: two files deleted here have been modified upstream,
the changes can be discarded.

----------------------------------------------------------------
Alexander Kurz (2):
      ARM: i.MX31 iomux: remove plain duplicates
      ARM: i.MX31 iomux: remove duplicates with alternate name

Alexander Shiyan (4):
      ARM: i.MX: Remove i.MX1 Armadeus APF9328 board support
      ARM: i.MX: Remove i.MX1 Synertronixx SCB9328 board support
      ARM: i.MX: Remove i.MX1 non-DT support
      ARM: i.MX: Move SOC_IMX1 into 'Device tree only'

Arnd Bergmann (5):
      Merge tag 'realview-broomstick-sweep' of git://git.kernel.org/.../linusw/linux-integrator into next/cleanup
      ARM: clps711x: remove extraneous files
      Merge tag 'omap-for-v4.8/legacy-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/cleanup
      Merge tag 'omap-for-v4.9/soc-signed' of git://git.kernel.org/.../tmlind/linux-omap into next/cleanup
      Merge tag 'imx-cleanup-4.9' of git://git.kernel.org/.../shawnguo/linux into next/cleanup

Fabian Frederick (1):
      ARM: imx: remove platform-mxc_rnga

Javier Martinez Canillas (3):
      ARM: OMAP1: use IS_ENABLED() instead of checking for built-in or module
      ARM: OMAP2+: use IS_ENABLED() instead of checking for built-in or module
      ARM: imx: use IS_ENABLED() instead of checking for built-in or module

Kishon Vijay Abraham I (2):
      ARM: stop *MIGHT_HAVE_PCI* config from being selected redundantly
      ARM: select PCI_DOMAINS config from ARCH_MULTIPLATFORM

Linus Walleij (2):
      ARM: realview: delete the RealView board files
      ARM: realview: imply device tree boot

Lothar Wa?mann (1):
      ARM: mxs: remove obsolete startup code for TX28

Martin Kaiser (1):
      ARM: imx: (trivial) fix typo and grammar

Tony Lindgren (3):
      Merge remote-tracking branch 'peter/peter/for-4.8_omapdss_part1' into omap-for-v4.8/legacy
      ARM: OMAP2+: Drop legacy board file for n900
      ARM: OMAP2+: Drop legacy board file for LDP

Vladimir Murzin (2):
      ARM: imx: no need to select SMP_ON_UP explicitly
      ARM: realview: no need to select SMP_ON_UP explicitly

 arch/arm/Kconfig                              |    4 +-
 arch/arm/configs/imx_v4_v5_defconfig          |    3 +-
 arch/arm/configs/multi_v4t_defconfig          |    4 +-
 arch/arm/mach-at91/Kconfig                    |    1 -
 arch/arm/mach-axxia/Kconfig                   |    2 -
 arch/arm/mach-clps711x/Makefile.boot          |    0
 arch/arm/mach-clps711x/board-autcpu12.c       |  275 ------
 arch/arm/mach-clps711x/board-cdb89712.c       |  147 ---
 arch/arm/mach-clps711x/board-clep7312.c       |   45 -
 arch/arm/mach-clps711x/board-edb7211.c        |  188 ----
 arch/arm/mach-clps711x/board-p720t.c          |  373 -------
 arch/arm/mach-clps711x/common.c               |   65 --
 arch/arm/mach-clps711x/common.h               |   23 -
 arch/arm/mach-clps711x/devices.c              |  149 ---
 arch/arm/mach-clps711x/devices.h              |   12 -
 arch/arm/mach-cns3xxx/Kconfig                 |    1 -
 arch/arm/mach-exynos/Kconfig                  |    2 -
 arch/arm/mach-imx/Kconfig                     |   52 +-
 arch/arm/mach-imx/Makefile                    |    7 +-
 arch/arm/mach-imx/common.h                    |    5 -
 arch/arm/mach-imx/devices-imx1.h              |   30 -
 arch/arm/mach-imx/devices/Makefile            |    1 -
 arch/arm/mach-imx/devices/devices-common.h    |   12 -
 arch/arm/mach-imx/devices/platform-imx-fb.c   |    5 -
 arch/arm/mach-imx/devices/platform-imx-i2c.c  |    5 -
 arch/arm/mach-imx/devices/platform-imx-uart.c |   37 -
 arch/arm/mach-imx/devices/platform-spi_imx.c  |    9 -
 arch/arm/mach-imx/hardware.h                  |    3 +-
 arch/arm/mach-imx/iomux-mx1.h                 |  155 ---
 arch/arm/mach-imx/iomux-mx3.h                 |   34 -
 arch/arm/mach-imx/mach-apf9328.c              |  148 ---
 arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c}  |   23 +-
 arch/arm/mach-imx/mach-kzm_arm11_01.c         |    6 +-
 arch/arm/mach-imx/mach-pcm037.c               |    2 +-
 arch/arm/mach-imx/mach-scb9328.c              |  143 ---
 arch/arm/mach-imx/mm-imx1.c                   |   67 --
 arch/arm/mach-imx/mx1.h                       |  172 ----
 arch/arm/mach-integrator/Kconfig              |    1 -
 arch/arm/mach-keystone/Kconfig                |    2 -
 arch/arm/mach-mxs/mach-mxs.c                  |   77 --
 arch/arm/mach-omap1/board-h2-mmc.c            |    2 +-
 arch/arm/mach-omap1/board-h2.c                |    2 +-
 arch/arm/mach-omap1/board-h3-mmc.c            |    2 +-
 arch/arm/mach-omap1/board-h3.c                |    2 +-
 arch/arm/mach-omap1/board-htcherald.c         |    4 +-
 arch/arm/mach-omap1/board-innovator.c         |    4 +-
 arch/arm/mach-omap1/board-nokia770.c          |    4 +-
 arch/arm/mach-omap1/board-sx1-mmc.c           |    2 +-
 arch/arm/mach-omap1/devices.c                 |   10 +-
 arch/arm/mach-omap1/fb.c                      |    2 +-
 arch/arm/mach-omap1/include/mach/usb.h        |    2 +-
 arch/arm/mach-omap1/mmc.h                     |    2 +-
 arch/arm/mach-omap1/usb.c                     |    6 +-
 arch/arm/mach-omap2/Kconfig                   |   12 -
 arch/arm/mach-omap2/Makefile                  |    4 -
 arch/arm/mach-omap2/board-flash.c             |   10 +-
 arch/arm/mach-omap2/board-flash.h             |   11 +-
 arch/arm/mach-omap2/board-ldp.c               |  430 --------
 arch/arm/mach-omap2/board-n8x0.c              |    5 +-
 arch/arm/mach-omap2/board-rx51-peripherals.c  | 1312 -------------------------
 arch/arm/mach-omap2/board-rx51-video.c        |   67 --
 arch/arm/mach-omap2/board-rx51.c              |  141 ---
 arch/arm/mach-omap2/board-rx51.h              |   11 -
 arch/arm/mach-omap2/common-board-devices.c    |    3 +-
 arch/arm/mach-omap2/devices.c                 |    7 +-
 arch/arm/mach-omap2/drm.c                     |    2 +-
 arch/arm/mach-omap2/fb.c                      |    2 +-
 arch/arm/mach-omap2/gpmc-smsc911x.h           |    2 +-
 arch/arm/mach-omap2/hsmmc.c                   |    2 +-
 arch/arm/mach-omap2/hsmmc.h                   |    2 +-
 arch/arm/mach-omap2/twl-common.c              |    3 +-
 arch/arm/mach-realview/Kconfig                |   72 +-
 arch/arm/mach-realview/Makefile               |   12 +-
 arch/arm/mach-realview/board-eb.h             |   94 --
 arch/arm/mach-realview/board-pb1176.h         |   81 --
 arch/arm/mach-realview/board-pb11mp.h         |   96 --
 arch/arm/mach-realview/board-pba8.h           |   71 --
 arch/arm/mach-realview/board-pbx.h            |  106 --
 arch/arm/mach-realview/core.c                 |  404 --------
 arch/arm/mach-realview/core.h                 |   58 --
 arch/arm/mach-realview/hardware.h             |   40 -
 arch/arm/mach-realview/hotplug.h              |    1 +
 arch/arm/mach-realview/irqs-eb.h              |  114 ---
 arch/arm/mach-realview/irqs-pb1176.h          |   77 --
 arch/arm/mach-realview/irqs-pb11mp.h          |   97 --
 arch/arm/mach-realview/irqs-pba8.h            |   71 --
 arch/arm/mach-realview/irqs-pbx.h             |   87 --
 arch/arm/mach-realview/platform.h             |  247 -----
 arch/arm/mach-realview/platsmp-dt.c           |    3 +-
 arch/arm/mach-realview/platsmp.c              |   86 --
 arch/arm/mach-realview/realview_eb.c          |  492 ----------
 arch/arm/mach-realview/realview_pb1176.c      |  395 --------
 arch/arm/mach-realview/realview_pb11mp.c      |  385 --------
 arch/arm/mach-realview/realview_pba8.c        |  307 ------
 arch/arm/mach-realview/realview_pbx.c         |  402 --------
 arch/arm/mach-shmobile/Kconfig                |    1 -
 arch/arm/mach-spear/Kconfig                   |    1 -
 arch/arm/mach-versatile/Kconfig               |    1 -
 drivers/clk/imx/clk-imx1.c                    |   46 +-
 drivers/irqchip/Makefile                      |    2 +-
 drivers/mtd/maps/Kconfig                      |    2 +-
 101 files changed, 105 insertions(+), 8106 deletions(-)
 delete mode 100644 arch/arm/mach-clps711x/Makefile.boot
 delete mode 100644 arch/arm/mach-clps711x/board-autcpu12.c
 delete mode 100644 arch/arm/mach-clps711x/board-cdb89712.c
 delete mode 100644 arch/arm/mach-clps711x/board-clep7312.c
 delete mode 100644 arch/arm/mach-clps711x/board-edb7211.c
 delete mode 100644 arch/arm/mach-clps711x/board-p720t.c
 delete mode 100644 arch/arm/mach-clps711x/common.c
 delete mode 100644 arch/arm/mach-clps711x/common.h
 delete mode 100644 arch/arm/mach-clps711x/devices.c
 delete mode 100644 arch/arm/mach-clps711x/devices.h
 delete mode 100644 arch/arm/mach-imx/devices-imx1.h
 delete mode 100644 arch/arm/mach-imx/iomux-mx1.h
 delete mode 100644 arch/arm/mach-imx/mach-apf9328.c
 rename arch/arm/mach-imx/{imx1-dt.c => mach-imx1.c} (63%)
 delete mode 100644 arch/arm/mach-imx/mach-scb9328.c
 delete mode 100644 arch/arm/mach-imx/mm-imx1.c
 delete mode 100644 arch/arm/mach-imx/mx1.h
 delete mode 100644 arch/arm/mach-omap2/board-ldp.c
 delete mode 100644 arch/arm/mach-omap2/board-rx51-peripherals.c
 delete mode 100644 arch/arm/mach-omap2/board-rx51-video.c
 delete mode 100644 arch/arm/mach-omap2/board-rx51.c
 delete mode 100644 arch/arm/mach-omap2/board-rx51.h
 delete mode 100644 arch/arm/mach-realview/board-eb.h
 delete mode 100644 arch/arm/mach-realview/board-pb1176.h
 delete mode 100644 arch/arm/mach-realview/board-pb11mp.h
 delete mode 100644 arch/arm/mach-realview/board-pba8.h
 delete mode 100644 arch/arm/mach-realview/board-pbx.h
 delete mode 100644 arch/arm/mach-realview/core.c
 delete mode 100644 arch/arm/mach-realview/core.h
 delete mode 100644 arch/arm/mach-realview/hardware.h
 create mode 100644 arch/arm/mach-realview/hotplug.h
 delete mode 100644 arch/arm/mach-realview/irqs-eb.h
 delete mode 100644 arch/arm/mach-realview/irqs-pb1176.h
 delete mode 100644 arch/arm/mach-realview/irqs-pb11mp.h
 delete mode 100644 arch/arm/mach-realview/irqs-pba8.h
 delete mode 100644 arch/arm/mach-realview/irqs-pbx.h
 delete mode 100644 arch/arm/mach-realview/platform.h
 delete mode 100644 arch/arm/mach-realview/platsmp.c
 delete mode 100644 arch/arm/mach-realview/realview_eb.c
 delete mode 100644 arch/arm/mach-realview/realview_pb1176.c
 delete mode 100644 arch/arm/mach-realview/realview_pb11mp.c
 delete mode 100644 arch/arm/mach-realview/realview_pba8.c
 delete mode 100644 arch/arm/mach-realview/realview_pbx.c

^ permalink raw reply

* [GIT PULL 0/8] ARM: SoC changes for v4.9
From: Arnd Bergmann @ 2016-10-08  0:28 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Linus,

Here are 749 patches for ARM SoCs for this merge window, a bit less than
average this time. We support 29 new machines but all five SoCs we add
are in a family that is already supported.

Out of 165 developers contributing at least one patch, the most active
by number of patches are:

     46 Javier Martinez Canillas
     42 Sergei Shtylyov
     29 Linus Walleij
     25 Hans de Goede
     22 Krzysztof Kozlowski
     19 Vladimir Zapolskiy
     17 Patrice Chotard
     16 Grzegorz Jaszczyk
     14 Philipp Zabel
     14 Jon Mason
     14 Jisheng Zhang
     13 Vladimir Barinov

While according to Signed-off-by lines we get:

     87 Simon Horman
     86 Shawn Guo
     71 Tony Lindgren
     60 Maxime Ripard
     46 Javier Martinez Canillas
     45 Kevin Hilman
     44 Andy Gross
     42 Sergei Shtylyov
     40 Gregory CLEMENT
     35 Heiko Stuebner
     34 Krzysztof Kozlowski

The dirstat shows that once more the ARM32 dts changes dominate the
overall changes, surprisingly clearly this time showing how much
more work went into 32-bit platforms compared to 64-bit platforms:

   2.1% Documentation/devicetree/bindings/
  52.3% arch/arm/boot/dts/
   2.9% arch/arm/mach-clps711x/
   3.0% arch/arm/mach-imx/
   4.2% arch/arm/mach-omap2/
   9.9% arch/arm/mach-realview/
   4.2% arch/arm/
   2.2% arch/arm64/boot/dts/rockchip/
   9.2% arch/arm64/boot/dts/
   2.9% drivers/perf/
   5.5% drivers/
 742 files changed, 29317 insertions(+), 16385 deletions(-)

Ignoring dts and driver churn, we can see a nice cleanup, removing
almost 9000 lines of old platform code:

  12.2% arch/arm/mach-clps711x/
  12.7% arch/arm/mach-imx/
   1.4% arch/arm/mach-integrator/
  17.6% arch/arm/mach-omap2/
   1.4% arch/arm/mach-pxa/
  41.6% arch/arm/mach-realview/
   2.3% arch/arm/mach-uniphier/
   1.1% arch/arm/plat-orion/
   1.2% arch/arm/plat-pxa/include/plat/
   3.1% arch/arm/plat-pxa/
   4.6% arch/arm/
 172 files changed, 698 insertions(+), 9468 deletions(-)

	Arnd

^ permalink raw reply

* [PATCH] usb: dwc3: host: inherit dma configuration from parent dev
From: Leo Li @ 2016-10-07 22:46 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <DB5PR0401MB1925E5980009DD23FA9C7D50F5C90@DB5PR0401MB1925.eurprd04.prod.outlook.com>

On Thu, Sep 22, 2016 at 12:02 AM, Sriram Dash <sriram.dash@nxp.com> wrote:
>>From: Arnd Bergmann [mailto:arnd at arndb.de]
>>On Wednesday, September 21, 2016 11:43:59 AM CEST Sriram Dash wrote:
>>> >From: Arnd Bergmann [mailto:arnd at arndb.de] On Wednesday, September
>>> >21, 2016 11:06:47 AM CEST Sriram Dash wrote:
>>>
>>> ==============================================================
>>> From 8b0dea1513e9e73a11dcfa802ddc71cca11d66f8 Mon Sep 17 00:00:00 2001
>>> From: Sriram Dash <sriram.dash@nxp.com>
>>> Date: Wed, 21 Sep 2016 11:39:30 +0530
>>> Subject: [PATCH] usb: xhci: Fix the patch inherit dma configuration
>>> from  parent dev
>>>
>>> Fixes the patch https://patchwork.kernel.org/patch/9319527/
>>> ("usb: dwc3: host: inherit dma configuration from parent dev").
>>>
>>> Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
>>> ---
>>>  drivers/usb/host/xhci-mem.c | 12 ++++++------
>>>  drivers/usb/host/xhci.c     | 20 ++++++++++----------
>>>  2 files changed, 16 insertions(+), 16 deletions(-)
>>>
>>> diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
>>> index 6afe323..79608df 100644
>>> --- a/drivers/usb/host/xhci-mem.c
>>> +++ b/drivers/usb/host/xhci-mem.c
>>
>>All the changes you did to this file seem fine, I completely missed that part.
>>
>>> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index
>>> 01d96c9..9a1ff09 100644
>>> --- a/drivers/usb/host/xhci.c
>>> +++ b/drivers/usb/host/xhci.c
>
> Yes. Some sanity is required over this patch.

Hi Sriram,

Have you been able to do the sanity check on the patch?  I will be
good to have the formal patch submitted for integration as soon as
possible because the dwc3 USB functionality has been broken for a
while in upstream kernel.

Regards,
Leo

^ permalink raw reply

* [PATCH v2 8/8] PM / doc: Update device documentation for devices in IRQ safe PM domains
From: Lina Iyer @ 2016-10-07 22:37 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Update documentation to reflect the changes made to support IRQ safe PM
domains.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 Documentation/power/devices.txt | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Documentation/power/devices.txt b/Documentation/power/devices.txt
index 8ba6625..0401b53 100644
--- a/Documentation/power/devices.txt
+++ b/Documentation/power/devices.txt
@@ -607,7 +607,14 @@ individually.  Instead, a set of devices sharing a power resource can be put
 into a low-power state together at the same time by turning off the shared
 power resource.  Of course, they also need to be put into the full-power state
 together, by turning the shared power resource on.  A set of devices with this
-property is often referred to as a power domain.
+property is often referred to as a power domain. A power domain may also be
+nested inside another power domain.
+
+Devices and PM domains may be defined as IRQ-safe, if they can be powered
+on/off even when the IRQs are disabled. An IRQ-safe device in a domain will
+disallow power management on the domain, unless the domain is also defined as
+IRQ-safe. The restriction this framework imposes on the parent domain of an
+IRQ-safe domain is that it must also be defined as IRQ-safe.
 
 Support for power domains is provided through the pm_domain field of struct
 device.  This field is a pointer to an object of type struct dev_pm_domain,
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 7/8] PM / Domains: Support IRQ safe PM domains
From: Lina Iyer @ 2016-10-07 22:37 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Generic Power Domains currently support turning on/off only in process
context. This prevents the usage of PM domains for domains that could be
powered on/off in a context where IRQs are disabled. Many such domains
exist today and do not get powered off, when the IRQ safe devices in
that domain are powered off, because of this limitation.

However, not all domains can operate in IRQ safe contexts. Genpd
therefore, has to support both cases where the domain may or may not
operate in IRQ safe contexts. Configuring genpd to use an appropriate
lock for that domain, would allow domains that have IRQ safe devices to
runtime suspend and resume, in atomic context.

To achieve domain specific locking, set the domain's ->flag to
GENPD_FLAG_IRQ_SAFE while defining the domain. This indicates that genpd
should use a spinlock instead of a mutex for locking the domain. Locking
is abstracted through genpd_lock() and genpd_unlock() functions that use
the flag to determine the appropriate lock to be used for that domain.

Domains that have lower latency to suspend and resume and can operate
with IRQs disabled may now be able to save power, when the component
devices and sub-domains are idle at runtime.

The restriction this imposes on the domain hierarchy is that non-IRQ
safe domains may not have IRQ-safe subdomains, but IRQ safe domains may
have IRQ safe and non-IRQ safe subdomains and devices.

Cc: Ulf Hansson <ulf.hansson@linaro.org>
Cc: Kevin Hilman <khilman@kernel.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 drivers/base/power/domain.c | 111 ++++++++++++++++++++++++++++++++++++++++----
 include/linux/pm_domain.h   |  10 +++-
 2 files changed, 110 insertions(+), 11 deletions(-)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index d0ae559..87a016a 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -74,11 +74,70 @@ static const struct genpd_lock_ops genpd_mtx_ops = {
 	.unlock = genpd_unlock_mtx,
 };
 
+static void genpd_lock_spin(struct generic_pm_domain *genpd)
+	__acquires(&genpd->slock)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&genpd->slock, flags);
+	genpd->lock_flags = flags;
+}
+
+static void genpd_lock_nested_spin(struct generic_pm_domain *genpd,
+					int depth)
+	__acquires(&genpd->slock)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave_nested(&genpd->slock, flags, depth);
+	genpd->lock_flags = flags;
+}
+
+static int genpd_lock_interruptible_spin(struct generic_pm_domain *genpd)
+	__acquires(&genpd->slock)
+{
+	unsigned long flags;
+
+	spin_lock_irqsave(&genpd->slock, flags);
+	genpd->lock_flags = flags;
+	return 0;
+}
+
+static void genpd_unlock_spin(struct generic_pm_domain *genpd)
+	__releases(&genpd->slock)
+{
+	spin_unlock_irqrestore(&genpd->slock, genpd->lock_flags);
+}
+
+static const struct genpd_lock_ops genpd_spin_ops = {
+	.lock = genpd_lock_spin,
+	.lock_nested = genpd_lock_nested_spin,
+	.lock_interruptible = genpd_lock_interruptible_spin,
+	.unlock = genpd_unlock_spin,
+};
+
 #define genpd_lock(p)			p->lock_ops->lock(p)
 #define genpd_lock_nested(p, d)		p->lock_ops->lock_nested(p, d)
 #define genpd_lock_interruptible(p)	p->lock_ops->lock_interruptible(p)
 #define genpd_unlock(p)			p->lock_ops->unlock(p)
 
+#define genpd_is_irq_safe(genpd)	(genpd->flags & GENPD_FLAG_IRQ_SAFE)
+
+static inline bool irq_safe_dev_in_no_sleep_domain(struct device *dev,
+		struct generic_pm_domain *genpd)
+{
+	bool ret;
+
+	ret = pm_runtime_is_irq_safe(dev) && !genpd_is_irq_safe(genpd);
+
+	/* Warn once for each IRQ safe dev in no sleep domain */
+	if (ret)
+		dev_warn_once(dev, "PM domain %s will not be powered off\n",
+				genpd->name);
+
+	return ret;
+}
+
 /*
  * Get the generic PM domain for a particular struct device.
  * This validates the struct device pointer, the PM domain pointer,
@@ -343,7 +402,12 @@ static int genpd_poweroff(struct generic_pm_domain *genpd, bool is_async)
 		if (stat > PM_QOS_FLAGS_NONE)
 			return -EBUSY;
 
-		if (!pm_runtime_suspended(pdd->dev) || pdd->dev->power.irq_safe)
+		/*
+		 * Do not allow PM domain to be powered off, when an IRQ safe
+		 * device is part of a non-IRQ safe domain.
+		 */
+		if (!pm_runtime_suspended(pdd->dev) ||
+			irq_safe_dev_in_no_sleep_domain(pdd->dev, genpd))
 			not_suspended++;
 	}
 
@@ -506,10 +570,10 @@ static int genpd_runtime_suspend(struct device *dev)
 	}
 
 	/*
-	 * If power.irq_safe is set, this routine will be run with interrupts
-	 * off, so it can't use mutexes.
+	 * If power.irq_safe is set, this routine may be run with
+	 * IRQs disabled, so suspend only if the PM domain also is irq_safe.
 	 */
-	if (dev->power.irq_safe)
+	if (irq_safe_dev_in_no_sleep_domain(dev, genpd))
 		return 0;
 
 	genpd_lock(genpd);
@@ -543,8 +607,11 @@ static int genpd_runtime_resume(struct device *dev)
 	if (IS_ERR(genpd))
 		return -EINVAL;
 
-	/* If power.irq_safe, the PM domain is never powered off. */
-	if (dev->power.irq_safe) {
+	/*
+	 * As we don't power off a non IRQ safe domain, which holds
+	 * an IRQ safe device, we don't need to restore power to it.
+	 */
+	if (irq_safe_dev_in_no_sleep_domain(dev, genpd)) {
 		timed = false;
 		goto out;
 	}
@@ -586,7 +653,8 @@ static int genpd_runtime_resume(struct device *dev)
 err_stop:
 	genpd_stop_dev(genpd, dev);
 err_poweroff:
-	if (!dev->power.irq_safe) {
+	if (!pm_runtime_is_irq_safe(dev) ||
+		(pm_runtime_is_irq_safe(dev) && genpd_is_irq_safe(genpd))) {
 		genpd_lock(genpd);
 		genpd_poweroff(genpd, 0);
 		genpd_unlock(genpd);
@@ -1223,6 +1291,17 @@ static int genpd_add_subdomain(struct generic_pm_domain *genpd,
 	    || genpd == subdomain)
 		return -EINVAL;
 
+	/*
+	 * If the domain can be powered on/off in an IRQ safe
+	 * context, ensure that the subdomain can also be
+	 * powered on/off in that context.
+	 */
+	if (!genpd_is_irq_safe(genpd) && genpd_is_irq_safe(subdomain)) {
+		WARN("Parent %s of subdomain %s must be IRQ safe\n",
+				genpd->name, subdomain->name);
+		return -EINVAL;
+	}
+
 	link = kzalloc(sizeof(*link), GFP_KERNEL);
 	if (!link)
 		return -ENOMEM;
@@ -1337,6 +1416,17 @@ static int genpd_set_default_power_state(struct generic_pm_domain *genpd)
 	return 0;
 }
 
+static void genpd_lock_init(struct generic_pm_domain *genpd)
+{
+	if (genpd->flags & GENPD_FLAG_IRQ_SAFE) {
+		spin_lock_init(&genpd->slock);
+		genpd->lock_ops = &genpd_spin_ops;
+	} else {
+		mutex_init(&genpd->mlock);
+		genpd->lock_ops = &genpd_mtx_ops;
+	}
+}
+
 /**
  * pm_genpd_init - Initialize a generic I/O PM domain object.
  * @genpd: PM domain object to initialize.
@@ -1356,8 +1446,7 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
 	INIT_LIST_HEAD(&genpd->master_links);
 	INIT_LIST_HEAD(&genpd->slave_links);
 	INIT_LIST_HEAD(&genpd->dev_list);
-	mutex_init(&genpd->mlock);
-	genpd->lock_ops = &genpd_mtx_ops;
+	genpd_lock_init(genpd);
 	genpd->gov = gov;
 	INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn);
 	atomic_set(&genpd->sd_count, 0);
@@ -2133,7 +2222,9 @@ static int pm_genpd_summary_one(struct seq_file *s,
 	}
 
 	list_for_each_entry(pm_data, &genpd->dev_list, list_node) {
-		kobj_path = kobject_get_path(&pm_data->dev->kobj, GFP_KERNEL);
+		kobj_path = kobject_get_path(&pm_data->dev->kobj,
+				genpd_is_irq_safe(genpd) ?
+				GFP_ATOMIC : GFP_KERNEL);
 		if (kobj_path == NULL)
 			continue;
 
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 811b968..81ece61 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -15,9 +15,11 @@
 #include <linux/err.h>
 #include <linux/of.h>
 #include <linux/notifier.h>
+#include <linux/spinlock.h>
 
 /* Defines used for the flags field in the struct generic_pm_domain */
 #define GENPD_FLAG_PM_CLK	(1U << 0) /* PM domain uses PM clk */
+#define GENPD_FLAG_IRQ_SAFE	(1U << 1) /* PM domain operates in atomic */
 
 enum gpd_status {
 	GPD_STATE_ACTIVE = 0,	/* PM domain is active */
@@ -76,7 +78,13 @@ struct generic_pm_domain {
 	unsigned int state_idx; /* state that genpd will go to when off */
 	void *free; /* Free the state that was allocated for default */
 	const struct genpd_lock_ops *lock_ops;
-	struct mutex mlock;
+	union {
+		struct mutex mlock;
+		struct {
+			spinlock_t slock;
+			unsigned long lock_flags;
+		};
+	};
 
 };
 
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 6/8] PM / Domains: Abstract genpd locking
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Abstract genpd lock/unlock calls, in preparation for domain specific
locks added in the following patches.

Cc: Kevin Hilman <khilman@kernel.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/base/power/domain.c | 121 +++++++++++++++++++++++++++++---------------
 include/linux/pm_domain.h   |   5 +-
 2 files changed, 85 insertions(+), 41 deletions(-)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index e0f31fe..d0ae559 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -39,6 +39,46 @@
 static LIST_HEAD(gpd_list);
 static DEFINE_MUTEX(gpd_list_lock);
 
+struct genpd_lock_ops {
+	void (*lock)(struct generic_pm_domain *genpd);
+	void (*lock_nested)(struct generic_pm_domain *genpd, int depth);
+	int (*lock_interruptible)(struct generic_pm_domain *genpd);
+	void (*unlock)(struct generic_pm_domain *genpd);
+};
+
+static void genpd_lock_mtx(struct generic_pm_domain *genpd)
+{
+	mutex_lock(&genpd->mlock);
+}
+
+static void genpd_lock_nested_mtx(struct generic_pm_domain *genpd,
+					int depth)
+{
+	mutex_lock_nested(&genpd->mlock, depth);
+}
+
+static int genpd_lock_interruptible_mtx(struct generic_pm_domain *genpd)
+{
+	return mutex_lock_interruptible(&genpd->mlock);
+}
+
+static void genpd_unlock_mtx(struct generic_pm_domain *genpd)
+{
+	return mutex_unlock(&genpd->mlock);
+}
+
+static const struct genpd_lock_ops genpd_mtx_ops = {
+	.lock = genpd_lock_mtx,
+	.lock_nested = genpd_lock_nested_mtx,
+	.lock_interruptible = genpd_lock_interruptible_mtx,
+	.unlock = genpd_unlock_mtx,
+};
+
+#define genpd_lock(p)			p->lock_ops->lock(p)
+#define genpd_lock_nested(p, d)		p->lock_ops->lock_nested(p, d)
+#define genpd_lock_interruptible(p)	p->lock_ops->lock_interruptible(p)
+#define genpd_unlock(p)			p->lock_ops->unlock(p)
+
 /*
  * Get the generic PM domain for a particular struct device.
  * This validates the struct device pointer, the PM domain pointer,
@@ -200,9 +240,9 @@ static int genpd_poweron(struct generic_pm_domain *genpd, unsigned int depth)
 
 		genpd_sd_counter_inc(master);
 
-		mutex_lock_nested(&master->lock, depth + 1);
+		genpd_lock_nested(master, depth + 1);
 		ret = genpd_poweron(master, depth + 1);
-		mutex_unlock(&master->lock);
+		genpd_unlock(master);
 
 		if (ret) {
 			genpd_sd_counter_dec(master);
@@ -255,9 +295,9 @@ static int genpd_dev_pm_qos_notifier(struct notifier_block *nb,
 		spin_unlock_irq(&dev->power.lock);
 
 		if (!IS_ERR(genpd)) {
-			mutex_lock(&genpd->lock);
+			genpd_lock(genpd);
 			genpd->max_off_time_changed = true;
-			mutex_unlock(&genpd->lock);
+			genpd_unlock(genpd);
 		}
 
 		dev = dev->parent;
@@ -354,9 +394,9 @@ static void genpd_power_off_work_fn(struct work_struct *work)
 
 	genpd = container_of(work, struct generic_pm_domain, power_off_work);
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 	genpd_poweroff(genpd, true);
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 }
 
 /**
@@ -472,9 +512,9 @@ static int genpd_runtime_suspend(struct device *dev)
 	if (dev->power.irq_safe)
 		return 0;
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 	genpd_poweroff(genpd, false);
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	return 0;
 }
@@ -509,9 +549,9 @@ static int genpd_runtime_resume(struct device *dev)
 		goto out;
 	}
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 	ret = genpd_poweron(genpd, 0);
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	if (ret)
 		return ret;
@@ -547,9 +587,9 @@ err_stop:
 	genpd_stop_dev(genpd, dev);
 err_poweroff:
 	if (!dev->power.irq_safe) {
-		mutex_lock(&genpd->lock);
+		genpd_lock(genpd);
 		genpd_poweroff(genpd, 0);
-		mutex_unlock(&genpd->lock);
+		genpd_unlock(genpd);
 	}
 
 	return ret;
@@ -732,20 +772,20 @@ static int pm_genpd_prepare(struct device *dev)
 	if (resume_needed(dev, genpd))
 		pm_runtime_resume(dev);
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 
 	if (genpd->prepared_count++ == 0)
 		genpd->suspended_count = 0;
 
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	ret = pm_generic_prepare(dev);
 	if (ret) {
-		mutex_lock(&genpd->lock);
+		genpd_lock(genpd);
 
 		genpd->prepared_count--;
 
-		mutex_unlock(&genpd->lock);
+		genpd_unlock(genpd);
 	}
 
 	return ret;
@@ -936,13 +976,13 @@ static void pm_genpd_complete(struct device *dev)
 
 	pm_generic_complete(dev);
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 
 	genpd->prepared_count--;
 	if (!genpd->prepared_count)
 		genpd_queue_power_off_work(genpd);
 
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 }
 
 /**
@@ -1071,7 +1111,7 @@ static int genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
 	if (IS_ERR(gpd_data))
 		return PTR_ERR(gpd_data);
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 
 	if (genpd->prepared_count > 0) {
 		ret = -EAGAIN;
@@ -1088,7 +1128,7 @@ static int genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
 	list_add_tail(&gpd_data->base.list_node, &genpd->dev_list);
 
  out:
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	if (ret)
 		genpd_free_dev_data(dev, gpd_data);
@@ -1130,7 +1170,7 @@ static int genpd_remove_device(struct generic_pm_domain *genpd,
 	gpd_data = to_gpd_data(pdd);
 	dev_pm_qos_remove_notifier(dev, &gpd_data->nb);
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 
 	if (genpd->prepared_count > 0) {
 		ret = -EAGAIN;
@@ -1145,14 +1185,14 @@ static int genpd_remove_device(struct generic_pm_domain *genpd,
 
 	list_del_init(&pdd->list_node);
 
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	genpd_free_dev_data(dev, gpd_data);
 
 	return 0;
 
  out:
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 	dev_pm_qos_add_notifier(dev, &gpd_data->nb);
 
 	return ret;
@@ -1187,8 +1227,8 @@ static int genpd_add_subdomain(struct generic_pm_domain *genpd,
 	if (!link)
 		return -ENOMEM;
 
-	mutex_lock(&subdomain->lock);
-	mutex_lock_nested(&genpd->lock, SINGLE_DEPTH_NESTING);
+	genpd_lock(subdomain);
+	genpd_lock_nested(genpd, SINGLE_DEPTH_NESTING);
 
 	if (genpd->status == GPD_STATE_POWER_OFF
 	    &&  subdomain->status != GPD_STATE_POWER_OFF) {
@@ -1211,8 +1251,8 @@ static int genpd_add_subdomain(struct generic_pm_domain *genpd,
 		genpd_sd_counter_inc(genpd);
 
  out:
-	mutex_unlock(&genpd->lock);
-	mutex_unlock(&subdomain->lock);
+	genpd_unlock(genpd);
+	genpd_unlock(subdomain);
 	if (ret)
 		kfree(link);
 	return ret;
@@ -1250,8 +1290,8 @@ int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
 	if (IS_ERR_OR_NULL(genpd) || IS_ERR_OR_NULL(subdomain))
 		return -EINVAL;
 
-	mutex_lock(&subdomain->lock);
-	mutex_lock_nested(&genpd->lock, SINGLE_DEPTH_NESTING);
+	genpd_lock(subdomain);
+	genpd_lock_nested(genpd, SINGLE_DEPTH_NESTING);
 
 	if (!list_empty(&subdomain->master_links) || subdomain->device_count) {
 		pr_warn("%s: unable to remove subdomain %s\n", genpd->name,
@@ -1275,8 +1315,8 @@ int pm_genpd_remove_subdomain(struct generic_pm_domain *genpd,
 	}
 
 out:
-	mutex_unlock(&genpd->lock);
-	mutex_unlock(&subdomain->lock);
+	genpd_unlock(genpd);
+	genpd_unlock(subdomain);
 
 	return ret;
 }
@@ -1316,7 +1356,8 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
 	INIT_LIST_HEAD(&genpd->master_links);
 	INIT_LIST_HEAD(&genpd->slave_links);
 	INIT_LIST_HEAD(&genpd->dev_list);
-	mutex_init(&genpd->lock);
+	mutex_init(&genpd->mlock);
+	genpd->lock_ops = &genpd_mtx_ops;
 	genpd->gov = gov;
 	INIT_WORK(&genpd->power_off_work, genpd_power_off_work_fn);
 	atomic_set(&genpd->sd_count, 0);
@@ -1364,16 +1405,16 @@ static int genpd_remove(struct generic_pm_domain *genpd)
 	if (IS_ERR_OR_NULL(genpd))
 		return -EINVAL;
 
-	mutex_lock(&genpd->lock);
+	genpd_lock(genpd);
 
 	if (genpd->has_provider) {
-		mutex_unlock(&genpd->lock);
+		genpd_unlock(genpd);
 		pr_err("Provider present, unable to remove %s\n", genpd->name);
 		return -EBUSY;
 	}
 
 	if (!list_empty(&genpd->master_links) || genpd->device_count) {
-		mutex_unlock(&genpd->lock);
+		genpd_unlock(genpd);
 		pr_err("%s: unable to remove %s\n", __func__, genpd->name);
 		return -EBUSY;
 	}
@@ -1387,7 +1428,7 @@ static int genpd_remove(struct generic_pm_domain *genpd)
 	kfree(genpd->free);
 
 	list_del(&genpd->gpd_list_node);
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 	cancel_work_sync(&genpd->power_off_work);
 	pr_debug("%s: removed %s\n", __func__, genpd->name);
 
@@ -1910,9 +1951,9 @@ int genpd_dev_pm_attach(struct device *dev)
 	dev->pm_domain->detach = genpd_dev_pm_detach;
 	dev->pm_domain->sync = genpd_dev_pm_sync;
 
-	mutex_lock(&pd->lock);
+	genpd_lock(pd);
 	ret = genpd_poweron(pd, 0);
-	mutex_unlock(&pd->lock);
+	genpd_unlock(pd);
 out:
 	return ret ? -EPROBE_DEFER : 0;
 }
@@ -2066,7 +2107,7 @@ static int pm_genpd_summary_one(struct seq_file *s,
 	char state[16];
 	int ret;
 
-	ret = mutex_lock_interruptible(&genpd->lock);
+	ret = genpd_lock_interruptible(genpd);
 	if (ret)
 		return -ERESTARTSYS;
 
@@ -2103,7 +2144,7 @@ static int pm_genpd_summary_one(struct seq_file *s,
 
 	seq_puts(s, "\n");
 exit:
-	mutex_unlock(&genpd->lock);
+	genpd_unlock(genpd);
 
 	return 0;
 }
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 6a89881..811b968 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -42,13 +42,14 @@ struct genpd_power_state {
 	struct fwnode_handle *fwnode;
 };
 
+struct genpd_lock_ops;
+
 struct generic_pm_domain {
 	struct dev_pm_domain domain;	/* PM domain operations */
 	struct list_head gpd_list_node;	/* Node in the global PM domains list */
 	struct list_head master_links;	/* Links with PM domain as a master */
 	struct list_head slave_links;	/* Links with PM domain as a slave */
 	struct list_head dev_list;	/* List of devices */
-	struct mutex lock;
 	struct dev_power_governor *gov;
 	struct work_struct power_off_work;
 	struct fwnode_handle *provider;	/* Identity of the domain provider */
@@ -74,6 +75,8 @@ struct generic_pm_domain {
 	unsigned int state_count; /* number of states */
 	unsigned int state_idx; /* state that genpd will go to when off */
 	void *free; /* Free the state that was allocated for default */
+	const struct genpd_lock_ops *lock_ops;
+	struct mutex mlock;
 
 };
 
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 5/8] dt/bindings: Update binding for PM domain idle states
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Update DT bindings to describe idle states of PM domains.

This patch is based on the original patch by Marc Titinger.

Cc: <devicetree@vger.kernel.org>
Signed-off-by: Marc Titinger <mtitinger+renesas@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Acked-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/power/power_domain.txt     | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt
index 025b5e7..7f8f27e 100644
--- a/Documentation/devicetree/bindings/power/power_domain.txt
+++ b/Documentation/devicetree/bindings/power/power_domain.txt
@@ -29,6 +29,10 @@ Optional properties:
    specified by this binding. More details about power domain specifier are
    available in the next section.
 
+- domain-idle-states : A phandle of an idle-state that shall be soaked into a
+                generic domain power state. The idle state definitions are
+                compatible with arm,idle-state specified in [1].
+
 Example:
 
 	power: power-controller at 12340000 {
@@ -59,6 +63,38 @@ The nodes above define two power controllers: 'parent' and 'child'.
 Domains created by the 'child' power controller are subdomains of '0' power
 domain provided by the 'parent' power controller.
 
+Example 3:
+	parent: power-controller at 12340000 {
+		compatible = "foo,power-controller";
+		reg = <0x12340000 0x1000>;
+		#power-domain-cells = <0>;
+		domain-idle-states = <&DOMAIN_RET>, <&DOMAIN_PWR_DN>;
+	};
+
+	child: power-controller at 12341000 {
+		compatible = "foo,power-controller";
+		reg = <0x12341000 0x1000>;
+		power-domains = <&parent 0>;
+		#power-domain-cells = <0>;
+		domain-idle-states = <&DOMAIN_PWR_DN>;
+	};
+
+	DOMAIN_RET: state at 0 {
+		compatible = "arm,idle-state";
+		reg = <0x0>;
+		entry-latency-us = <1000>;
+		exit-latency-us = <2000>;
+		min-residency-us = <10000>;
+	};
+
+	DOMAIN_PWR_DN: state at 1 {
+		compatible = "arm,idle-state";
+		reg = <0x1>;
+		entry-latency-us = <5000>;
+		exit-latency-us = <8000>;
+		min-residency-us = <7000>;
+	};
+
 ==PM domain consumers==
 
 Required properties:
@@ -76,3 +112,5 @@ Example:
 The node above defines a typical PM domain consumer device, which is located
 inside a PM domain with index 0 of a power controller represented by a node
 with the label "power".
+
+[1]. Documentation/devicetree/bindings/arm/idle-states.txt
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 4/8] PM / Domains: Save the fwnode in genpd_power_state
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Save the fwnode for the genpd state in the state node. PM Domain clients
may use the fwnode to read in the platform specific domain state
properties and associate them with the state.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 drivers/base/power/domain.c | 1 +
 include/linux/pm_domain.h   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 4208b67..e0f31fe 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1957,6 +1957,7 @@ static int genpd_parse_state(struct genpd_power_state *genpd_state,
 
 	genpd_state->power_on_latency_ns = 1000 * exit_latency;
 	genpd_state->power_off_latency_ns = 1000 * entry_latency;
+	genpd_state->fwnode = &state_node->fwnode;
 
 	return 0;
 }
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index b489496..6a89881 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -39,6 +39,7 @@ struct genpd_power_state {
 	s64 power_off_latency_ns;
 	s64 power_on_latency_ns;
 	s64 residency_ns;
+	struct fwnode_handle *fwnode;
 };
 
 struct generic_pm_domain {
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 3/8] PM / Domains: Allow domain power states to be read from DT
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

This patch allows domains to define idle states in the DT. SoC's can
define domain idle states in DT using the "domain-idle-states" property
of the domain provider. Add API to read the idle states from DT that can
be set in the genpd object.

This patch is based on the original patch by Marc Titinger.

Signed-off-by: Marc Titinger <mtitinger+renesas@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 drivers/base/power/domain.c | 95 +++++++++++++++++++++++++++++++++++++++++++++
 include/linux/pm_domain.h   |  8 ++++
 2 files changed, 103 insertions(+)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index 4e87170..4208b67 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1917,6 +1917,101 @@ out:
 	return ret ? -EPROBE_DEFER : 0;
 }
 EXPORT_SYMBOL_GPL(genpd_dev_pm_attach);
+
+static const struct of_device_id idle_state_match[] = {
+	{ .compatible = "arm,idle-state", },
+	{ }
+};
+
+static int genpd_parse_state(struct genpd_power_state *genpd_state,
+				    struct device_node *state_node)
+{
+	int err;
+	u32 residency;
+	u32 entry_latency, exit_latency;
+	const struct of_device_id *match_id;
+
+	match_id = of_match_node(idle_state_match, state_node);
+	if (!match_id)
+		return -EINVAL;
+
+	err = of_property_read_u32(state_node, "entry-latency-us",
+						&entry_latency);
+	if (err) {
+		pr_debug(" * %s missing entry-latency-us property\n",
+						state_node->full_name);
+		return -EINVAL;
+	}
+
+	err = of_property_read_u32(state_node, "exit-latency-us",
+						&exit_latency);
+	if (err) {
+		pr_debug(" * %s missing exit-latency-us property\n",
+						state_node->full_name);
+		return -EINVAL;
+	}
+
+	err = of_property_read_u32(state_node, "min-residency-us", &residency);
+	if (!err)
+		genpd_state->residency_ns = 1000 * residency;
+
+	genpd_state->power_on_latency_ns = 1000 * exit_latency;
+	genpd_state->power_off_latency_ns = 1000 * entry_latency;
+
+	return 0;
+}
+
+/**
+ * of_genpd_parse_idle_states: Return array of idle states for the genpd.
+ *
+ * @dn: The genpd device node
+ * @states: The pointer to which the state array will be saved.
+ * @n: The count of elements in the array returned from this function.
+ *
+ * Returns the device states parsed from the OF node. The memory for the states
+ * is allocated by this function and is the responsibility of the caller to
+ * free the memory after use.
+ */
+int of_genpd_parse_idle_states(struct device_node *dn,
+			struct genpd_power_state **states, int *n)
+{
+	struct genpd_power_state *st;
+	struct device_node *np;
+	int i = 0;
+	int err, ret;
+	int count;
+	struct of_phandle_iterator it;
+
+	count = of_count_phandle_with_args(dn, "domain-idle-states", NULL);
+
+	st = kcalloc(count, sizeof(*st), GFP_KERNEL);
+	if (!st)
+		return -ENOMEM;
+
+	/* Loop over the phandles until all the requested entry is found */
+	of_for_each_phandle(&it, err, dn, "domain-idle-states", NULL, 0) {
+		np = of_node_get(it.node);
+		ret = genpd_parse_state(&st[i++], np);
+		if (ret) {
+			pr_err
+			("Parsing idle state node %s failed with err %d\n",
+							np->full_name, ret);
+			of_node_put(np);
+			goto fail;
+		}
+		of_node_put(np);
+	}
+
+	*n = count;
+	*states = st;
+
+	return 0;
+fail:
+	kfree(st);
+	return ret;
+}
+EXPORT_SYMBOL(of_genpd_parse_idle_states);
+
 #endif /* CONFIG_PM_GENERIC_DOMAINS_OF */
 
 
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index f4492eb..b489496 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -205,6 +205,8 @@ extern int of_genpd_add_device(struct of_phandle_args *args,
 extern int of_genpd_add_subdomain(struct of_phandle_args *parent,
 				  struct of_phandle_args *new_subdomain);
 extern struct generic_pm_domain *of_genpd_remove_last(struct device_node *np);
+extern int of_genpd_parse_idle_states(struct device_node *dn,
+			struct genpd_power_state **states, int *n);
 
 int genpd_dev_pm_attach(struct device *dev);
 #else /* !CONFIG_PM_GENERIC_DOMAINS_OF */
@@ -234,6 +236,12 @@ static inline int of_genpd_add_subdomain(struct of_phandle_args *parent,
 	return -ENODEV;
 }
 
+static inline int of_genpd_parse_idle_states(struct device_node *dn,
+			struct genpd_power_state **states, int *n)
+{
+	return -ENODEV;
+}
+
 static inline int genpd_dev_pm_attach(struct device *dev)
 {
 	return -ENODEV;
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 2/8] PM / Domain: Add residency property to genpd states
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Residency of a domain's idle state indicates that the minimum idle time
for the domain's idle state to be beneficial for power. Add the
parameter to the state node. Future patches, will use the residency
value in the genpd governor to determine if it is worth while to enter
an idle state.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 include/linux/pm_domain.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index de1d8f3..f4492eb 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -38,6 +38,7 @@ struct gpd_dev_ops {
 struct genpd_power_state {
 	s64 power_off_latency_ns;
 	s64 power_on_latency_ns;
+	s64 residency_ns;
 };
 
 struct generic_pm_domain {
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 1/8] PM / Domains: Make genpd state allocation dynamic
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <1475879821-8035-1-git-send-email-lina.iyer@linaro.org>

Allow PM Domain states to be defined dynamically by the drivers. This
removes the limitation on the maximum number of states possible for a
domain.

Cc: Axel Haslam <ahaslam+renesas@baylibre.com>
Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
---
 arch/arm/mach-imx/gpc.c     | 17 ++++++++++-------
 drivers/base/power/domain.c | 36 ++++++++++++++++++++++++------------
 include/linux/pm_domain.h   |  5 ++---
 3 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
index 0df062d..57a410b 100644
--- a/arch/arm/mach-imx/gpc.c
+++ b/arch/arm/mach-imx/gpc.c
@@ -380,13 +380,6 @@ static struct pu_domain imx6q_pu_domain = {
 		.name = "PU",
 		.power_off = imx6q_pm_pu_power_off,
 		.power_on = imx6q_pm_pu_power_on,
-		.states = {
-			[0] = {
-				.power_off_latency_ns = 25000,
-				.power_on_latency_ns = 2000000,
-			},
-		},
-		.state_count = 1,
 	},
 };
 
@@ -430,6 +423,16 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
 	if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
 		return 0;
 
+	imx6q_pu_domain.base.states = devm_kzalloc(dev,
+					sizeof(*imx6q_pu_domain.base.states),
+					GFP_KERNEL);
+	if (!imx6q_pu_domain.base.states)
+		return -ENOMEM;
+
+	imx6q_pu_domain.base.states[0].power_off_latency_ns = 25000;
+	imx6q_pu_domain.base.states[0].power_on_latency_ns = 2000000;
+	imx6q_pu_domain.base.state_count = 1;
+
 	pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
 	return of_genpd_add_provider_onecell(dev->of_node,
 					     &imx_gpc_onecell_data);
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index e023066..4e87170 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1282,6 +1282,21 @@ out:
 }
 EXPORT_SYMBOL_GPL(pm_genpd_remove_subdomain);
 
+static int genpd_set_default_power_state(struct generic_pm_domain *genpd)
+{
+	struct genpd_power_state *state;
+
+	state = kzalloc(sizeof(*state), GFP_KERNEL);
+	if (!state)
+		return -ENOMEM;
+
+	genpd->states = state;
+	genpd->state_count = 1;
+	genpd->free = state;
+
+	return 0;
+}
+
 /**
  * pm_genpd_init - Initialize a generic I/O PM domain object.
  * @genpd: PM domain object to initialize.
@@ -1293,6 +1308,8 @@ EXPORT_SYMBOL_GPL(pm_genpd_remove_subdomain);
 int pm_genpd_init(struct generic_pm_domain *genpd,
 		  struct dev_power_governor *gov, bool is_off)
 {
+	int ret;
+
 	if (IS_ERR_OR_NULL(genpd))
 		return -EINVAL;
 
@@ -1325,19 +1342,12 @@ int pm_genpd_init(struct generic_pm_domain *genpd,
 		genpd->dev_ops.start = pm_clk_resume;
 	}
 
-	if (genpd->state_idx >= GENPD_MAX_NUM_STATES) {
-		pr_warn("Initial state index out of bounds.\n");
-		genpd->state_idx = GENPD_MAX_NUM_STATES - 1;
-	}
-
-	if (genpd->state_count > GENPD_MAX_NUM_STATES) {
-		pr_warn("Limiting states to  %d\n", GENPD_MAX_NUM_STATES);
-		genpd->state_count = GENPD_MAX_NUM_STATES;
-	}
-
 	/* Use only one "off" state if there were no states declared */
-	if (genpd->state_count == 0)
-		genpd->state_count = 1;
+	if (genpd->state_count == 0) {
+		ret = genpd_set_default_power_state(genpd);
+		if (ret)
+			return ret;
+	}
 
 	mutex_lock(&gpd_list_lock);
 	list_add(&genpd->gpd_list_node, &gpd_list);
@@ -1374,6 +1384,8 @@ static int genpd_remove(struct generic_pm_domain *genpd)
 		kfree(link);
 	}
 
+	kfree(genpd->free);
+
 	list_del(&genpd->gpd_list_node);
 	mutex_unlock(&genpd->lock);
 	cancel_work_sync(&genpd->power_off_work);
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index a09fe5c..de1d8f3 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -19,8 +19,6 @@
 /* Defines used for the flags field in the struct generic_pm_domain */
 #define GENPD_FLAG_PM_CLK	(1U << 0) /* PM domain uses PM clk */
 
-#define GENPD_MAX_NUM_STATES	8 /* Number of possible low power states */
-
 enum gpd_status {
 	GPD_STATE_ACTIVE = 0,	/* PM domain is active */
 	GPD_STATE_POWER_OFF,	/* PM domain is off */
@@ -70,9 +68,10 @@ struct generic_pm_domain {
 	void (*detach_dev)(struct generic_pm_domain *domain,
 			   struct device *dev);
 	unsigned int flags;		/* Bit field of configs for genpd */
-	struct genpd_power_state states[GENPD_MAX_NUM_STATES];
+	struct genpd_power_state *states;
 	unsigned int state_count; /* number of states */
 	unsigned int state_idx; /* state that genpd will go to when off */
+	void *free; /* Free the state that was allocated for default */
 
 };
 
-- 
2.7.4

^ permalink raw reply related

* [PATCH v2 0/8] PM / Domains: DT support for domain idle states & atomic PM domains
From: Lina Iyer @ 2016-10-07 22:36 UTC (permalink / raw)
  To: linux-arm-kernel

Hi all,

Changes since v1 [2] - 
- Addressed review comments from v1.
	- Fixes around dynamic allocation of genpd states
	- Used OF method for iterating phandles
	- Updated documentation, examples
	- Rename state variable (provider -> fwnode)
- The series is available at [3].

The changes from [1] are -
- Allocating memory for domain idle states dynamically
- Conform to naming conventions for internal and exported genpd functions
- DT binding example for domain-idle-state
- Use fwnode instead of of_node
- Handle atomic case for removal of PM Domain
- Rebase on top of Rafael's pm/genpd tree

Thanks,
Lina

Lina Iyer (8):
  PM / Domains: Make genpd state allocation dynamic
  PM / Domain: Add residency property to genpd states
  PM / Domains: Allow domain power states to be read from DT
  PM / Domains: Save the fwnode in genpd_power_state
  dt/bindings: Update binding for PM domain idle states
  PM / Domains: Abstract genpd locking
  PM / Domains: Support IRQ safe PM domains
  PM / doc: Update device documentation for devices in IRQ safe PM
    domains

 .../devicetree/bindings/power/power_domain.txt     |  38 +++
 Documentation/power/devices.txt                    |   9 +-
 arch/arm/mach-imx/gpc.c                            |  17 +-
 drivers/base/power/domain.c                        | 360 +++++++++++++++++----
 include/linux/pm_domain.h                          |  28 +-
 5 files changed, 380 insertions(+), 72 deletions(-)

-- 
2.7.4

[1]. https://www.spinics.net/lists/arm-kernel/msg526814.html
[2]. http://www.spinics.net/lists/arm-kernel/msg535106.html
[3]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-v2

^ permalink raw reply

* [PATCH v4] Adding missing features of Coresight PTM components
From: Mathieu Poirier @ 2016-10-07 21:44 UTC (permalink / raw)
  To: linux-arm-kernel
In-Reply-To: <0b570076-08cb-c63a-7240-8c81d34fc383@centralesupelec.fr>

On 7 October 2016 at 06:16, Muhammad Abdul WAHAB
<muhammadabdul.wahab@centralesupelec.fr> wrote:
> In the current driver for Coresight components, two features of PTM
> components are missing:
>
> 1. Branch Broadcasting (present also in ETM but called Branch Output)
> 2. Return Stack (only present in PTM v1.0 and PTMv1.1)
>
> These features can be added simply to the code using `mode` field of
> `etm_config` struct.
>
> 1. **Branch Broadcast** : The branch broadcast feature is present in ETM
> components as well and is called Branch output. It allows to retrieve
> addresses for direct branch addresses alongside the indirect branch
> addresses. For example, it could be useful in cases when tracing without
> source code.
> 2. **Return Stack** : The return stack option allows to retrieve the return
> addresses of function calls. It can be useful to avoid CRA
> (Code Reuse Attacks) by keeping a shadowstack.
>
> Signed-off-by: Muhammad Abdul Wahab <muhammadabdul.wahab@centralesupelec.fr>
> ---
> change(s) in v4 :
>         - syntax error correction (sorry did not compile after 1st version
> but did compile it before sending it this time)
>
> drivers/hwtracing/coresight/coresight-etm.h         |  5 +++++
>  drivers/hwtracing/coresight/coresight-etm3x-sysfs.c | 10 ++++++++++
>  2 files changed, 15 insertions(+)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm.h
> b/drivers/hwtracing/coresight/coresight-etm.h
> index 4a18ee4..ad063d7 100644
> --- a/drivers/hwtracing/coresight/coresight-etm.h
> +++ b/drivers/hwtracing/coresight/coresight-etm.h
> @@ -89,11 +89,13 @@
>  /* ETMCR - 0x00 */
>  #define ETMCR_PWD_DWN          BIT(0)
>  #define ETMCR_STALL_MODE       BIT(7)
> +#define ETMCR_BRANCH_BROADCAST BIT(8)
>  #define ETMCR_ETM_PRG          BIT(10)
>  #define ETMCR_ETM_EN           BIT(11)
>  #define ETMCR_CYC_ACC          BIT(12)
>  #define ETMCR_CTXID_SIZE       (BIT(14)|BIT(15))
>  #define ETMCR_TIMESTAMP_EN     BIT(28)
> +#define ETMCR_RETURN_STACK     BIT(29)
>  /* ETMCCR - 0x04 */
>  #define ETMCCR_FIFOFULL                BIT(23)
>  /* ETMPDCR - 0x310 */
> @@ -110,8 +112,11 @@
>  #define ETM_MODE_STALL         BIT(2)
>  #define ETM_MODE_TIMESTAMP     BIT(3)
>  #define ETM_MODE_CTXID         BIT(4)
> +#define ETM_MODE_BBROAD                BIT(5)
> +#define ETM_MODE_RET_STACK     BIT(6)
>  #define ETM_MODE_ALL           (ETM_MODE_EXCLUDE | ETM_MODE_CYCACC | \
>                                  ETM_MODE_STALL | ETM_MODE_TIMESTAMP | \
> +                                ETM_MODE_BBROAD | ETM_MODE_RET_STACK | \
>                                  ETM_MODE_CTXID | ETM_MODE_EXCL_KERN | \
>                                  ETM_MODE_EXCL_USER)
>
> diff --git a/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> b/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> index e9b0719..7308304 100644
> --- a/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> +++ b/drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
> @@ -164,6 +164,16 @@ static ssize_t mode_store(struct device *dev,
>         else
>                 config->ctrl &= ~ETMCR_CTXID_SIZE;
>
> +       if (config->mode & ETM_MODE_BBROAD)
> +               config->ctrl |= ETMCR_BRANCH_BROADCAST;
> +       else
> +               config->ctrl &= ~ETMCR_BRANCH_BROADCAST;
> +
> +       if (config->mode & ETM_MODE_RET_STACK)
> +               config->ctrl |= ETMCR_RETURN_STACK;
> +       else
> +               config->ctrl &= ~ETMCR_RETURN_STACK;
> +
>         if (config->mode & (ETM_MODE_EXCL_KERN | ETM_MODE_EXCL_USER))
>                 etm_config_trace_mode(config);

Applied.

Thanks,
Mathieu

>
> --
> 1.9.1

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox