Commit Graph

44876 Commits

Author SHA1 Message Date
Jan Luebbe
72a582e602 ARM: mxs_defconfig: Cleanup mxs_defconfig
Regenerate mxs_defconfig by running:
make mxs_defconfig
- Manually disable EXT2_FS and EXT3_FS
make savedefconfig
mv defconfig arch/arm/configs/mxs_defconfig

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-29 10:44:03 +08:00
Philipp Zabel
d2443b2e61 ARM: imx: Make reset_control_ops const
The imx_src_ops structure is never modified. Make it const.

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-29 10:37:44 +08:00
Arnd Bergmann
7aec2fd74a Revert "arm: dts: Add pinctrl/GPIO/EINT node for mt2701"
This reverts commit 8ba671efdb.

As reported by kbuild test robot <fengguang.wu@intel.com>:

   In file included from arch/arm/boot/dts/mt2701-evb.dts:16:0:
>> arch/arm/boot/dts/mt2701.dtsi:18:28: fatal error: mt2701-pinfunc.h: No such file or directory
    #include "mt2701-pinfunc.h"
                               ^

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-28 22:20:36 +01:00
Linus Torvalds
f055ae04ae Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Thomas Gleixner:
 "Four small fixes for irqchip drivers:

   - Add missing low level irq handler initialization on mxs, so
     interrupts can acutally be delivered

   - Add a missing barrier to the GIC driver

   - Two fixes for the GIC-V3-ITS driver, addressing a double EOI write
     and a cache flush beyond the actual region"

* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/gic-v3: Add missing barrier to 32bit version of gic_read_iar()
  irqchip/mxs: Add missing set_handle_irq()
  irqchip/gicv3-its: Avoid cache flush beyond ITS_BASERn memory size
  irqchip/gic-v3-its: Fix double ICC_EOIR write for LPI in EOImode==1
2016-02-28 07:45:58 -08:00
Dirk Behme
bc3d8ede3a ARM: imx: Do L2 errata only if the L2 cache isn't enabled
All the generic L2 cache handling code is encapsulated by a
check if the L2 cache is enabled. If it's enabled already, the code
is skipped. The write to the L2-Cache controller from non-secure
world causes an imprecise external abort. This is needed in
scenarios where one of the cores runs an other OS, e.g. an RTOS.

For the i.MX6 specific L2 cache handling we missed this check.
Add it.

Signed-off-by: Marcel Grosshans <MarcelViktor.Grosshans@de.bosch.com>
Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-28 15:55:26 +08:00
Arnd Bergmann
b4042a4c01 ARM: imx: select ARM_CPU_SUSPEND only for imx6
i.MX only needs to select ARM_CPU_SUSPEND manually for the
very specific case that CONFIG_PM_SLEEP is disabled and imx6
is used with CONFIG_PM enabled for runtime PM.

If we are building a kernel only for CPUs that are not using
the cpu_suspend() helper, we otherwise get a harmless
build warning:

warning: (ARCH_MXC && SOC_IMX23 && SOC_IMX28 && ARCH_PXA && MACH_MVEBU_V7 && ARCH_OMAP3 && ARCH_OMAP4 && SOC_OMAP5 && SOC_AM33XX && SOC_DRA7XX && ARCH_EXYNOS3 && ARCH_EXYNOS4 && EXYNOS5420_MCPM &&
EXYNOS_CPU_SUSPEND && ARCH_VEXPRESS_TC2_PM && ARM_BIG_LITTLE_CPUIDLE && ARM_HIGHBANK_CPUIDLE && QCOM_PM) selects ARM_CPU_SUSPEND which has unmet direct dependencies (ARCH_SUSPEND_POSSIBLE)

