Merge tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Merge "Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman:

* Add VIN support to lager/r8a7790, koelsch/r8a7791 and henninger/r8a7791
* Enable DMA for MSIOF and QSPI on r8a7790 and r8a7791

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: lager: add VIN1/ADV7180 device nodes
  ARM: shmobile: r8a7790: add VIN device nodes
  ARM: shmobile: r8a7790 dtsi: Enable DMA for MSIOF
  ARM: shmobile: r8a7790 dtsi: Enable DMA for QSPI
  ARM: shmobile: r8a7791 dtsi: Enable DMA for MSIOF
  ARM: shmobile: r8a7791 dtsi: Enable DMA for QSPI
  ARM: shmobile: r8a7791: Add DMAC devices to DT
  ARM: shmobile: r8a7790: Add DMAC devices to DT
  ARM: shmobile: r8a7790: Add DMAC clocks to DT
  ARM: shmobile: koelsch: add VIN1/ADV7180 DT support
  ARM: shmobile: henninger: add VIN0/ADV7180 DT support
  ARM: shmobile: r8a7791: add VIN DT support

[ upstream commit: 085b5d6faac39e2d04bcb67d728aa29d03d1a5f8 ]
Merge tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Merge "Second Round Of Renesas ARM Based SoC DT Updates For v3.18" from Simon Horman:

* Tidy up interrupt-parents
* Add clocks register defines for r8a7740 SoC
* Add JPU clock to r8a7791 and r8a7790 SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: sh73a0 dtsi: Move interrupt-parent to the top
  ARM: shmobile: r8a7791 dtsi: Remove superfluous interrupt-parent
  ARM: shmobile: r8a7790 dtsi: Remove superfluous interrupt-parent
  ARM: shmobile: r8a7779 dtsi: Remove superfluous interrupt-parent
  ARM: shmobile: r8a7740: clock register bits
  ARM: shmobile: r8a7791: Add JPU clock dt and CPG define.
  ARM: shmobile: r8a7790: Add JPU clock dt and CPG define.

[ upstream commit: f60e660c5adf9af09d2143d6fe1f0f184fb3733d ]
Merge tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Merge "Third Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman:

* Use tabs for indentation in kzm9g-reference and r8a7779 DTS(I) files
* Add platform device tree bindings documentation
* Add SoC-specific thermal compatible property to r8a73a4 and r8a7779

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference dts: Use tabs for indentation
  ARM: shmobile: r8a7779 dtsi: Use tabs for indentation
  ARM: shmobile: Add platform device tree bindings documentation
  ARM: shmobile: r8a73a4 dtsi: Add SoC-specific thermal compatible property
  ARM: shmobile: r8a7779 dtsi: Add SoC-specific thermal compatible property

[ upstream commit: d5f97a2ce9a9fc8ef3fdb366b01c8b4d2d38332a ]
Merge tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/fixes-non-critical

Merge "Renesas ARM Based SoC Maintainers Updates for v3.18" from Simon Horman:

* Remove genmai_defconfig from MAINTAINERS
  genmai_defconfig was removed in v3.17-rc1.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove genmai_defconfig from MAINTAINERS

[ upstream commit: 8013e8c7117d9d54e84d80480b105f80603d9945 ]
Merge tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Pull "Renesas ARM Based SoC Kconfig Cleanups for v3.18" from Simon Horman:

* Update name of "R-Car M2-W" SoC (previously there was no "-W")
* Consolidate Legacy SH_CLK_CPG and CPU_V7 Kconfig
* Only select PM_RMOBILE for legacy case
* Cleanup pm-rcar.o and pm-rmobile.o build using Kconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7791 is now called "R-Car M2-W"
  ARM: shmobile: Consolidate Legacy SH_CLK_CPG Kconfig
  ARM: shmobile: Consolidate Legacy CPU_V7 Kconfig
  ARM: shmobile: Only select PM_RMOBILE for legacy case
  ARM: shmobile: Cleanup pm-rmobile.o build using Kconfig
  ARM: shmobile: Cleanup pm-rcar.o build using Kconfig
  ARM: shmobile: Introduce a Kconfig entry for R-Car Gen2
  ARM: shmobile: Introduce a Kconfig entry for R-Car Gen1
  ARM: shmobile: Introduce a Kconfig entry for R-Mobile

Includes an update to 3.17-rc2 to avoid a dependency

[ upstream commit: 184df9ddaab4a572e61b321abc079ca49155fc12 ]
Merge tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig

Pull "Renesas ARM Based SoC Defconfig Updates for v3.18" from Simon Horman:

Third Round of Renesas ARM Based SoC Defconfig Updates for v3.18

* Enable Armadillo 800 EVA board in multiplatform defconfig

Second Round Of Renesas ARM Based SoC Defconfig Updates For v3.18

* Do not disable SUSPEND in Bockw defconfig
  - Suspend to ram is now supported

Renesas ARM Based SoC Defconfig Updates for v3.18

* Enable initrd in shmobile defconfig
* Enable missing hardware support in shmobile and several board defconfigs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable Armadillo 800 EVA board in multiplatform defconfig
  ARM: shmobile: bockw: Do not disable SUSPEND in defconfig
  ARM: shmobile: defconfig: enable initrd
  ARM: shmobile: marzen_defconfig: Enable missing hardware support
  ARM: shmobile: lager_defconfig: Enable missing hardware support
  ARM: shmobile: kzm9g_defconfig: Enable missing hardware support
  ARM: shmobile: koelsch_defconfig: Enable missing hardware support
  ARM: shmobile: bockw_defconfig: Enable missing hardware support
  ARM: shmobile: ape6evm_defconfig: Enable missing hardware support
  ARM: shmobile: shmobile_defconfig: Enable missing hardware support

[ upstream commit: b509b5e40e0a3ce39ced2187fb3ab34d10921080 ]
Merge tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Updates for v3.18" from Simon Horman:

* Remove unnecessary nr_irqs initialisation on sh73a0, sh7372,
  and r8a7779 SoCs
* Use defines hardcoded numbers for DMA
* Rework multiplatform include workaround
* Correctly use shmobile_init_late on a wider range of SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization
  ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization
  ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY
  ARM: shmobile: dma: Use defines instead of hardcoded numbers
  ARM: shmobile: Rework multiplatform include workaround
  ARM: shmobile: r7s72100: Add shmobile_init_late()
  ARM: shmobile: r8a73a4: Add shmobile_init_late()
  ARM: shmobile: r8a7778: Fix shmobile_init_late()
  ARM: shmobile: r8a7779: Fix shmobile_init_late()
  ARM: shmobile: sh73a0: Add shmobile_init_late()
  ARM: shmobile: r8a7778: Add missing call to shmobile_init_late()

[ upstream commit: a6fff11391e7bf170ed803d2786df4cb34258546 ]
Merge tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Init Delay Updates For v3.18" from Simon Horman:

* Use shmobile_init_delay across a wider range of SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g: Use shmobile_init_delay()
  ARM: shmobile: bockw: Use shmobile_init_delay()
  ARM: shmobile: r8a7778: Use shmobile_init_delay()
  ARM: shmobile: sh73a0: Use shmobile_init_delay()
  ARM: shmobile: Remove shmobile_setup_delay()
  ARM: shmobile: r8a73a4: Use shmobile_init_delay()
  ARM: shmobile: sh7372: Use shmobile_init_delay()
  ARM: shmobile: r8a7778: Update DTS to include CPU frequency
  ARM: shmobile: sh73a0: Update DTS to include CPU frequency
  ARM: shmobile: sh7372: Update DTS to include CPU frequency
  ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization
  ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization
  ARM: shmobile: marzen: Remove NR_IRQS_LEGACY
  ARM: shmobile: ape6evm: Use shmobile_init_delay()
  ARM: shmobile: ape6evm: Add shmobile_init_late()
  ARM: shmobile: bockw: Add shmobile_init_late()
  ARM: shmobile: marzen: Add shmobile_init_late()
  ARM: shmobile: kzm9g: Add shmobile_init_late()

[ upstream commit: 5fdebdc959d7a8a6f37c4252806e0973093f7ec8 ]
Merge branch 'pci/host-designware' into pci/host-imx6

* pci/host-designware:
  PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init()
  PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus()
  PCI: designware: Parse bus-range property from devicetree
  PCI: designware: Add support for v3.65 hardware

[ upstream commit: c346a54a6f5a68eb4d9e97b69c3905fbda34d0fc ]
Merge tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Second Round Of Renesas ARM Based SoC Updates For v3.18" from Simon Horman:

* Move legacy INTC definitions from irqs.h to intc.h
* Remove duplicate CPUFreq bits on r8a73a0/ape6evm

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h
  ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits
  ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits

[ upstream commit: 59255f4de51e325571d23c8f6f5046069630619f ]
Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18" from Simon Horman:

When booting using the r8a7740/armadillo800eva using dt-reference:
* Use CCF to initialise clocks via DT
* Initialise timers via DT

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt
  ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt()
  ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree
  ARM: shmobile: r8a7740: Add CMT1 device to DT
  ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS
  ARM: shmobile: r8a7740: add MSTP clock assignments to DT
  ARM: shmobile: r8a7740: add SoC clocks to DTS
  ARM: shmobile: r8a7740: clock register bits

[ upstream commit: e0ace5fc33e2046e83b0ebbe03b7489eabd6cc03 ]
Merge tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman:

* Enable timers using DT when booting boards without Legacy-C code

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: genmai-reference: Enable MTU2 in device tree
  ARM: shmobile: r7s72100: Add MTU2 device to DT
  ARM: shmobile: marzen-reference: Enable TMU0 in device tree
  ARM: shmobile: koelsch-reference: Enable CMT0 in device tree
  ARM: shmobile: lager-reference: Enable CMT0 in device tree
  ARM: shmobile: r8a7779: Add TMU devices to DT
  ARM: shmobile: r8a7791: Add CMT devices to DT
  ARM: shmobile: r8a7790: Add CMT devices to DT

Conflicts:
	arch/arm/mach-shmobile/setup-r8a7779.c

[ upstream commit: 09d12ad7936df431ecbf0faf2b81c56cc4bb6392 ]
Merge tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Cleanup Updates for v3.18" from Simon Horman:

* Remove Genmai board code

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

* tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r7s72100: Remove legacy board support
  ARM: shmobile: r7s72100: genmai: Remove legacy board file
  ARM: shmobile: r7s72100: genmai: Remove reference board file

[ upstream commit: 013c5b4e6611746725cbcc0c39922d36d2968d50 ]
usb: dwc3: dwc3-st: Add st-dwc3 devicetree bindings documentation

This patch documents the device tree documentation required for
the ST usb3 controller glue layer found in STiH407 devices.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>

[ upstream commit: f9031449269257868be17d4516a29890b469625b ]
usb: renesas_usbhs: Add device tree bindings documentation

Document the device tree bindings for the Renesas USBHS controller.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>

[ upstream commit: 630a84a1819e8cd42974c66cbfb79549db70b694 ]
Merge branches 'pci/misc', 'pci/pm', 'pci/host-designware', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-tegra' and 'pci/host-xilinx' into next

* pci/misc:
  PCI/AER: Make <linux/aer.h> standalone includable
  PCI: Remove unnecessary variable in pci_add_dynid()

* pci/pm:
  PCI/PM: Allow PCI devices to be put into D3cold during system suspend
  PCI/PM: Drop unused runtime PM support code for PCIe ports

* pci/host-designware:
  PCI: designware: Check private_data validity in single place
  PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init()
  PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus()
  PCI: designware: Parse bus-range property from devicetree
  PCI: designware: Add support for v3.65 hardware

* pci/host-imx6:
  PCI: imx6: Probe in module_init(), not fs_initcall()
  PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init()
  PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus()
  PCI: designware: Parse bus-range property from devicetree
  PCI: imx6: Put LTSSM in "Detect" state before disabling it
  MAINTAINERS: Add Lucas Stach as co-maintainer for i.MX6 PCI driver
  PCI: designware: Add support for v3.65 hardware

* pci/host-keystone:
  PCI: keystone: Add TI Keystone PCIe driver
  PCI: designware: Add support for v3.65 hardware

* pci/host-tegra:
  PCI: tegra: Implement a proper resource hierarchy
  PCI: tegra: Add missing cleanup in error path and tegra_msi_teardown_irq()
  resources: Add device-managed request/release_resource()

* pci/host-xilinx:
  PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver

Conflicts:
	drivers/pci/host/Kconfig
	drivers/pci/host/Makefile

[ upstream commit: a2351efeb3b4e11a97117e048027a9d09855d309 ]
ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi

These labels will be used by other boards in addition to Venice2, move
them to tegra124.dtsi so they are defined in a common place.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>

[ upstream commit: edfbad068bde82ef228c551569ae4eabeacaf9a6 ]
ARM: tegra: add Acer Chromebook 13 device tree

The Acer Chromebook 13, codenamed Big, contains an NVIDIA tegra124
processor and is similar to the Venice2 reference platform.

The keyboard, USB 2, audio, sdcard and emmc have been tested
and work on the 1366x768 models. The Full HD models haven't been
tested yet.