This moves the option to the SOC_IMX6 option that actually
requires it, in effect reverting commit f36b594f37 ("ARM:
mach-imx: Select ARM_CPU_SUSPEND at ARCH_MXC level") that was
meant as a cleanup and unintentionally caused this warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-28 11:18:27 +08:00
Linus Torvalds
340b3a5b35 ARM: SoC fixes
We didn't have a batch last week, so this one is slightly larger.
 
 None of them are scary though, a handful of fixes for small DT pieces,
 replacing properties with newer conventions.
 
 Highlights:
 
  - N900 fix for setting system revision
  - onenand init fix to avoid filesystem corruption
  - Clock fix for audio on Beaglebone-x15
  - Fixes on shmobile to deal with CONFIG_DEBUG_RODATA (default y in 4.6)
 
  + misc smaller stuff.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJW0jMpAAoJEIwa5zzehBx3nGgP/3wlhTrIyFWTu2Oa3s+0dwFJ
 nXNcHc/7egzRlcPZ/dWfyrQfVC4/Zko7tI+76vJ8vSZ5oZ+la6CC1ZymlVpxUo9y
 mF8wyFnRU5sc5yeSSNH91RzJg2fSJWvcUJ/5zeUBkjKLc1AEAfyMXEjxDHptDI/L
 s+/JRqhrF8xsnfBymSW2mW6u34Sxn76dVsofWNrSCge/+kVAM4km/PDneWKz/14Q
 oLY9eFl6b0O5DJ/+5OSME0pnnRnJC/eD5+HYQSBIu3+RKgP5CH+xQDNeqf0GIdlI
 7Y0cKbjFxT5fXfvE4KOKQuLKgAzCSRe1PwuJ8MTDE73kWsUAWN8McWkCYtCSufxU
 KSPlgjfO1xWoSkVneK3NzcRWJoi6Ev0lZ0s6HuMvZJAoce9XrcIbZRQ7CP3Iu3Oj
 iC8GxIgHyIJV95XABpliH5IVTRERTbXIOgR82dKQPxLU6cbCRbFs/GU2v7JQEjOS
 exJDM5R08SSBC8MRxvWp09pwcfO44XIkQu4pdRJfpaFVwJYejTYOUDVYCcCg3s9O
 ApXzQj6/A0QMnp1SAvPHbc3LqLq5mTzvt1j59TNA8Q0O4U4r20CBF+D7lb9KMlu/
 GyJ2wSsxCwnBDVWDPtXGdE3z/K81H7nPRBzuL0dM80cF5gQNglOdAN47UoD/bBP6
 1pR5h9K92LbV5NiToyPY
 =xeuW
 -----END PGP SIGNATURE-----

Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc

Pull ARM SoC fixes from Olof Johansson:
 "We didn't have a batch last week, so this one is slightly larger.

  None of them are scary though, a handful of fixes for small DT pieces,
  replacing properties with newer conventions.

  Highlights:
   - N900 fix for setting system revision
   - onenand init fix to avoid filesystem corruption
   - Clock fix for audio on Beaglebone-x15
   - Fixes on shmobile to deal with CONFIG_DEBUG_RODATA (default y in 4.6)

  + misc smaller stuff"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  MAINTAINERS: Extend info, add wiki and ml for meson arch
  MAINTAINERS: alpine: add a new maintainer and update the entry
  ARM: at91/dt: fix typo in sama5d2 pinmux descriptions
  ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
  Revert "regulator: tps65217: remove tps65217.dtsi file"
  ARM: shmobile: Remove shmobile_boot_arg
  ARM: shmobile: Move shmobile_smp_{mpidr, fn, arg}[] from .text to .bss
  ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
  ARM: shmobile: Move shmobile_scu_base from .text to .bss
  ARM: OMAP2+: Fix omap_device for module reload on PM runtime forbid
  ARM: OMAP2+: Improve omap_device error for driver writers
  ARM: DTS: am57xx-beagle-x15: Select SYS_CLK2 for audio clocks
  ARM: dts: am335x/am57xx: replace gpio-key,wakeup with wakeup-source property
  ARM: OMAP2+: Set system_rev from ATAGS for n900
  ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
  ARM: dts: kirkwood: use unique machine name for ds112
  ARM: dts: imx6: remove bogus interrupt-parent from CAAM node
2016-02-27 16:58:32 -08:00
Daniel Cashman
5ef11c35ce mm: ASLR: use get_random_long()
Replace calls to get_random_int() followed by a cast to (unsigned long)
with calls to get_random_long().  Also address shifting bug which, in
case of x86 removed entropy mask for mmap_rnd_bits values > 31 bits.

Signed-off-by: Daniel Cashman <dcashman@android.com>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: David S. Miller <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Nick Kralevich <nnk@google.com>
Cc: Jeff Vander Stoep <jeffv@google.com>
Cc: Mark Salyzyn <salyzyn@android.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-02-27 10:28:52 -08:00
Arnd Bergmann
ba923b5ee6 Merge tag 'arm-soc/for-4.6/defconfig' of http://github.com/Broadcom/stblinux into next/defconfig
Merge "Broadcom defconfig changes for 4.6" from Florian Fainelli:

This pull request contains defconfig changes for Broadcom ARM-based SoCs:

- Daniel enables all that is required to get the BCM283x (Raspberry Pi and
  Raspberry Pi 2) SoCs to boot with multi_v7_defconfig

- Stefan enables the Raspberry Pi firmware driver and power domain drivers
  in bcm2835_defconfig

- Stephen refreshes the bcm2835_defconfig, disables DEBUG_LL, and turns on
  ARMv7 support which is needed for BCM2836 (Raspberry Pi 2)

* tag 'arm-soc/for-4.6/defconfig' of http://github.com/Broadcom/stblinux:
  ARM: multi_v7_defconfig: Enable BCM283x
  ARM: bcm2835_defconfig: Enable RPi power domain driver
  ARM: bcm2835_defconfig: Enable RPi firmware driver
  ARM: bcm2835_defconfig: enable ARMv7 support
  ARM: bcm2835_defconfig: disable DEBUG_LL
  ARM: bcm2835_defconfig: rebuild on next-20160205
2016-02-26 23:34:17 +01:00
Robert Jarzmik
07c6b2d01d ARM: dts: pxa: fix dma engine node to pxa3xx-nand
Since the switch from mmp_pdma to pxa_dma driver for pxa architectures,
the pxa_dma requires 2 arguments, namely the requestor line and the
requested priority.

Fix the only left device node which was still passing only one argument,
making the pxa3xx-nand driver misbehave in a device-tree configuration,
ie. failing all data transfers.

Fixes: c943646d1f ("ARM: dts: pxa: add dma engine node to pxa3xx-nand")
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2016-02-26 23:30:29 +01:00
Arnd Bergmann
240b1c6e51 Merge tag 'arm-soc/for-4.6/devicetree' of http://github.com/Broadcom/stblinux into next/dt
Merge "Broadcom devicetree changes for 4.6" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoCs Device Tree changes:

- Rafal adds a Device Tree for the D-Link DIR-885L router which is based on the
  BCM47094 SoC similar to the BCM4709

- Simran adds proper audio clock Device Tree nodes to the Cygnus platforms

- Martin adds the auxiliary SPI controllers, makes the UART naming convention
  more standard, and finally adds the auxiliary UART found in the BCM2835 to the
  BCM2835 Device Tree

- Remi adds PWM clock support to the BCM2835 Device Tree

- Lubomir adds a Device Tree for the Raspberry Pi Model A

- Alexander adds Device Tree information for the Raspberry Pi USB power domain

- Dhananjay enables the GPIO-A controller for the Northstar Plus SoCs

- Jon fixes the PCIE Device Tree nodes by pulling them out of the bus-level node,
  removes duplicate CPU definitions, adds PMU nodes, SP804 timers, and SP805 watchdog
  to the Northstar Plus SoCs

* tag 'arm-soc/for-4.6/devicetree' of http://github.com/Broadcom/stblinux:
  ARM: bcm2835: add bcm2835-aux-uart support to DT
  ARM: dts: NSP: Add SP805 Support to DT
  ARM: dts: NSP: Add SP804 Support to DT
  ARM: dts: NSP: Add PMU Support to DT
  ARM: dts: NSP: Fix CPU DT issue
  ARM: dts: NSP: Fix PCIE DT issue
  ARM: dts: enable GPIO-a for Broadcom NSP
  ARM: bcm2835: Add the Raspberry Pi power domain driver to the DT.
  ARM: bcm2835: dt: Add Raspberry Pi Model A
  ARM: bcm2835: follow dt uart node-naming convention
  ARM: bcm2835: Add PWM clock support to the device tree
  ARM: bcm2835: add the auxiliary spi1 and spi2 to the device tree
  ARM: dts: Add audio clock to the existing Broadcom Cygnus clock DT
  ARM: BCM5301X: Add DT for D-Link DIR-885L
2016-02-26 23:25:43 +01:00
Arnd Bergmann
e4f61eeb17 Merge tag 'arm-soc/for-4.6/soc' of http://github.com/Broadcom/stblinux into next/soc
Merge "Broadcom soc changes for 4.6" from Florian Fainelli:

This pull request contains Broadcom ARM-based SoC/platform changes:

- Masahiro updates the Broadcom Northstar Plus SMP operations to be annotated
  with const and __initconst

- Florian removes an unused variable in the Broadcom BCM63XX SMP code

* tag 'arm-soc/for-4.6/soc' of http://github.com/Broadcom/stblinux:
  ARM: BCM63xx: Remove unused pmb_dn variable
  ARM: bcm: use const and __initconst for smp_operations
2016-02-26 23:16:08 +01:00
Antoine Tenart
ac037ee0d0 ARM: dts: alpine: add the MSIX node
With the newly available MSIX driver for Alpine, add the corresponding
node in the Alpine device tree.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:57:46 +01:00
Antoine Tenart
7410bf1b69 ARM: alpine: select the Alpine MSI controller driver
Select the Alpine MSI controller driver when using an Alpine platform.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Tsahee Zidenberg <tsahee@annapurnalabs.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:57:22 +01:00
Robert Jarzmik
72b195cb71 ARM: pxa: add the number of DMA requestor lines
Declare the number of DMA requestor lines per platform :
 - for pxa25x: 40 requestor lines
 - for pxa27x: 75 requestor lines
 - for pxa3xx: 100 requestor lines

This information will be used to activate the DMA flow control or not.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2016-02-26 22:57:05 +01:00
Arnd Bergmann
e7ada8dfd5 arm: Xilinx Zynq patches for v4.6
- SLCR early init
 - Fix L2 cache data corruption
 - Fix early printk uart setting
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlbO/kIACgkQykllyylKDCE55wCdEI40Q6+gUEa4ZEH2Pkl2LqK7
 e/oAn23veiR4MaMZb3jKVLp1Lzt83x1B
 =qI6y
 -----END PGP SIGNATURE-----

Merge tag 'zynq-soc-for-4.6' of https://github.com/Xilinx/linux-xlnx into next/soc

Merge "ARM: Xilinx Zynq patches for v4.6" from Michal Simek:

- SLCR early init
- Fix L2 cache data corruption
- Fix early printk uart setting

* tag 'zynq-soc-for-4.6' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Move early printk virtual address to vmalloc area
  ARM: zynq: address L2 cache data corruption
  ARM: zynq: initialize slcr mapping earlier
2016-02-26 22:54:53 +01:00
Arnd Bergmann
b880bf09ab arm: Xilinx Zynq dt patches for v4.5
- Add usb phy for Zybo
 - Use earlycon instead of earlyprintk
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlbO/9UACgkQykllyylKDCFjEgCfSoTvDPwTkqsS43k3L0+gKeZi
 2isAoJWtW+aNm6uWRHrB/geQ/yrAdnZJ
 =UKeU
 -----END PGP SIGNATURE-----

Merge tag 'zynq-dt-for-4.6' of https://github.com/Xilinx/linux-xlnx into next/dt

Merge "ARM: Xilinx Zynq dt patches for v4.6" from Michal Simek

- Add usb phy for Zybo
- Use earlycon instead of earlyprintk

* tag 'zynq-dt-for-4.6' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Use earlycon instead of earlyprintk
  ARM: dts: zynq: Enable USB and USB PHY for ZYBO
2016-02-26 22:49:23 +01:00
Arnd Bergmann
8be31869ee ARM: DTS: Add new bindings for K2G and the K2G evm
K2G SoC family is the newest version of the Keystone family of processors.
 
 The technical reference manual for K2G can be found here:
 http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIbBAABAgAGBQJWzzpUAAoJEHJsHOdBp5c/R6UP9AwtZO3ylEPWdJ2AvWwPO9R1
 r7y73jGvKSwPZSVaF1VcyMgcdiNicczjrNH2WY7rLpbP+SlnsksUMEJLmt0TzEfj
 I/hgh0WDOWGIwXZbg2RKa3MQC4BW0KolKXfFqKnq7cOk9sYTMsLYN69aienZAjCm
 1L44wIIieytlUg01I9O/8M+URA5rqELBBudHNgnR/Qd3rlG0sPfP+mGJjfyxYIt0
 JMpQNc2vVaiOAL7JBILZCwj0Cjd6rPkKd6tpm4v1XFXNC/XmT3wHbB8op1dXrE5t
 IKDHl/87hLEZgz3Qvho2p7g0VlQ9m+nq6eUcnehdjlUv/6iqC+yEz7pYKp/to0Sg
 y33PPvS+MRHZtp2o+TSrWBSZo9uL1d4JyOq83VLFKCwrOoxY5lvEU3/EuF1ove18
 tKvM0ZIlt3mRNxG8ONLuz8xF5Dl8HSLgvMGaEM1VHBetsMsfXJDVsAaKrD2DT9lR
 DfOg11yGot4JQXW3ecTHDkaZlaJ1vLDspYCCaHpE8S3ghAjvo6N94jHXiEU0GQlN
 Ry+qBHvn1ImvxUBt+4kMi/GDUY6zAVktbSzi0IeEx8dRTWmRI1/8MbS/i7URX8ch
 pOJlrbS/5FYx1WT8IqsYfqs3tkuPQHqn8MSZWmKHPPIgIzV3sAAjW2I4c/46pHt3
 G3KjqahwjupWQclxQqg=
 =DF9n
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_4.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Merge "ARM: Keystone DTS for 4.6" from Santosh Shilimkar:

ARM: DTS: Add new bindings for K2G and the K2G evm

K2G SoC family is the newest version of the Keystone family of processors.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

* tag 'keystone_dts_for_4.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone: Add minimum support for K2G evm
  ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
  ARM: keystone: Create new binding for K2G SoC
2016-02-26 22:46:39 +01:00
Jan Luebbe
bd3d4f5385 ARM: multi_v5_defconfig: Enable initramfs support
This makes it possible to automatically boot-test this defconfig with
kernelci.org.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:44:52 +01:00
Jan Luebbe
c0ea07f402 ARM: multi_v5_defconfig: Cleanup multi_v5_defconfig
Regenerate multi_v5_defconfig by running:
make multi_v5_defconfig
make savedefconfig
mv defconfig arch/arm/configs/multi_v5_defconfig

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:44:45 +01:00
Arnd Bergmann
8bba98a8c1 Pass dma_slave_map data to EDMA driver. This will help
migration to new DMA engine API for requesting
 slave channels dma_request_chan().
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJWzCkLAAoJEGFBu2jqvgRN0foP/RHPIoLbwmQKXguh2j/vxLSP
 GANjOsJTn9AzINSH0emDZF9MpJMqdSf2OTAvt6FuGtToxmZUpmM575Ye9wWZ2V22
 7cXb3S/VUga4mczkaYvFsJYxcp9VFEphKD+jZ9MCNhhgPs/xSi++XQc4D+RnN5VX
 95Z6AhwFWyITkllfVh+J3b6Rqnb/JBka43KQWQDsYSSw0w7QvOOFW8L7n4oFEy30
 mVarxDk6cFd2oXDm42N+CDO6143QJWlt1sy8xoSNKJGjjVbJ5Pu5kofzVWEtezrZ
 r5Sg3+8ZobKman8jlL/ZyjgXOhP24dXD7eUXsbYZXaSEwG2LmXzZvo3yxlXoiUfP
 CgRvmlRqJKNO0/OtNp5qBIKpPJrp9lrSHtAtYdETMkrTel91rEq4AXB5XeIA/HNZ
 kWakX7WEhj9KP85n5DdA23ygDr1uRG8jZmzp6ChJtUv8POzN5LnjGq4eS3Tl+VHs
 K0LGD7PXe+w1dD1Sc9W0whDuJ0UihlMVyqHqOV6dQiX5VrDB/4pPJvPaWfvffKeM
 uHJAf5W46tU8eiqMZe1PdnXkKipqpg0iUR++u8TRixzfAWULrDH19p0xCevWyfo3
 mXjMG1/9/O3eqIreR6xkHPEg0vreEmCuuManA2zN+W7hBBK/n2dEHNeSfkh9FvF1
 cY6vVpTN+J407/zzX1bT
 =p7iU
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.6/edma' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Merge "DaVinci EDMA enhancements for v4.6" from Sekhar Nori:

Pass dma_slave_map data to EDMA driver. This will help
migration to new DMA engine API for requesting
slave channels dma_request_chan().

* tag 'davinci-for-v4.6/edma' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: dm646x: Add dma_slave_map to edma
  ARM: davinci: dm644x: Add dma_slave_map to edma
  ARM: davinci: dm365: Add dma_slave_map to edma
  ARM: davinci: dm355: Add dma_slave_map to edma
  ARM: davinci: devices-da8xx: Add dma_slave_map to edma
2016-02-26 22:42:05 +01:00
Arnd Bergmann
ac838df7f8 Renesas ARM Based SoC Updates for v4.6
* Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
 * Move emev2_smp_ops to emev2
 * Remove legacy map_io callbacks on r8a7740 and emev2 SoCs
 * Migrate to generic l2c OF initialization on r8a7740
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWzQCsAAoJENfPZGlqN0++BH8P/ij8vWOl5wLU3ZWBcC+2nnbR
 bQxYt9RFSDHGLkl812V2w3hefPFVVGp8CIJHGT7uFbcENahBDSbbn+hx0aWZyKzg
 jK0B7nkfY75iqhpbHKgUaOY678qYwnDRCUVZxmUqQC2xhldz6nlPcd6zgJxr5UF8
 V+Yj4FV4zjoJ5WUKW7fZKN/f3yAR/5T7QPfxpuM8MDrpxaCM4tMn9Ns7R3MQm1Wc
 BVHmA/1lygAkcHhMedCABAiHzeq/8fKxgHnUvuXQlSOt9BCnnrr6NQPYUJUqxXba
 yXjrQ79BMv+aF3uL/y+pKZ+y44z8iSv1k5jh7CJRlBvGSM0bIED+nDOiKw5VCZ/K
 4J4qQ0dqyvyYKQq0RbnZcRGy9SQAUwptyNhJuRG+myzmjlJzdG8LbW4nJ/+QdjHU
 NxkgDa00nN5sb/EI2U5ZwRG/IeeHyTrRXK7oSOO//9gmjmaX6lkJRosF4yEAlwgZ
 gE3S4/FExg3qjlQt+gpcrlifl60YomXt4bOUU+iRZ26HDmzPpVTA9m8m3S5Dh94d
 931T5HDSi5+gJCoKI2LJyNLzyTavzlYZH9SSRRtsY+A+7tTKv9AOGtd+XuIjXnsk
 MgAr97u7RpwkNe+YGtf8NXzv5phdoIrI9VlOvJKp53X84i4q+z2vc4u5MAMC/MOV
 MQn5n+e9ChcFibuWUoXb
 =tw8Z
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Updates for v4.6" from Simon Horman:

* Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
* Move emev2_smp_ops to emev2
* Remove legacy map_io callbacks on r8a7740 and emev2 SoCs
* Migrate to generic l2c OF initialization on r8a7740

* tag 'renesas-soc-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
  ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h
  ARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback
  ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback
  ARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers
  ARM: shmobile: r8a7740: Migrate to generic l2c OF initialization
2016-02-26 22:39:45 +01:00
Arnd Bergmann
b8d56b61af Second Round of Renesas ARM Based SoC Cleanup for v4.6
* Remove stale comment from Kconfig
 * Consolidate SCU mapping code
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIbBAABAgAGBQJWzQH2AAoJENfPZGlqN0++//kP91uA0cVhvdjTHF6P4EFGFRoe
 vYEQlzNOVkqeNPd/Vx1VdD6sAXlhQ11rxAzkAtaD1mX6zQlV3cLS+ouxjufuqGg/
 Gw0Abjhi7+yIstg0MYb0Q/WZ4yfuscyXf2VKEudiX1p/YSpYKAXA1PRzitO4Vh/V
 RSo1e0P70WpKlkqwXlOx4USrM50zXsJCX73x4JRQjw82rLuTMNaUXsA4Vl7hI091
 FT1tumiQ0TgzO7DLFfMqbSf8YwlzbZeiBrTyp7pmpdWEO7L2vDuk5rGnzpY14eHu
 TEK2aT+bAK41mFme7rtYic1OG3L4H4zSOBSGpuJNanp+Dw0r4PO9Ro5hgorNBweV
 2NY/qv9i5FZQ+5XEdN+vsALDIZXxa0T+c/LMbv8NUsuSXCIxYeJ7EHAaGF809tkh
 BNxww1aEPc0ak+ClY3NOXgtD7OycVOOIjsUT3Xhj0Pk+aNZSz48qUACBo03NzJR2
 6aTIWGvuN/saz4soeYtwMD8Z5SzLiJaLF2ud8msTlVFvP0HCeGztdrdwNQwBzaaS
 eTS0cMLvjdkEI8mH+5cZ+5g3R/O3XiaPOD7OjwLwAlQNjAdK9IIf0NqNBgqHSVi2
 jYU+xAaHrYpd6rSDe8gbS9F86i59++/AmtmdkFy4e3P+5qD58+hVYYCClONm3zAN
 Z4i09eAjsd3wHCnZPdo=
 =vtm3
 -----END PGP SIGNATURE-----

Merge tag 'renesas-cleanup2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Merge "Second Round of Renesas ARM Based SoC Cleanup for v4.6" from Simon Horman:

* Remove stale comment from Kconfig
* Consolidate SCU mapping code

* tag 'renesas-cleanup2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Kconfig: Get rid of old comment
  ARM: shmobile: Consolidate SCU mapping code
2016-02-26 22:37:32 +01:00
Arnd Bergmann
0314df7752 Device tree changes for omaps for v4.6 merge window. Mostly just
adding board specific devices and few new boards:
 
 - N900 improvments for adp1653 and gpio keys
 
 - Add missing bandgap data for omap3
 
 - Add more devices for compulab cm-t335
 
 - Add n950 WLAN support, enable modem, add pinctrl for SSI
 
 - Correct dm814x and dra62x auxclk rate, add support for GPMC and NAND
 
 - Add syscon node for PHY's on dra7
 
 - Add support more devices on logicpd torpedo
 
 - Add USB host support for igep and specify boot console
 
 - Fix audio clock for am335x-sl50 and specify boot console
 
 - Remove deprecated tx-fifo-resize for dwc3 that was only used on
   omap5 es1.0
 
 - Add dra7 thermal data
 
 - Update am43x-epos-evm compatible string to am438
 
 - Add support for logicpd dm3730 som-lv
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWy4IvAAoJEBvUPslcq6VzltUQANe4c57XO4HeECaagmPmz5b7
 lU80Yv5NLuTcJaTcsDxTrwip/Nh8XEFFmvR4nUYSZF/fzATBW4LtVfiS58RZZ0to
 njv8SD6C7TlfcgHNJ+oWIDH6TRkgoNEzo5N225itTUoxbzTxnhVDLkeLddl8Q14g
 oFVhrMClXA+l/zyNOq7uJWaU+EQ0drhJcsd8/QLeILLG1PQ4XANg8dXxF0DsW9t0
 gdBEDRlC7/eRmC5ZhFRHIor9CwidsdA2OKyNsG9oG6qIt4tCbVlP4UNmDXPhmFn/
 b5onsjBm5ggys3cb361LSiqffyHYlllr6hhAydPyutwpm/q46mnsuDv0+j0bC2YS
 2H9qMP3BVTVvBquaqdpYHqlDeiAnyrdCqcb6TrwlV4ztafgSXfoA51X4TMMcw6YS
 /naxdjy3YV2peMFwVd4cs8aLBVWPxGNMse5FeXeRPra23N2QHOLicNSlmBrEJJ01
 PSRI9nJSfkEiWrJpkPrGvjPAZM9A6B5IA2Rwo2SXjGhCxTm5a1u2vgS8KQ41TgAV
 8vaPrEdPowLCw85bQ/OJ2mad2iszN5A9+EbpVRoTN+ygvTH7ujTI7MvF8swPmol/
 pjkI5kptaI/SLIrH4yWZdPIvqRRH+rVX/crVJqmkiQHnuMjDCPFOXG0P5NLDPELc
 IDZxmDn15ahPpSPJdke5
 =pqea
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.6/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Device tree changes for omaps for v4.6 merge window. Mostly just
adding board specific devices and few new boards:

- N900 improvments for adp1653 and gpio keys

- Add missing bandgap data for omap3

- Add more devices for compulab cm-t335

- Add n950 WLAN support, enable modem, add pinctrl for SSI

- Correct dm814x and dra62x auxclk rate, add support for GPMC and NAND

- Add syscon node for PHY's on dra7

- Add support more devices on logicpd torpedo

- Add USB host support for igep and specify boot console

- Fix audio clock for am335x-sl50 and specify boot console

- Remove deprecated tx-fifo-resize for dwc3 that was only used on
  omap5 es1.0

- Add dra7 thermal data

- Update am43x-epos-evm compatible string to am438

- Add support for logicpd dm3730 som-lv

* tag 'omap-for-v4.6/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (38 commits)
  ARM: dts: am57xx-beagle-x15: Add eeprom information
  ARM: dts: Add HSUSB2 EHCI Support to Logic PD DM37xx SOM-LV
  ARM: dts: n900: Use linux input defines instead hardcoded constants
  ARM: DTS: Add minimal Support for Logic PD DM3730 SOM-LV
  ARM: dts: omap3logic: Add PWM-Backlight
  ARM: dts: omap3-n900: Allow gpio keys to be disabled
  ARM: dts: am43x-epos-evm: Add the am438 compatible string
  ARM: dts: DRA7: Add missing IVA and DSPEVE thermal domain data
  ARM: dts: DRA7: Add IVA thermal data
  ARM: dts: DRA7: Add DSPEVE thermal data
  ARM: dts: remove deprecated property dwc3
  ARM: dts: OMAP3-N950-N9: Add ssi idle pinctrl state
  ARM: dts: am335x-sl50: Fix audio codec setup.
  ARM: dts: am335x-sl50: Specify the device to be used for boot console output.
  ARM: dts: omap3-igep0030-common: Add USB Host support
  ARM: dts: igep00x0: Specify the device to be used for boot console output.
  ARM: dts: LogicPD Torpedo: Set HSUSB0 Pin Mux
  ARM: dts: OMAP3-N950-N9: Enable modem
  ARM: dts: OMAP3-N950-N9: Enable SSI module
  ARM: dts: LogicPD Torpedo: Add SPI EEPROM
  ...
2016-02-26 22:33:52 +01:00
Arnd Bergmann
b43aa5c01b Fix state machine implemenation of PMIC wrapper.
Add SMP support for mt7623.
 Disable watchdog of STAUPD in PMIC wrapper for mt8173.
 Add SMP support for mt2701.
 Use builtin_platform_driver for scpsys. Driver can't be build as module.
 Fix regulator enablement in scpsys.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyvK1AAoJELQ5Ylss8dNDjYsQAKRE7ufUWSFTv+3B2YZkaek8
 rIR1te+Fs7IjQq1/paijrTWtYWINCsnjR55v49hq57Z/4fZIfjaj+3nrSHv0d/nk
 TWJAM0uhdWox4UKVl3jfliNjGHLjaKlmTgHIFeOY2uBE1Is2kV4uKWeVi+VKLiog
 Vh8okCQ+ih046x/rZ2BU4Y2JOE9JGYqYSOtr01IcrE4DYERHjRasmRKLzhfMYJew
 AXCXzl9AhC1QGEOKRtZJXHVhWEnuiGEscnetXfOJUJdJmfDBFyKegOgEqE6j4+zW
 wsB4aIBjJ7Jq638RI84WTveLdDJlvYE1qlskgciC/6B6t7r7Cjkwv4dA9OKjVI7m
 L6f2bpvnJpYr4fMxwSe1G1eLeGd1RuXdpx609jG5zGXDNtU2ZTgzOcPiMiDO8UCu
 SuzjIlVZXb4LxR3WruR1Yu65jfqH9+HqOgwnxiuNcx8LzUGJ7nOLe0BPynARA3O0
 QrAmsFjRCQBI/fH++FKo1TG0xZCipQXPBDjCWW2ffHITIhW/Svx40+V42RiG4UOb
 COnxJ/N1J8NBq/tgwi6iXUdXL2g6+j0BNgjPglzCMEukStYc+nTKpMtFqpqdTpoN
 Jj8f8+iRG0RIPhHHKjGJStiCqq8mwz+ECmLnIboVcIbZkWRMebcJECEFubtp09sY
 meabfM/GPWzewy7oG8cS
 =S4wN
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc

Merge "ARM: mediatek: soc updates for v4.6" from Matthias Brugger:

Fix state machine implemenation of PMIC wrapper.
Add SMP support for mt7623.
Disable watchdog of STAUPD in PMIC wrapper for mt8173.
Add SMP support for mt2701.
Use builtin_platform_driver for scpsys. Driver can't be build as module.
Fix regulator enablement in scpsys.

* tag 'v4.5-next-soc' of https://github.com/mbgg/linux-mediatek:
  soc: mediatek: SCPSYS: Fix double enabling of regulators
  soc: mediatek: SCPSYS: use builtin_platform_driver
  ARM: mediatek: add mt2701 smp bringup code
  soc: mediatek: PMIC wrap: clear the STAUPD_TRIG bit of WDT_SRC_EN
  ARM: mediatek: add MT7623 smp bringup code
  soc: mediatek: PMIC wrap: Clear the vldclr if state machine stay on FSM_VLDCLR state.
2016-02-26 22:27:22 +01:00
Arnd Bergmann
1df1e5bf87 Add support for mt7623 SoC.
Enable SMP support for mt7623.
 Enable SMP support for mt2701
 Add pinctrl for mt2701
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyu0GAAoJELQ5Ylss8dNDjb8QAJ6PJW+sntG8KnCXEorbrFUV
 ArOqQ8JTXtbRNG3n7kfJF+JTrseUggSilBsmS1VOaJq1tu6B3vJcLh+X08+QqMDd
 WE+2rkk1cd0xgcsZSHr/n2d8SHuvTpPIEgkIH477WdCj3DZSZ79OyAiQ22gN7qrb
 e4gD33HpJNpwTWxPnWLSSDwnEuU/jMCjURR8xw3G56RIgJzm9yGKplVP3ixjnFTO
 TH7i2f/zNpMj+q2s3p0Wadbxc8/hoV4zOsGaiSPGjy5EeNUCXHHoZ3YZAh4WxrTo
 b1tMdbAygh9p/WDReRmZpYZsnKj32ZeyDZXaXpKSENlVE9w4eY+sJ8wkuY3OIuFC
 cR/1Hlo4skjeNGJV7iKZ3842dIHD1Bd/6b5SNfR2+Is1dV84hg56ORMaJ3UFGIM5
 ioQ7TufezLQACfzLdRUrSLu4E2IpIGBaclSk9rYYJBBHQThrbp8XUMHmCkbWSujb
 1zkZD9mRCwXNSjR9wt5WA9+Z5z2Rd2faow8z0fF8/po5ecgZm9056vbJHJsrX22/
 2gntYacO8aqQt6A1LCCkdDWxIw0/vqTpbFjCHG359dHaFtVN4vpaapvx+Ldhbagc
 ObGjtQu9loMfG0lAkSYX5SsVY9Uc3omIHjLdTfI9laemoMoFtwAICC+EdHapoj0S
 YT8m6/fzg01KgPGAfO2V
 =JHE5
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt

Merge "ARM: mediatek: dts updates for v4.6" from Matthias Brugger:

Add support for mt7623 SoC.
Enable SMP support for mt7623.
Enable SMP support for mt2701
Add pinctrl for mt2701

* tag 'v4.5-next-dts' of https://github.com/mbgg/linux-mediatek:
  arm: dts: Add pinctrl/GPIO/EINT node for mt2701
  ARM: dts: mt2701: enable basic SMP bringup for mt2701
  ARM: dts: mt7623: enable SMP bringup
  ARM: dts: mediatek: add MT7623 basic support
  Document: DT: Add bindings for mediatek MT7623 SoC Platform
2016-02-26 22:25:34 +01:00
Krzysztof Adamski
d250d17d4f ARM: dts: sun8i: Add leds and switch on Orangepi Plus boards
OrangePi Plus board has dwo leds - green ("pwr") and red ("status")
and a switch ("sw4"). This patch describes them in a devicetree.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-26 11:37:15 -08:00
Srinivas Kandagatla
90bd6e8fea ARM: dts: ifc6410: add correct aliases to the i2c and spi bus
This patch adds correct aliases to spi and i2c buses so that they get
correct matching bus numbers.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
806334ed8e ARM: dts: apq8064: add i2c6 device node.
This patch adds i2c6 device node and pinctrls required for IFC6410 on
MIPI-CSI connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
10e0c16167 ARM: dts: ifc6410: enable cam i2c device
This patch enables i2c bus for camera via mipi-csi connector on ifc6410.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
2a5cbc1532 ARM: dts: apq8064: add gsbi4 with i2c node.
This patch adds gsbi4 and i2c node.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
7788d439ae ARM: dts: apq8064: add missing i2c2 pinctrl info
This patch adds missing i2c2 pinctrl information in i2c2 node.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
492731cbd0 ARM: dts: ifc6410: enable spi device on expansion
This patch enables spi device on the 30 pin expansion connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
b2dc04c5b0 ARM: dts: apq8064: add spi5 device node.
This patch adds spi5 device node, spi5 is used on ifc6410 on the
expansion connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
64b22b2594 ARM: dts: apq8064: add i2c sleep pinctrl states.
This patch adds missing i2c pinctrl sleep states.
Also add 16mA drive strength to the pins so that we can detect wide
range of i2c devices on the other side of level shifters.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
9d0801a09c ARM: dts: apq8064: add pci support in CM QS600
This patch adds PCIE support to APQ8064, tested with Ethernet on
Compulab QS600 board.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
a30e78bd40 ARM: dts: apq8064: move pinctrls to dedicated dtsi
As there are more pinctrls to come, moving these to dedicated dtsi makes
more sense.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
e07214db07 ARM: dts: qcom: fix i2c lables to be inline with others
This patch fixes i2c lables to be inline with serial labels.
The reason to do this is that it would look odd if we add aliases in the
board file along with serial.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Adam Ford
44f95b12e7 ARM: dts: dm3730-torpedo-devkit: Add "Wireless" to model
LogicPD has two main Torpedo styles, a version with wireless and a version
without wireless.  This version has Bluetooth and WiFi, but there really
isn't an easy way to identify them automatically.  This simply adds
"Wireless" to the model to distinguish it from the 'base' model that will
come soon.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:05:11 -08:00
Tony Lindgren
4f5395f0d1 ARM: OMAP2+: Fix hwmod clock for l4_ls
Looks like we have few cases with wrong clock, and some
entries with missing clock. It should always be sysclk6
for the l4_ls instance.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:03:07 -08:00
Tony Lindgren
c580324607 ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
This allows RTC to work properly with the related DTS
changes.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:02:00 -08:00
Tony Lindgren
5a28f4339b ARM: dts: Add RTC entry for dm816x
Add RTC entry for dm816x.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:58:16 -08:00
Tony Lindgren
f22b0b4f21 ARM: dts: Add RTC entry for dm814x and dra62x
Add RTC entry for dm814x and dra62x.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:58:16 -08:00
Tony Lindgren
26c23ee657 Merge branch 'omap-for-v4.6/dt-gpmc' into omap-for-v4.6/dt 2016-02-26 10:42:54 -08:00
Roger Quadros
44e4716499 ARM: dts: omap3: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
6607fac8f4 ARM: dts: dm8168-evm: ARM: dts: Disable wait pin monitoring for NAND
The NAND Ready/Busy# line is connected to GPMC_WAIT0 pin and
can't be used for wait state insertion for NAND I/O read/write.
So disable read/write wait monitoring as per Reference Manual's
suggestion [1].

[1] dm816x TRM: SPRUGX8C: 9.2.4.12.2 NAND Device-Ready Pin

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
6d840d85a7 ARM: dts: dm816x: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
db0f68529a ARM: dts: am335x: Disable wait pin monitoring for NAND
The NAND Ready/Busy# line is connected to GPMC_WAIT0 pin and
can't be used for wait state insertion for NAND I/O read/write.
So disable read/write wait monitoring as per Reference Manual's
suggestion [1].

[1] AM335x TRM: SPRUH73L: 7.1.3.3.12.2 NAND Device-Ready Pin

Cc: Teresa Remmet <t.remmet@phytec.de>
Cc: Ilya Ledvich <ilya@compulab.co.il>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Rostislav Lisovy <lisovy@gmail.com>
Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
0375214838 ARM: dts: am335x: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Cc: Teresa Remmet <t.remmet@phytec.de>
Cc: Ilya Ledvich <ilya@compulab.co.il>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Rostislav Lisovy <lisovy@gmail.com>
Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
cb9ea8b693 ARM: dts: am437x: Disable wait pin monitoring for NAND
The NAND Ready/Busy# line is connected to GPMC_WAIT0 pin and
can't be used for wait state insertion for NAND I/O read/write.
So disable read/write wait monitoring as per Reference Manual's
suggestion [1].

[1] AM437x TRM: SPRUHL7D: 9.1.3.3.12.2 NAND Device-Ready Pin

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
be3f39c835 ARM: dts: am437x: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
79c0826117 ARM: dts: dra7: Remove redundant nand property
wait pin monitoring is not used for nand so it is pointless to
have the gpmc,wait-monitoring-ns property.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:32:14 -08:00
Roger Quadros
488f270d90 ARM: dts: dra7: Fix NAND device nodes
Add compatible id, GPMC register resource and interrupt
resource to NAND controller nodes.

The GPMC node will provide an interrupt controller for the
NAND IRQs.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 10:12:45 -08:00
Arnd Bergmann
d9fa15a56a Warning fixes for DaVinci collected while testing
randconfig builds.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJWzCVjAAoJEGFBu2jqvgRNqk0P/ivmR6jiw5h9GuRJR6Ha72Iu
 OJ/kMquhYWjh4ksGqdZmsqwe/oxP+ybh7soYqtoeXS026om41XmwS8GleIf6Di7x
 BAGdDm9b9cP6aJpN7N2dMEXbD5CiZfbPV5Ncceih9rxvg2BfTK/bVQYAkMo6Sym0
 nsY2Fd66sXJIXL1Z8wPxkxRgiHXe4v0BXgMK8Juo79aI357iB2mFNQRtoSPBPBVt
 2GE3Eg3oqbJU6iofF98Gm9XFv9rs73Urcs8RgZ9BVm1jnEeYttyYHnLE+I7krem4
 JR5Pl4ti6dgbWHsdRYtqY4dU/sHZn278ufADSbepanZ2ZMYWsGoKDYnN6hP4Ob0R
 iKERUyjEFh+tZd3lwOdKoNv/jUWxB2CGPEqH9Elm3TksHZfphXm57tRBQ2hWpV/S
 Eq5ODO9xihZc9A46QHLs6XVU+Y5vUEGABN9ogmGMb0UmPoCSs3SuVCe0k54g7dUK
 vz6JdVsIi+y2vV8XyPczJ5vYqfKowU/84ECkG7CKzGxUnYbNCWJtYUVHj4POwjpT
 sEK63nat870+LmOQGTkfrcgKxHv0U0iPzfzZ5baId+JXKb7GrzkrtJgulVcDua75
 t+1cqsK3dphT553xi3X/jI6L4L5wKLwpIxgURiMHGt/+b568C1ik92cywHdl0Ph4
 XlmDWipNnXRVLWP8fFJo
 =x4Fa
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.6/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical

Warning fixes for DaVinci collected while testing
randconfig builds.

* tag 'davinci-for-v4.6/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: make I2C support optional
  ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
  ARM: davinci: avoid unused mityomapl138_pn_info variable
  ARM: davinci: limit DT support to DA850
2016-02-26 17:47:49 +01:00
Arnd Bergmann
ef2b1d777d ARM: prima2: always enable reset controller
The atlas7 clock controller driver registers a reset controller
for itself, which causes a link error when the subsystem is
disabled:

drivers/built-in.o: In function `atlas7_clk_init':
drivers/clk/sirf/clk-atlas7.c:1681: undefined reference to `reset_controller_register'

As the clk driver does not have a Kconfig symbol for itself
but it always built-in when the platform is enabled, we have
to ensure that the reset controller subsystem is also built-in
in this case.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Fixes: 301c5d2940 ("clk: sirf: add CSR atlas7 clk and reset support")
2016-02-26 17:46:29 +01:00
Arnd Bergmann
5d37e80b80 ARM: socfpga: hide unused functions
The cpu_die and cpu_kill callbacks are only used when CONFIG_HOTPLUG_CPU
is enabled, otherwise we get a warning about them:

arch/arm/mach-socfpga/platsmp.c:102:13: error: 'socfpga_cpu_die' defined but not used [-Werror=unused-function]
arch/arm/mach-socfpga/platsmp.c:115:12: error: 'socfpga_cpu_kill' defined but not used [-Werror=unused-function]

This adds the appropriate #ifdef.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
2016-02-26 17:44:54 +01:00
Linus Walleij
302cff1a16 ARM: ux500: fix ureachable iounmap()
The code was executing a return with a pointer before reaching
iounmap().

Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 17:43:48 +01:00
Arnd Bergmann
6ad7313b53 ARM: ks8695: fix __initdata annotation
Clang complains about the __initdata section attribute being in the
wrong place in two files of ks8695:

arch/arm/mach-ks8695/cpu.c:37:31: error: '__section__' attribute only applies to functions and global variables
arch/arm/mach-ks8695/board-og.c:83:31: error: '__section__' attribute only applies to functions and global variables

This moves the attribute to the correct place.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Greg Ungerer <gerg@uclinux.org>
2016-02-26 17:30:48 +01:00
Stefan Agner
4736af6782 ARM: multi_v7_defconfig: enable useful configurations for Vybrid
Enable configuration options useful for Vybrid:
- NFC NAND driver
- USB dual-role controller (and Chipidea Gadget support)
- Built-in EDMA DMA driver (to be available at LPUART probe)
- Vybrid ADC driver
- IIO hwmon support (used in i.MX 23/28, patch pending for Vybrid)

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 17:18:57 +01:00
Chen Gang
4e0b6ca9da asm-generic: page.h: Remove useless get_user_page and free_user_page
They are not symmetric with each other, neither are used in real world
(can not be found by grep command in source code root directory), so
remove them.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 15:24:55 +01:00
Linus Torvalds
73056bbc68 KVM/ARM fixes:
- Fix per-vcpu vgic bitmap allocation
 - Do not give copy random memory on MMIO read
 - Fix GICv3 APR register restore order
 
 KVM/x86 fixes:
 - Fix ubsan warning
 - Fix hardware breakpoints in a guest vs. preempt notifiers
 - Fix Hurd
 
 Generic:
 - use __GFP_NOWARN together with GFP_NOWAIT
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQEcBAABAgAGBQJWzsReAAoJEL/70l94x66DT6cH/3K/X/eciQIQTjLWKQ9BUhsN
 +4WN+PX51GCvRZgoGgXXxTUzWVpSHNE7iD5FR/yqiUpC6lq+GWYKyQYBU6S2tw7N
 QrzVFUAOIAExfzw4ztLz8pvIIwsF6EC2sA0DRZO85FWApO4P3BJN/1nBa+THJchH
 6RamguztCjVSfboFwpulPzmgzJwIQ1ai+KoO1z/1ifrxjOHLytF5wn6UegPXIkc6
 PAWG0b6w2ZnSwTNhEdsjzlcEANd/otwOoTlcft//KLuBkSS0GgU3vgxv7OXeSn67
 +Wa9wWT/rU6M4Ol0noXcyr/kiF5629bQ4IyLK7YFgOUPFt4Tmg+A1ABGc92WJa4=
 =/9Sf
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Paolo Bonzini:
 "KVM/ARM fixes:
   - Fix per-vcpu vgic bitmap allocation
   - Do not give copy random memory on MMIO read
   - Fix GICv3 APR register restore order

  KVM/x86 fixes:
   - Fix ubsan warning
   - Fix hardware breakpoints in a guest vs. preempt notifiers
   - Fix Hurd

  Generic:
   - use __GFP_NOWARN together with GFP_NOWAIT"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: x86: MMU: fix ubsan index-out-of-range warning
  arm64: KVM: vgic-v3: Restore ICH_APR0Rn_EL2 before ICH_APR1Rn_EL2
  KVM: async_pf: do not warn on page allocation failures
  KVM: x86: fix conversion of addresses to linear in 32-bit protected mode
  KVM: x86: fix missed hardware breakpoints
  arm/arm64: KVM: Feed initialized memory to MMIO accesses
  KVM: arm/arm64: vgic: Ensure bitmaps are long enough
2016-02-25 19:53:54 -08:00
Arnd Bergmann
15925cfcf8 ARM: s3c24xx: Avoid warning for inb/outb
s3c24xx implements its own inb/outb macros, but the implementation
prints warnings when the port number argument is not a 32-bit scalar:

drivers/scsi/pas16.c: In function 'NCR5380_pwrite':
arch/arm/mach-s3c24xx/include/mach/io.h:193:68: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 #define __ioaddrc(port) ((__PORT_PCIO(port) ? PCIO_BASE + (port) : (void __iomem *)(port)))

This slightly modifies the definition of the __ioaddrc macro to avoid
the warning.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-26 08:44:52 +09:00
Kevin Smith
1594d568c6 clk: mvebu: Move corediv config to mvebu config
The core clock does not depend on corediv, so enabling corediv
based on the clock is not really correct.  Move the corediv
config option from the clock driver Kconfig to the mvebu Kconfig
so that it can be enabled by the MACH option instead.

This also enables corediv on Armada 375 and 38X, which was
previously missing.

Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
2016-02-25 15:05:53 -08:00
Yangbo Lu
3db66fdc5f ARM: dts: ls1021a: add 1588 timer node
Add the 1588 timer node for ls1021a platform to
support gianfar ptp driver.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-25 16:22:02 -05:00
Hans de Goede
fe0a8ea1fb ARM: dts: sun8i: Add ir receiver nodes to H3 dtsi
The H3 ir receiver is completely compatible with the one found in the A31.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:38:42 -08:00
Krzysztof Adamski
9338536731 ARM: dts: sun8i-h3: Add R_PIO controller node to the dtsi
Add the corresponding device node for R_PIO on H3 to the dtsi. Support
for the controller was added in earlier commit.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:33:36 -08:00
Krzysztof Adamski
097872945e dts: sun8i-h3: Add APB0 related clocks and resets
APB0 is bearly mentioned in H3 User Manual and it is only setup in the
Allwinners kernel dump for CIR. I have verified experimentally that the
gate for R_PIO exists and works, though. There are probably other gates
there but I don't know their order right now and I don't have access to
their peripherals on my board to test them.

After some experiments and reviewing how this is organized on other
sunxi SoCs, I couldn't actually find any way to disable clocks for R_PIO
and they are working properly without doing anything so I assume they
are connected straight to the 24Mhz oscillator for now.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 11:33:05 -08:00
Jelle de Jong
f9ca30440c ARM: dts: sun7i: Add dts file for the lamobo-r1 board
The lamobo-r1 board, sometimes called the BPI-R1 but not labelled as such
on the PCB, is meant as a A20 based router board. As such the board comes
with a built-in switch chip giving it 5 gigabit ethernet ports, and it
has a large empty area on the pcb with mounting holes which will fit a
2.5 inch harddisk. To complete its networking features it has a
Realtek RTL8192CU for WiFi 802.11 b/g/n.

Signed-off-by: Jelle de Jong <jelledejong@powercraft.nl>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-25 10:12:27 -08:00
Vitaly Andrianov
5b7551db86 ARM: dts: keystone: Add minimum support for K2G evm
Add barebones K2G evm dts. This DTS allows the board to boot using a
ram based filesystem.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:27:39 -08:00
Vitaly Andrianov
734539eaf4 ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
K2G is the newest addition of TI's Keystone 2 product family. It is a
single core Cortex A15 and a C66x DSP.

K2G supports standard peripherals such as SPI, UART, MMC and USB 2.0.

Includes two dual-core Programmable Real-time Unit and Industrial
Communication Subsystems (PRU-ICSS).

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

This device is targeted for a variety of applications which include, but
are not limited to:

Home audio
Professional audio
Industrial Programmable Logic Control

The peripheral nodes that have been included in this patch have been
tested during bring-up. Since all peripherals will not necessarily be
used on all boards, disable all peripherals by default. This allow
the board dts to selectively choose which peripherals it wants to
enable.

This SoC now uses the next generation of power management architecture
with the PM functionality located in a microcontroller embedded in the SOC.

Support for this new PM architecture along with other peripherals will be
added in future patches.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:25:35 -08:00
Nishanth Menon
3b2d3dc9fb ARM: keystone: Create new binding for K2G SoC
K2G SoC family is the newest version of the Keystone family of processors.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

Add new bindings for K2G and the K2G evm. Also document these new bindings.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2016-02-25 09:23:34 -08:00
Arnd Bergmann
60f2395231 ARM: mvebu: mark mvebu_hwcc_pci_nb as __maybe_unused
The coherency notifier block is only used when CONFIG_PCI
is enabled, otherwise we get a warning:

arch/arm/mach-mvebu/coherency.c:110:30: warning: 'mvebu_hwcc_pci_nb' defined but not used [-Wunused-variable]

There is no nice way to use an if(IS_ENABLED()) check here to
let the compiler know that it might be used, so let's mark
the structure as __maybe_unused.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:39:20 +01:00
Arnd Bergmann
d3201ede94 ARM: mv78xx0: avoid unused function warning
mv78xx0 produces a harmless warning when CONFIG_CACHE_FEROCEON_L2 is
disabled:

arch/arm/mach-mv78xx0/common.c:385:19: warning: 'is_l2_writethrough' defined but not used [-Wunused-function]

This avoids the warning by changing the #ifdef to an if(IS_ENABLED())
check with the same resulting object code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:38:38 +01:00
Arnd Bergmann
993e221518 ARM: orion: only select I2C_BOARDINFO when using I2C
If we select I2C_BOARDINFO and I2C is disabled, we get a
harmless Kconfig warning:

warning: (MACH_DOVE_DB && MACH_DB88F5281 && MACH_RD88F5182 && MACH_RD88F5182_DT && MACH_KUROBOX_PRO && MACH_DNS323 && MACH_LINKSTATION_PRO && MACH_LINKSTATION_LSCHL && MACH_LINKSTATION_LS_HGL && MACH_NET2BIG) selects I2C_BOARDINFO which has unmet direct dependencies (I2C)

Making the select itself conditional avoids the warning and
makes the kernel slightly smaller as the compiler will be
able to drop the unused board info.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-25 15:37:16 +01:00
Michal Simek
8fff2f752f ARM: zynq: Move early printk virtual address to vmalloc area
The patch
"ARM: 8432/1: move VMALLOC_END from 0xff000000 to 0xff800000"
(sha1: 6ff0966052)
has moved also start of VMALLOC area because size didn't change.
That's why origin location of vmalloc was
   vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
and now is
   vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)

That's why uart virtual addresses need to be changed to reflect this new
memory setup. Starting address should be vmalloc start address.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2016-02-25 14:06:03 +01:00
Michal Simek
07bf429da1 ARM: zynq: Use earlycon instead of earlyprintk
Use early console instead of earlyprintk which is supposed to use for
very early debugging (DEBUG_LL).

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-02-25 14:01:34 +01:00
Marcelo Tosatti
8577370fb0 KVM: Use simple waitqueue for vcpu->wq
The problem:

On -rt, an emulated LAPIC timer instances has the following path:

1) hard interrupt
2) ksoftirqd is scheduled
3) ksoftirqd wakes up vcpu thread
4) vcpu thread is scheduled

This extra context switch introduces unnecessary latency in the
LAPIC path for a KVM guest.

The solution:

Allow waking up vcpu thread from hardirq context,
thus avoiding the need for ksoftirqd to be scheduled.

Normal waitqueues make use of spinlocks, which on -RT
are sleepable locks. Therefore, waking up a waitqueue
waiter involves locking a sleeping lock, which
is not allowed from hard interrupt context.

cyclictest command line:

This patch reduces the average latency in my tests from 14us to 11us.

Daniel writes:
Paolo asked for numbers from kvm-unit-tests/tscdeadline_latency
benchmark on mainline. The test was run 1000 times on
tip/sched/core 4.4.0-rc8-01134-g0905f04:

  ./x86-run x86/tscdeadline_latency.flat -cpu host