WiFi does not yet work, it needs at least some PMIC changes to enable
the 32k clock.

The elan trackpad is not yet functional but hopefully will be soon as
there are patches under review.

There is also an issue on reboot because the TPM isn't reset.  It will
cause the stock firmware to enter recovery mode.  This can be worked
around by an EC-reset, press the refresh and power keys at the same
time.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>

[ upstream commit: eb481f9ac95cc9350436311036e3a513e1993430 ]
ARM: tegra: rely on bootloader pinmux programming on Tegra124

The defined mechanism for programming the Tegra pinmux is to perform all
of the following at once in order, before using any I/O controller that
is affected by the pinmux:

- Set the CLAMP_INPUTS_WHEN_TRISTATED PMC register bit.
- Set up any GPIO pins to their "initial" state.
- Program all pinmux settings in one go.

Other methods such as:

- Not setting CLAMP_INPUTS_WHEN_TRISTATED.
- Not setting GPIOs to their "initial" state before programming the
  pinmux settings of the related pin, in particular the mux function.
- Not programming the entire pinmux at once, in order to avoid
  possible conflicting settings.

... are not qualified or supported by NVIDIA ASIC/syseng. They could
cause glitches or undesired output levels on some pins, or controller
malfunction.

While we've been getting away with doing something different on many
Tegra boards without issue, I believe we've just been getting lucky.
I'd like to switch all Tegra124 systems to the correct scheme now so
they provide the right example to follow, and require that any new
boards we support upstream work in the same fashion.

While it would be nice to update boards containing older SoCs for
consistency, I don't anticipate doing so. It's too much churn to change
at this time. At least with all Tegra124 boards converted, the most
recent boards provide the correct example.

Since the bootloader needs to reprogram the pinmux to access certain
peripherals, it must program the entire pinmux due to the supported
rules above. As such, there is no need to program any part of the pinmux
from the kernel, unless dynamic pinmuxing is used. Given this, we couuld
simply remove the pinmux "default" state from the DT entirely. However,
some bootloaders parse the DT to perform their initial pinmux setup, so
it's useful to keep the pinmux data in DT. To allow this while avoiding
redundant work in the kernel, rename the "default" state to "boot". The
kernel won't apply this, but bootloaders can still look for this state
name and apply it. Note however that the DT provides zero information
about the required initial GPIO setup, so bootloaders using this approach
are not likely to operate correctly without an additional GPIO
initialization table somewhere. Previous discussions on the DT mailing
list have rejected adding such a table to DT...

The following U-Boot commits fully initialize the pinmux:

Jetson TK1: 4ff213b8e478 ARM: tegra: clamp inputs on Jetson TK1
Venice2: 3365479ce78a ARM: tegra: Venice2 pinmux spreadsheet updates
Both are part of U-Boot v2014.07 and later.

Without those commits, the only fallout I see from this change is that
HDMI on Venice2 no longer works. Given the very small user-base of this
platform, I feel that requiring a bootloader update is reasonable.

Signed-off-by: Stephen Warren <swarren@nvidia.com>

[ upstream commit: 6dbaff2bfb2ab0cf5590b193ca6ba52b8990a919 ]
Merge branch 'rx_copybreak'

Govindarajulu Varadarajan says:

====================
enic: Add support for rx_copybreak

The following series implements rx_copybreak.

dma_map_single()/dma_unmap_single() is more expensive than alloc_skb & memcpy
for smaller packets. By doing this we can reuse the dma buff which is already
mapped. This is very useful when iommu is on. The default skb copybreak value
is 256.

When iommu is on, we can go much higher than 256. All the drivers that supports
rx_copybreak provides module parameter to change this value. Since module
parameter is the least preferred way for changing driver values, this series
adds ethtool support for setting rx_copybreak.

v4:
Validate tunable length in ethtool_get_tunable, not in driver implemented
function.

Loose tunable_ops array for each tunable type. Define one function and let the
driver use switch case for each type.

Use double underscore for data type in UAPI headers.
Use const qualifier where possible.

v3:
Add tunable namespace to ethtool. Use new ethtool cmd ETHTOOL_S/GTUNABLE to
set/get rx_copybreak from userspace.

v2:
Add new ethtool_cmd for DMA buffer parameters, instead of adding new members to
existing ethtool_ringparam.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

[ upstream commit: b52b727594f0a1433039e7afe389d07075152548 ]