with idle=poll.

The test seems not to deliver really stable numbers though most of
them are smaller. Paolo write:

"Anything above ~10000 cycles means that the host went to C1 or
lower---the number means more or less nothing in that case.

The mean shows an improvement indeed."

Before:

               min             max         mean           std
count  1000.000000     1000.000000  1000.000000   1000.000000
mean   5162.596000  2019270.084000  5824.491541  20681.645558
std      75.431231   622607.723969    89.575700   6492.272062
min    4466.000000    23928.000000  5537.926500    585.864966
25%    5163.000000  1613252.750000  5790.132275  16683.745433
50%    5175.000000  2281919.000000  5834.654000  23151.990026
75%    5190.000000  2382865.750000  5861.412950  24148.206168
max    5228.000000  4175158.000000  6254.827300  46481.048691

After
               min            max         mean           std
count  1000.000000     1000.00000  1000.000000   1000.000000
mean   5143.511000  2076886.10300  5813.312474  21207.357565
std      77.668322   610413.09583    86.541500   6331.915127
min    4427.000000    25103.00000  5529.756600    559.187707
25%    5148.000000  1691272.75000  5784.889825  17473.518244
50%    5160.000000  2308328.50000  5832.025000  23464.837068
75%    5172.000000  2393037.75000  5853.177675  24223.969976
max    5222.000000  3922458.00000  6186.720500  42520.379830

[Patch was originaly based on the swait implementation found in the -rt
 tree. Daniel ported it to mainline's version and gathered the
 benchmark numbers for tscdeadline_latency test.]

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: linux-rt-users@vger.kernel.org
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1455871601-27484-4-git-send-email-wagi@monom.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-02-25 11:27:16 +01:00
Maxime Coquelin
c8cc1b727f ARM: dts: stm32429i-eval: Add USB HS host mode support
This patch adds USB HS support in host mode only.
This port supports OTG mode, but the device more is not working
properly as of now.
Once the device mode fixed, the node will be updated to support OTG.

Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-25 10:41:16 +01:00
Paolo Bonzini
0fb00d326f KVM/ARM fixes for 4.5-rc6
- Fix per-vcpu vgic bitmap allocation
 - Do not give copy random memory on MMIO read
 - Fix GICv3 APR register restore order
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWzefIAAoJECPQ0LrRPXpDHkEQAIPGVBEilV0Na9QfIcQBiSxK
 IGwFSXAIa2sScfjAyDPbSME/R912XTzdfXLgvYjoUhP8WUX3g/2dRD7OcYOh33zB
 MgUg6QRSIUIyXj6HzOsFnt/rOWlEchjGXzcyVzlQTRjJhIRyHnFprUJsVbPk1Wc8
 NJSXlyAYc3dHmJB29NjAgWRhZGmBx9SddRPfHFYLv9DoVkFGpD+TYL6XMeyfY8Eh
 PVjGipi8K8kl4DJb/pc5kOhtqoXu30JqVlgvpUAQEPSbYQSBbdmjRpd1Ol7M73b1
 sX1+UQmuIk3wcij/YpD3Ep70N5pfjgGAqms1vzBvTk6PKTXKtrjj15uOYcWgx38Z
 W9llAnlzOY5+1htirxiIdfy44gxChcWb5XTykxnJXKEaEQdVHx5E8Yc9Nf3TbNMr
 cLJh5CX9KowOxjW/HmbXXKrL2VNyb0XaecH0VWUV/QNeVqvbY/o38VRgTU0EMuoJ
 nY1QeP3DOQfpq44UHhhzY9gx3myxW4MBr/C/vcbsNi3KiHwP1BIDygenf1cq+FID
 4t/qXEJ+7ScEcDeiw+dTRPodD+6BwL4SH67aGbrxYE2yU9vugdkq2EtP3i5Z0iga
 cKPdzAcFoBJJF4OKcTjdk34dEzGiSVcDdNXhAmIzpHL6xqMwyYNIYUyrHivu3QwP
 8Ctb1ReLpiF574/JhDMo
 =/Pum
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-for-4.5-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master

KVM/ARM fixes for 4.5-rc6

- Fix per-vcpu vgic bitmap allocation
- Do not give copy random memory on MMIO read
- Fix GICv3 APR register restore order
2016-02-25 09:53:55 +01:00
Sekhar Nori
1c96bee4df ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
Add a custom reset handler for DRA7x PCIeSS. This
handler is required to deassert PCIe hardreset lines
after they have been asserted.

This enables the PCIe driver to access registers after
PCIeSS has been runtime enabled without having to
deassert hardreset lines itself.

With this patch applied, used lspci to make sure
connected PCIe device enumerates on DRA74x and DRA72x
EVMs.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Reported-by: Richard Cochran <richardcochran@gmail.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-25 00:17:42 -07:00
Pankaj Dubey
ce7f8ce016 ARM: SAMSUNG: Remove unused register offset definition
This patch cleans up various map.h under mach-exynos, mach-s3c24xx and
plat-samsung by removing unused register offset. This patch also does a
minor nitpick of changing EXYNOS4 to EXYNOS from comment section of
header file "mach-exynos/include/mach/map.h".

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 13:24:27 +09:00
Pankaj Dubey
a4781441f2 ARM: EXYNOS: Cleanup header files inclusion
This includes trivial cleanup in exynos files such as
 - remove unused header files inclusion from exynos.c, s5p-dev-mfc.c,
   firmware.c, pm.c.
 - move inclusion of of.h from common.h to pm.c where it is really
   required

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 13:24:06 +09:00
Simon Horman
d92df7e599 ARM: dts: r8a7790: use fallback etheravb compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
2016-02-25 13:12:37 +09:00
Wolfram Sang
880cb57024 ARM: dts: r8a7790: lager: use demuxer for IIC0/I2C0
Make it possible to select which I2C IP core you want to run on the
EXIO-A connector. This is the reference how to use this feature. Update
the copyright while we are here.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-25 13:12:32 +09:00
Olof Johansson
82767de15a SoCFPGA defconfig update for v4.6
-Enable initrd/initramfs support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxub8AAoJEBmUBAuBoyj00JwP/j8MN1EN1QIYRD4XdaMomxTP
 w0HdOtlCLIJLkEmDoHcSvDpgK8wnq6u+s1e43ZwopS/poD2biN6Te6ySYibPKBie
 zrCVvRbiqUzZiw0ueMJA8udOHTuwys3L6rN8bG3VV5+xHizUdZHSB0/b2oxIXxba
 TIRg+0JULjXHQphIPSBhTX/6dN4lx8s6gAJAQeLL329zSMo6rdmudjVTVykMzXod
 DdOaC3osmBa5ZwZY7Tr7KIBwUZThimEqgeBravr2y/TSPRwBDSFEP6el967qe+t/
 omHtWxXPxEsYCagcgaM4gXw7MFK4Ons6oS4SDef3t1W5Ta0nOUlt8nBSY/oI5zY1
 nxwICZkjLiN1hCWU6KWuGcKeIL97A1QIh1rzNxI9Sro44dcGzST4g5w6q5bcX66z
 jrzBiQtBG96qXStc02Zy+9Qljxc43fwBL70XlVKRmlanQg2CVUI0BFzjSsjYSksQ
 hKfHrwU475jCaBdBGDuxQzafYlvFhkogUbsu7o5TJ/s2bWl4j++gerL/MigL2uzS
 Bt4vNYpxntkeSYeN9iIiL9UB/K4mqJv9+fSVYZQ4Htf4uQqIqeNxgHd5K5aQ1jt2
 lCtjRdbjfR1bTcbxB3Vc+HZVH06hk9beUaPa6ZQ2h5Tqi/2eizCYDmnASw6i51YR
 ofceQAAg+bGeGz2eUeTA
 =sOpf
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_defconfig_for_v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/defconfig

SoCFPGA defconfig update for v4.6
-Enable initrd/initramfs support

* tag 'socfpga_defconfig_for_v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga_defconfig: enable support for initramfs/initrd support

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:23:54 -08:00
Olof Johansson
2bc51d76d2 DT changes for 4.6:
- Addition of the ADC for sama5d2 and sama5d2_xplained
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSixAAoJEKbNnwlvZCyzHXkP/13kVbgjNALTrvv4RUISGVYq
 Nl4xVwg/3oObrouxQ/nw0AI5EU92HdR0R4T87fueJupPn4YWYf7BpmMWqECDTA6M
 y6EBkKT35sV5zAVT6HWBhmGGnHCS7aisAE6Tfenao0gbK+31i/9F3SHF7atyJ3T8
 y4gyBWl/o4Nuz6UyfkntxM9vy0N1WstC1ekvYeIcc8ePr5E7/3UHTgeb42UAWcHj
 akoZwxmEeTTidaZujZZPPvKSMagz2wcnICKZ7OPXTJLtgf1ib7m3qHZnyXKWRQ/W
 CB9z8pybMPdCib1WH/lWlv6NOb1s/j+l0Aw9NQqVshLt/tmjbpo0HMNwZ2rt4iN4
 I5CLc8RaiF2PhP0Sq1hzaHjwLTEgsno4b+JhndI1+hFiPeAsB4vtLPhGupasdbJy
 MCi0We4h95WUdOo/vf+khpb2O3SATZli8QFHzgHNyfnNm63ETzU+o3l43Iph+04M
 rc/4l8yRt2IMl+22tLZvqziIyzXotqq51E7bT6eg83YBSrlvOHibp6bo0LriADv8
 zDrvr4quZ33vMKXtgk/jOEVXulrmVX2ePFuyUpcoKYks+cWF7pgx9pFxLTnpFieS
 DN2l6swjXE+aA5Gn8VyFiJgCpUnzpYjH++VAoa7IKUxjcj+YjeSrsVW2fFlkP46F
 +ZT01bhSD6TG9uC5r/Cu
 =mzUX
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.6-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt

DT changes for 4.6:
 - Addition of the ADC for sama5d2 and sama5d2_xplained

* tag 'at91-ab-4.6-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: dts: at91: sama5d2 Xplained: enable the adc device
  ARM: dts: at91: sama5d2: add adc device

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:19:04 -08:00
Pankaj Dubey
bfce552d0b drivers: soc: Add support for Exynos PMU driver
This patch moves Exynos PMU driver implementation from "arm/mach-exynos"
to "drivers/soc/samsung". This driver is mainly used for setting misc
bits of register from PMU IP of Exynos SoC which will be required to
configure before Suspend/Resume. Currently all these settings are done
in "arch/arm/mach-exynos/pmu.c" but moving ahead for ARM64 based SoC
support, there is a need of this PMU driver in driver/* folder.

This driver uses existing DT binding information and there should
be no functionality change in the supported platforms.

Signed-off-by: Amit Daniel Kachhap <amitdanielk@gmail.com>
[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412) and Odroid XU3 (Exynos5422)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[k.kozlowski: Rebased, add necessary infrastructure for building and
selecting drivers/soc because original patchset was on top of movement
SROMc to drivers/soc]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:18:07 +09:00
Olof Johansson
f628c64fc0 drivers update for 4.6:
- Big PMC rework that touches clk, PM, usb
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSJHAAoJEKbNnwlvZCyzEGsQALRmJvHYqYNPRgHKHlFGV4Uh
 KuDuT0O/hVQqf1WB+gXt6E2WbDTzU+QGV8jux2zvZdi4ExdjZBTM9o1iQrORRyr0
 AHcXsNRkbZ5t7mNp1WVQGMCmK3M/cuN2BmtPQzozmFyo4UNlPzxH7//DbhbrLxqI
 zuYmxs5z1RMflIJTo4LfJGXzo6QzwrsRmiPANIr9niICa51F6x0HYMZTn1IMMGG/
 KbJ9Rx8fOEqRgCo9LIvJPZa4jvFNjyqQN74qqX66XZW3LBJK4M5q+F/LUaw6M7Bi
 7KVc47yRTujGOEHz/jhsf4IVbkUg1vidicIL1VMz9xjD1ZbjjCr0pdFlU/76r4BB
 Ot2alkE56+zSAbpBaWGQ9nih97GF/vpwlD+qeGs+UwhmF69wmTOrtSEi1uL+gRzM
 sdGXhQtMVPHJuK9fuZBP4bjgnAryZSpJHk/7VcEJ7rvuyXgXZGKdqN3lt8hjWyoi
 SuOQ+mqpt726o1fGA8/kKwr/Po6BhYBYLw1SAJjBZ5BF4fTi+9d2Q1C/M8F9X0wE
 UMXYfTkr4URDiNLFh8vyJoq/B0pN7FxtcPtaSoaCZO2jP5rXn36Axre35Si76WTb
 ndT4YlSKCwOrhk84on2ym3yHEwOCJndB7F+CqiA2t/qool4aD2vcqDzlmeZoUT8r
 qMB7zXbgpZ1ezqm6RKUB
 =V4yQ
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.6-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/drivers

From Alexandre Belloni:

"This is a rework of the PMC driver. It touches multiple subsystems so
the easiest path is through arm-soc."

drivers update for 4.6:
 - Big PMC rework that touches clk, PM, usb

* tag 'at91-ab-4.6-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  clk: at91: remove useless includes
  clk: at91: pmc: remove useless capacities handling
  clk: at91: pmc: drop at91_pmc_base
  usb: gadget: atmel: access the PMC using regmap
  ARM: at91: remove useless includes and function prototypes
  ARM: at91: pm: move idle functions to pm.c
  ARM: at91: pm: find and remap the pmc
  ARM: at91: pm: simply call at91_pm_init
  clk: at91: pmc: move pmc structures to C file
  clk: at91: pmc: merge at91_pmc_init in atmel_pmc_probe
  clk: at91: remove IRQ handling and use polling
  clk: at91: make use of syscon/regmap internally
  clk: at91: make use of syscon to share PMC registers in several drivers

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 17:17:01 -08:00
Pankaj Dubey
92c4bf0473 ARM: EXYNOS: Split up exynos5420 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos5420,
PMU configuration data and functions handing data into exynos5420
SoC specific PMU file mach-exynos/exynos5420-pmu.c.

[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:56 +09:00
Pankaj Dubey
3900d6a85e ARM: EXYNOS: Split up exynos5250 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos5250,
PMU configuration data and functions handing data into exynos5250
SoC specific PMU file mach-exynos/exynos5250-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:56 +09:00
Pankaj Dubey
73d72ed8e9 ARM: EXYNOS: Split up exynos4 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos4210,
exynos4412 and exynos4212 PMU configuration data and functions handing
data into a common exynos4 SoC specific PMU file mach-exynos/exynos4-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412, S2R, reboot, poweroff)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:55 +09:00
Pankaj Dubey
c21100c94d ARM: EXYNOS: Split up exynos3250 SoC specific PMU data
This patch splits up mach-exynos/pmu.c file, and moves exynos3250 PMU
configuration data and functions handing those data into exynos3250
SoC specific PMU file mach-exynos/exynos3250-pmu.c.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:47 +09:00
Pankaj Dubey
2262d6ef51 ARM: EXYNOS: Move pmu specific headers under "linux/soc/samsung"
Moving Exynos PMU specific header file into "include/linux/soc/samsung"
thus updated affected files under "mach-exynos" to use new location of
these header files.

Signed-off-by: Amit Daniel Kachhap <amitdanielk@gmail.com>
[tested on Peach-Pi (Exynos5880)]
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[for testing on Trats2 (Exynos4412) and Odroid XU3 (Exynos5422)]
Tested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:13:36 +09:00
Pankaj Dubey
18fd9c6330 ARM: EXYNOS: Correct header comment in Kconfig file
This patch corrects header comment of Kconfig file by changing EXYNOS4 to
EXYNOS.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:57 +09:00
Bartlomiej Zolnierkiewicz
25ef3f52e5 ARM: EXYNOS: Use generic cpufreq driver for Exynos5422/5800
The new CPU clock type allows the use of generic cpufreq-dt driver
for Exynos5422/5800.

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:57 +09:00
Bartlomiej Zolnierkiewicz
2c828cfc2a ARM: EXYNOS: Use generic cpufreq driver for Exynos5420
The new CPU clock type allows the use of cpufreq-dt driver
for Exynos5420.

Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:56 +09:00
Masahiro Yamada
036a5cf8d6 ARM: s3c64xx: use "depends on" instead of "if" after prompt
This platform recently moved to multi-platform, so missed the global
fixup by commit e324654294 ("ARM: use "depends on" for SoC configs
instead of "if" after prompt").  Fix it now.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:56 +09:00
Geliang Tang
81c258467c ARM: plat-samsung: use to_platform_device()
Use to_platform_device() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangtang@163.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:09:36 +09:00
Pankaj Dubey
f2cac8051d ARM: EXYNOS: Code cleanup in map.h
Remove unused exynos5440 uart offset macro.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:08:29 +09:00
Pankaj Dubey
1c6c224225 ARM: EXYNOS: Remove unused static mapping of CMU for exynos5
Remove unused static mapping of exynos5 CMU and related code.

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 10:08:20 +09:00
Olof Johansson
1a2a8de690 defconfig update for 4.6:
- Addition of sama5d2 ADC to sama5_defconfig
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWxSM+AAoJEKbNnwlvZCyzk+0QAINwcLZxwssiMGWftriC/jSq
 H1uHmL6i3+UveUpT65senATRfSgZLfWVWCsnWphJOW0kLPQT048ForLHXhipzs+Z
 6ckvXQ4h9xF0aBFAGCMc3kbFhpNlg8TFiuCpxbkjhJJ4Kajk2p0moDd51pn10vLf
 x5xbz9h3XLkKShUlNWwOqAxEtXdIJRPM9sQ1/nFI497G0EAskk/G+IE/TOIX8WVM
 973bKOxJwz5ueQVSmcM3oTDdZF6gPSihjtlL9bqbfLmeW3CVoa828Y0JtGSc+ajv
 ++JvZDQCw654N0AgFqQICxXnGc2Nkt6j4EVdu8G3YY3xf9iy9C6iw9HZMGBjeumz
 bqrUyOtKVz10NBcvjG/nVyE+uZXXBOOWtby7JK48TGfYrJwFRirFEb3605HcEWwJ
 FRMhh1ztMGadMK4WxjLdbO2PnOoWI2z96CLY10mTV8Z1N4vV1yvUvQIfDmjqPSkU
 u2qn3eAwsOzACaGej4RKGDiCk8HolxgWr5xtHT71YRxchhOpUKmT2nDxxo7E9YLn
 xo4P46JvqKwuMIyKLlxe6gAGaI3j5avRvYywKDWEtWwUI2hhFXUCOzZMg/DCGv3v
 JZAhRGaD1hiNFX6TZkDPNwOnr7IUBDNQ8lG4JjUzqujmvEES7f0sUOGCWFqZ+xHv
 vg0wHnKd54y4kC2cI6vE
 =8vI6
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-4.6-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/defconfig

defconfig update for 4.6:
 - Addition of sama5d2 ADC to sama5_defconfig

* tag 'at91-ab-4.6-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: at91/defconfig: add sama5d2 adc support in sama5_defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:56:20 -08:00
Olof Johansson
c74f162e84 mvebu arm64 for 4.6 (part 1)
Non dt part of the Armada 3700 support:
 - Kconfig update
 - defconfig update
 - documentation update (including MAINTAINERS:)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEUEABECAAYFAlbElN0ACgkQCwYYjhRyO9XkzgCfaYJggCHzsLpMvnTK1bMNgPCY
 jYkAmOIRjMJskq40RBXSXpyoJboqyZs=
 =tAva
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm64-4.6-1' of git://git.infradead.org/linux-mvebu into next/arm64

mvebu arm64 for 4.6 (part 1)

Non dt part of the Armada 3700 support:
- Kconfig update
- defconfig update
- documentation update (including MAINTAINERS:)

* tag 'mvebu-arm64-4.6-1' of git://git.infradead.org/linux-mvebu:
  arm64: defconfig: enable Armada 3700 related config
  Documentation: arm: update supported Marvell EBU processors
  MAINTAINERS: Extend dts entry for ARM64 mvebu files
  arm64: add mvebu architecture entry
  irqchip/armada-370-xp: Do not enable it by default when ARCH_MVEBU is selected
  ARM: mvebu: Use the ARMADA_370_XP_IRQ option
  irqchip/armada-370-xp: Allow allocation of multiple MSIs
  irqchip/armada-370-xp: Use shorter names for irq_chip
  irqchip/armada-370-xp: Use PCI_MSI_DOORBELL_START where appropriate
  irqchip/armada-370-xp: Use the generic MSI infrastructure
  irqchip/armada-370-xp: Add Kconfig option for the driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:46:14 -08:00
Javier Martinez Canillas
1462b1373d ARM: dts: exynos: Move syscon reboot/poweroff to common dtsi
All Exynos SoCs have the same syscon reboot and poweroff device nodes so
there is no need to duplicate the same on each SoC dtsi and can be moved
to a common dtsi that can be included by all the SoCs dtsi files.

Suggested-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung,com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
2016-02-25 09:23:07 +09:00
Olof Johansson
5dab9f62a4 Versatile family cleanups step 1:
- Finalize RealView the PB1176 and PB11MPCore device trees
 - Move Versatile to use the power/reset driver instead of a
   custom restart hook
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwZOHAAoJEEEQszewGV1zsg8P/3xtEDPR9GJAuzzgV8o8hmpA
 psFc4PmdQcp1e19gb2oi0oKcv9xDzsKGavy/BYMMn9HQ6v4wTmtM9qMwNgRyTWZq
 RyAtnPxUP543Qiae1tdPBp700cyg8UsEcL56qhwemCOucjwD6wZNiAAs6bUh9mYa
 J1liSaarw+XOhzUdfqffk0JUac1oqnvdiiOLwAXsdWbCfNdkJGbfZ0N5TuUANMhM
 RXeqq8giEZAbvQtqumZv6c7Qk02zeG6tYq6R7lsW65IIvOhVk2rxYdC8ZhPTojxR
 V7jMLnA4xYn5IaLE4l7Z32AqKWGnsThmdP4OEMLnRhEduutHWUVj3XHlPAlS1pN1
 cD+mHuP48+5AscEL6Xf6+jeVYFkdER3RX9DgGZxUgLENw9T4g0/vq2DSGijwPuDN
 NB++vroPQoFEoPzCOx+JvO88VctabzuV7Z6rIvSLcIwPAhHvzMk1G+gy6hrUz5Bc
 cfovCqw1C8Y15srcIRhNr8dxDyZ3bpsatbSQNgPly4cHnAHLB8olTpXdfBzKIbKO
 FQmiAh+aPljOXxJT5yTg+3isIWA2tkc67WNiuX3+aKp38Ux2TNvDYCGf+LXF0RsU
 hgLGe3f4Bqw9xIMPYqQZM2UBl91p48ErhhmNJCWjceVgLEDHsCxaIvCx+oqLyYdv
 00TEPFLVtam4SJbqgJwq
 =NvEo
 -----END PGP SIGNATURE-----

Merge tag 'versatile-dt-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt

Versatile DT cleanups from Linus Walleij:

"this is a first pull request for my cleanups for the Versatile, as
the finished stuff should not be sitting in my tree but in ARM SoC.
This completes the ARM RealView PB1176 and PB11MPCore device trees,
and moves the Versatile to use power/reset.

The idea is to keep working on this cleanup branch and send additional
patches on top of this one as the prerequisites are merged into the MTD
and FBDEV subsystems. So please create a special versatile cleanup branch
(or suggest another approach).

As it happens, board files and device trees need to change at the same
time to make logical sense, especially for Versatile where auxdata is
replaced with DT entries, such as when reset is moved in the last patch
in this set. The MTD and CLCD changes will share this characteristic."

Versatile family cleanups step 1:
- Finalize RealView the PB1176 and PB11MPCore device trees
- Move Versatile to use the power/reset driver instead of a
  custom restart hook

* tag 'versatile-dt-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: versatile: move restart to the device tree
  ARM: realview: add the DS1338 RTC to PB1176 DT
  ARM: pb1176: add ethernet to devicetree
  ARM: pb1176: add ISP1761 USB OTG host controller
  ARM: pb1176: add AACI to the device tree
  ARM: pb1176: add ICST307 clocks to the device tree
  ARM: realview: fix up PB11MP flash compat strings
  ARM: realview: add flash devices to the PB1176 DTS

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:17:36 -08:00
Olof Johansson
797bc81398 plat-versatile cleanup:
- Removes the clock.c in plat-versatile that is no longer used
 - Move ARM to use the generic clockdev.h header
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwZYlAAoJEEEQszewGV1zXG0P/RYCHGp3A5V610OxgHxW9Req
 UQnruSBOELJAXLKrRytmRywrZYoTosjlfIugwvcs/ej9GymeMT6NeyPwZGvqGG20
 LE8JNuAC8KjgPkQoWrKsTKD1zCffU5VxoMaZuCKcFtEkhHDCXUS7/MFV5t9uGlbY
 dZs4NLw7P77+SK1iFcUqAly7I7XBhDIpiWZcZFMs2I/mQRnMt+kIDyc1FEwoPfjr
 xhqawOUjDD5ezpc+N8B91BAeOQ5kH4bdvsnK8H2+LA9rsdicnXts0mjgYEWCla3O
 a7mwKfZHYS3icAOnc/tMr8UVmo1vAfvNmHF1g7d449r6OxOSSu0bI2IvGyZcQ2Cv
 LriVp+SXg6PkqAXwPMZzmxiqeStEKz8MTKHrAiiuOwcwTncphysXLZzj1K5JlGxV
 noMvuipVht9LZPY0PY9qFrTxcN/s7FrhEzzyFnHJ8HCSj9JgmG852YxS1l1Blr0c
 QzQ7c9cIKBTwgH00n8qGZUdohwJ/oMuzxGJ+/Kbo6kdLWaSjnlzBJmqHbw5JO753
 F+sm1dreXK7HD8RXKeqZP2gUfEToV7FiPEu9GcGrRwU35nVIEruISnQH2GlnaTdl
 V08RIT6vrYJ5+x3AJMvyjbrF4VK0brNvWcKDq6WFfNZG8aV4AGIxrLRqN7FNdBOn
 p5R+RfTHWYRGWlrwdTHf
 =Hj7K
 -----END PGP SIGNATURE-----

Merge tag 'plat-versatile-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/cleanup

plat-versatile cleanup:
- Removes the clock.c in plat-versatile that is no longer used
- Move ARM to use the generic clockdev.h header

* tag 'plat-versatile-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: Use generic clkdev.h header
  ARM: plat-versatile: Remove unused clock.c file

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 16:06:09 -08:00
Olof Johansson
7f544a5109 Defconfig (exynos and multi_v7) changes for Exynos based boards for v4.6:
1. exynos defconfig:
    a. Enable NEON and accelerated crypto,
    b. Enable s5p-secss driver (Security SubSystem block for accelerating
       some cryptographic operations),
 2. exynos and multi_v7: Remove MAX77802 RTC Kconfig because the driver
    was combined into existing rtc-max77686 driver. This depends on changes
    from RTC tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRlWAAoJEME3ZuaGi4PXngMP/3Xp+doDPiz+hTj8IIovy58u
 9XMBIdT4A8dklpVGUC6m6JQOGgM8M/5r/SNwZkOpmIo/8uZYZhbe8vpz5/k2XRwr
 6JT6dZ8KU01TKzggsjOnJzFvKkSRnW7eMl1zG+qSlLodOoEdXjQq2rihTeWlKtAw
 6KBZCmzaqswATS5ZVrcy56w8q3Gdw6HSs2k1GUwEtgM3FCBlf8S9OhVmgHdspYuU
 MjMPSkfgHy8TfDR9YHV/sr8b/qO9vBHBEGW/QxCp/roXOrzeVbXsKB5AXP/mMKMT
 vJcctLAC8TBT/CE3qCwetMwFIM4hEpMpVXpu45HuGCnrdBASmRvn/4wRuuCDb12V
 g71/93lg6R1+t2mtDLVfSxmgMGBW1vK0HFS14CHgmF+mMvH7D3LN7LdC/xBVonwE
 nF+E6HF8nqksHOkdIYbHZGfxeuMvWw5RST6IyNhqeQ/QRlwtSAgwmbx9xjB8hcmE
 WeZkUlwexXmUKp29tcBsN/n5l7m91JJ1KhFReuuB7TX7zJ9cF4hUC8otdQzwTDGd
 qGDQnxjpMp7kYWL0ip+BRrZEICdgNqMAUnkH8q/R3AH0zkodzp+UAA5oNoY2Q7n4
 3UV8jvZnQKtUGx54P+2bYnVbZK6QKcCUt1Uk2SngsToiq7es2sW4kMXZSOmfxrQ6
 WqiiM0lklrISYrzi+KmG
 =SU+0
 -----END PGP SIGNATURE-----

Merge tag 'samsung-defconfig-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig

Defconfig (exynos and multi_v7) changes for Exynos based boards for v4.6:
1. exynos defconfig:
   a. Enable NEON and accelerated crypto,
   b. Enable s5p-secss driver (Security SubSystem block for accelerating
      some cryptographic operations),
2. exynos and multi_v7: Remove MAX77802 RTC Kconfig because the driver
   was combined into existing rtc-max77686 driver. This depends on changes
   from RTC tree.

* tag 'samsung-defconfig-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: multi_v7_defconfig: Remove MAX77802 RTC Kconfig symbol
  ARM: exynos_defconfig: Remove MAX77802 RTC Kconfig symbol
  rtc: max77686: Cleanup and reduce dmesg output
  rtc: Remove Maxim 77802 driver
  rtc: max77686: Properly handle regmap_irq_get_virq() error code
  rtc: max77686: Fix unsupported year message
  rtc: max77686: Add max77802 support
  rtc: max77686: Add an indirection level to access RTC registers
  rtc: max77686: Use a driver data struct instead hard-coded values
  rtc: max77686: Use usleep_range() instead of msleep()
  rtc: max77686: Use ARRAY_SIZE() instead of current array length
  rtc: max77686: Fix max77686_rtc_read_alarm() return value
  ARM: exynos_defconfig: Enable s5p-secss driver
  ARM: exynos_defconfig: Enable NEON, accelerated crypto and cpufreq stats

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:33:10 -08:00
Olof Johansson
fab4db0d35 Samsung DeviceTree updates and improvements for v4.6:
1. Add SROM controller device nodes.
 2. Add Ethernet chip as child of SROM controller on SMDK5410.
 3. Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
 4. Cleanup CPU configuration on Exynos542x/5800.
 5. Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs,
    regulator supplies) which allows frequency and voltage scalling
    of this SoC.
 6. Minor cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRf5AAoJEME3ZuaGi4PXrAIP/RGMMvPNhSRp5EMbrZlK3gsg
 Q32cZgxXGW5AIgxhhXkBCDrfUFD3bpw7hAM4eWOScJvZWp0MagQJC7/9AKZ4/fRh
 J5gDmGyRrhhotUR2lzrJrN5YBffOlWiJ9VnVapWfdkYUDXXsL76xHdXnPyOnVlOv
 VcUh1g7Tbv1ao0U3tuY2PSpryk4Vi9R/SBSSQu9Tn6UChAFyZTpbPgbeS24tKkas
 jJDbfJS6eIBnyoImGiKC1E9eaERL2lh9YjZ323tzNSav4BYRLLlRe3olZf7uKQRs
 GIlyJbtcYu72+IANXkjjF+pKen3x8b1BWrUbyWD4nxRkn0gR6czRAzqw+sX0bBRl
 hYPd/IxnilgJni06e76YL0qwdSjvOThgiMNhojrU4y21Tr3xqzC6TJQiLK4dWlTD
 RiAReOCQTfxV3dlQpLixIN1icRlwkJz2JO791iavIEilZIT0dRrNkzQNILWj0GMU
 x9/JS/axja/ckKImMRVMd3ZCtDkYD4B0QzFEElcTe9oIhEmfk3VYZIxXu4a9U+5q
 NWU/hPxHoOk16tq6G8TvwwTCH561HTWnkXn1kpku8gr5x8rO9tH5KfgWX8syZAoh
 a/ugdzntt0GOZpSRhOYE9zXjKBlxiidq53fdVDFTw95V6r6JJYNWfmkWXbT2jteR
 L/UrZA45YPJCydvtRztE
 =OC9Z
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt

Samsung DeviceTree updates and improvements for v4.6:
1. Add SROM controller device nodes.
2. Add Ethernet chip as child of SROM controller on SMDK5410.
3. Allow simultaneous usage exynos-rng and s5p-sss drivers on Exynos5.
4. Cleanup CPU configuration on Exynos542x/5800.
5. Add necessary nodes for cpufreq-dt driver on Exynos542x/5800 (OPPs,
   regulator supplies) which allows frequency and voltage scalling
   of this SoC.
6. Minor cleanups.

* tag 'samsung-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: Replace legacy *,wakeup property with wakeup-source for exynos boards
  ARM: dts: Add GSCL block parent clock management to pm domain on exynos542x
  ARM: dts: Extend existing CPU OPP for exynos5800
  ARM: dts: Add CPU OPP properties for exynos542x/5800
  ARM: dts: Add cluster regulator supply properties for exynos542x/5800
  ARM: dts: Make CPU configuration more readable on exynos542x/5800
  ARM: dts: Replace legacy *,wakeup property with wakeup-source on s5pv210
  ARM: dts: Allow simultaneous usage exynos-rng and s5p-sss drivers on exynos5
  ARM: dts: Add Ethernet chip to exynos5410-smdk5410
  ARM: dts: Add SROM to exynos5410
  ARM: dts: Add SROM device node for exynos5
  ARM: dts: Add SROM device node for exynos4
  ARM: dts: Add pinctrl support to exynos5410

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:30:50 -08:00
Olof Johansson
5dc1104960 Fixes from Arnd for harmless warnings for Exynos and S3C platforms.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWwRT1AAoJEME3ZuaGi4PXidgP/RnaUx1W+wRaNVotyheUBcQE
 KnzrC4DOzXq6Qc+ax/wH3bEbWQF9Qs1TGWe/JYPCiNUZo+Xa5xRMhfJfCNPeYjZp
 +dZz6W4BV1zDCQF2qi3qeprXtJqhvGISo1RnC3VuvDuMfgfyVZEYeWzQcSAQDOSp
 WIa/Z9A9KIWW8rm8eQCVR5SLShKLb+aDAkLtJ3bwPMwDs0I3cYlcXJaIV0Pb+oWR
 31mBUlWxZI7Xi21rpzT0d4HqqhbGvUakLKfCADzJzG+jdVagsppqZ0R7iPkWCNxZ
 TWdMF2tY6+HGs1aVJFVcoU5OEYbeq4q5vd8rq8KVnBJaybNsB2qSw8jgkH16vwBR
 MzCUM85cpNe2MPRao3rDjRHtSrbwTITKZbYl7epCLyDDalrskFpn4ekaoZvGQzDP
 G1oJjSO3AKvEa87kDwiLJngdePMIObTXKPbQIEdqRUD3k/QXSLx9ph0Ox9nHheWR
 1G37yKgvu+eU1hJQQTIc+Xvs8bpM9l0Ll9ghXvb2d1RLj/9oaYwo+RjA6Lr5f/bV
 hrnFezSO3tQIBzdROl9N5gYRcZ81w0RTEBgWbWZIQBGk6H/Bugo3NAgqkSTXOD3e
 7x/WAGmvxZocDZTUS4K2uX5MrKkW/NiWlsmiKyx8Tov04QWt08z5epbCLDH5Tw01
 7r4UlBa8l9r+xRV1zaYo
 =apUL
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-non-critical-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/fixes-non-critical

Fixes from Arnd for harmless warnings for Exynos and S3C platforms.

* tag 'samsung-fixes-non-critical-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: EXYNOS: select THERMAL_OF
  ARM: s3c64xx: mark regulator init data as unused
  ARM: s3c24xx: fix unused gta02_configure_pmu_for_charger warning
  ARM: s3c24xx: allow selecting S3C2440_XTAL_16934400 for s3c2442
  ARM: s3c24xx: don't select EEPROM_AT24

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:18:08 -08:00
Olof Johansson
fc2834a465 Renesas ARM Based SoC DT Updates for v4.6
* Use SCIF and USBHS fallback compatibility strings
 * Add Baud Rate Generator (BRG) support for (H)SCIF
 * Enable SCIF_CLK frequency and pins
 * Use GIC_* defines
 * Enable audio on r8a7793/gose
 * Enable HDMI vidio out on r8a7793
 * Enable i2c on r8a7793/gose
 * Enable QSPI on alt
 * Enable GPIO keys and leds on gise
 * Enable audio on porter
 * Enable DU on porter
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvirlAAoJENfPZGlqN0++H/MQAI7AQMgaAV5ejeyl7bgtsrBM
 7Xq8MojRIMqCXgpEGsJ09jqnuOQIDHEaAHLNX4FWwGmJD95yCudFoeNagr79b9WF
 oBHtkB9p60hw1Qz1fx9d/CjQrmAk7/TiLGBa81wNiz2D7xxmqXxYB3mdsA2oNmdV
 2RPnROPM6uiZMhFM5ePiS9ku++Mv5/lvQZYnMlP8PilPpfp1VHCjcN/CXE+3AzV2
 xH75tyg1A60rRmn4f2MP9kigQXC9OBdcGchI1ejwCnMGfw0THWjchAnNQ7GpV54a
 N0C0pCIfGrluBXHUmvN9Fof1t5R+PNc4tyaC1SHpAEKp1uq9xKAadzonbQy9UWA2
 A+iFCx0vkPo/JEbui1gE3Pixekthlk9kEXeJVBhobiraDoAIqLir5EztYLgPZUGg
 wLxm1gAB6N7DrJGXxsl1ZsnkcZH4Qooy3D7kCYCqGGdse7hCIRLKdG/GXA8BK9Yz
 fYPQH34kqwNpOi3Um3/VivYJjk0srTsLNMNsRTDWe7WwH7h/eK7+XuhfnJaO8di+
 V0l6ptjldLwVFbpkr1RrUpIHTXoud99SfEAdu2SLADL6pumApjN2TjGTtdCzavSl
 XgdshCsPiPOZ7Ou8VFDSFjfGkkEBXOAw5CJTAy+mcxn1b+vEQ5scIv0uAD1koLTS
 5KyhSNdtYuBTjWk1lDlg
 =YmRO
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC DT Updates for v4.6

* Use SCIF and USBHS fallback compatibility strings
* Add Baud Rate Generator (BRG) support for (H)SCIF
* Enable SCIF_CLK frequency and pins
* Use GIC_* defines
* Enable audio on r8a7793/gose
* Enable HDMI vidio out on r8a7793
* Enable i2c on r8a7793/gose
* Enable QSPI on alt
* Enable GPIO keys and leds on gise
* Enable audio on porter
* Enable DU on porter

* tag 'renesas-dt-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (68 commits)
  ARM: dts: silk: Enable SCIF_CLK frequency and pins
  ARM: dts: porter: Enable SCIF_CLK frequency and pins
  ARM: dts: marzen: Enable SCIF_CLK frequency and pins
  ARM: dts: lager: Enable SCIF_CLK frequency and pins
  ARM: dts: koelsch: Enable SCIF_CLK frequency and pins
  ARM: dts: gose: Enable SCIF_CLK frequency and pins
  ARM: dts: bockw: Enable SCIF_CLK frequency and pins
  ARM: dts: alt: Enable SCIF_CLK frequency and pins
  ARM: dts: r8a7794: Add BRG support for (H)SCIF
  ARM: dts: r8a7793: Add BRG support for SCIF
  ARM: dts: r8a7791: Add BRG support for (H)SCIF
  ARM: dts: r8a7790: Add BRG support for (H)SCIF
  ARM: dts: r8a7779: Add BRG support for SCIF
  ARM: dts: r8a7778: Add BRG support for SCIF
  ARM: dts: r8a7794: Rename the serial port clock to fck
  ARM: dts: r8a7793: Rename the serial port clock to fck
  ARM: dts: r8a7791: Rename the serial port clock to fck
  ARM: dts: r8a7790: Rename the serial port clock to fck
  ARM: dts: r8a7779: Rename the serial port clock to fck
  ARM: dts: r8a7778: Rename the serial port clock to fck
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 14:02:53 -08:00
Lars Persson
39b898a049 ARM: multi_v7_defconfig: add MACH_ARTPEC6
Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:57:58 -08:00
Lars Persson
f68a4535a4 ARM: dts: artpec: add Artpec-6 development board dts
Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:56:55 -08:00
Lars Persson
f56454fa90 ARM: dts: artpeg: add Artpec-6 SoC dtsi file
Initial device tree for the Artpec-6 SoC.

Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:56:49 -08:00
Lars Persson
590b460c3e arm: initial machine port for artpec-6 SoC
Basic machine port for the Artpec-6 SoC from Axis
Communications.

Signed-off-by: Lars Persson <larper@axis.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:55:47 -08:00
Olof Johansson
d16073d385 Assorted bunch of 32bit Rockchip devicetree changes. More clocks,
nodes and fixes like the increased drive-strength on the firefly.
 Most interesting is maybe the enablement of the pl330 option
 for handling the broken flushp operation that is present on the
 current Rockchip SoCs. Together with the driver-side enablement
 this should give us working dma finally.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWvGKWAAoJEPOmecmc0R2B2j4IAKSBKgak7uASVfvycAnJ/E7a
 jNjcz9s/SAWGAu+ES36rX23r1/u/UlkdDX0yS0vCFR4eHNn35uUrl3lQdqjFEDXZ
 f/c9gCrHsfvQQJPLGRzkhFIrQ6L/Anrgk5nq75+C4GvMFRDsDo5qqRnS0iP3wIZP
 VALc9PFqq9kJnnrdFymHVgc9ETCR+kTM9YGqDTzHYT2pHKxkBTAANx+Pr7/1Ib0b
 BM/he5i7/K+NVb9pjw6t8JbyT2JgST+UcNFeGn6jYylYdW4awFzFvJN0Q9pp989y
 7mjJe6Suh36tjp0kX0DnOvBCWYXB2i62cSsjFxsf8rZGjCbZ3YtXS15EWwXsxto=
 =wj5r
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Assorted bunch of 32bit Rockchip devicetree changes. More clocks,
nodes and fixes like the increased drive-strength on the firefly.
Most interesting is maybe the enablement of the pl330 option
for handling the broken flushp operation that is present on the
current Rockchip SoCs. Together with the driver-side enablement
this should give us working dma finally.

* tag 'v4.6-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (30 commits)
  ARM: dts: cros-ec-keyboard: Add LOCK key to keyboard matrix
  ARM: dts: rockchip: replace gpio-key,wakeup with wakeup-source property
  ARM: dts: rockchip: add arm,pl330-broken-no-flushp quirk for rk3036 SoCs
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3xxx platform
  ARM: dts: rockchip: Add arm, pl330-broken-no-flushp quirk for rk3288 platform
  dt-bindings: rockchip-dw-mshc: add RK3036 dw-mshc description
  ARM: dts: rockchip: increase the mclk_fs to 512 for kylin board
  ARM: dts: rockchip: support the spi for rk3036
  ARM: dts: rockchip: add mclk for rt5616 on rk3036 kylin board
  ARM: dts: rockchip: add the leds control for rk3036-kylin board
  ARM: dts: rockchip: add tsadc node
  clk: rockchip: Add new id for rk3066 tsadc clock
  ARM: dts: rockchip: add clock-cells for usb phy nodes
  ARM: dts: rockchip: Assign RK3288 EDP_24M input centrally
  ARM: dts: rockchip: add soc-specific compatibles for rk3036 SoCs
  ARM: dts: rockchip: Bump sd card pin drive strength up on firefly boards
  dt-bindings: rockchip-dw-mshc: add RK3368 dw-mshc description
  ARM: dts: rockchip: Add the SDIO wifi on Radxa Rock2 square
  ARM: dts: rockchip: Add the iodomains for the Rock2 SOM
  ARM: dts: rockchip: add rk3288 mipi_dsi nodes
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:52:42 -08:00
Olof Johansson
6ba1c64cd2 Highlights:
-----------
  - Make STM32 to select PINCTRL
  - Introduce MACH_STM32F429 flag
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvIShAAoJEMo4jShGhw+JL6YP/3wmZoz3Bc6ILf8kmhvc+D4n
 mavOrXTj7Wy7ZfVFLTx5KrfBcTcXkeEP1ZSSSgSDVuhdWxn+SAnvm7DM4vLWklOf
 Q0ApxTk7QR0KBCvziGMUdL7dh+jAaN/cCsmOgbDwgMaJBmhkJVGJHM3VjDu0hKEw
 0LCaXyrn1xqD8bGuRSGh15eJ7jbsOAJlsjtWBs/EVLB3M4jjvW8ZOWgfgcb6EEJc
 OtaOXKZqlxveLy6fboOX8Brp3VlbZk6kv15OlpG0gGP4XfHeQTsAz3MswzSuYVIU
 1z+Z0qeHq6Ky540RPEy2xrQmgCnURN6y6zE+jbZzYRMkLFh85GvF/8bcmTB/0bMA
 7Lfzihrq+V6sASbjdVCelpc3Ulm1pSkUejVvrGNI9NzKcZ5fzalHz1c2l1Vc8/Ub
 ZOj45jOBUQQJrOealfofd20I6lXl3g59GZccNq/xI0/ywo5SRfeSvnS0fCPAgHEx
 6wlE+747RfSkndYpNUOknoWc0mkfD7PPYB5WZlKohq4Km7fnryXuaYMnQwALRYDC
 2N1F53sOWO4KeXUrhC8BcZEcQjwfqi8bbLBulYyy37GxS8DadoSZ07ljV7yldbMQ
 iYAQ1SVh/vSchaovM2tiua9Q+O59OOZAt+xDpJMU4GvVmPBWlrFsJ/pLXla4IfQK
 429BIEpyBTpFno/+wC0V
 =4+0S
 -----END PGP SIGNATURE-----

Merge tag 'stm32-soc-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/soc

Highlights:
-----------
 - Make STM32 to select PINCTRL
 - Introduce MACH_STM32F429 flag

* tag 'stm32-soc-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32:
  ARM: mach-stm32: Select pinctrl
  ARM: Kconfig: Introduce MACH_STM32F429 flag

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:47:45 -08:00
Olof Johansson
4d66fb810a Highlights:
-----------
  - Add DMA controller node to stm32f429 MCU
  - Add pinctrl & gpio nodes to stm32f429 MCU
  - Remap stm32429-eval board SD-Ram to 0x0 for performance boost
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvINRAAoJEMo4jShGhw+JVb4P/3d4IzEqBAtG/MPmFv/htev9
 jH98flRic0a1KWYhUcHjGYc4klALodof2aj3h6yWkm70dYNYonP99wBWrN/PieMi
 wMPwMBlBP++ufnsghnlbTqOHGXPxEgv7NMNvWukqD18MUkS1aLAqLo6CDtCRuEIH
 fTuhF+ONcrXEdYbjzx3G4lAm96DNWYCecfNCdnTn+XXE+q+M0eTSQYcVDZ4xkvBO
 qo89o1XexgXZhTySxbD9xIob82g3fnflwD7CG6EyKV3URAH3OF72JzwiFwt5hjXJ
 E6BT529LQ0krO4nkSVxhiwuTWn2eeIYoYfJph3ja+117EaDcPahMYQJ+/JT7+mx4
 4fe7Jxwj6KdHRQktJ8hVyZHqroqcFLy+EknuLXjgezVFn58H4m11lJ6WuQVrWjqK
 FuEqVxwNwmC96VXWo+fcimECV3r0QeduDwLqxDzEaFwvwbMzccb+t8F5Qo9TXvzz
 GT99Q4FJ2yVWDwukpZrk7z0wxfCYiyZNHCwiqaz8RsSgxTADBijTM0yUzkCNJftZ
 tBjAJqLHbrjc1IMTccoyYVoaN5/NPImrbglaxAvogTg3Kemi2QziWijniG1bBF1U
 0xW0zb2qFbQCvKwKnn5dBx5jjcUySJwnVvQFsV6veDrhZJP3J/4305tJPvB1z7fM
 +TUUTqOx4GjtHimlgc1U
 =j6TZ
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt

Highlights:
-----------
 - Add DMA controller node to stm32f429 MCU
 - Add pinctrl & gpio nodes to stm32f429 MCU
 - Remap stm32429-eval board SD-Ram to 0x0 for performance boost

* tag 'stm32-dt-for-v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32:
  ARM: dts: stm32f429: Boost perfs by remapping SDRAM Bank 1 to 0x0
  ARM: dts: Add leds support to STM32F429 boards
  ARM: dts: Add USART1 pin config to STM32F429 boards
  ARM: dts: Add pinctrl node to STM32F429
  includes: dt-bindings: Add STM32F429 pinctrl DT bindings
  ARM: dts: Add STM32 DMA support for STM32F429 MCU

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:46:41 -08:00
Olof Johansson
9a9f182606 Merge branch 'lpc32xx/dt' of https://github.com/vzapolskiy/linux into next/dt
Merge DT changes for lpc32xx from Vladimir Zapolskiy:

"The changes add description of clock providers and clock consumers,
define default irq types of SoC controllers and add PHY3250 board
regulators.

I'm adding an official LPC32xx maintainer Roland to Cc, however he seems
to be unresponsive for a quite long time (since 2014)."

* 'lpc32xx/dt' of https://github.com/vzapolskiy/linux:
  arm: dts: phy3250: add SD fixed regulator
  arm: dts: phy3250: add lcd and backlight fixed regulators
  arm: dts: lpc32xx: assign interrupt types
  arm: dts: lpc32xx: remove clock frequency property from UART device nodes
  arm: dts: lpc32xx: add USB clock controller
  arm: dts: lpc32xx: add clock properties to device nodes
  arm: dts: lpc32xx: add clock controller device node
  arm: dts: lpc32xx: add device nodes for external oscillators
  dt-bindings: create arm/nxp folder and move LPC32xx SoC description to it

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 13:38:58 -08:00
Olof Johansson
1e4ee8791f Merge branch 'lpc32xx/soc' of https://github.com/vzapolskiy/linux into next/cleanup
From Vladimir Zapolskiy:

"The main change is a switchover to a common clock framework driver for
LPC32xx, this also allows to reuse a shared LPC32xx clockevent driver, and
hence remove legacy clock and timer drivers from arch/arm/mach-lpc32xx.

I'm adding an official LPC32xx maintainer Roland to Cc, however he seems
to be unresponsive for a quite long time (since 2014)."

* 'lpc32xx/soc' of https://github.com/vzapolskiy/linux:
  arm: lpc32xx: remove direct control of GPIOs from shared mach file
  arm: lpc32xx: remove selected HAVE_IDE
  arm: lpc32xx: switch to common clock framework

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:21:24 -08:00
Sudeep Holla
a6b1786897 ARM: dts: spear: replace gpio-key,wakeup with wakeup-source property
Keyboard driver for GPIO buttons(gpio-keys) checks for the legacy
"gpio-key,wakeup" boolean property to enable gpio buttons as wakeup
source.

Few dts files assign value "1" to gpio-key,wakeup which is incorrect.
Since the presence of the boolean property indicates it is enabled,
value of "0" or "1" have no significance.

This patch replaces the legacy "gpio-key,wakeup" with the unified
"wakeup-source" property which inturn fixes the above mentioned issue.

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:20:26 -08:00
Olof Johansson
e631847a9b This makes the RealView defconfig select SMP on UP
so we only need one defconfig for RealView, then adds
 USB mass storage configuration.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWubQdAAoJEEEQszewGV1z+/sQAIG5oQTEIcL1hqpvXt45aXWV
 EXDegA0Dn++yCHoxlG0f4UJvzuxwddvwPNGyaYGfSne3dJg25ufIFYwElXdcnhAe
 cbjS2BNOi7iYqv/WNRl+Afk1Aft0exjoQkT/ZVEFYrw6ZawxLneiSDTo5sTyqGBd
 T215nH7oAa1Yo6CPrzLBLlefWtINgzB0FSAoGQPe4dXWa9IIiqftSYjIzkEjVprI
 KYm14QMT7eiZgOzBr22zp+pGCrO3iE+EKbMXbYHCRYjonfpxxiV9BupBBjkBpUPO
 fDm/G7RX+Eu/DfogM3UvbWIgiRMwSPSk2eN65TY/K/+V7Zk577utBSYqmt+Hrobp
 QxqbeAdLk5yrT5LK7o6mgEhGX0Ur4QYAHY73lDOXQKG7ArOYwexyXEeVhgtj4mJh
 xa3nGLcIFeyZJj4J6brxy4JKku9yt/IyeRHimMeH+wPPI2trdVKQuGJjmJdrIwHH
 QWG4Igav+Xvde8y7GgKBP3d74chf5RTs71gTBImvdnFuWZHjTCyWipDSzTBjYGXi
 +PFiE/gAKHjF0wQd+bQzvMcBvVAOPYkOfCmGYGk16rQSpNHH+gcLzO/LxSNiahxn
 5HmR+KpW8fWiGrRdtdHQP2LqLTNHgU2UgNU/1nmm7mQOdfcGTjS7UTHM58A3hxlL
 NceDiHuVmWywr6XqJJTp
 =tRLy
 -----END PGP SIGNATURE-----

Merge tag 'realview-defconfig-redux' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/defconfig

This makes the RealView defconfig select SMP on UP
so we only need one defconfig for RealView, then adds
USB mass storage configuration.

* tag 'realview-defconfig-redux' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: realview: enable USB storage in the defconfig
  ARM: realview: delete realview-smp_defconfig
  ARM: realview: activate SMP on the default defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 12:17:50 -08:00
Olof Johansson
d877a214d5 Renesas ARM Based SoC Fixes for v4.5
* Avoid writing to .text
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxqjiAAoJENfPZGlqN0++L3cP/2sJqc/apSDngPLv/K+JajST
 bsnJXwwSKtqybzlBr6SbjCcE1XCorKg1ShdTxeW4lwWMqYCpeB70gDrIYETQq3y8
 nNP5vyKfUbr53CNPNE5XabUXdZvUq0ZiNUU80t6wGqqzLYz+aho0u8fC20P280w3
 557YY6Kq+Kt38E8SbO7NeowjBMQHVnvMlQq7mtmoCCCNHc9qYF/rweCqPj37+Mpy
 K5MMHEnYciVGyIBry41e5Wi9DXTbMnnutw6PwGmuBIwujcNut2dckS59GDUsh3HB
 N6tP0H03xks+DUfPZVis8+k7b9nKELJZ5IDYIxE39M8uKb3sjBW6spuoV3yjooql
 k6EpiQqL+ux5opF9+WV3A3ZJN+w1IQs0B/OGqEj1JcRj003A+GRmG3HB0SIteNUB
 GhFPAUyX9WLFopEi3flkOatRbYgod3w6YkKA7nNjaR+z2TVFZ+O+GTfuXyRnjy16
 qDRqJhGrAgH5JputXBKCepnA068laK+kpFuvCxGt5LvTJovHO4xAM3kqwBCJ6ZbQ
 RL21bVlq1OK+t3gyNMLJa1eS0Ew3HMLGlWZfiI6FI8PlZPKwb91LYqprOyxPRitf
 +3AjWu7BmFDgLwHVsiibDpdS3TDGopv5u60/APuOxyAQ/PgDhFZjXhg5grHn+hxS
 Y1mjE1NH4RnTYKgSWapu
 =i1ze
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-fixes-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes

Renesas ARM Based SoC Fixes for v4.5

* Avoid writing to .text

* tag 'renesas-soc-fixes-for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove shmobile_boot_arg
  ARM: shmobile: Move shmobile_smp_{mpidr, fn, arg}[] from .text to .bss
  ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
  ARM: shmobile: Move shmobile_scu_base from .text to .bss

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 08:48:22 -08:00
Marc Zyngier
1d6a821277 arm/arm64: KVM: Feed initialized memory to MMIO accesses
On an MMIO access, we always copy the on-stack buffer info
the shared "run" structure, even if this is a read access.
This ends up leaking up to 8 bytes of uninitialized memory
into userspace, depending on the size of the access.

An obvious fix for this one is to only perform the copy if
this is an actual write.

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-24 11:53:09 +00:00
Heikki Krogerus
d54bbaf45a ARM: tegra: use build-in device properties with rfkill_gpio
Pass the rfkill name and type to the device with properties
instead of driver specific platform data.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
CC: Alexandre Courbot <gnurou@gmail.com>
CC: Thierry Reding <thierry.reding@gmail.com>
CC: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Thierry Reding <treding@nvidia.com>
Tested-by: Marc Dietrich <marvin24@gmx.de>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2016-02-24 09:13:08 +01:00
Olof Johansson
9fa6c2b1aa Two omap fixes for omaps against v4.5-rc5:
- Yet another fix for n900 onenand to avoid corruption. This time to
   fix the issue of mounting onenand back and forth between the original
   maemo kernel and mainline Linux kernel. And it also seems there will
   be two more fixes coming via the MTD tree as issues were discovered
   also in the onenand driver during testing.
 
 - Revert tps65217 regulator clean up as it breaks MMC for am335x
   variants. The proper way to clean this up is just to rename the
   tps65217.dtsi file into tps65217-am335x.dtsi as a similar setup
   is used on many am335x boards.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWy321AAoJEBvUPslcq6Vz0osQAI7OJXSLqdmle3eV2Y2AbdpJ
 jgZV31sjxCgnE91toURDpzzCNmpBwXKX8m2CToE4gCfERS9iNI1CXnV63AoR6A1Q
 mUbzWDuulTDlwdEs/1n2E6QlYi/HYISYUI0sEZdK71nyStNDjsXfALpTfOSMMFj/
 Jcr8FcCTM8ZdfvzAungijzc4szAJ1PHuV68PUbgE6t9c6s0zQfrT1E+Ty9CLPkyk
 jnVCLCCrgHe+9oIXDQYE0z473h69Ij9PfIJmcYlTH+Gcu8hIT2FK9UyrgUQcKrSl
 w4l1u8ZOA9225oYDjLE7RczPAsauIX1VHBqsNEVhmWsMc4LIjWdM+kF/8nB4Rve2
 UfGjtfdVIN07PksilvCJr4HhZI8eTfWRvMgsGN8ypTZX8roFoHHwzjwrS245X5ve
 VMdS3ZcTZsR8SoHrSYCJzfs10d27JDfL3ya5ekQREEJsANxwVSk2aHwRyTnxdMFd
 lMmbzWKiYtzLs8Uvol+4h/wp8LCllP7/LKE8SkN/D6gc+jCzu5M4uOgj1c5lZtjM
 mFawFqpO4a2bQbcyTLCzQ2oHaTAW+suXZ5TcszKblm35gSY61kK0uTP89lRS/6Fv
 UF7+SqJwmM4eaqS5KvfkT/8GcOkWpG/iXtoNlIMiTNyMNjWutJ/WpTaUQ34TdwGV
 etQjXrmU5xEI1Kow7T+h
 =tAiy
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.5/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Two omap fixes for omaps against v4.5-rc5:

- Yet another fix for n900 onenand to avoid corruption. This time to
  fix the issue of mounting onenand back and forth between the original
  maemo kernel and mainline Linux kernel. And it also seems there will
  be two more fixes coming via the MTD tree as issues were discovered
  also in the onenand driver during testing.

- Revert tps65217 regulator clean up as it breaks MMC for am335x
  variants. The proper way to clean this up is just to rename the
  tps65217.dtsi file into tps65217-am335x.dtsi as a similar setup
  is used on many am335x boards.

* tag 'omap-for-v4.5/fixes-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
  Revert "regulator: tps65217: remove tps65217.dtsi file"

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:10:11 -08:00
Ludovic Desroches
5e45a2589d ARM: at91/dt: fix typo in sama5d2 pinmux descriptions
PIN_PA15 macro has the same value as PIN_PA14 so we were overriding PA14
mux/configuration.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Reported-by: Cyrille Pitchen <cyrille.pitchen@atmel.com>
Fixes: 7f16cb676c ("ARM: at91/dt: add sama5d2 pinmux")
Cc: <stable@vger.kernel.org> # v4.4+
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:08:19 -08:00
Olof Johansson
b223c9f593 The i.MX fixes for v4.5:
- Drop the bogus interrupt-parent from i.MX6 CAAM node, which leads to
    the CAAM IRQs not getting unmasked at the GPC level.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJWwEEWAAoJEFBXWFqHsHzOvv4H/29Q3aZBN/L/0JzPyCckfWSw
 /l2UGsFW5UIBPbrOPW9tEPd4WRAUQ3BJKM2iNvvSSeNMvEO/Ni1+CtzQabCv7CGb
 sKRZOIQ8e8782K4aNmCMMwrVBhPMAewFuh4DkCDdN55sE5kN9CkDO0d6jzaHsDJf
 8GnuT5kq6qblV1HdsdVnEBjwL73v3wByUhUN3T6BplM4l9GtRRu7ox6s3dDdM4jG
 ohBRafPo0s+pMOI8LRs7howHQwAuSHCMP7zOzqCOwvSAa+GOwKIjpQFvAKU+mfex
 h+c2bdNxSCkDPG/QBwfk723qRWrDND0hMetHGNFn1zh8s0HhBzp7bNXKnLC5JF8=
 =9ONj
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes

The i.MX fixes for v4.5:
 - Drop the bogus interrupt-parent from i.MX6 CAAM node, which leads to
   the CAAM IRQs not getting unmasked at the GPC level.

* tag 'imx-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6: remove bogus interrupt-parent from CAAM node

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:05:58 -08:00
Olof Johansson
e3acd74f92 Few fixes for omaps against v4.5-rc3:
- Improve omap_device error message to tell driver writers what is
   wrong after commit 5de85b9d57 ("PM / runtime: Re-init runtime PM
   states at probe error and driver unbind"). There will be also a
   handful of driver related fixes also queued separately. But adding
   this error message makes it easy to fix any omap_device using
   drivers suffering from this issue so I think it's important to
   have.
 
 - Also related to commit 5de85b9d57 discussion, let's fix a bug
   where disabling PM runtime via sysfs will also cause the hardware
   state to be different from PM runtime state.
 
 - Fix audio clocks for beagle-x15.
 
 - Use wakeup-source instead of gpio-key,wakeup for the new entries
   that sneaked in during the merge window.
 
 - Fix a legacy booting vs device tree based booting regression for
   n900 where the legacy user space expects to have the device
   revision available in /proc/atags also when booted with device
   tree.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvmElAAoJEBvUPslcq6VzZ7sQAIdMX4Tn1z1lWA/dOvjczzSf
 5hZM9CBAn3McXAFKjKRLHbUDfkRGv/VQunbaZaQ8/nJQX3vlW9sd56oqHioQ2kAT
 DwrxdtX4aUasleGQmQh/gK0CI/eOhKpkARVrFr9XyAYS+My8xPes7sWlM5y9GCUO
 zJXsUH/FtXH/IgSO76QfkFceVUedNy0lYZqgEy5DcwJIwO5ZjuYF75Iy5xRDnX4G
 VSKKA8ap0qrTrAU2zBfb/djcLxt/7MgE0HBGMnEIXNRnQtFzw5NUzTibA0LUuj27
 YgpdcdiuBz6icCIuNJZH8GjWsx9J4BalHb2+qhDQtm0EJhV+uhpbXJ3BoPqvVw/7
 6Sv767DnbsBs2L8w1i0+DspRjJxKEfJxifISlbOz2g0O17Lbm1y+CPu767TUiuQ/
 KNHNfuI3uIxFfTZKEA6ae42wwFGP2B3SEaPOH5uINB6HjybNpRb6/xQNRe5OfY8E
 dG5Y8hsPjqsx9HiD2eqlpYlb8o7Yhf5vowXFG6EvwLM6rm1lL/9pOh3HGQXin075
 QTWHkhpwS/ihpEeRgJiG1sNTY5EjiqDvCZSDADpg1Nx4+RgdWm/WBxJEiflmaC0h
 ONdjcCsoApnrRRaWmVEUaYvZl9JmkUNH1r//PbWI9pDgvSqQUFOFEQmOoAo2W1xj
 4L6GzuxjNCERq8mc/8tC
 =1rk2
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.5/fixes-rc3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Few fixes for omaps against v4.5-rc3:

- Improve omap_device error message to tell driver writers what is
  wrong after commit 5de85b9d57 ("PM / runtime: Re-init runtime PM
  states at probe error and driver unbind"). There will be also a
  handful of driver related fixes also queued separately. But adding
  this error message makes it easy to fix any omap_device using
  drivers suffering from this issue so I think it's important to
  have.

- Also related to commit 5de85b9d57 discussion, let's fix a bug
  where disabling PM runtime via sysfs will also cause the hardware
  state to be different from PM runtime state.

- Fix audio clocks for beagle-x15.

- Use wakeup-source instead of gpio-key,wakeup for the new entries
  that sneaked in during the merge window.

- Fix a legacy booting vs device tree based booting regression for
  n900 where the legacy user space expects to have the device
  revision available in /proc/atags also when booted with device
  tree.

* tag 'omap-for-v4.5/fixes-rc3-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix omap_device for module reload on PM runtime forbid
  ARM: OMAP2+: Improve omap_device error for driver writers
  ARM: DTS: am57xx-beagle-x15: Select SYS_CLK2 for audio clocks
  ARM: dts: am335x/am57xx: replace gpio-key,wakeup with wakeup-source property
  ARM: OMAP2+: Set system_rev from ATAGS for n900

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:05:11 -08:00
Olof Johansson
74a46ec6fb Merge tag 'mvebu-fixes-4.5-2' of git://git.infradead.org/linux-mvebu into fixes
mvebu fixes for 4.5 (part 2)

- Fix the missing mtd flash on linkstation lswtgl
- Use unique machine name for the kirkwood ds112 (for Debian flash-kernel tool)

* tag 'mvebu-fixes-4.5-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: orion5x: fix the missing mtd flash on linkstation lswtgl
  ARM: dts: kirkwood: use unique machine name for ds112

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-02-24 00:04:59 -08:00
Sricharan R
0a5d0f85bb dts: msm8974: Add dma channels for blsp2_i2c1 node
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
Sricharan R
62bc817922 dts: msm8974: Add blsp2_bam dma node
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Reviewed-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
Stephen Boyd
65d4e83e34 ARM: dts: qcom: Remove size elements from pmic reg properties
The #size-cells for the pmics are 0, but we specify a size in the
reg property so that MPP and GPIO modules can figure out how many
pins there are. Now that we've done that by counting irqs, we can
remove the size elements in the reg properties and be DT
compliant.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Andy Gross <andy.gross@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:52:25 -06:00
John Stultz
46fb5280a0 devicetree: Add DTS file to support the Nexus7 2013 (flo) device.
This patch adds a dts file to support the Nexus7 2013
device. Its based off of the qcom-apq8064-ifc6410.dts
which is similar hardware.

Also includes some comments and context folded in
from Vinay Simha BN <simhavcs@gmail.com>

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:33:55 -06:00
John Stultz
5d31f6065f devicetree: qcom-apq8064.dtsi: Add i2c3 address-cells and size-cells values
This adds address-cell and size-cell values to the i2c3 bus
in the qcom-apq8064.dtsi, which is needed to describe devices
on that bus.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Arnd Bergmann <arnd.bergmann@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Vinay Simha BN <simhavcs@gmail.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Stephen Boyd <stephen.boyd@linaro.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: devicetree@vger.kernel.org
Acked-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 23:33:48 -06:00
Stephen Boyd
30fc4212d5 arm: dts: qcom: Add more board clocks
These clocks are fixed rate board sources that should be in DT.
Add them.

Cc: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Reviewed-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
7ccb11e7b7 ARM: dts: qcom: msm8974: Add WCNSS SMP2P node
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
9af88b2ded ARM: dts: qcom: msm8974: Add smsm node
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Bjorn Andersson
ca3971cf77 ARM: dts: qcom: msm8974: Add additional reserved regions
This adds the additional reserved regions found on 8974 based devices.

Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Georgi Djakov
aac1b2977d arm: dts: qcom: apq8064: Add RPMCC DT node
Add the RPM Clock Controller DT node.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-23 15:29:16 -06:00
Maxime Coquelin
a985b66ae5 ARM: dts: stm32f429: Fix clocks referenced by GPIO banks
All the clocks referenced by the GPIO banks were not the good ones.

Reported-by: Bruno Herrera <bruherrera@gmail.com>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-23 13:35:25 +01:00
Pali Rohár
b950762c3b ARM: dts: n900: Rename isp1704 to isp1707 to match correct name
This change does not break existing userspace or Maemo software because
isp1704_charger.c always export power supply device under isp1704 name.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2016-02-23 03:25:54 +01:00
Linus Torvalds
692b8c663c Xen bug fixes for 4.5-rc5
- Two scsiback fixes (resource leak and spurious warning).
 - Fix DMA mapping of compound pages on arm/arm64.
 - Fix some pciback regressions in MSI-X handling.
 - Fix a pcifront crash due to some uninitialize state.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJWyvatAAoJEFxbo/MsZsTRBFcH+wWnv0/N+gKib3cKCI4lwmTg
 n8iVgf8dNWwD36M2s/OlzCAglAIt8Xr6ySNvPqTerpm7lT9yXlIVQxGXTbIGuTAA
 h8Kt8WiC0BNLHHlLxBuCz62KR47DvMhsr84lFURE8FmpUiulFjXmRcbrZkHIMYRS
 l/X+xJWO1vxwrSYho0P9n3ksTWHm488DTPvZz3ICNI2G2sndDfbT3gv3tMDaQhcX
 ZaQR93vtIoldqk29Ga59vaVtksbgxHZIbasY9PQ8rqOxHJpDQbPzpjocoLxAzf50
 cioQVyKQ7i9vUvZ+B3TTAOhxisA2hDwNhLGQzmjgxe2TXeKdo3yjYwO6m1dDBzY=
 =VY/S
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-4.5-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen bug fixes from David Vrabel:

 - Two scsiback fixes (resource leak and spurious warning).

 - Fix DMA mapping of compound pages on arm/arm64.

 - Fix some pciback regressions in MSI-X handling.

 - Fix a pcifront crash due to some uninitialize state.

* tag 'for-linus-4.5-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/pcifront: Fix mysterious crashes when NUMA locality information was extracted.
  xen/pcifront: Report the errors better.
  xen/pciback: Save the number of MSI-X entries to be copied later.
  xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY
  xen: fix potential integer overflow in queue_reply
  xen/arm: correctly handle DMA mapping of compound pages
  xen/scsiback: avoid warnings when adding multiple LUNs to a domain
  xen/scsiback: correct frontend counting
2016-02-22 13:57:01 -08:00
Nishanth Menon
b9d3ec1d98 ARM: dts: am57xx-beagle-x15: Add eeprom information
Add EEPROM at 0x50 that describes the board configuration.
This is useful for userspace programs that may need to check board
revision and other similar information.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 11:18:40 -08:00
Adam Ford
89077c7145 ARM: dts: Add HSUSB2 EHCI Support to Logic PD DM37xx SOM-LV
The Logic PD SOM-LV has a USB Host Controller connected to 3-port
hub.  This enables the pin muxing for the host controller and
ehci-phy.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 11:07:28 -08:00
Tony Lindgren
8d08394f41 Merge branch 'n900-keys' into omap-for-v4.6/dt 2016-02-22 11:02:18 -08:00
Pali Rohár
97d7f2ff38 ARM: dts: n900: Use linux input defines instead hardcoded constants
This makes DTS structure more readable.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-By: Sebastian Reichel <sre@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:58:06 -08:00
Adam Ford
ab8dd3aed0 ARM: DTS: Add minimal Support for Logic PD DM3730 SOM-LV
The Logic PD DM37xx SOM-LV devkit consists of a base board and a SOM.
While the SOM (System on Module) supports Bluetooth and WiFi, LPD did not
obtain an FCC ID, so anyone who uses it will have to go through certification.

I have only tested the Type 28 Display, SMSC9211 Ethernet, SD/MMC and basic
power management, however the overall current seems high.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:56:38 -08:00
Adam Ford
730d7dcf03 ARM: dts: omap3logic: Add PWM-Backlight
The backlight pin is shared with Timer 10 PWM.  This patch allows the
pwm_bl driver to enable the pwm run by this timer to dim the backlight.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:17:42 -08:00
Nishanth Menon
4a64f3222e ARM: omap2plus_defconfig: Enable AT24 eeprom
AT24 compatible eeproms are used in BB family and X15 boards.

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:13:28 -08:00
Javier Martinez Canillas
b7d6073cad ARM: omap2plus_defconfig: Enable TI TVP5150 video decoder support
Many OMAP3 boards have a TVP5150/1 video decoder attached to the OMAP3
ISP so enable support for its driver as a module to be able to test it.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:11:05 -08:00
Javier Martinez Canillas
ea00ab5ba6 ARM: omap2plus_defconfig: Enable ISP support and dependencies
The OMAP3 SoC has a Image Signal Processor (ISP) that's used to accelerate
camera images processing. The ISP driver implements V4L2, Media Controller
and V4L2 sub-dev interfaces so enable support for the driver and all these
dependencies to allow video capture to be tested using this HW IP block.

Also, disable the I2C ancillary drivers auto-select option since the media
driver does not auto-select the ancillary devices that are attached to the
bridge because this depends on what's present in the supported OMAP boards.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:10:27 -08:00
Javier Martinez Canillas
57228f664b ARM: omap2plus_defconfig: Enable OMAP IOMMU support
OMAP3 media platform drivers (i.e: omap3isp) needs IOMMU support so
enable it to be able to test the OMAP3 Image Signal Processor (ISP).

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:10:06 -08:00
Peter Ujfalusi
731ec4d881 ARM: OMAP2+: DMA: Provide dma_slave_map to omap-dma for legacy boot
We still have some boards booting in legacy mode and they will need to have
the device/slave -> filter_fn mapping so we can convert the OMAP drivers
to use the new dmaengine API for requesting channels.
Only some OMAP24xx and OMAP3xxx boards can boot in legacy mode which means
we only need to provide the map for these SoCs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 10:00:50 -08:00
Peter Ujfalusi
c4e357839e ARM: OMAP1: DMA: Provide dma_slave_map to omap-dma
OMAP1 can not boot in DT mode and to be able to clean up the driver
regarding to the dmaengine API use (switching to the new API) the
device/slave -> filter mapping needs to be provided to the omap-dma driver.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:59:44 -08:00
Ivaylo Dimitrov
05cf1e030b ARM: dts: omap3-n900: Allow gpio keys to be disabled
Add linux,can-disable; to all gpios exported from gpio-keys driver, so
userspace can disable them

Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:56:45 -08:00
Ivaylo Dimitrov
3f315c5b85 ARM: OMAP2+: Fix onenand initialization to avoid filesystem corruption
Commit e7b11dc7b7 ("ARM: OMAP2+: Fix onenand rate detection to avoid
filesystem corruption") partially fixed onenand configuration when GPMC
module is reset. Finish the job by also providing the correct values in
ONENAND_REG_SYS_CFG1 register.

Fixes: e7b11dc7b7 ("ARM: OMAP2+: Fix onenand rate detection to avoid
filesystem corruption")
Cc: stable@vger.kernel.org # v4.2+
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:24:10 -08:00
Tony Lindgren
d9d806b902 ARM: OMAP2+: Fix out of range register access with syscon_config.max_register
If syscon_config.max_register is initialized like it should be, we have
omap_ctrl_read/write() fail with out of range register access at least
for omap3.

We have omap3.dtsi setting up a regmap range for scm_conf, but we now
have omap_ctrl_read/write() also attempt to use the regmap. However,
omap_ctrl_read/write() is also used for other register ranges in the
system control module (SCM).

Let's fix the issue by just removing the regmap_read/write() usage for
control module as suggested by Tero Kristo <t-kristo@ti.com>.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-22 09:22:38 -08:00
Masahiro Yamada
f57deb0be5 ARM: 8543/1: decompressor: rename suffix_y to compress-y
The "$(suffix_y)" no longer appears in the file names, but it just
specifies the method of the file compression.  The "compress-y" sounds
more suitable.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
53f67545c2 ARM: 8542/1: decompressor: merge piggy.*.S and simplify Makefile
The files piggy.$(suffix).S are similar enough to be merged into a
single file.  This also allows clean up of the Makefile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
b0b6abe5fd ARM: 8541/1: decompressor: drop redundant FORCE in Makefile
The object "piggy.$(suffix_y).o" is created from "piggy.$(suffix).S"
by the following pattern rule defined in scripts/Makefile.build:

  $(obj)/%.o: $(src)/%.S FORCE
          $(call if_changed_dep,as_o_S)

FORCE is already added to the prerequisite of the object there.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:31 +00:00
Masahiro Yamada
822ec1b6ea ARM: 8540/1: decompressor: use clean-files instead of extra-y to clean files
This code works fine here, but it is tricky to use "extra-y" for
specifying files to be removed during "make clean".  Kbuild provides
"clean-files" for this purpose.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:30 +00:00
Masahiro Yamada
684c12014b ARM: 8539/1: decompressor: drop more unneeded assignments to "targets"
The objects "font.o" and "misc.o" are contained in $(OBJS), and it
is already added to the "targets".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:30 +00:00
Masahiro Yamada
b44c72de44 ARM: 8538/1: decompressor: drop unneeded assignments to "targets"
The "targets" exists to specify which files need the corresponding
".*_cmd" files to be included during the build.  In other words, it
is used for files that need to detect the change of the command line
by if_changed, if_changed_dep, and if_changed_rule.  While, these
files are just copied by "$(call cmd,shipped)".  Adding them to the
"targets" is meaningless because $(call cmd,...) never creates
".*_cmd" files.  Such files as ".lib1funcs.S.cmd", ".ashldi3.S.cmd"
do not exist in the first place.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:56:29 +00:00
Arnd Bergmann
4d2b7d4cb4 ARM: 8532/1: uncompress: mark putc as inline
When CONFIG_DEBUG_ICEDCC is set, we don't use the platform
specific putc() function, but use icedcc_putc() instead, so
putc is unused and causes a compile time warning:

In file included from ../arch/arm/boot/compressed/misc.c:28:0:
arch/arm/mach-rpc/include/mach/uncompress.h:79:13: warning: 'putc' defined but not used [-Wunused-function]
arch/arm/mach-w90x900/include/mach/uncompress.h:30:13: warning: 'putc' defined but not used [-Wunused-function]

On most platforms, this does not happen, because putc is defined
as 'static inline' so the compiler will automatically drop it
when it's unused.

This changes the remaining seven platforms to behave the same way.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Arnd Bergmann
7d74a5f076 ARM: 8531/1: turn init_new_context into an inline function
Almost all architectures define init_new_context() as a function,
but on ARM, it's a macro and that causes a compiler warning when
its return code is not used:

drivers/firmware/efi/arm-runtime.c: In function 'efi_virtmap_init':
arch/arm/include/asm/mmu_context.h:88:34: warning: statement with no effect [-Wunused-value]
 #define init_new_context(tsk,mm) 0
drivers/firmware/efi/arm-runtime.c:47:2: note: in expansion of macro 'init_new_context'
  init_new_context(NULL, &efi_mm);

This changes the definition into an inline function, which gcc does
not warn about.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Arnd Bergmann
9e0087e64e ARM: 8530/1: remove VIRT_TO_BUS
All drivers that are relevant for rpc or footbridge have stopped
using virt_to_bus a while ago, so we can remove it and avoid some
harmless randconfig warnings for drivers that we do not care about:

drivers/atm/zatm.c: In function 'poll_rx':
drivers/atm/zatm.c:401:18: warning: 'bus_to_virt' is deprecated [-Wdeprecated-declarations]
   skb = ((struct rx_buffer_head *) bus_to_virt(here[2]))->skb;

FWIW, the remaining drivers using this are:

ATM:  firestream, zatm, ambassador, horizon
ISDN: hisax/netjet
V4L:  STA2X11, zoran
Net:  Appletalk LTPC, Tulip DE4x5, Toshiba IrDA
WAN:  comtrol sv11, cosa, lanmedia, sealevel
SCSI: DPT_I2O, buslogic
VME:  CA91C142

My best guess is that all of the above are so hopelessly obsolete that
we are best off removing all of them form the kernel, but that can be
done another time.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 16:55:42 +00:00
Kees Cook
1475399207 ARM: 8537/1: drop unused DEBUG_RODATA from XIP_KERNEL
With CONFIG_DEBUG_RODATA not being sensible under XIP_KERNEL, remove it
from the XIP linker script.

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:43 +00:00
Arnd Bergmann
91c617d7a3 ARM: 8536/1: mm: hide __start_rodata_section_aligned for non-debug builds
The __start_rodata_section_aligned is only referenced by the
DEBUG_RODATA code, which is only used when the MMU is enabled,
but the definition fails on !MMU builds:

arch/arm/kernel/vmlinux.lds:702: undefined symbol `SECTION_SHIFT' referenced in expression

This hides the symbol whenever DEBUG_RODATA is disabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 64ac2e74f0 ("ARM: 8502/1: mm: mark section-aligned portion of rodata NX")
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:43 +00:00
Arnd Bergmann
ac96680d22 ARM: 8535/1: mm: DEBUG_RODATA makes no sense with XIP_KERNEL
When CONFIG_DEBUG_ALIGN_RODATA is set, we get a link error:

arch/arm/mm/built-in.o:(.data+0x4bc): undefined reference to `__start_rodata_section_aligned'

However, this combination is useless, as XIP_KERNEL implies that all the
RODATA is already marked readonly, so both CONFIG_DEBUG_RODATA and
CONFIG_DEBUG_ALIGN_RODATA (which depends on the other) are not
needed with XIP_KERNEL, and this patches enforces that using a Kconfig
dependency.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 25362dc496 ("ARM: 8501/1: mm: flip priority of CONFIG_DEBUG_RODATA")
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:42 +00:00
Jean-Philippe Brucker
8d9f491367 ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
ARMv6 CPUs do not have virtualisation extensions, but hyp-stub.S is
still included into the image to keep it generic. In order to use ARMv7
instructions during HYP initialisation, add -march=armv7-a flag to
hyp-stub's build.

On an ARMv6 CPU, __hyp_stub_install returns as soon as it detects that
the mode isn't HYP, so we will never reach those instructions.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:41 +00:00
Jean-Philippe Brucker
c7edd7f99c ARM: 8534/1: virt: fix hyp-stub build for pre-ARMv7 CPUs
ARMv6 CPUs do not have virtualisation extensions, but hyp-stub.S is
still included into the image to keep it generic. In order to use ARMv7
instructions during HYP initialisation, add -march=armv7-a flag to
hyp-stub's build.

On an ARMv6 CPU, __hyp_stub_install returns as soon as it detects that
the mode isn't HYP, so we will never reach those instructions.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-22 11:39:13 +00:00
Peter Ujfalusi
2137d54d16 ARM: davinci: dm646x: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: fix typos in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:55:27 +05:30
Peter Ujfalusi
a4f86c55b9 ARM: davinci: dm644x: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: typo fixes in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:53:34 +05:30
Peter Ujfalusi
0c750e1fe4 ARM: davinci: dm365: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:51:33 +05:30
Peter Ujfalusi
f7a3be503f ARM: davinci: dm355: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: typo fixes in code]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:49:51 +05:30
Peter Ujfalusi
1ce9300bf7 ARM: davinci: devices-da8xx: Add dma_slave_map to edma
Provide the dma_slave_map to edma which will allow us to move the drivers
to the new, simpler dmaengine API and we can remove the DMA resources also
for the devices.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
[nsekhar@ti.com: fix map for edma1]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-22 15:39:39 +05:30
David Brown
11bf9b8658 ARM/vdso: Mark the vDSO code read-only after init
Although the ARM vDSO is cleanly separated by code/data with the code
being read-only in userspace mappings, the code page is still writable
from the kernel.

There have been exploits (such as http://itszn.com/blog/?p=21) that
take advantage of this on x86 to go from a bad kernel write to full
root.

Prevent this specific exploit class on ARM as well by putting the vDSO
code page in post-init read-only memory as well.

Before:
	vdso: 1 text pages at base 80927000
	root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables
	---[ Modules ]---
	---[ Kernel Mapping ]---
	0x80000000-0x80100000           1M     RW NX SHD
	0x80100000-0x80600000           5M     ro x  SHD
	0x80600000-0x80800000           2M     ro NX SHD
	0x80800000-0xbe000000         984M     RW NX SHD

After:
	vdso: 1 text pages at base 8072b000
	root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables
	---[ Modules ]---
	---[ Kernel Mapping ]---
	0x80000000-0x80100000           1M     RW NX SHD
	0x80100000-0x80600000           5M     ro x  SHD
	0x80600000-0x80800000           2M     ro NX SHD
	0x80800000-0xbe000000         984M     RW NX SHD

Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the
PaX Team, Brad Spengler, and Kees Cook.

Signed-off-by: David Brown <david.brown@linaro.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brad Spengler <spender@grsecurity.net>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nathan Lynch <nathan_lynch@mentor.com>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1455748879-21872-8-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-22 08:51:39 +01:00
Kees Cook
e267d97b83 asm-generic: Consolidate mark_rodata_ro()
Instead of defining mark_rodata_ro() in each architecture, consolidate it.

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Gross <agross@codeaurora.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Ashok Kumar <ashoks@broadcom.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Brown <david.brown@linaro.org>
Cc: David Hildenbrand <dahi@linux.vnet.ibm.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Emese Revfy <re.emese@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Helge Deller <deller@gmx.de>
Cc: James E.J. Bottomley <jejb@parisc-linux.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathias Krause <minipli@googlemail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: PaX Team <pageexec@freemail.hu>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: kernel-hardening@lists.openwall.com
Cc: linux-arch <linux-arch@vger.kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Link: http://lkml.kernel.org/r/1455748879-21872-2-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-22 08:51:37 +01:00
Peter Korsgaard
cb3cae9aa1 ARM: dts: sun4i: Enable USB DRC on Hyundai-a7hd
Enable the OTG USB controller on the A7HD.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-21 19:34:15 -08:00
Thomas Gleixner
fa00cb265e irqchip core changes for v4.6
- mvebu (armada-370-xp)
    - MSI support
    - Deconflict with mvebu's arm64 code
 
 - ts4800
    - Restrict when ts4800 driver can be built
    - Make ts4800_ic_ops static const
 
 - bcm2836: Drop superfluous memory barrier
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJWxykyAAoJEP45WPkGe8ZnrKAQAKmzSaWwCutG76RWj/SvcwcP
 ByP8fFNM9kvQQBi3mIjD+Au9TExPQznfcs/z5+dkNXzJItvA6WRXK0D6EeUZmm8q
 GRhQ0AAbTA9oCXPnKFJPlAJONIszQV8tlO5ArOWQ7rU5Gal9v4vPPeLYnlUcf4ZC
 MkrMxoY9hydLTlxzJPJU5r3Tx64E2vbkJ/gzFo/r25DPCvKE/Vqm9rjFVxNFgH7h
 nUycaDJaeFiXSng1t2krlOtdc160JsxUSAT5dKu3Q/gV/yOtCMhDtRlMPdjNhM1y
 ged0U1q03NobDLFgjV6DlEyGgQr3Mn5kpVbsvg+A12M/BFAiT1zNNzbLUbIj0rRs
 WdadRWXkmLUshSO84pMCNqtAesBcty0sjTcUoxOiGxifzfMHR/58pKbFXXAsuGjF
 Ra1Loyn7YPGxEbSHuWUzhE342PNErIizXFu228xa6YC/NhhrqrB8bd3U8olyqox6
 IoQ2cbZxjxYeLynMyyMGK+UqPFuQKB7Ib8kZpxRvtbYXYq3iUHils3wge4jRVNjT
 PDH5S2N1kqa8T+T3befbNnHWjXT4ohD3BGkW53vImPxDWGYhDxvcnaHtRTIt9BB8
 vPlfKKlOYI1m82yDm1v2WMgj+rE2XEEFNdRDNaP//DtOMdXmMOB52xq6ROks+GmC
 wIK82x6+yZHYx0mVtp1I
 =Omn0
 -----END PGP SIGNATURE-----

Merge tag 'irqchip-core-4.6' of git://git.infradead.org/users/jcooper/linux into irq/core

Pull irqchip core changes for v4.6 from Jason Cooper:

- mvebu (armada-370-xp)
   - MSI support
   - Deconflict with mvebu's arm64 code

- ts4800
   - Restrict when ts4800 driver can be built
   - Make ts4800_ic_ops static const

- bcm2836: Drop superfluous memory barrier
2016-02-21 20:53:46 +01:00
Robert Jarzmik
6b9d526b77 ARM: pxa: pxa3xx device-tree support cleanup
Clocks, timer and several other drivers have well defined and working
device-tree bindings. Clean-up the code to leave only the strict
minimum. The final goal will be to remove the lookup array.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
2016-02-20 22:02:55 +01:00
Florian Fainelli
ac07c41c9a This pull request covers mostly DT changes that didn't make it into
4.5 because required header files went through other trees, plus the
 AUX uart support this time around.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCgAGBQJWxNEzAAoJELXWKTbR/J7oNq0P/jE23t6R9eEZFcTCyhgLqgtA
 X5/fVBMlCB4s6njH/Uja747+2DTA8003W+6AonJ3a5N/Bko7FV67IYPN18yXmGto
 FU0a/zFBT+7ls+06xz4kdzJa0RNWDd2D0YGM9ayBmifOidcuSOzN52aFcLZsRXSm
 JeBAAGpjiCcL9gcOAXC/ZBp9gYNztLD6r8eruYIisR1No7qwZCXAfwyqIgwoiDzh
 VNjWuM+p3YoJQu8MG+cnpJTGD47KnbGArncJuvnFgYvUwIzu4JUsW8ua7N1rGmOf
 UO6sIMrdfBJaKk8rk4/P1OvzF3Tf02iBe09X4f6mQXkLrDWUN2qBUyiugwWG91y5
 7sQfJx/YxySJMf7RAVTRa9lBtSbqOqvuxrGhPGSXEx70X2itbYGjgWgKhg+T8D15
 v7SxPa8V9o600IJ5PTkRUVaipCgwLztAAZjfdP6b39sJNqKt72jaA2K8BW5cAyNz
 fo8bPkLH36Va9sbV4ei/YSoJqmHGut8nutszF9KVSQmWwA49B6uWqaAFa9BjJJev
 HOlcokwQDK9xRvcrO0qsLmnLFO8FPkSKCWb36OmJmpFoYLKBri6GDhw4s6063DAv
 djy1MegvFA2YoeshyH88HnOGn/wv5wbS9v0pNhzLhzV79yHFacLLEdhI0iAApIzc
 5v/56QQiivu6acF05Wr8
 =MTTP
 -----END PGP SIGNATURE-----

Merge tag 'bcm2835-dt-next-2016-02-17' into devicetree/next

This pull request covers mostly DT changes that didn't make it into
4.5 because required header files went through other trees, plus the
AUX uart support this time around.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-20 11:05:55 -08:00
Keerthy
69101b2035 ARM: dts: am43x-epos-evm: Add the am438 compatible string
The SoCs on am43x-epos-evm are named am438x.
Hence add the compatibility string and remove the am4372 string.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:55:13 -08:00
Tony Lindgren
baa10e0dd2 ARM: OMAP2+: first set of hwmod fixes and additions for v4.6
A few fixes for OMAP hwmod data.  SSI hwmod data for the OMAP 3730,
 and some fixes for the DRA7xx hwmod data.  These shouldn't interfere
 or impact anything else.
 
 Basic build, boot, and PM test logs are available here:
 
 http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.6/20160214161224/
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWxL3qAAoJEMePsQ0LvSpLN0EP/RIVPdWTdXFXVlYHLf6SMmIs
 UxACv5uIEbj1kj3VgMNYIKgPLV57rmotoHpSv5oDxg0f53sfj0qcm4MwVkVOxb+2
 NkrDqMu5k+l/LSmILCJ1CbttiTxCrfaBESPEt8sPnXSzkGeRJDYQzfS5ZGM7C2qg
 ms+WQc60rUizSrQgywAn2SRt4Hu/IMxh06UJubnqoUn3TNQa0HPA8IIXKbvEJTxR
 o65R4Kq4ObjmaPYMNsEYqqhtnY9uDqXWeJrb2wnyXRLVMYv4O50OV7O29wcvJiQ9
 HmilOZ1vA2CyqZOflIPt4ovNcngD3dc2wJ5CPEfrUGcr2dji9H/pZjDlAKatnRz+
 Xg73Zw8aCd+Rs+Xqk13GpZs3PlsWyNsdTOCuGPOW2BkHIDyMmgWjdRaMx+aYZLMG
 XSFiEEoMFa3V6U1JpTNI3M6xiME6HDwj8efw1m+oJVYe3V7KsoqfFD02xn6Z0/Qk
 qupqj1WMPFOq4vorah9NosEQl9ERmZVASySQ5kah0+na3bYmboTV/SlV4oUHtD7H
 4ML3WQ82S0v+9GVzux2BT9YZfwUX8T+QZHYhOjLsxgZHajUx128IAJdLuf3fVPm+
 u/liLBvnaG0Raj/oKbE/QanP65kf8GTbL8qF7D+Lfj3WloNRq79w6/oc7UtHW0jC
 HCNTnLg8ynkFcTId9adW
 =BCT2
 -----END PGP SIGNATURE-----

Merge tag 'for-v4.6/omap-hwmod-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v4.6/fixes-not-urgent

ARM: OMAP2+: first set of hwmod fixes and additions for v4.6

A few fixes for OMAP hwmod data.  SSI hwmod data for the OMAP 3730,
and some fixes for the DRA7xx hwmod data.  These shouldn't interfere
or impact anything else.

Basic build, boot, and PM test logs are available here:

http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.6/20160214161224/
2016-02-19 10:37:34 -08:00
Pali Rohár
98f4222150 ARM: OMAP3: Add cpuidle parameters table for omap3430
Based on CPU type choose generic omap3 or omap3430 specific cpuidle
parameters. Parameters for omap3430 were measured on Nokia N900 device and
added by commit 5a1b1d3a9e ("OMAP3: RX-51: Pass cpu idle parameters")
which were later removed by commit 231900afba ("ARM: OMAP3: cpuidle -
remove rx51 cpuidle parameters table") due to huge code complexity.

This patch brings cpuidle parameters for omap3430 devices again, but uses
simple condition based on CPU type.

Fixes: 231900afba ("ARM: OMAP3: cpuidle - remove rx51 cpuidle
parameters table")
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:35:39 -08:00
Keerthy
06c2d368fc ARM: OMAP: DRA7: Make use of omap_revision information for soc_is* calls
Currently of_machine_is_compatible is used to detect the soc which
employs string comparison operations. We already have all the required
information in the omap_revision. Hence make use of the same like
the previous OMAPs and avoid costly string comparisons.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 10:12:52 -08:00
Peter Ujfalusi
e327b3f564 Revert "regulator: tps65217: remove tps65217.dtsi file"
This reverts commit 8e6ebfaa9b.

Without the patch reverted regulators will not work. This prevents
MMC to be working for example so the boards can not boot to
MMC rootfs.

Tested it on beaglebone white and bisect also points to the
reverted commit.
The issue can be also fixed by adding "regulator-compatible =" to all board
dts file for the regulators.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-19 09:05:53 -08:00
Linus Torvalds
23300f6575 arm64 fixes:
- Allow EFI stub to use strnlen(), which is required by recent libfdt
 
 - Avoid smp_processor_id() in preempt context during unwinding
 
 - Avoid false Kasan warnings during unwinding
 
 - Ensure early devices are picked up by the IOMMU DMA ops
 
 - Avoid rebuilding the kernel for the 'install' target
 
 - Run fixup handlers for alignment faults on userspace access
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCgAGBQJWxwt3AAoJELescNyEwWM09rIH/3ygrixUcnk/22vI+y32ALDL
 TpBih0pgNmFmls3QxTQaIYqsdjfHVCuzoLRcHGYsPgb42fIeLTgcx6Bp4xacUVGh
 +xjBdEjacUR92TiB/QeP3lNEYIuBhHEPE+H5hHccbdRa+xNB5rUx0Z6nTRokOM4u
 j25KiNf5wO2bOMwo6TNYT0N1Lggp+TZrIP2bIUkWm+RSorF3NGqLS0Rw3ZKwBXxm
 jtUA4ohKR3uyeRHki8Nw/M/AV+gMq+nELX1RGK4HMW00cqakKwIEFvANbdbxGMmg
 q7OIgluSK3BCTQPVQTiss+W6rEjg1z0dTyHGCPVwP16SGXH2i0ys0xQ0BZR5SMw=
 =/uso
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "Here are some more arm64 fixes for 4.5.  This has mostly come from
  Yang Shi, who saw some issues under -rt that also affect mainline.
  The rest of it is pretty small, but still worth having.

  We've got an old issue outstanding with valid_user_regs which will
  likely wait until 4.6 (since it would really benefit from some time in
  -next) and another issue with kasan and idle which should be fixed
  next week.

  Apart from that, pretty quiet here (and still no sign of the THP issue
  reported on s390...)

  Summary:

   - Allow EFI stub to use strnlen(), which is required by recent libfdt

   - Avoid smp_processor_id() in preempt context during unwinding

   - Avoid false Kasan warnings during unwinding

   - Ensure early devices are picked up by the IOMMU DMA ops

   - Avoid rebuilding the kernel for the 'install' target

   - Run fixup handlers for alignment faults on userspace access"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: mm: allow the kernel to handle alignment faults on user accesses
  arm64: kbuild: make "make install" not depend on vmlinux
  arm64: dma-mapping: fix handling of devices registered before arch_initcall
  arm64/efi: Make strnlen() available to the EFI namespace
  arm/arm64: crypto: assure that ECB modes don't require an IV
  arm64: make irq_stack_ptr more robust
  arm64: debug: re-enable irqs before sending breakpoint SIGTRAP
  arm64: disable kasan when accessing frame->fp in unwind_frame
2016-02-19 08:40:05 -08:00
Dinh Nguyen
31d74b2bf0 ARM: socfpga_defconfig: enable support for initramfs/initrd support
Enable CONFIG_BLK_DEV_INITRD.

Signed-off-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
2016-02-19 03:48:20 -06:00
Linus Walleij
66d718ddaf ARM: plat-orion: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
c788aab7e5 ARM: w90x900: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
985b7f23cb ARM: simpad: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
264af42e92 ARM: s3c24xx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
010b16d454 ARM: ixp4xx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:42 +01:00
Linus Walleij
006a7f6ac2 ARM: imx: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Linus Walleij
90b9bb81bc ARM: gemini: switch to gpiochip_add_data()
We're planning to remove the gpiochip_add() function to swith
to gpiochip_add_data() with NULL for data argument.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Linus Walleij
050c542938 ARM: scoop: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip
to store a pointer to the state container instead of relying on
container_of().

Cc: arm@kernel.org
Cc: Richard Purdie <rpurdie@rpsys.net>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-19 09:51:41 +01:00
Sergei Shtylyov
89aac8af1a ARM: dts: r8a7794: add EtherAVB support
Define the generic R8A7794 part of the EtherAVB device node.

Based on the commit 46ece349aa ("ARM: shmobile: r8a7791: add EtherAVB DT
support").

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:54:11 +09:00
Sergei Shtylyov
255a40424e ARM: dts: r8a7794: add EtherAVB clock
Add the EtherAVB clock to the R8A7794 device tree.

Based on the commit eaa870b305 ("ARM: shmobile: r8a7791: add EtherAVB
clock").

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:54:10 +09:00
Geert Uytterhoeven
71d076ceb2 ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
All supported Renesas ARM SoCs (except for Emma Mobile EV2) have clock
domains. Some SoCs also have power domains. To ensure proper operation
of on-SoC modules, module clocks must be ungated, and power domains must
be powered up when needed.

Currently the user can choose to build a kernel with power management
enabled or disabled:
  - If CONFIG_PM=y, power domains and/or module clocks are handled
    dynamically by Runtime PM and the generic power domain.
  - If CONFIG_PM=n, power domains are assumed to be powered up by reset
    state or by the boot loader, and module clocks are handled by the
    legacy clock domain on driver (un)bind.
    The latter is implemented using a platform bus notifier, which
    applies not only to all on-SoC devices, but to all platform devices
    present in the system.

To remove the dependency on implicit assumptions, and to get rid of the
peculiarities of the legacy clock domain, enable CONFIG_PM and
CONFIG_PM_GENERIC_DOMAINS unconditionally, for all Renesas ARM SoCs with
clock and/or power domains.

This does cause an increase in kernel size.  Given bloat-o-meter reports
a modest increase of 26 KiB for an RZ/A1H kernel, this should not be a
problem, even when used on RZ/A1H with XIP and internal RAM only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:41 +09:00
Simon Horman
c816617e8b ARM: dts: r8a7794: replace gpio-key, wakeup with wakeup-source property
Though the keyboard driver for GPIO buttons(gpio-keys) will continue to
check for/support the legacy "gpio-key,wakeup" boolean property to
enable gpio buttons as wakeup source, "wakeup-source" is the new
standard binding.

This patch replaces the legacy "gpio-key,wakeup" with the unified
"wakeup-source" property in order to avoid any further copy-paste
duplication.

Changelog text from a similar patch by Sudeep Holla.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
d12a384a1b ARM: dts: r8a7794: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU nodes to it.

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
fdd0dbd8a2 ARM: dts: r8a7793: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU node to it.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:23 +09:00
Geert Uytterhoeven
8ffe93a5b2 ARM: dts: r8a7791: Add L2 cache-controller node
Add a device node for the L2 cache, and link the CPU nodes to it.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:22 +09:00
Geert Uytterhoeven
fb1cecd406 ARM: dts: r8a7790: Add L2 cache-controller nodes
Add device nodes for the L2 caches, and link the CPU nodes to them.

The L2 cache for the Cortex-A15 CPU cores is 2 MiB large (organized as
128 KiB x 16 ways).

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:22 +09:00
Geert Uytterhoeven
c86a4b6219 ARM: dts: r8a73a4: Add L2 cache-controller nodes
Add device nodes for the L2 caches, and link the CPU node to its L2
cache node.

The L2 cache for the Cortex-A15 CPU cores is 1 MiB large (organized as
64 KiB x 16 ways), and located in PM domain A3SM.

The L2 cache for the Cortex-A7 CPU cores is 512 KiB large (organized as
64 KiB x 8 ways), and located in PM domain A3KM.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:21 +09:00
Kuninori Morimoto
57f9156bc6 ARM: dts: r8a7793: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7793.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:18 +09:00
Geert Uytterhoeven
c58b31aa46 ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h
make C=1:

    arch/arm/mach-shmobile/smp-emev2.c:51:29: warning: symbol 'emev2_smp_ops' was not declared. Should it be static?

To fix this, move the forward declaration of emev2_smp_ops to a header
file, and include it where appropriate.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:31 +09:00
Geert Uytterhoeven
247ac89b99 ARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback
Commit FIXME ("ARM: shmobile: Consolidate SCU mapping code") removed the
last user of the static mapping on emev2-based systems.  Remove the
mapping and the legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
f5757b9af8 ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback
Commit 37201ba5c99d0be8 ("ARM: shmobile: r8a7740: Migrate to generic l2c
OF initialization") removed the last user of the legacy "IOMEM()" macro
on r8a7740-based systems. Hence there's no longer a need to set up a
transparent mapping of system I/O registers. Remove the mapping and the
legacy machine_desc.map_io() callback.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
c4be044abc ARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers
Now all r8a7740-based platforms have been migrated to the generic l2c OF
initialization, it's no longer needed to map the L2 cache controller
registers from .map_io().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:30 +09:00
Geert Uytterhoeven
4a6cc50151 ARM: shmobile: r8a7740: Migrate to generic l2c OF initialization
Migrate the generic r8a7740 platform from calling l2x0_of_init() to the
generic l2c OF initialization.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:45:29 +09:00
Keerthy
4321dc8dff ARM: AM43XX: hwmod: Add rtc hwmod
The patch registers the rtc hwmod on AM437x chips.  The RTC module is
physically present on the AM438x SoC used on AM43X-EPOS-EVM, but it is
permanently disabled. A secure RTC is used instead on these devices,
where needed. Hence adding it selectively using a separate list to get
RTC Module functional on the other am43x SoCs used on am437x-gp-evm
and am437x-sk-evm.

Signed-off-by: Keerthy <j-keerthy@ti.com>
[paul@pwsan.com: cleaned up patch description]
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2016-02-18 21:46:19 -07:00
Marc Zyngier
8f318526a2 irqchip/gic-v3: Add missing barrier to 32bit version of gic_read_iar()
Commit 1a1ebd5 ("irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is
visible on redestributor") fixed the missing barrier on arm64, but
forgot to update the 32bit counterpart, which has the same requirements.
Let's fix it.

Fixes: 1a1ebd5 ("irqchip/gic-v3: Make sure read from ICC_IAR1_EL1 is visible on redestributor")
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2016-02-18 19:15:45 +00:00
Ard Biesheuvel
a0bf9776cd arm64: kvm: deal with kernel symbols outside of linear mapping
KVM on arm64 uses a fixed offset between the linear mapping at EL1 and
the HYP mapping at EL2. Before we can move the kernel virtual mapping
out of the linear mapping, we have to make sure that references to kernel
symbols that are accessed via the HYP mapping are translated to their
linear equivalent.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-18 18:16:40 +00:00
Ludovic Desroches
5e72c25b40 ARM: dts: at91: sama5d2 Xplained: enable the adc device
Enable the adc on the sama5d2 Xplained board.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-18 03:10:05 +01:00
Ludovic Desroches
aea14e1496 ARM: dts: at91: sama5d2: add adc device
Add the ADC device, and remove the adc_op_clk which is useless since the
adc sampling frequency is configured with sysfs.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-18 03:09:54 +01:00
Ludovic Desroches
48a2e12adb ARM: at91/defconfig: add sama5d2 adc support in sama5_defconfig
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2016-02-17 22:51:48 +01:00
Daniel Stone
0a05d3b71a ARM: multi_v7_defconfig: Enable BCM283x
Enable the BCM2835/BCM2836 options required to boot Raspberry Pi.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Olof Johansson <olof@lixom.net>
Tested-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stefan Wahren
aa6c53be57 ARM: bcm2835_defconfig: Enable RPi power domain driver
After enabling the Raspberry Pi firmware driver which allow us to handle
power domains for USB or graphics.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stefan Wahren
da496d1287 ARM: bcm2835_defconfig: Enable RPi firmware driver
This enables the Raspberry Pi driver for GPU specific features.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
e55345e7ee ARM: bcm2835_defconfig: enable ARMv7 support
This makes the RPi2 work; it has an ARMv7 CPU.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
21fb10be46 ARM: bcm2835_defconfig: disable DEBUG_LL
This way the kernel works on both RPi0/1 and RPi2 even with earlyprintk
in the kernel cmdline; the two hardware platforms use different physical
addresses for peripherals, so the same DEBUG_LL configuration won't work
on both. If someone needs DEBUG_LL support, they can enable it locally.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Stephen Warren
990246906d ARM: bcm2835_defconfig: rebuild on next-20160205
This separates explicit changes desired in later patches from "automatic"
or irrelevant changes caused solely by Kconfig changes.

make ARCH=arm bcm2835_defconfig
make ARCH=arm savedefconfig
mv defconfig arch/arm/configs/bcm2835_defconfig

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:18:05 -08:00
Martin Sperl
1305141d1a ARM: bcm2835: add bcm2835-aux-uart support to DT
Add bcm2835-aux-uart support to the device tree.

Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
2016-02-17 11:01:00 -08:00
Alexandre Belloni
6c38bda9ae ARM: at91: remove useless includes and function prototypes
Remove leftover from the previous cleanup

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:02 +01:00
Alexandre Belloni
fbc7edca5a ARM: at91: pm: move idle functions to pm.c
Avoid using code from clk/at91 for PM.
This also has the bonus effect of setting arm_pm_idle for sama5 platforms.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:02 +01:00
Alexandre Belloni
5737b73e19 ARM: at91: pm: find and remap the pmc
To avoid relying on at91_pmc_read(), find the pmc node and remap it
locally.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:01 +01:00
Alexandre Belloni
997ff83b55 ARM: at91: pm: simply call at91_pm_init
at91_pm_init() doesn't return a value, as is the case for its callers,
simply call it instead of returning its non-existent return value.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
2016-02-17 17:53:01 +01:00
Boris Brezillon
863a81c3be clk: at91: make use of syscon to share PMC registers in several drivers
The PMC block is providing several functionnalities:
 - system clk management
 - cpuidle
 - platform suspend

Replace the void __iomem *regs field by a regmap (retrieved using syscon)
so that we can later share the regmap across several drivers without
exporting a new specific API or a global void __iomem * variable.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
2016-02-17 17:52:58 +01:00
Lee Jones
9fe5bf92c3 ARM: configs: Add new config fragment to change RAM start point
Rather than duplicate a defconfig for each difference
between platforms, we can choose to pick a basic defconfig and
manipulate it at run-time using config fragments.  Here we're
adding a new fragment to over-ride the RAM start point to 0x0.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:31:30 +01:00
Lee Jones
f48e3d687e ARM: stm32: Supply a DTS file for the STM32F469 Discovery board
It's pretty similar to the STM32F429, but there are some
subtle changes required to boot successfully.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:31:07 +01:00
Lee Jones
6391503bbf ARM: stm32: Identify a new SoC - STM32F469
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-17 17:30:44 +01:00
Arnd Bergmann
8e58041114 ARM: davinci: make I2C support optional
The davinci platform has tried to get support for the EEPROM right,
but failed to get a clean build so far. At the moment, we get
a warning whenever CONFIG_SYSFS is disabled, as that is needed by
EEPROM_AT24:

warning: (MACH_DAVINCI_EVM && MACH_SFFSDR && MACH_DAVINCI_DM6467_EVM && MACH_DAVINCI_DM365_EVM && MACH_DAVINCI_DA830_EVM && MACH_MITYOMAPL138 && MACH_MINI2440) selects EEPROM_AT24 which has unmet direct dependencies (I2C && SYSFS)

Kevin Hilman initially added the 'select' to ensure that EEPROM_AT24
is always enabled in machines that really want it for normal operation
(i.e. for reading the MAC address). This broke when I2C was disabled,
and Russell King followed up with another patch to select that as
well.

I now see that the SYSFS dependency is still missing, which leaves
us with three options:

a) add 'select SYSFS' in addition to the others
b) change AT24_EEPPROM to work without sysfs (should be possible)
c) remove all those selects again and get the files to build when
   I2C is disabled.

I would really hate to do a) because adding select statements that
hardwire user-selectable symbols is generally a bad idea. I first
tried b) but then ended up redoing the patch from scratch to approach
c), so we can also remove the other selects.

I checked that CONFIG_I2C is still enabled with davinci_all_defconfig,
so that does not have to change.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: 45b146d746 ("ARM: Davinci: Fix I2C build errors")
Fixes: 22ca466847 ("davinci: kconfig: select at24 eeprom for selected boards")
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:20:05 +05:30
Arnd Bergmann
ce32c5c5a3 ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
We already forbid that combination when AUTO_ZRELADDR is disabled,
for the same reason that the two have their RAM at different
physical addresses as seen from the CPU.

This does the same change for PATCH_PHYS_VIRT: if you disable
either of the options, Kconfig now enforces that you have to
pick one or the other SoC family.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:13:24 +05:30
Arnd Bergmann
a32b4fe90a ARM: davinci: avoid unused mityomapl138_pn_info variable
The mityomapl138_pn_info structure belongs into the CPU_FREQ support
that is hidden behind an #ifdef, and causes a harmless warning when
that support is disabled:

mach-davinci/board-mityomapl138.c:59:28: error: 'mityomapl138_pn_info' defined but not used [-Werror=unused-variable]

This moves the variable definition where it belongs.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:11:18 +05:30
Arnd Bergmann
22c7b4a7c9 ARM: davinci: limit DT support to DA850
When da8xx-dt.c is built with onlu DA830 support but not DA850
support enabled, we get a compiler warning about unused symbols:

arch/arm/mach-davinci/da8xx-dt.c:28:20: warning: 'da8xx_init_irq' defined but not used [-Wunused-function]
 static void __init da8xx_init_irq(void)
arch/arm/mach-davinci/da8xx-dt.c:33:30: warning: 'da850_auxdata_lookup' defined but not used [-Wunused-variable]
 static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {

Obviously none of the file make sense for DA830, so we should not
even attempt this, so we can avoid the warning by ensuring it is
only built for 850, not 830.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2016-02-17 19:09:15 +05:30
Magnus Damm
cf77db5165 ARM: shmobile: Kconfig: Get rid of old comment
Remove comment that used to be part of non-multiplatform
kernel support. Now with multiplatform-only we have no
Renesas-specific System Configuration entries.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 21:24:29 +09:00
Geert Uytterhoeven
8701d8083d ARM: shmobile: Consolidate SCU mapping code
Currently the SCU registers are mapped in SoC-specific code, using
different methods, all involving the static mapping set up from
machine_desc.map_io():
  - On emev2, a static (non-identity) mapping is used, with ioremap().
    As the static mapping uses the MT_DEVICE type, ioremap() reuses it,
    and the returned virtual address is suitable for passing to
    shmobile_smp_hook(),
  - On sh73a0 and r8a7779, a static identity mapping is used, with the
    legacy IOMEM() macro.
    As the static mapping uses the MT_DEVICE_NONSHARED type, replacing
    IOMEM() by ioremap() would create a new mapping, whose virtual
    address cannot be passed to shmobile_smp_hook().

Move the mapping of the SCU registers from SoC-specific code to common
code, always using ioremap(). To work in the absence of a static
mapping, this requires passing the physical SCU base address to
shmobile_smp_hook().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 21:24:29 +09:00
Geert Uytterhoeven
901c5ffaae ARM: shmobile: Remove shmobile_boot_arg
CPU boot configuration writes to shmobile_boot_arg, which is located in
the .text section, and thus should not be written to.

As of commit 1d33a354bb ("ARM: shmobile: Per-CPU SMP boot / sleep
code for SCU SoCs"), and ignoring accidental remainings,
shmobile_boot_arg is always set to MPIDR_HWID_BITMASK by C code.
Hence we can just hardcode this in the assembler code, and remove the
variable, and thus also remove the need to write to this variable.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
4e960f52fc ARM: shmobile: Move shmobile_smp_{mpidr, fn, arg}[] from .text to .bss
If CONFIG_DEBUG_RODATA=y, the kernel crashes during system suspend:

    Freezing user space processes ... (elapsed 0.004 seconds) done.
    Freezing remaining freezable tasks ... (elapsed 0.002 seconds)
    done.
    PM: suspend of devices complete after 111.948 msecs
    PM: late suspend of devices complete after 1.086 msecs
    PM: noirq suspend of devices complete after 11.576 msecs
    Disabling non-boot CPUs ...
    Kernel panic - not syncing: Attempted to kill the idle task!
    1014ec ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
    CPU0: stopping

This happens because the .text section is marked read-only, while the
arrays shmobile_smp_mpidr[], shmobile_smp_fn[], and shmobile_smp_arg[]
are being written to.

Fix this by moving these arrays from the .text to the .bss section.
This requires accessing them through PC-relative offsets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
b1568d8012 ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
Commit 0ca2894b5a ("ARM: shmobile: Use shared SCU SMP boot code on
r8a7779") obsoleted the r8a7779-specific SCU boot code, but forgot to
remove the setup of shmobile_boot_fn and shmobile_boot_arg, which is
overwritten by shmobile_smp_scu_prepare_cpus().

Note that shmobile_scu_base wasn't initialized at that point yet anyway.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:27:21 +09:00
Geert Uytterhoeven
d2613f56ce ARM: shmobile: Move shmobile_scu_base from .text to .bss
shmobile_scu_base is being written to, so it doesn't belong in the .text
section. Fix this by moving it from asm .text to C .bss, as it's no
longer used from asm code since commit 4f6da36f7e ("ARM: shmobile:
Remove old SCU boot code").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-17 18:24:13 +09:00
Stephan Mueller
49abc0d2e1 crypto: xts - fix compile errors
Commit 28856a9e52 missed the addition of the crypto/xts.h include file
for different architecture-specific AES implementations.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-02-17 15:53:02 +08:00
Russell King
8ff97fa313 ARM: make the physical-relative calculation more obvious
The physical-relative calculation between the XIP text and data sections
introduced by the previous patch was far from obvious. Let's simplify it
by turning it into a macro which takes the two (virtual) addresses.

This allows us to arrange the calculation in a more obvious manner - we
can make it two sub-expressions which calculate the physical address for
each symbol, and then takes the difference of those physical addresses.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-17 00:28:39 +00:00
Stephan Mueller
28856a9e52 crypto: xts - consolidate sanity check for keys
The patch centralizes the XTS key check logic into the service function
xts_check_key which is invoked from the different XTS implementations.
With this, the XTS implementations in ARM, ARM64, PPC and S390 have now
a sanity check for the XTS keys similar to the other arches.

In addition, this service function received a check to ensure that the
key != the tweak key which is mandated by FIPS 140-2 IG A.9. As the
check is not present in the standards defining XTS, it is only enforced
in FIPS mode of the kernel.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2016-02-17 04:07:51 +08:00
Thomas Petazzoni
cb49d86dbe ARM: mvebu: Use the ARMADA_370_XP_IRQ option
Now that there is a ARMADA_370_XP_IRQ option to enable the irqchip
driver for Armada 370, XP, 375, 38x and 39x, let's select this option
when needed. Note that this selection is currently not mandatory
because ARMADA_370_XP_IRQ is for now always enabled when ARCH_MVEBU=y,
but this is something that we will change in the future, and therefore
we should make the relevant platforms select ARMADA_370_XP_IRQ when
needed.

Due to this, selecting GENERIC_IRQ_CHIP is no longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1455115621-22846-7-git-send-email-thomas.petazzoni@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2016-02-16 17:36:16 +00:00
Nicolas Pitre
d781145549 ARM: 8512/1: proc-v7.S: Adjust stack address when XIP_KERNEL
When XIP_KERNEL is enabled, the virt to phys address translation for RAM
is not the same as the virt to phys address translation for .text.
The only way to know where physical RAM is located is to use
PLAT_PHYS_OFFSET.
The MACRO will be useful for other places where there is a similar problem.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 17:17:49 +00:00
Kevin Cernekee
db57f88e4c ARM: 8411/1: Add default SPARSEMEM settings
We can still override these settings via mach/memory.h, but let's provide
sensible defaults so that SPARSEMEM is available in the multiplatform
kernels.

Two platforms currently use SECTION_SIZE_BITS < 28, but are expected to
work with 28 (albeit slightly less efficiently if not all banks are
populated):

 - mach-rpc: uses 26 bits.  Based on mach/hardware.h it looks like this
   platform puts RAM at 0x1000_0000 - 0x1fff_ffff, and I/O below
   0x1000_0000.

 - mach-sa1100: uses 27 bits.  mach/memory.h indicates that RAM occupies
   the entire range of 0xc000_0000 - 0xdfff_ffff.

But Arnd says in that rpc and sa1100 will never have to use the
default since they cannot be part of a multiplatform kernel, and that
is unlikely to change.

Several platforms need MAX_PHYSMEM_BITS >= 36 so we'll pick that as the
minimum.  Anything higher and we'll fail the SECTIONS_WIDTH + NODES_WIDTH +
ZONES_WIDTH test in <linux/mm.h>.

Some analysis from Russell King at
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-October/298957.html:

  I think this is fine in as far as it goes - this means we end up with
  256 entries in the mem_section array which means it occupies one page,
  which I think is acceptable overhead.

  The other thing to be aware of here is the obvious:

  #if (MAX_ORDER - 1 + PAGE_SHIFT) > SECTION_SIZE_BITS
  #error Allocator MAX_ORDER exceeds SECTION_SIZE
  #endif

  Which means that with 28 bits of section, that's a maximum allocator
  order of 16.  We appear to allow FORCE_MAX_ZONEORDER to be set up to
  64 in the case of shmobile, which doesn't seem like a sensible upper
  limit - and certainly isn't when sparsemem is enabled.

  Given this, I think that FORCE_MAX_ZONEORDER's help, and the
  dependencies probably could do with some improvement to make the
  issues more transparent.

[gregory.0xf0: added notes from Arnd and Russell]

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:35:21 +00:00
Masahiro Yamada
a34c66357e ARM: 8529/1: remove 'i' and 'zi' targets
These two targets were introduced by commit 13d5fadf45 ("[ARM]
Make 'i' and 'zi' targets work") to short-circuit the dependencies
for 'install' and 'zinstall'.

After that, commit 19514fc665 ('arm, kbuild: make "make install"
not depend on vmlinux') eventually made "(z)install" equivalent to
"(z)i".

It is true that 'i' and 'zi' might be still useful as shorthands
but the original intention had been already lost.

They do not even show up in "make ARCH=arm help", so I hope this
deletion does not have much impact.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:41 +00:00
Masahiro Yamada
38c81fca9e ARM: 8528/1: drop redundant "PHONY += FORCE"
"PHONY += FORCE" is already cared by scripts/Makefile.build,
which this file is included from.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:40 +00:00
Jean-Philippe Brucker
e59941b9b3 ARM: 8527/1: virt: enable GICv3 system registers
ARMv8 introduces system registers for the Generic Interrupt Controllers
CPU and virtual interfaces.  When GICv3 is implemented, EL2 needs to
allow the kernel to use those registers, by changing the value of
ICC_HSRE.

Signed-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:33:02 +00:00
Marek Szyprowski
17f29d36e4 ARM: 8523/1: sa1111: ensure no negative value gets returned on positive match
This patch ensures that existing bus match callbacks don't return
negative values (which might be interpreted as potential errors in the
future) in case of positive match.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-16 16:28:50 +00:00
Marcin Wojtas
9a571eb6fe ARM: mvebu: enable SRAM support in mvebu_v7_defconfig
SRAM support is needed for the hardware buffer management used by the
mvneta driver.

[gregory.clement@free-electrons.com: add commit log]

Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-16 11:42:53 +01:00
Marcus Cooper
0bbdcd03ea ARM: dts: sun4i: Enable USB DRC on the MK802
Enable the otg/drc usb controller on the MK802.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:45:13 +01:00
Chen-Yu Tsai
8f60ef5b88 ARM: dts: sun8i: q8-common: Add AXP223 PMIC device and regulator nodes
A23/A33 Q8 tablets have an X-Powers AXP223 PMIC connected via RSB. Its
regulators provide power to various parts of the SoC and the board.

Also add lcd regulator supply for simplefb and update the existing
vmmc-supply for mmc0.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:07:04 +01:00
Chen-Yu Tsai
5c61f02c12 ARM: dts: sun8i: sinlinx-sina33: Add AXP223 PMIC device and regulator nodes
This board has a X-Powers AXP223 PMIC connected via RSB. Its regulators
provide power to various parts of the SoC and the board.

Also update the regulator supply phandles.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-16 09:07:02 +01:00
Kuninori Morimoto
cac68a56e3 ARM: dts: r8a7791: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7791.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 10:44:44 +09:00
Kuninori Morimoto
a8b805f360 ARM: dts: r8a7790: enable to use thermal-zone
This patch enables to use thermal-zone on r8a7790.
This thermal sensor can measure temperature from -40000 to 125000,
but over 117000 can be critical on this chip.
Thus, default critical temperature is now set as 115000 (this driver
is using 5000 steps) (Current critical temperature is using it as
90000, but there is no big reason about it)

And it doesn't check thermal zone periodically (same as current
behavior). You can exchange it by modifying polling-delay[-passive]
property.

You can set trip temp if your kernel has CONFIG_THERMAL_WRITABLE_TRIPS,
but you need to take care to use it, since it will call
orderly_poweroff() it it reaches to the value.
echo $temp > /sys/class/thermal/thermal_zone0/trip_point_0_temp

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 10:44:43 +09:00
Axel Haslam
eaa2d73ef9 ARM: imx6: pm: declare pm domain latency on power_state struct
The generic_pm_domain structure uses an array of latencies to be able to
declare multiple intermediate states.

Declare a single "OFF" state with the default latencies So that the
power_off_latency_ns and power_on_latency_ns fields of generic_pm_domain
structure can be eventually removed.

[ Lina: pm_genpd_init() argument changev ]
Signed-off-by: Lina Iyer <lina.iyer@linaro.org>
Signed-off-by: Axel Haslam <ahaslam+renesas@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-02-15 23:18:15 +01:00
Sergei Shtylyov
f3b063c8f4 ARM: dts: porter: fix JP3 jumper description
When finishing the Porter sound support patch, I managed to call the JP3
jumper SW3 in the comment.  Fix this  along with (also miscalled) jumper
positions...

Fixes: 493b4da7c1 ("ARM: dts: porter: add sound support")
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-16 06:52:48 +09:00
Michael Turquette
70750ff2c9 Introduction of a factor type and a variant containing a gate
to be able to also declare factor clocks in their correct
 place in the clock tree instead of having to register factor
 clocks in the init callback separately. And as always some more
 clock-ids and non-regression fixes for mistakes introduced in
 past kernel releases.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJWuwINAAoJEPOmecmc0R2BUgMIAKmXROUpwuap5hhDv+XapDyc
 drU3DmOwFQeIiaODZQVFlx8CcXUN6h/8cPZnc4Qd/ChO73TxfvtWY3S7n0n3F/EH
 RIceQ30OHTUEYh/k449Sf/sTEOW68h4TdhaVrw2gJYKsJ5fg2ih5o6naWnWWE6Ig
 WUh+xeeYdG6L8hCLcUA8sujE3EpG5kJelnWiMBedx6CbuTSSfJcB9tTkg1eOa/R+
 jyBgYJJSuSEwG4mJijV61tanZw1FhWu+i4dEAGHkWgimuGekO4CEnRRczZ1hw7x2
 O/cBfpLW4D2iGMlrvyUhcB/pe/TmRdz4SfzDSTwLPtpCfqEiZRmxH4mwW4s8hv4=
 =igdK
 -----END PGP SIGNATURE-----

Merge tag 'v4.6-rockchip-clk1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next

Introduction of a factor type and a variant containing a gate
to be able to also declare factor clocks in their correct
place in the clock tree instead of having to register factor
clocks in the init callback separately. And as always some more
clock-ids and non-regression fixes for mistakes introduced in
past kernel releases.
2016-02-15 11:59:45 -08:00
Jeremy Linton
bee038a4bd arm/arm64: crypto: assure that ECB modes don't require an IV
ECB modes don't use an initialization vector. The kernel
/proc/crypto interface doesn't reflect this properly.

Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-15 15:48:29 +00:00
Linus Walleij
1c6e288da6 ARM: versatile: move restart to the device tree
We have a power/reset driver for the Versatile family
in drivers/power/reset so let's just activate that driver
and use it and get rid of some non-DT remnants.

Cc: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-15 09:58:08 +01:00
Simon Horman
c99fbe6437 ARM: dts: r8a7794: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7794 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:35 +09:00
Simon Horman
d4809689e6 ARM: dts: r8a7791: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7791 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:31 +09:00
Simon Horman
2d82c14460 ARM: dts: r8a7790: use fallback pci compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:28 +09:00
Simon Horman
bbb45f69f7 ARM: dts: r8a7791: use fallback pcie compatibility string
Use recently added fallback compatibility string in r8a7791 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:25 +09:00
Simon Horman
e670be8d31 ARM: dts: r8a7790: use fallback pcie compatibility string
Use recently added fallback compatibility string in r8a7790 device tree.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-15 10:57:19 +09:00
Greg Kroah-Hartman
249f3c4fe4 Merge 4.5-rc4 into tty-next
We want the fixes in here, and this resolves a merge error in tty_io.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-14 14:36:04 -08:00
Linus Torvalds
be3f4e0fb3 Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
 "A couple of ARM fixes from Linus for the ICST clock generator code"

[ "Linus" here is Linus Walleij.  Name-stealer.

       Linus "there can be only one" Torvalds ]

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
  ARM: 8519/1: ICST: try other dividends than 1
  ARM: 8517/1: ICST: avoid arithmetic overflow in icst_hz()
2016-02-14 10:46:47 -08:00
Stefan Agner
42ef742460 ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid
Enable configuration options useful for Vybrid:
- NFC NAND driver
- USB dual-role controller support
- FTM PWM driver
- DSPI SPI driver
- Colibri VF50 Touchscreen support.

Beside that, enable useful configurations such as IIO hwmon support
(used in i.MX 23/28, patch pending for Vybrid), PWM LED support and
CPU idle support.

Regenerated config using savedefconfig (which removes some configs
which are now enabled by default).

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 15:50:33 +08:00
Fabio Estevam
30ded61476 ARM: imx_v6_v7_defconfig: Select CONFIG_CRYPTO_DEV_SAHARA
Select the sahara crypto driver that is used on i.MX53.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 15:22:59 +08:00
Fabio Estevam
8c4300c227 ARM: mx25: Add basic suspend/resume support
Tested basic suspend/resume on a mx25pdk:

$ echo enabled > /sys/class/tty/ttymxc0/power/wakeup
$ echo mem > /sys/power/state

Then press any key in the serial console and the system wakes up.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 11:24:18 +08:00
Bai Ping
c5a890a445 ARM: imx: Add msl code support for imx6qp
The i.MX6QP is a different SOC, but internally we treate it as i.MX6Q
Rev_2.0 to maximum the code reusability. The chip silicon number we
read from the ANADIG_DIGPROG is 0x630100. This patch add code to
identify it as i.MX6QP Rev_1.0 when print out the silicon version.

Signed-off-by: Bai Ping <ping.bai@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-02-14 11:07:17 +08:00
Denis Carikli
72dbe155f3 ARM: imx_v4_v5_defconfig: Add I.MX25 Touchscreen controller and ADC support.
Signed-off-by: Denis Carikli <denis@eukrea.com>
Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
2016-02-14 09:56:25 +08:00
Jon Mason
7c3fe8a1f6 ARM: dts: NSP: Add SP805 Support to DT
Add support for the ARM SP805 Watchdog timer to the Northstar Plus
device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:54:52 -08:00
Jon Mason
a0efb0d28b ARM: dts: NSP: Add SP804 Support to DT
Add support for the ARM SP804 timer to the Northstar Plus device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:44 -08:00
Jon Mason
9d57f60c21 ARM: dts: NSP: Add PMU Support to DT
Add support for the ARM Performance Monitor Unit to the Northstar Plus
device tree.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:34 -08:00
Jon Mason
5a6c7b52d0 ARM: dts: NSP: Fix CPU DT issue
There is a double definition of the CPUs present in the device tree.
Remove unnecessary cpu device tree definition.

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:26 -08:00
Jon Mason
522199029f ARM: dts: NSP: Fix PCIE DT issue
Adding the ranges value is preventing the PCI nodes from working.
Pulling them out outside makes them work again (and makes it similar to
the NS2 device tree).

Signed-off-by: Jon Mason <jonmason@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-12 15:52:11 -08:00
Keerthy
667f259951 ARM: dts: DRA7: Add missing IVA and DSPEVE thermal domain data
OMAP5 has 3 thermal zones cpu, core and multimedia.
On the other hand DRA7 has 5 thermal zones cpu, gpu, core, dspeve
and iva. Currently cpu, core and multimedia are being added via device tree
and the other 2 are getting added via kernel. Add the missing thermal
domains in device tree so we can create the zones with the appropriate
trip numbers, type and temperatures.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:46 -08:00
Keerthy
7a28936cdc ARM: dts: DRA7: Add IVA thermal data
This patch changes a dtsi file to contain the thermal data
for IVA domain. This data will enable a thermal shutdown at 125C.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:37 -08:00
Keerthy
97749fecef ARM: dts: DRA7: Add DSPEVE thermal data
This patch changes a dtsi file to contain the thermal data
for DSPEVE domain. This data will enable a thermal shutdown at 125C.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Felipe Balbi
61bd789652 ARM: dts: remove deprecated property dwc3
DWC3's tx-fifo-resize property has been deprecated
because of it being unnecessary to any HW other than
OMAP5 ES1.0.

Signed-off-by: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Sebastian Reichel
60fca6b2fd ARM: dts: OMAP3-N950-N9: Add ssi idle pinctrl state
This adds an idle pinctrl state, which will be used
by the driver to avoid incoming data during clock
rate changes or data flushing.

Signed-off-By: Sebastian Reichel <sre@kernel.org>

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
b328d9b86d ARM: dts: am335x-sl50: Fix audio codec setup.
The MCLK is provided by an external clock of 24.576MHz.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
01c37be40f ARM: dts: am335x-sl50: Specify the device to be used for boot console output.
UART0 device is the device to be used for boot console output.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Pau Pajuel
7911fc439b ARM: dts: omap3-igep0030-common: Add USB Host support
Provide RESET GPIO for the USB PHY, the USB Host port mode and
the PHY device for the controller. Also provides pin multiplexer
information for USB host pins.

Signed-off-by: Pau Pajuel <ppajuel@gmail.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Enric Balletbo i Serra
8d289cc623 ARM: dts: igep00x0: Specify the device to be used for boot console output.
UART3 device is the device to be used for boot console output.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:26 -08:00
Adam Ford
b4cc2b75ed ARM: dts: LogicPD Torpedo: Set HSUSB0 Pin Mux
This patch defines the pin muxing to configure the hsusb0 through
the twl4030 PMIC, because we can't always assume the bootloader will
do it correctly.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Sebastian Reichel
f21b987393 ARM: dts: OMAP3-N950-N9: Enable modem
The Nokia N950 and Nokia N9 have a modem attached to their
first ssi port. This change adds the modem to the SSI port.

Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Sebastian Reichel
3bec8c81fc ARM: dts: OMAP3-N950-N9: Enable SSI module
The Nokia N950 and Nokia N9 have a modem attached to their
first ssi port. This change adds all necessary information
to initialize the SSI module, but does not yet add the
modem information.

Signed-off-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:26:02 -08:00
Adam Ford
40d5cb207e ARM: dts: LogicPD Torpedo: Add SPI EEPROM
The devkit has an AT25 EEPROM on MCSPI1. Enable this with default
parameters.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:53 -08:00
Adam Ford
59d2c40c45 ARM: dts: LogicPD Torpedo: Fix Panel Sleep
Setup regulator and fix pin muxing to allow Panel to sleep and
wake from sleep for some low power improvements.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:44 -08:00
Adam Ford
5e3447a29a ARM: dts: LogicPD Torpedo: Add AT24 EEPROM Support
The Wireless version of the SOM uses an AT24 EEPROM to store product ID.
The EEPROM is readonly.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 14:25:35 -08:00
Adam Ford
05c4ffc3a2 ARM: dts: LogicPD Torpedo: Add MT9P031 Support
The Logic PD Torpedo standard kits come with a SOM populated to us an
8-bit parallel camera interface.  This patch pin muxes the omap3-isp
pins, sets the MT9P031 clicks, and configures the i2c2 bus to communicate
with the mt9p031 on address 0x48.

I have not done a lot of testing, but when modprobing
mt9p031, then omap3-isp, the board responds with
MT9P031 detected at address 0x48.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:46:43 -08:00
Kishon Vijay Abraham I
2338c76a43 ARM: dts: am4372/dra7/omap5: Use "syscon-phy-power" instead of "ctrl-module"
Add "syscon-phy-power" property and remove the deprecated "ctrl-module"
property from SATA and USB PHY node. Also remove the unused control
module dt nodes.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:51 -08:00
Kishon Vijay Abraham I
4b4f52ed91 ARM: dts: dra7: Use "ti,dra7x-usb2-phy2" compatible string for USB2 PHY2
The USB2 PHY2 has a different register map compared to USB2 PHY1
to power on/off the PHY. In order to handle it, use the new compatible
string "ti,dra7x-usb2-phy2" for the second instance of USB2 PHY.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:31 -08:00
Kishon Vijay Abraham I
6921e58b84 ARM: dts: dra7: Use "syscon-phy-power" and "syscon-pcs" in PCIe PHY node
Add "syscon-phy-power" property and "syscon-pcs" property which can
be used to perform the control module initializations and remove
the deprecated "ctrl-module" property from PCIe PHY dt nodes.

Phandle to "sysclk" clock node is also added to the PCIe PHY node
since some of the syscon initializations is based on system clock
frequency.

Since "omap_control_pcie1phy" and "omap_control_pcie2phy" devicetree
nodes are no longer used, remove it.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:42:12 -08:00
Kishon Vijay Abraham I
43acf16947 ARM: dts: dra7: Add dt node for the sycon pcie
Add new device tree node for the control module register space where
PCIe registers are present.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:41:35 -08:00
Tony Lindgren
0589df6a9f ARM: dts: Add NAND support for dm8148-evm
Add NAND support for dm8148-evm.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
100be58aa8 ARM: dts: Add NAND support for j5-eco evm
Add NAND support for j5-eco evm.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
003fb0aede ARM: dts: Add support for GPMC for dm814x and dra62x
Add support for GPMC for dm814x and dra62x

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Tony Lindgren
6dc73964fa ARM: dts: The rate for auxclk is 22.59792 by default
The rate for auxclk is 22.59792 by default.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 13:25:14 -08:00
Linus Torvalds
14379cdc76 fbdev fixes for v4.5
* fix omap2plus_defconfig to enable omapfb as it was in v4.4
 * ocfb: fix timings for margins
 * s6e8ax0, da8xx-fb: fix compile warnings
 * mmp: fix build failure caused by bad printk parameters
 * imxfb: fix clock issue which kept the display off
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWvb3dAAoJEPo9qoy8lh71UREP/39iw5a2pvZtKC4tbeIWGntJ
 +wP0Hp6hCxAVh8S+SsSEF2i2oZzs4/ZYgRFoGGKK3j2CcizRxG9WMvaqbb3C8s4r
 3aoj02oDyw/kpui+0O+eSUpLvc75c1nrVh31SrLK5zhx0fg59UEJZYlO/VkLTKTJ
 mN22y0VUtffx61plAs/e9EU3x6+Y3UEhDd6nuxJ+J5e9ruzjNDE5IVzyPjpP+kvA
 2ry/cjvmDKTqw2jJGYJ7CbBuAtCXz7BgT5XXKAeNLPFqewF5CN2Jck2k9Ix7M1Tv
 rAcLLEl9vrUIO5Ss3BI0VK4IXa0CYPQkPxsdVFvf26QaDXDGTdOkOAkZGMAi6jXZ
 SulDABha5VThbJUQSskBUoMF6f2l2A3MX6Gr5cNJazPagMBYCNG++HoLA17cEnH9
 a3+ujaGgdhBJqCYrJ7Wjif1wL77eHvby4xYdxdyssTVbd3MWcRqK1Nws8YBn4bw9
 jE8TOy4RAYqA/LA7QjXCel4sI6cbYejJfz1/mH31MgjWC96tRBr0NhkT7W5zQvll
 toycESYP6STwKTDfuntfo0PUwMOOxhZwVzSQD5Ov2cQvl3eEKWR1WRZLIOwWtz5/
 L4HkpCAQzIPNDOpnV7nS/jdTwwoV3bKjYluHHIeByvLrFaOQuKy/zO69pj7vUtpU
 2XgQJcu6UHLYDAwDFCuV
 =kfw6
 -----END PGP SIGNATURE-----

Merge tag 'fbdev-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

Pull fbdev fixes from Tomi Valkeinen:
 - fix omap2plus_defconfig to enable omapfb as it was in v4.4
 - ocfb: fix timings for margins
 - s6e8ax0, da8xx-fb: fix compile warnings
 - mmp: fix build failure caused by bad printk parameters
 - imxfb: fix clock issue which kept the display off

* tag 'fbdev-fixes-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  video: fbdev: imxfb: Provide a reset mechanism
  fbdev: mmp: print IRQ resource using %pR format string
  fbdev: da8xx-fb: remove incorrect type cast
  fbdev: s6e8ax0: avoid unused function warnings
  ocfb: fix tgdel and tvdel timing parameters
  ARM: omap2plus_defconfig: update display configs
2016-02-12 09:39:34 -08:00
Tony Lindgren
cf26f11373 ARM: OMAP2+: Fix omap_device for module reload on PM runtime forbid
If a driver PM runtime is disabled via sysfs, and the module is
unloaded, PM runtime can't do anything to disable the device. Let's
let the interconnect disable the device on BUS_NOTIFY_UNBOUND_DRIVER.

Otherwise omap_device will produce and error on the following module
reload. This can be easily tested with something like:

# modprobe omap_hsmmc
# echo on > /sys/devices/platform/68000000.ocp/4809c000.mmc/power/control
# rmmod omap_hsmmc
# modprobe omap_hsmmc

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Reported-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 08:56:52 -08:00
Tony Lindgren
08c78e9d61 ARM: OMAP2+: Improve omap_device error for driver writers
Drivers using pm_runtime_use_autosuspend() may not get disabled after
-EPROBE_DEFER. On the following device driver probe, hardware state
is different from the PM runtime state causing omap_device to produce
the following error:

omap_device_enable() called from invalid state 1

And with omap_device and omap hardware being picky for PM, this will
block any deeper idle states in hardware.

Let's add a proper error message so driver writers can easily fix
their drivers for PM.

In general, the solution is to fix the drivers to follow the PM
runtime documentation:

1. For sections of code that needs the device disabled, use
   pm_runtime_put_sync_suspend() if pm_runtime_set_autosuspend() has
   been set.

2. For driver exit code, use pm_runtime_dont_use_autosuspend() before
   pm_runtime_put_sync() if pm_runtime_use_autosuspend() has been
   set.

Let's not return with 0 from _od_runtime_resume() as that will
eventually lead into new drivers with broken PM runtime that will
block deeper idle states on omaps.

Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Nishanth Menon <nm@ti.com>
Cc: Rafael J. Wysocki <rafael@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-12 08:56:52 -08:00
Thomas Petazzoni
af5ece3967 ARM: dts: mvebu: add NAND description to Armada 370 DB and Armada XP DB
This commit adds the Device Tree description for the 1GB NAND flash
present in the Armada 370 DB and Armada XP DB evaluation boards from
Marvell.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-12 17:45:49 +01:00
Lior Amsalem
b3a7f31eb7 ARM: dts: armada-375: use armada-370-sata for SATA
The Armada 375 has the same SATA IP as Armada 370 and Armada XP, which
requires the PHY speed to be set in the LP_PHY_CTL register for SATA
hotplug to work.

Therefore, this commit updates the compatible string used to describe
the SATA IP in Armada 375 from marvell,orion-sata to
marvell,armada-370-sata.

Fixes: 4de5908509 ("ARM: mvebu: add Device Tree description of the Armada 375 SoC")
Cc: <stable@vger.kernel.org>
Signed-off-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2016-02-12 17:45:37 +01:00
Rob Herring
76df69806b ARM: boot: Add an implementation of strnlen for libfdt
Recent versions of libfdt add a dependency on strnlen. Copy the
implementation in lib/string.c here, so we can update libfdt.

Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Rob Herring <robh@kernel.org>
2016-02-11 19:43:47 -06:00
Yendapally Reddy Dhananjaya Reddy
018e4feb75 ARM: dts: enable GPIO-a for Broadcom NSP
This enables the GPIO-a support for Broadcom NSP SoC

Signed-off-by: Yendapally Reddy Dhananjaya Reddy <yrdreddy@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2016-02-11 11:59:29 -08:00
Kees Cook
64ac2e74f0 ARM: 8502/1: mm: mark section-aligned portion of rodata NX
When rodata is large enough that it crosses a section boundary after the
kernel text, mark the rest NX. This is as close to full NX of rodata as
we can get without splitting page tables or doing section alignment via
CONFIG_DEBUG_ALIGN_RODATA.

When the config is:

 CONFIG_DEBUG_RODATA=y
 # CONFIG_DEBUG_ALIGN_RODATA is not set

Before:

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80a00000           9M     ro x  SHD
0x80a00000-0xa0000000         502M     RW NX SHD

After:

---[ Kernel Mapping ]---
0x80000000-0x80100000           1M     RW NX SHD
0x80100000-0x80700000           6M     ro x  SHD
0x80700000-0x80a00000           3M     ro NX SHD
0x80a00000-0xa0000000         502M     RW NX SHD

Signed-off-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:44:10 +00:00
Chris Brandt
02afa9a87b ARM: 8518/1: Use correct symbols for XIP_KERNEL
For an XIP build, _etext does not represent the end of the
binary image that needs to stay mapped into the MODULES_VADDR area.
Years ago, data came before text in the memory map. However,
now that the order is text/init/data, an XIP_KERNEL needs to map
up to the data location in order to keep from cutting off
parts of the kernel that are needed.
We only map up to the beginning of data because data has already been
copied, so there's no reason to keep it around anymore.
A new symbol is created to make it clear what it is we are referring
to.

This fixes the bug where you might lose the end of your kernel area
after page table setup is complete.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:43:14 +00:00
Ard Biesheuvel
31b96cae5c ARM: 8515/2: move .vectors and .stubs sections back into the kernel VMA
Commit b9b32bf70f ("ARM: use linker magic for vectors and vector stubs")
updated the linker script to emit the .vectors and .stubs sections into a
VMA range that is zero based and disjoint from the normal static kernel
region. The reason for that was that this way, the sections can be placed
exactly 4 KB apart, while the payload of the .vectors section is only 32
bytes.

Since the symbols that are part of the .stubs section are emitted into the
kallsyms table, they appear with zero based addresses as well, e.g.,

  00001004 t vector_rst
  00001020 t vector_irq
  000010a0 t vector_dabt
  00001120 t vector_pabt
  000011a0 t vector_und
  00001220 t vector_addrexcptn
  00001240 t vector_fiq
  00001240 T vector_fiq_offset

As this confuses perf when it accesses the kallsyms tables, commit
7122c3e915 ("scripts/link-vmlinux.sh: only filter kernel symbols for
arm") implemented a somewhat ugly special case for ARM, where the value
of CONFIG_PAGE_OFFSET is passed to scripts/kallsyms, and symbols whose
addresses are below it are filtered out. Note that this special case only
applies to CONFIG_XIP_KERNEL=n, not because the issue the patch addresses
exists only in that case, but because finding a limit below which to apply
the filtering is not entirely straightforward.

Since the .vectors and .stubs sections contain position independent code
that is never executed in place, we can emit it at its most likely runtime
VMA (for more recent CPUs), which is 0xffff0000 for the vector table and
0xffff1000 for the stubs. Not only does this fix the perf issue with
kallsyms, allowing us to drop the special case in scripts/kallsyms
entirely, it also gives debuggers a more realistic view of the address
space, and setting breakpoints or single stepping through code in the
vector table or the stubs is more likely to work as expected on CPUs that
use a high vector address. E.g.,

  00001240 A vector_fiq_offset
  ...
  c0c35000 T __init_begin
  c0c35000 T __vectors_start
  c0c35020 T __stubs_start
  c0c35020 T __vectors_end
  c0c352e0 T _sinittext
  c0c352e0 T __stubs_end
  ...
  ffff1004 t vector_rst
  ffff1020 t vector_irq
  ffff10a0 t vector_dabt
  ffff1120 t vector_pabt
  ffff11a0 t vector_und
  ffff1220 t vector_addrexcptn
  ffff1240 T vector_fiq

(Note that vector_fiq_offset is now an absolute symbol, which kallsyms
already ignores by default)

The LMA footprint is identical with or without this change, only the VMAs
are different:

  Before:
  Idx Name          Size      VMA       LMA       File off  Algn
   ...
   14 .notes        00000024  c0c34020  c0c34020  00a34020  2**2
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   15 .vectors      00000020  00000000  c0c35000  00a40000  2**1
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   16 .stubs        000002c0  00001000  c0c35020  00a41000  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   17 .init.text    0006b1b8  c0c352e0  c0c352e0  00a452e0  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   ...

  After:
  Idx Name          Size      VMA       LMA       File off  Algn
   ...
   14 .notes        00000024  c0c34020  c0c34020  00a34020  2**2
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   15 .vectors      00000020  ffff0000  c0c35000  00a40000  2**1
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   16 .stubs        000002c0  ffff1000  c0c35020  00a41000  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   17 .init.text    0006b1b8  c0c352e0  c0c352e0  00a452e0  2**5
                    CONTENTS, ALLOC, LOAD, READONLY, CODE
   ...

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Ard Biesheuvel
b48da55830 ARM: 8514/1: remove duplicate definitions of __vectors_start and __stubs_start
Commit b9b32bf70f ("ARM: use linker magic for vectors and vector stubs")
introduced new global definitions of __vectors_start and __stubs_start,
and changed the existing ones to have internal linkage only. However, these
symbols are still visible to kallsyms, and due to the way the .vectors and
.stubs sections are emitted at the base of the VMA space, these duplicate
definitions have conflicting values.

  $ nm -n vmlinux |grep -E __vectors|__stubs
  00000000 t __vectors_start
  00001000 t __stubs_start
  c0e77000 T __vectors_start
  c0e77020 T __stubs_start

This is completely harmless by itself, since the wrong values are local
symbols that cannot be referenced by other object files directly. However,
since these symbols are also listed in the kallsyms symbol table in some
cases (i.e., CONFIG_KALLSYMS_ALL=y and CONFIG_XIP_KERNEL=y), having these
conflicting values can be confusing. So either remove them, or make them
strictly local.

Acked-by: Chris Brandt <chris.brandt@renesas.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Chris Brandt
538bf46948 ARM: 8513/1: xip: Move XIP linking to a separate file
When building an XIP kernel, the linker script needs to be much different
than a conventional kernel's script. Over time, it's been difficult to
maintain both XIP and non-XIP layouts in one linker script. Therefore,
this patch separates the two procedures into two completely different
files.

The new linker script is essentially a straight copy of the current script
with all the non-CONFIG_XIP_KERNEL portions removed.

Additionally, all CONFIG_XIP_KERNEL portions have been removed from the
existing linker script...never to return again.

It should be noted that this does not fix any current XIP issues, but
rather is the first move in fixing them properly with subsequent patches.

Signed-off-by: Chris Brandt <chris.brandt@renesas.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:39 +00:00
Lorenzo Pieralisi
8b6f2499ac ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware
ARM64 PSCI kernel interfaces that initialize idle states and implement
the suspend API to enter them are generic and can be shared with the
ARM architecture.

To achieve that goal, this patch moves ARM64 PSCI idle management
code to drivers/firmware, so that the interface to initialize and
enter idle states can actually be shared by ARM and ARM64 arches
back-ends.

The ARM generic CPUidle implementation also requires the definition of
a cpuidle_ops section entry for the kernel to initialize the CPUidle
operations at boot based on the enable-method (ie ARM64 has the
statically initialized cpu_ops counterparts for that purpose); therefore
this patch also adds the required section entry on CONFIG_ARM for PSCI so
that the kernel can initialize the PSCI CPUidle back-end when PSCI is
the probed enable-method.

On ARM64 this patch provides no functional change.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64]
Acked-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Jisheng Zhang <jszhang@marvell.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Lorenzo Pieralisi
1b9bdf5c16 ARM: 8510/1: rework ARM_CPU_SUSPEND dependencies
The code enabled by the ARM_CPU_SUSPEND config option is used by
kernel subsystems for purposes that go beyond system suspend so its
config entry should be augmented to take more default options into
account and avoid forcing its selection to prevent dependencies
override.

To achieve this goal, this patch reworks the ARM_CPU_SUSPEND config
entry and updates its default config value (by adding the BL_SWITCHER
option to it) and its dependencies (ARCH_SUSPEND_POSSIBLE), so that the
symbol is still selected by default by the subsystems requiring it and
at the same time enforcing the dependencies correctly.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Doug Anderson
14d3ae2efe ARM: 8507/1: dma-mapping: Use DMA_ATTR_ALLOC_SINGLE_PAGES hint to optimize alloc
If we know that TLB efficiency will not be an issue when memory is
accessed then it's not terribly important to allocate big chunks of
memory.  The whole point of allocating the big chunks was that it would
make TLB usage efficient.

As Marek Szyprowski indicated:
    Please note that mapping memory with larger pages significantly
    improves performance, especially when IOMMU has a little TLB
    cache. This can be easily observed when multimedia devices do
    processing of RGB data with 90/270 degree rotation
Image rotation is distinctly an operation that needs to bounce around
through memory, so it makes sense that TLB efficiency is important
there.

Video decoding, on the other hand, is a fairly sequential operation.
During video decoding it's not expected that we'll be jumping all over
memory.  Decoding video is also pretty heavy and the TLB misses aren't a
huge deal.  Presumably most HW video acceleration users of dma-mapping
will not care about huge pages and will set DMA_ATTR_ALLOC_SINGLE_PAGES.

Allocating big chunks of memory is quite expensive, especially if we're
doing it repeadly and memory is full.  In one (out of tree) usage model
it is common that arm_iommu_alloc_attrs() is called 16 times in a row,
each one trying to allocate 4 MB of memory.  This is called whenever the
system encounters a new video, which could easily happen while the
memory system is stressed out.  In fact, on certain social media
websites that auto-play video and have infinite scrolling, it's quite
common to see not just one of these 16x4MB allocations but 2 or 3 right
after another.  Asking the system even to do a small amount of extra
work to give us big chunks in this case is just not a good use of time.

Allocating big chunks of memory is also expensive indirectly.  Even if
we ask the system not to do ANY extra work to allocate _our_ memory,
we're still potentially eating up all big chunks in the system.
Presumably there are other users in the system that aren't quite as
flexible and that actually need these big chunks.  By eating all the big
chunks we're causing extra work for the rest of the system.  We also may
start making other memory allocations fail.  While the system may be
robust to such failures (as is the case with dwc2 USB trying to allocate
buffers for Ethernet data and with WiFi trying to allocate buffers for
WiFi data), it is yet another big performance hit.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:38 +00:00
Doug Anderson
33298ef6d8 ARM: 8505/1: dma-mapping: Optimize allocation
The __iommu_alloc_buffer() is expected to be called to allocate pretty
sizeable buffers.  Upon simple tests of video I saw it trying to
allocate 4,194,304 bytes.  The function tries to allocate large chunks
in order to optimize IOMMU TLB usage.

The current function is very, very slow.

One problem is the way it keeps trying and trying to allocate big
chunks.  Imagine a very fragmented memory that has 4M free but no
contiguous pages at all.  Further imagine allocating 4M (1024 pages).
We'll do the following memory allocations:
- For page 1:
  - Try to allocate order 10 (no retry)
  - Try to allocate order 9 (no retry)
  - ...
  - Try to allocate order 0 (with retry, but not needed)
- For page 2:
  - Try to allocate order 9 (no retry)
  - Try to allocate order 8 (no retry)
  - ...
  - Try to allocate order 0 (with retry, but not needed)
- ...
- ...

Total number of calls to alloc() calls for this case is:
  sum(int(math.log(i, 2)) + 1 for i in range(1, 1025))
  => 9228

The above is obviously worse case, but given how slow alloc can be we
really want to try to avoid even somewhat bad cases.  I timed the old
code with a device under memory pressure and it wasn't hard to see it
take more than 120 seconds to allocate 4 megs of memory! (NOTE: testing
was done on kernel 3.14, so possibly mainline would behave
differently).

A second problem is that allocating big chunks under memory pressure
when we don't need them is just not a great idea anyway unless we really
need them.  We can make due pretty well with smaller chunks so it's
probably wise to leave bigger chunks for other users once memory
pressure is on.

Let's adjust the allocation like this:

1. If a big chunk fails, stop trying to hard and bump down to lower
   order allocations.
2. Don't try useless orders.  The whole point of big chunks is to
   optimize the TLB and it can really only make use of 2M, 1M, 64K and
   4K sizes.

We'll still tend to eat up a bunch of big chunks, but that might be the
right answer for some users.  A future patch could possibly add a new
DMA_ATTR that would let the caller decide that TLB optimization isn't
important and that we should use smaller chunks.  Presumably this would
be a sane strategy for some callers.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:37 +00:00
Nicolas Pitre
73e592f3bc ARM: 8504/1: __arch_xprod_64(): small optimization
The tmp variable is used twice: first to pose as a register containing
a value of zero, and then to provide a temporary register that initially
is zero and get added some value. But somehow gcc decides to split those
two usages in different registers.

Example code:

u64 div64const1000(u64 x)
{
	u32 y = 1000;
	do_div(x, y);
	return x;
}

Result:

div64const1000:
	push	{r4, r5, r6, r7, lr}
	mov	lr, #0
	mov	r6, r0
	mov	r7, r1
	adr	r5, .L8
	ldrd	r4, [r5]
	mov	r1, lr
	umull	r2, r3, r4, r6
	cmn	r2, r4
	adcs	r3, r3, r5
	adc	r2, lr, #0
	umlal	r3, r2, r5, r6
	umlal	r3, r1, r4, r7
	mov	r3, #0
	adds	r2, r1, r2
	adc	r3, r3, #0
	umlal	r2, r3, r5, r7
	lsr	r0, r2, #9
	lsr	r1, r3, #9
	orr	r0, r0, r3, lsl #23
	pop	{r4, r5, r6, r7, pc}
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

Full kernel build size:

   text	   data	    bss	    dec	    hex	filename
13663814	1553940	 351368	15569122	 ed90e2	vmlinux

Here the two instances of 'tmp' are assigned to r1 and lr.

To avoid that, let's mark the first 'tmp' usage in __arch_xprod_64()
with a "+r" constraint even if the register is not written to, so to
create a dependency for the second usage with the effect of enforcing
a single temporary register throughout.

Result:

div64const1000:
	push	{r4, r5, r6, r7}
	movs	r3, #0
	adr	r5, .L8
	ldrd	r4, [r5]
	umull	r6, r7, r4, r0
	cmn	r6, r4
	adcs	r7, r7, r5
	adc	r6, r3, #0
	umlal	r7, r6, r5, r0
	umlal	r7, r3, r4, r1
	mov	r7, #0
	adds	r6, r3, r6
	adc	r7, r7, #0
	umlal	r6, r7, r5, r1
	lsr	r0, r6, #9
	lsr	r1, r7, #9
	orr	r0, r0, r7, lsl #23
	pop	{r4, r5, r6, r7}
	bx	lr
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

   text	   data	    bss	    dec	    hex	filename
13663438	1553940	 351368	15568746	 ed8f6a	vmlinux

This time 'tmp' is assigned to r3 and used throughout. However, by being
assigned to r3, that blocks usage of the r2-r3 double register slot for
64-bit values, forcing more registers to be spilled on the stack. Let's
try to help it by forcing 'tmp' to the caller-saved ip register.

Result:

div64const1000:
	stmfd	sp!, {r4, r5}
	mov	ip, #0
	adr	r5, .L8
	ldrd	r4, [r5]
	umull	r2, r3, r4, r0
	cmn	r2, r4
	adcs	r3, r3, r5
	adc	r2, ip, #0
	umlal	r3, r2, r5, r0
	umlal	r3, ip, r4, r1
	mov	r3, #0
	adds	r2, ip, r2
	adc	r3, r3, #0
	umlal	r2, r3, r5, r1
	mov	r0, r2, lsr #9
	mov	r1, r3, lsr #9
	orr	r0, r0, r3, asl #23
	ldmfd	sp!, {r4, r5}
	bx	lr
	.align	3
.L8:
	.word	-1924145349
	.word	-2095944041

   text	   data	    bss	    dec	    hex	filename
13662838	1553940	 351368	15568146	 ed8d12	vmlinux

We could make the code marginally smaller yet by forcing 'tmp' to lr
instead, but that would have a negative inpact on branch prediction for
which "bx lr" is optimal.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 15:33:37 +00:00
Linus Walleij
820617c251 ARM: realview: add the DS1338 RTC to PB1176 DT
This adds the Versatile I2C adapter and the Dallas DS1338
RTC on it to the PB1176 device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:46 +01:00
Linus Walleij
3bf0a4194f ARM: pb1176: add ethernet to devicetree
The PB1176 device tree was missing the SMSC9118 ethernet adapter,
so add it. Since this peripheral is not in either development
chip but on the board itself, it gets defined in the root node
of the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:46 +01:00
Linus Walleij
cc9ab84cd9 ARM: pb1176: add ISP1761 USB OTG host controller
The USB host controller was missing from the device tree so add
it. This device is not inside either the development chip or the
FPGA but mounted on the board, so it ends up in the root node of
the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:45 +01:00
Linus Walleij
efcf8963c6 ARM: pb1176: add AACI to the device tree
The device tree was missing the definition of the AACI
Advanced Audio Codec Interface, so add it. Tested on the hardware
and it works.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:45 +01:00
Linus Walleij
2d76ab2b61 ARM: pb1176: add ICST307 clocks to the device tree
This adds the five ICST307 clocks to the device tree, so we
can use these with e.g. CLCD.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
1f138b1893 ARM: realview: fix up PB11MP flash compat strings
The two flash memories in the PB11MPCore have their VPP/WP
lines controlled from the system controller add-on in the MTD
subsystem. "arm,versatile-flash" is the first compatible string
to use to get the right support.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
5c3f5edbe0 ARM: realview: add flash devices to the PB1176 DTS
This adds the flash memories and ROM to the PB1175 DTS file.
The secure flash is marked as "disabled" by default so as to
protect the user from overwriting the boot monitor.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-02-11 15:52:44 +01:00
Linus Walleij
e972c37459 ARM: 8519/1: ICST: try other dividends than 1
Since the dawn of time the ICST code has only supported divide
by one or hang in an eternal loop. Luckily we were always dividing
by one because the reference frequency for the systems using
the ICSTs is 24MHz and the [min,max] values for the PLL input
if [10,320] MHz for ICST307 and [6,200] for ICST525, so the loop
will always terminate immediately without assigning any divisor
for the reference frequency.

But for the code to make sense, let's insert the missing i++

Reported-by: David Binderman <dcb314@hotmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-11 14:12:33 +00:00
Thor Thayer
7cc5a5d3cd ARM: socfpga: Enable OCRAM ECC on startup
Enable ECC for On-Chip RAM on machine startup. The ECC has to be enabled
before data is stored in memory otherwise the ECC will fail on reads.

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: devicetree@vger.kernel.org
Cc: dougthompson@xmission.com
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: ijc+devicetree@hellion.org.uk
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mark.rutland@arm.com
Cc: m.chehab@samsung.com
Cc: pawel.moll@arm.com
Cc: robh+dt@kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: tthayer.linux@gmail.com
Cc: tthayer@opensource.altera.com
Link: http://lkml.kernel.org/r/1455132384-17108-4-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:34:38 +01:00
Thor Thayer
4d1138380e ARM: socfpga: Enable L2 cache ECC on startup
Enable ECC for L2 cache on machine startup. The ECC has to be enabled
before data is stored in memory otherwise the ECC will fail on reads.

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: devicetree@vger.kernel.org
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: ijc+devicetree@hellion.org.uk
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: mark.rutland@arm.com
Cc: m.chehab@samsung.com
Cc: pawel.moll@arm.com
Cc: robh+dt@kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1455132384-17108-3-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:32:11 +01:00
Thor Thayer
d31e2e846b ARM: dts: Add Altera L2 Cache and OCRAM EDAC entries
Add the device tree entries and bindings needed to support the Altera L2
cache and On-Chip RAM EDAC. This patch relies upon an earlier patch to
declare and setup On-chip RAM properly:

  8b907c8b62 ("arm: dts: socfpga: Add OCRAM node")

Signed-off-by: Thor Thayer <tthayer@opensource.altera.com>
Acked-by: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: galak@codeaurora.org
Cc: grant.likely@linaro.org
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: ijc+devicetree@hellion.org.uk
Cc: Kumar Gala <galak@codeaurora.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@arm.linux.org.uk
Cc: linux-doc@vger.kernel.org
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: m.chehab@samsung.com
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Russell King <linux@arm.linux.org.uk>
Link: http://lkml.kernel.org/r/1455132384-17108-2-git-send-email-tthayer@opensource.altera.com
Signed-off-by: Borislav Petkov <bp@suse.de>
2016-02-11 12:29:38 +01:00
Maxime Coquelin
b2aa7f7741 ARM: dts: stm32f429: Boost perfs by remapping SDRAM Bank 1 to 0x0
STM32F429 allows to remap FMC SDRAM Bank 1 from 0xc0000000 to 0x0,
by writing 0x4 to SYSCFG_MEMRMP register.

As mentionned in the reference manual (see chapter 9.3.1), the performance
gain is really interresting:
"In remap mode at address 0x0000 0000, the CPU can access the external
memory via ICode bus instead of System bus which boosts up the
performance."

These are the dhrystone results with and without the remap enabled:
Default (SDRAM in 0xc0000000):
---------------------------------
Microseconds for one run through Dhrystone:   31.8
Dhrystones per Second:                      31416.9

Remap (SDRAM in 0x0000000):
-----------------------------
Microseconds for one run through Dhrystone:   20.6
Dhrystones per Second:                      48520.1

This patch first change the SDRAM start address to 0x0 for STM32429i-EVAL
board, and also set the dma-range property as the other masters than the M4
CPU still see SDRAM in 0xc0000000.

Note that the Discovery board cannot benefit from this feature, since the
SDRAM is connected to Bank 2.

Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:59 +01:00
Maxime Coquelin
b690172f72 ARM: dts: Add leds support to STM32F429 boards
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:59 +01:00
Maxime Coquelin
521df6f56d ARM: dts: Add USART1 pin config to STM32F429 boards
This patch selects USART1 pin configuration on PA9/PA10 pins
for both Eval and Disco boards.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:58 +01:00
Maxime Coquelin
2dbd0593e8 ARM: dts: Add pinctrl node to STM32F429
The STM32F429 MCU has 11 GPIO banks, with 16 pins per bank.

Acked-by: Patrice Chotard <patrice.chotard@st.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-02-11 12:02:57 +01:00
Biao Huang
8ba671efdb arm: dts: Add pinctrl/GPIO/EINT node for mt2701
Add pinctrl and GPIO node to mt2701.dtsi

Signed-off-by: Biao Huang <biao.huang@mediatek.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:56 +01:00
Louis Yu
dfb8952847 ARM: dts: mt2701: enable basic SMP bringup for mt2701
Add enable method to support SMP.

Signed-off-by: Louis Yu <louis.yu@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:56 +01:00
John Crispin
27f997884f ARM: dts: mt7623: enable SMP bringup
Add support for booting secondary CPUs on MT7623.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:55 +01:00
John Crispin
31ac0d69a1 ARM: dts: mediatek: add MT7623 basic support
This adds basic chip support for Mediatek MT7623.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2016-02-11 11:39:54 +01:00
Vladimir Zapolskiy
d06670e962 arm: dts: phy3250: add SD fixed regulator
The change adds fixed voltage regulator for SD controller, ARM MMCI
controller driver uses it to control card power management.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:36 +02:00
Vladimir Zapolskiy
f6d4434916 arm: dts: phy3250: add lcd and backlight fixed regulators
Phytec PHY3250 board has GPIO controlled regulators for LCD and
backlight, add their descriptions to board DTS file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:32 +02:00
Vladimir Zapolskiy
b715802f23 arm: dts: lpc32xx: assign interrupt types
LPC32xx interrupt controller has two cells, instead of zero
specify proper irq types for all consumers.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:27 +02:00
Vladimir Zapolskiy
c82e688a33 arm: dts: lpc32xx: remove clock frequency property from UART device nodes
If clock-frequency property is given, then it substitutes calculation
of supplying clock frequency from parent clock, this may break UART,
if parent clock is given and managed by common clock framework.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:21 +02:00
Vladimir Zapolskiy
865e90093a arm: dts: lpc32xx: add USB clock controller
The change adds device node of LPC32xx USB clock controller and adds
clock properties to USB OHCI, USB device and I2C controller to USB phy
device nodes.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:16 +02:00
Vladimir Zapolskiy
93898eb775 arm: dts: lpc32xx: add clock properties to device nodes
The change adds clock properties to all described peripheral devices,
clock ids are taken from dt-bindings/clock/lpc32xx-clock.h

Some existing drivers expect to get clock names, in those cases
clock-names are added as well.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:11 +02:00
Vladimir Zapolskiy
fe86131f9e arm: dts: lpc32xx: add clock controller device node
NXP LPC32xx SoC has a clocking and power control unit (CPC) as a part
of system control block (SCB). CPC is supplied by two external
oscillators and it manages core and most of peripheral clocks, the
change adds SCB and CPC descriptions to shared LPC32xx dtsi file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:06:05 +02:00
Vladimir Zapolskiy
ef5f885ec9 arm: dts: lpc32xx: add device nodes for external oscillators
NXP LPC32xx SoC has two external oscillators - one is mandatory and
always on 32768 Hz oscillator and one optional 10-20MHz oscillator,
which is practically always present on LPC32xx boards, because its
presence is needed to supply USB controller clock and by default it
supplies ARM and most of the peripheral clocks, LPC32xx User's Manual
references it as a main oscillator.

The change adds device nodes for both oscillators, frequency of
the main oscillator is selected to be 13MHz by default, this variant
is found on all LPC32xx reference boards.

The device nodes for external oscillators are needed to describe input
clocks of LPC32xx clock controller.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 03:05:59 +02:00
Vladimir Zapolskiy
0ac1a101f5 arm: lpc32xx: remove direct control of GPIOs from shared mach file
The change removes GPIO configuration and control of LCD, backlight
and SD voltage regulators from the shared among all LPC32xx boards
mach file, Phytec PHY3250 board should have the description of these
regulators in its DTS file.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 02:27:04 +02:00
Vladimir Zapolskiy
1465e98a2c arm: lpc32xx: remove selected HAVE_IDE
NXP LPC32xx platform does not have any controller capable for disk
drives, selection of HAVE_IDE is not needed.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
2016-02-11 02:26:40 +02:00