Commit graph

38141 commits

Author SHA1 Message Date
Dmitry Eremin-Solenikov
7faf6d1ab0 ARM: 8243/1: sa1100: add a clock alias for sa1111 pcmcia device
SA-1111 uses internal MMIO space offsets as a device name, so device
name for sa1111 pcmcia is 1800 (PCMCIA is at offset 0x1800).

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-12-05 16:30:24 +00:00
Dmitry Eremin-Solenikov
4faee12884 ARM: 8242/1: sa1100: add cpu clock
Both SA1100 framebuffer and PCMCIA drivers require knowledge of cpu
frequency to correctly program timings.  Currently they receive timing
information by calling cpufreq_get(0).  However if cpu frequency driver
is not enabled (e.g. due to unsupported DRAM chip/board on sa1110)
cpufreq_get(0) returns 0, causing incorrect timings to be programmed.

Add cpu clock returning cpu frequency, to be used by sa11x0 fb and
pcmcia drivers.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2014-12-05 16:30:23 +00:00
Olof Johansson
08bcc754c3 Revert "ARM: dts: rockchip: temporarily disable smp on rk3288"
We now have the physical-timers patches lined up as a dependency in this same
branch, so we can revert the temporary disablement.

This reverts commit b77d43943e.

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:34:06 -08:00
Olof Johansson
fb3268b008 Merge branch 'clocksource/physical-timers' into next/dt
These are a pre-req to get rk3288 SMP to work with some firmwares, so merge
it in here as well as in next/drivers.

* clocksource/physical-timers:
  clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
  clocksource: arch_timer: Fix code to use physical timers when requested
2014-12-04 23:33:16 -08:00
Olof Johansson
6b34df9e30 Merge branch 'clocksource/physical-timers' into next/drivers
* clocksource/physical-timers:
  clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
  clocksource: arch_timer: Fix code to use physical timers when requested
2014-12-04 23:32:16 -08:00
Sonny Rao
0b46b8a718 clocksource: arch_timer: Fix code to use physical timers when requested
This is a bug fix for using physical arch timers when
the arch_timer_use_virtual boolean is false.  It restores the
arch_counter_get_cntpct() function after removal in

0d651e4e "clocksource: arch_timer: use virtual counters"

We need this on certain ARMv7 systems which are architected like this:

* The firmware doesn't know and doesn't care about hypervisor mode and
  we don't want to add the complexity of hypervisor there.

* The firmware isn't involved in SMP bringup or resume.

* The ARCH timer come up with an uninitialized offset between the
  virtual and physical counters.  Each core gets a different random
  offset.

* The device boots in "Secure SVC" mode.

* Nothing has touched the reset value of CNTHCTL.PL1PCEN or
  CNTHCTL.PL1PCTEN (both default to 1 at reset)

One example of such as system is RK3288 where it is much simpler to
use the physical counter since there's nobody managing the offset and
each time a core goes down and comes back up it will get reinitialized
to some other random value.

Fixes: 0d651e4e65 ("clocksource: arch_timer: use virtual counters")
Cc: stable@vger.kernel.org
Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:30:26 -08:00
Marc Zyngier
65bb688aab ARM: imx6: fix bogus use of irq_get_irq_data
The imx6 PM code seems to be quite creative in its use of irq_data,
using something that is very much a hardware interrupt number where
we expect a virtual one.  Yes, it worked so far, but that's only
luck, and it will definitely explode in 3.19.

Fix it by using a pair of helper functions that deal with the
actual hardware.

Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:24:51 -08:00
Marc Zyngier
e2fd06f6be ARM: imx: irq: fix buggy usage of irq_data irq field
mach-imx directly references to the irq field in
struct irq_data, and uses this to directly poke hardware register.

But irq is the *virtual* irq number, something that has nothing
to do with the actual HW irq (stored in the hwirq field). And once
we put the stacked domain code in action, the whole thing explodes,
as these two values are *very* different.

Just replacing all instances of irq with hwirq fixes the issue.

Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:24:48 -08:00
Olof Johansson
83b63c699b ARM: BCM5301X: dts updates
This adds the IRQ number to the main dts file and some new dts files
 for newly added devices.
 
 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUgL4rAAoJEIZ0px9YPRMyMgUP/1/kVmJ9096lA8L3QP8U29Ij
 ODqhQpNsJbqZZObdw1mrijN+sgpp3nmYvhtBNuQM7t4Ov0i2QFiOwRZ264G7ti9D
 i24n1vHMqOqN8rMpbcQ3G1beF3TLagWsMx9O7EE9GHjyKOYBJAi+QjOV6ajxmoPB
 sAmT+qzIwz45jDTXwky7/+W8ntrQHSKj6nNQcoknnkEpdYoFPmkxoKMDD9pdU6y2
 77Om7rLAwqWRQt/gdMB3qO4lQubDuRgeyNjH7n6C4scgi4odKJEjtsDmqoPL1gu1
 cEMvU06hTlLkgN6lQSrNny7OqXuVONxZU4ymm9TGcNC3xwXVeVwHBEVfBvwIgjKa
 JsQ1pdAjQiKSVXlDe65AMNnPordy4misfB0j20kRKGVD/ODPHgxNEQ95Q1zuHRZc
 sXz0OMuO+WZSvERDsUx3f1orfBwhCmsWWVRzAaX2O/AMprP5HIKibDtUNAbV04rS
 DR8DNEYvUL7K+Sd9xByzVN4YmXoedpjZDE3rwdNzP1bBOZiLFncdgERXBuQKjZXP
 63z6gHnVpwMMfZ3IJ3/WLiNgv+9ddngBgAJ+oO9zecMlGR9iqLTlFnInxaQjhwLz
 wIaC4lTKze/Xhb6yX0zhkEuUiwnICjczSoyRRNefaOPdJHHvOopo7l09ObTNa275
 TgdVerQ+JLltla0IbnjB
 =epqY
 -----END PGP SIGNATURE-----

Merge tag 'bcm5301x-dt-2014-12-04' of https://github.com/hauke/linux into next/dt

Merge "ARM: BCM5301X: DT changes for v3.19 #2" from Hauke Mehrtens:

ARM: BCM5301X: dts updates

This adds the IRQ number to the main dts file and some new dts files
for newly added devices.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

* tag 'bcm5301x-dt-2014-12-04' of https://github.com/hauke/linux:
  ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2
  ARM: BCM5301X: Add DT for Asus RT-N18U
  ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP
  ARM: BCM5301X: Add DT for Netgear R6300 V2
  ARM: BCM5301X: Add buttons for Netgear R6250
  ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file

Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:19:08 -08:00
Tyler Baker
bb2dfcbdcc ARM: multi_v7_defconfig: enable MAX77686 PMIC drivers for exynos4412-prime based SoCs
This patch enables the MAX77686 PMIC drivers in the multi_v7_defconfig used
on exynos4412-prime family of SoCs [1]. The exynos4412-prime based boards
are producing the following runtime errors only on the multi_v7_defconfig [2]:

kern.err: deviceless supply vdd_arm not found, using dummy regulator
kern.err: exynos-cpufreq exynos-cpufreq: failed to set cpu voltage to 1287500
kern.err: cpufreq: __target_index: Failed to change cpu frequency: -22

I reviewed the exynos_defconfig, which does not produce these runtime
errors. It was obvious that the exynos_defconfig has the PMIC drivers
enabled, whereas the multi_v7_defconfig does not. This patch has been tested
on a odroid-u2 and a odroid-u3 board. It has resolved the runtime errors.
Therefore, I purpose we enabled these drivers in the multi_v7_defconfig.

[1] http://www.hardkernel.com/main/products/prdt_info.php?g_code=G135270682824
[2] http://storage.armcloud.us/kernel-ci/mainline/v3.18-rc7-48-g7cc78f8/arm-multi_v7_defconfig/lab-tbaker-00/boot-exynos4412-odroidu3.html

Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2014-12-04 23:16:21 -08:00
Rafał Miłecki
dd7733da69 ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04 20:58:11 +01:00
Rafał Miłecki
ae2ed35a40 ARM: BCM5301X: Add DT for Asus RT-N18U
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04 20:58:08 +01:00
Rafał Miłecki
e336a14d2a ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04 20:58:05 +01:00
Rafał Miłecki
302a5ef29d ARM: BCM5301X: Add DT for Netgear R6300 V2
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04 20:58:03 +01:00
Rafał Miłecki
f6f8234439 ARM: BCM5301X: Add buttons for Netgear R6250
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2014-12-04 20:57:58 +01:00
Arnd Bergmann
ef1dfa7332 Fifth batch of cleanup/SoC for 3.19:
- removal of now dead code and AT91-specific driver
 - removal of !DT initialization in some core AT91 drivers
 - simplification of Kconfig DT board file selection: now automatic
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUgJyWAAoJEAf03oE53VmQ/o0IAK56Q3+fTgTi5uT5RwvYpFI+
 U3Zosn6UNe2kxNpJMtsaWM7vCrmMdHb6LPaf4dy66e4tL4sBhYmyXhWU9UTEiwtw
 l3Y5QCVqOpOKtVc/cYOtYtHYkcHyqyVa0qRb3XITvwpUeG0iJxrtcMRYTlDUpKD4
 pJEfRK2CcHUrNXnnOcHkYaj0d5dXlJ2wJeGiAkCI0iuVWh4f44ipOAPI/0vZLO39
 OIFBZRwXmQpWwncLlbVrwScK7ZD8I/qersrH72c3RdIBp0K6tbuNSXkLFL7pZhp0
 pJ1Yh44HLmAklx4G0Ui0h4fWu5wMCrT7YBUXZ3Jv+RTRwW1Sr9pAhZdGxXtAYXo=
 =CEE6
 -----END PGP SIGNATURE-----

Merge tag 'at91-cleanup5' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/cleanup

Pull "Fifth batch of cleanup/SoC for 3.19" from Nicolas Ferre:

- removal of now dead code and AT91-specific driver
- removal of !DT initialization in some core AT91 drivers
- simplification of Kconfig DT board file selection: now automatic

* tag 'at91-cleanup5' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91: remove unused board.h file
  ARM: at91: remove unneeded header files
  ARM: at91/clocksource: remove !DT PIT initializations
  ARM: at91: at91rm9200 ST initialization is now DT only
  ARM: at91: remove old AT91-specific drivers
  ARM: at91: cleanup initilisation code by removing dead code
  ARM: at91/Kconfig: select board files automatically

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 19:11:03 +01:00
Arnd Bergmann
44229d22b8 First batch of defconfigs for AT91 / 3.19:
- use NEON for all C-A5, neon code handles the !NEON case
 - add new XDMA driver
 - add some useful drivers as we only have a single defconfig for all
   AT91SAM9/RM9200
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJUgI0MAAoJEAf03oE53VmQauEH/38kPqGBa4Me4pBhvA9xMsDH
 8cCuJ3Mpo14NiEADu56QY5dG5qnVfA1F0Mn+Xs/1iR8b9TQPoHIs7D8BO25Yb8vJ
 KdkeIfUBgFl8GV8W6QfABRf6Mr2aidVknBNBE/hsUStDkU3hNU0i3p/kn87f/QH8
 SuFXao18pqqQJ+pVigMRyEWbfGXYYUcJoKQYg8Us/LNHLP4Zl3PSerqAhPnvjts6
 QrQvT6t4ijCixvLs8/baEwFNylUWarRbziVh6GPmzBrOl8KL93NPwnGXcCbE9zXS
 tVjcXYgRcq9h7rUp83AqxnxWPbKdJnD3S91huwhikZirt7+CcgulAbe5BLYcnnE=
 =FZRZ
 -----END PGP SIGNATURE-----

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

Pull "First batch of defconfigs for AT91 / 3.19:" from Nicolas Ferre:

- use NEON for all C-A5, neon code handles the !NEON case
- add new XDMA driver
- add some useful drivers as we only have a single defconfig for all
  AT91SAM9/RM9200

* tag 'at91-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
  ARM: at91/defconfig: add DM9000 to at91_dt
  ARM: at91/defconfig: add QT1070 to at91_dt
  ARM: at91/defconfig: add TCB PWM driver selection
  ARM: at91/defconfig: add the XDMA driver
  ARM: at91: sama5: update defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 19:09:18 +01:00
Felipe Balbi
99d2fae9eb [media] arm: omap2: rx51-peripherals: fix build warning
commit 68a3c04330 ([media] ARM: OMAP2: RX-51: update
si4713 platform data) updated board-rx51-peripherals.c
so that si4713 could be easily used on DT boot, but
it ended up introducing a build warning whenever
si4713 isn't enabled.

This patches fixes that warning:

arch/arm/mach-omap2/board-rx51-peripherals.c:1000:36: warning: \
	‘rx51_si4713_platform_data’ defined but not used [-Wunused-variable]
 static struct si4713_platform_data rx51_si4713_platform_data = {

Cc: Sebastian Reichel <sre@kernel.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-12-04 15:28:50 -02:00
Arnd Bergmann
403ea7f6c6 - rk3288 thermal driver that got accepted into the thermal tree
- mmc fifo sizes for Cortex-A9 SoCs
 - labels for the leds on the RadxaRock
 - core system supply for the Marsboard
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJUffEUAAoJEPOmecmc0R2Bk4QH/0O8+misF7MM3/EX0UOicb09
 zrrVaPfH8GKHz3NlXGNZhIgy1coNoElBmdWPEb+XI+tRI3vKcyHtsJp78XHYupBl
 yHFXjRYw4dHwwc08cQRDzf8qfWFpTnKX/gSBhgn5+kuIvylalLmnY8RjYtuQcaYW
 DEc5B8eEMmmDH1Y3UBat+JOIJZY4NWxc9zmK+wRuMtcLt8ieCmgOWVMBjl8BerAe
 Vdi0EM3YicA/HDzPVNq3xQK6cUtWDfKSFvkJhwc9Q40Yl4LQaOf2YMA2sZ/4+Qnl
 F1LLJtJFMo9A0vECDJIfleXJRXnq0VjVp1Mn18Do8J6zsazzS94ppSDyk5EliVg=
 =jMaL
 -----END PGP SIGNATURE-----

Merge tag 'v3.19-rockchip-dts4' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Pull "last dts changes for 3.19" from Jason Cooper:

- rk3288 thermal driver that got accepted into the thermal tree
- mmc fifo sizes for Cortex-A9 SoCs
- labels for the leds on the RadxaRock
- core system supply for the Marsboard

* tag 'v3.19-rockchip-dts4' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add input voltage supply regulators in pmic for Marsboard
  ARM: dts: rockchip: set FIFO size for SDMMC, SDIO and EMMC on rk3066 and rk3188
  ARM: dts: rockchip: add label property for leds on Radxa Rock
  ARM: dts: rockchip: enable thermal on rk3288-evb board
  ARM: dts: rockchip: add main thermal info to rk3288
  ARM: dts: rockchip: add RK3288 Thermal data

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 17:33:02 +01:00
Nicolas Ferre
51756cbd40 ARM: at91/defconfig: add DM9000 to at91_dt
This chip is present on at91sam9261ek board: add it to the at91_dt_defconfig.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-12-04 17:32:01 +01:00
Nicolas Ferre
97466d77e8 ARM: at91/defconfig: add QT1070 to at91_dt
As this touch button driver is used on at91sam9x5ek, it's better to enable it.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-12-04 17:32:00 +01:00
Nicolas Ferre
e4b2cf64b9 ARM: at91/defconfig: add TCB PWM driver selection
This is the selection of the new PWM driver using TC Blocks. This driver is
useful so we enable it in both sama5 and at91_dt defconfig files.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-12-04 17:32:00 +01:00
Nicolas Ferre
ca01a706f1 ARM: at91/defconfig: add the XDMA driver
Add the Atmel eXtended DMA Controller driver option. This driver is first used
on SAMA5D4 SoCs and only relevant in sama5_defconfig file.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-12-04 17:31:59 +01:00
Ludovic Desroches
3b1dec2f66 ARM: at91: sama5: update defconfig
Add neon support for sama5d4 and large blocks/files support.

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2014-12-04 17:31:59 +01:00
Thomas Petazzoni
842f7d2c4d ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
This commit adjusts the registration of the cpufreq-dt driver in the
mvebu platform to indicate to the cpufreq driver that the platform has
independent clocks for each CPU.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 17:31:32 +01:00
Arnd Bergmann
1d5f497d87 ARM: tegra: Device tree changes for v3.19
The bulk of these changes add memory controller nodes for Tegra30,
 Tegra114 and Tegra124. The memory controller implements an IOMMU that
 the display controllers are attached to. This allows them to scan out
 physically non-contiguous framebuffers and removes one of the primary
 users of CMA.
 
 The only other change adds a new MIPI pad control bank to the pin
 controller on Tegra124. The corresponding driver patch for this went
 into v3.18 as:
 
         3ccc11f6b8 pinctrl: tegra: Add MIPI pad control
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUgHsYAAoJEN0jrNd/PrOhEKMP/0DleZHW0kV1IImpPf6Dwkv8
 rcqcq2qAFjz45GSGLv/n17faxIy6CuoJRkVpEgDtP/Ra7IFr72cBljJpzyrNGLj7
 rY4qMkAkihm1gviFwFry3aulPKDczDNGPhLcymB+Yksl84+zfpay1Fjd27bLXy8+
 zMiLj/17+2nQ6nxWHIeIBISYtQrUu06PL1og2GeQ8Q4TYDiE+ffgZwel269MSJlS
 dibjxq98GXxo7slwDVtWqfJereAtCqB+9gshhSY+O9OQqgxgfBUusBaoU8D7m554
 ZmrpeB1TBQYVAE5IjP/IOZOww4gXsa1nKjkf2/Ifnp4+0rSzyp9zCJT1Vkb3hzOp
 cFVft2xdM+7/YScO1l8H3oiZz5TIOjTofhv0nLPVUl0Rbtf5qHu8VwQdcuzvnSHE
 6mk/f06ZXnUjLlmx4Mz8UzrwywSdX4sAEcHVMIUzcQ6Cc1cbiHiyrpiA8qG1WZgB
 9VHIfabse8Lh0JX3FVUc9hkghSxier7RS0AFr3ruNThIX3U4BXKqbiUMMao5QnMf
 wwxgxalgdnkapd+znuWJNVN/oD0AFuuzM/vDm71nxqSMyQ+dwfaXTGeqgwYI2jug
 T1nq1Io8FY71AptB7xMwai+DbJ8h0GVgHNSIboONLAw70mqA2f/c/XHKQp99vUtp
 LDpW0vdCAJapomJ2o+Wk
 =7LRQ
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.19-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt2

Pull "ARM: tegra: Device tree changes for v3.19" from Thierry Reding:

The bulk of these changes add memory controller nodes for Tegra30,
Tegra114 and Tegra124. The memory controller implements an IOMMU that
the display controllers are attached to. This allows them to scan out
physically non-contiguous framebuffers and removes one of the primary
users of CMA.

The only other change adds a new MIPI pad control bank to the pin
controller on Tegra124. The corresponding driver patch for this went
into v3.18 as:

        3ccc11f6b8 pinctrl: tegra: Add MIPI pad control

* tag 'tegra-for-3.19-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Enable IOMMU for display controllers on Tegra124
  ARM: tegra: Enable IOMMU for display controllers on Tegra114
  ARM: tegra: Enable IOMMU for display controllers on Tegra30
  ARM: tegra: Add memory controller support for Tegra124
  ARM: tegra: Add memory controller support for Tegra114
  ARM: tegra: Add memory controller support for Tegra30
  ARM: tegra: Add APB_MISC_GP as a MIPI pad control bank

These additional commits are merged as dependencies:

  memory: Add NVIDIA Tegra memory controller support
  of: Add NVIDIA Tegra memory controller binding
  ARM: tegra: Move AHB Kconfig to drivers/amba
  amba: Add Kconfig file
  clk: tegra: Implement memory-controller clock
  powerpc/iommu: Rename iommu_[un]map_sg functions
  iommu: Improve error handling when setting bus iommu
  iommu: Do more input validation in iommu_map_sg()
  iommu: Add iommu_map_sg() function

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 17:21:49 +01:00
Arnd Bergmann
e58e501a9b ARM: tegra: IOMMU support for v3.19
This adds the driver pieces required for IOMMU support on Tegra30,
 Tegra114 and Tegra124.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUgHtUAAoJEN0jrNd/PrOhO4kQAKPK7g3zPOCzKNwMvtrMKL2M
 a0U3OQEV5GcJaM55EObi5FyGci/IKAOABPfkexuRiPQGOYOM6n854a5QCwitT4XX
 sHMWy+kbFi2lYNrsMMadw6Ho3ZalpVXLpg4bBEeUJMGo72BNi7zZ/hj+l15wnK3x
 /o5l1y4acD+9Jf7ka2omsXJYp85lBjfQDVn0wt3/eNCJo4FKihybkVcYAyG0yM7u
 Hb3MRjcSO2E0HCBCrms7A9sCCPHUokAHIfnEKu4KXHIyO6d89q9wBe+O01dGA33f
 TnFOJvfE0s3pr/uWTzVkx4zgQDfqauAKu6+c37Hv+xLMNgn+v+XtZupTqSOnRzN/
 MUPhZErIz3XqpmJVUbAH4H600c/wYckedlYYiyMqmZ2Xf/QkBhOwlym1jKoNuicT
 +R4I5MTIPO1lDAefLOQAqJYauAH2525bt8Pqvywh6CIuNrLJxcD8gIESOyMQsm6K
 22tUG+qh5GX2zKCY+QFCJQ5w2IjVVcO83r+iaXCQAIfuIx/cGzfLhosjKnnv7kmw
 D6qVQ57gFxHe9fUgj/oMPJnq5bfJorrI+0lS6i7Eq1nhV9bGU0JdGEM08CGxL4jZ
 BxyX/NK3JXg1oKMswMN5TMZ3iewRgJ08O7jYGtdriD/J5aLarjkdyMfq+DvM2Qxa
 0dWArfjSXd/2jcdCKpgb
 =R4je
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.19-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers

Pull "ARM: tegra: IOMMU support for v3.19" from Thierry Reding:

This adds the driver pieces required for IOMMU support on Tegra30,
Tegra114 and Tegra124.

* tag 'tegra-for-3.19-iommu' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  memory: Add NVIDIA Tegra memory controller support
  of: Add NVIDIA Tegra memory controller binding
  ARM: tegra: Move AHB Kconfig to drivers/amba
  amba: Add Kconfig file
  clk: tegra: Implement memory-controller clock
  powerpc/iommu: Rename iommu_[un]map_sg functions
  iommu: Improve error handling when setting bus iommu
  iommu: Do more input validation in iommu_map_sg()
  iommu: Add iommu_map_sg() function

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 17:20:02 +01:00
Arnd Bergmann
3d2660694c arm: Xilinx Zynq cleanup patches for v3.19
- Remove unused file and declaration
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlR8KCUACgkQykllyylKDCFaiACbBUgGliIIpdrPFPDNh7S56eAZ
 HqEAoJJ5B9ipYmPYP5kmJxCNw4zDeEJO
 =rAXb
 -----END PGP SIGNATURE-----

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

Pull "arm: Xilinx Zynq cleanup patches for v3.19" from Michal Simek:

- Remove unused file and declaration

* tag 'zynq-cleanup-for-3.19' of https://github.com/Xilinx/linux-xlnx:
  ARM: zynq: Remove secondary_startup() declaration from header
  ARM: zynq: Actually remove hotplug.c

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 16:53:11 +01:00
Arnd Bergmann
f3507cc586 arm: Xilinx Zynq dt patches for v3.19
- Declare Digilent and vendor
 - Add Zybo board support
 - Fix VDMA documentation to be align with the driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlR8JiYACgkQykllyylKDCEO2wCePy9zNMskOH90em8PkVO+Sopk
 dmIAoIxumBue0E7rNJjYnS/3gefmoNj2
 =nz/q
 -----END PGP SIGNATURE-----

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

Pull "arm: Xilinx Zynq dt patches for v3.19" from Michal Simek:

- Declare Digilent and vendor
- Add Zybo board support
- Fix VDMA documentation to be align with the driver

* tag 'zynq-dt-for-3.19' of https://github.com/Xilinx/linux-xlnx:
  arm: dts: zynq: Add Digilent ZYBO board
  arm: dts: zynq: Move crystal freq. to board level
  doc: dt: vendor-prefixes: Add Digilent Inc
  Documentation: devicetree: Fix Xilinx VDMA specification

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 16:48:36 +01:00
Arnd Bergmann
ab64920c37 mvebu SoC suspend changes for v3.19
- Armada 370/XP suspend/resume support
 
  - mvebu SoC driver suspend/resume support
     - irqchip
     - clocksource
     - mbus
     - clk
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUe0lIAAoJEP45WPkGe8Zn/IgP/jOO8c7t7dohRbAe3axzIcaC
 DLL7d7j0AScZGXLx1/xJrFFY/P3gn3dlLR7HnT0t4K7vcW0kP4orMGo6FcGicSOZ
 VzQf88cOkunKf9NTM1Y0LOXVWTHGuACiXAnxook5A6k+l0xQ1t+uewgEKrg/33VK
 6WQ6woe2eYFwghkFwL3ybjttOPM5nxPef6v3TZ3LfwSUBsnSm70F1XiO8xZJH+LM
 fL83P409LGWgohwSaXYRdPJcNM0U7QMNo6i/If9NNBhIkdKb6llhQ/DvI+aXUvqB
 aD9/4t+Q75yki0mXIin6irltjspWsR8OFbaKZOM5IBFp/XrsKvNU+wy++7z9se9z
 qfG1QYmKk3ddI0isoksuIJpfbrlbQqFKCGlNkn8HVi4xCYCijNgb5bUrHQ27Aa4U
 GGisAOhqs9Ktpz96WeNKjvNQBSJZ3ESd6tlLrwCei8DwEdT0Z73jr1aEnulurpPG
 A3kiUhVpRIU+w0cth5Kix2bZj7JGsykzu1x5xORLE+MN8RSgmoveGyY5CBp2MHrl
 NxR/u98SD9I/rWT3DwQIKxM5ZqF4AAnyj4SaSWR/f40kWMU+A+eMEfo8VUeO88fl
 ygeeHTghSf58gbdgganRfDyY8OaQHeYNNKbWK6c7vxyMX98vwHOtOb5JS3nn0p7q
 Fugy/6qf+ZqYHT4nczJO
 =uX+e
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-soc-suspend-3.19' of git://git.infradead.org/linux-mvebu into next/soc

Pull "mvebu SoC suspend changes for v3.19" from Jason Cooper:

 - Armada 370/XP suspend/resume support

 - mvebu SoC driver suspend/resume support
    - irqchip
    - clocksource
    - mbus
    - clk

* tag 'mvebu-soc-suspend-3.19' of git://git.infradead.org/linux-mvebu:
  ARM: mvebu: add SDRAM controller description for Armada XP
  ARM: mvebu: adjust mbus controller description on Armada 370/XP
  ARM: mvebu: add suspend/resume DT information for Armada XP GP
  ARM: mvebu: synchronize secondary CPU clocks on resume
  ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
  ARM: mvebu: Armada XP GP specific suspend/resume code
  ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
  ARM: mvebu: implement suspend/resume support for Armada XP
  clk: mvebu: add suspend/resume for gatable clocks
  bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
  bus: mvebu-mbus: suspend/resume support
  clocksource: time-armada-370-xp: add suspend/resume support
  irqchip: armada-370-xp: Add suspend/resume support
  Documentation: dt-bindings: minimal documentation for MVEBU SDRAM controller

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 16:46:43 +01:00
Dmitry Lavnikevich
ad8dd8827b ARM: defconfig: imx_v6_v7_defconfig updates
This is a squash of several imx_v6_v7_defconfig update patches.

 - Enable tlv320aic3x audio codec by default (Phytec PBAB01 board)
 - Enable DS1307 rtc and gpio fan by default (TBS2910 board)
 - Select thermal related drivers
 - Add SNVS power off driver

Signed-off-by: Dmitry Lavnikevich <d.lavnikevich@sam-solutions.com>
Signed-off-by: Soeren Moch <smoch@web.de>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Robin Gong <b38343@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2014-12-04 16:45:58 +01:00
Thierry Reding
5b605d4426 ARM: tegra: Enable IOMMU for display controllers on Tegra124
Add iommus properties to the device tree nodes for the two display
controllers found on Tegra124. This will allow the display controllers
to map physically non-contiguous buffers to I/O virtual contiguous
address spaces so that they can be used for scan-out.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:15 +01:00
Thierry Reding
32215e7160 ARM: tegra: Enable IOMMU for display controllers on Tegra114
Add iommus properties to the device tree nodes for the two display
controllers found on Tegra114. This will allow the display controllers
to map physically non-contiguous buffers to I/O virtual contiguous
address spaces so that they can be used for scan-out.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:15 +01:00
Thierry Reding
6d9adf6f00 ARM: tegra: Enable IOMMU for display controllers on Tegra30
Add iommus properties to the device tree nodes for the two display
controllers found on Tegra30. This will allow the display controllers to
map physically non-contiguous buffers to I/O virtual contiguous address
spaces so that they can be used for scan-out.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:14 +01:00
Thierry Reding
b26ea06bab ARM: tegra: Add memory controller support for Tegra124
Add the memory controller and wire up the interrupt that is used to
report errors. Provide a reference to the memory controller clock and
mark the device as being an IOMMU by adding an #iommu-cells property.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:14 +01:00
Thierry Reding
c6f70a4d17 ARM: tegra: Add memory controller support for Tegra114
Add the device tree node for the memory controller found on Tegra114
SoCs. The memory controller integrates an IOMMU (called SMMU) as well as
various knobs to tweak memory accesses by the various clients.

The old IOMMU device tree node is collapsed into the memory controller
node to more accurately describe the hardware. While this change is
incompatible, the IOMMU driver has never had any users so the change is
not going to cause any breakage.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:13 +01:00
Thierry Reding
a9fe468f1b ARM: tegra: Add memory controller support for Tegra30
Collapses the old memory-controller and IOMMU device tree nodes into a
single node to more accurately describe the hardware.

While this is an incompatible change there are no users of the IOMMU on
Tegra, even though a driver has existed for some time.

Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:13 +01:00
Sean Paul
49727d30ea ARM: tegra: Add APB_MISC_GP as a MIPI pad control bank
This patch adds the APB_MISC_GP_MIPI_PAD_CTRL_0 as a pin-control bank on
Tegra124 so the new MIPI pad control group can be muxed between CSI and
DSI_B.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-12-04 16:16:12 +01:00
Stefano Stabellini
da095a9960 xen/arm: introduce GNTTABOP_cache_flush
Introduce support for new hypercall GNTTABOP_cache_flush.
Use it to perform cache flashing on pages used for dma when necessary.

If GNTTABOP_cache_flush is supported by the hypervisor, we don't need to
bounce dma map operations that involve foreign grants and non-coherent
devices.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2014-12-04 12:41:54 +00:00
Stefano Stabellini
a4dba13089 xen/arm/arm64: introduce xen_arch_need_swiotlb
Introduce an arch specific function to find out whether a particular dma
mapping operation needs to bounce on the swiotlb buffer.

On ARM and ARM64, if the page involved is a foreign page and the device
is not coherent, we need to bounce because at unmap time we cannot
execute any required cache maintenance operations (we don't know how to
find the pfn from the mfn).

No change of behaviour for x86.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2014-12-04 12:41:54 +00:00
Stefano Stabellini
5121872afe xen/arm/arm64: merge xen/mm32.c into xen/mm.c
Merge xen/mm32.c into xen/mm.c.
As a consequence the code gets compiled on arm64 too.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
2014-12-04 12:41:53 +00:00
Stefano Stabellini
3567258d28 xen/arm: use hypercall to flush caches in map_page
In xen_dma_map_page, if the page is a local page, call the native
map_page dma_ops. If the page is foreign, call __xen_dma_map_page that
issues any required cache maintenane operations via hypercall.

The reason for doing this is that the native dma_ops map_page could
allocate buffers than need to be freed. If the page is foreign we don't
call the native unmap_page dma_ops function, resulting in a memory leak.

Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
2014-12-04 12:41:52 +00:00
Stefano Stabellini
a0f2dee0cd xen: add a dma_addr_t dev_addr argument to xen_dma_map_page
dev_addr is the machine address of the page.

The new parameter can be used by the ARM and ARM64 implementations of
xen_dma_map_page to find out if the page is a local page (pfn == mfn) or
a foreign page (pfn != mfn).

dev_addr could be retrieved again from the physical address, using
pfn_to_mfn, but it requires accessing an rbtree. Since we already have
the dev_addr in our hands at the call site there is no need to get the
mfn twice.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2014-12-04 12:41:51 +00:00
Stefano Stabellini
2e2a7817fd xen/arm: use is_device_dma_coherent
Use is_device_dma_coherent to check whether we need to issue cache
maintenance operations rather than checking on the existence of a
particular dma_ops function for the device.

This is correct because coherent devices don't need cache maintenance
operations - arm_coherent_dma_ops does not set the hooks that we
were previously checking for existance.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
2014-12-04 12:41:51 +00:00
Stefano Stabellini
3d5391ac6f arm: introduce is_device_dma_coherent
Introduce a boolean flag and an accessor function to check whether a
device is dma_coherent. Set the flag from set_arch_dma_coherent_ops.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Russell King <linux@arm.linux.org.uk>
2014-12-04 12:41:50 +00:00
Stefano Stabellini
2f91fc331a xen/arm: if(pfn_valid(pfn)) call native dma_ops
Remove code duplication in mm32.c by calling the native dma_ops if the
page is a local page (not a foreign page). Use a simple pfn_valid(pfn)
check to figure out if the page is local, exploiting the fact that dom0
is mapped 1:1, therefore pfn_valid always returns false when called on a
foreign mfn.

Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
2014-12-04 12:41:48 +00:00
Stefano Stabellini
35e0be88c4 xen/arm: remove outer_*_range call
Dom0 is not actually capable of issuing outer_inv_range or
outer_clean_range calls.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
2014-12-04 12:41:47 +00:00
Stefano Stabellini
e9e87eb3f9 xen/arm: remove handling of XENFEAT_grant_map_identity
The feature has been removed from Xen. Also Linux cannot use it on ARM32
without CONFIG_ARM_LPAE.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
2014-12-04 12:41:45 +00:00
Ulf Hansson
cffa91380d ARM: shmobile: Convert to genpd flags for PM clocks for R-mobile
Instead of using the dev_ops ->stop|start() callbacks for genpd, let's
convert to use genpd's flag field and set it to GENPD_FLAG_PM_CLK.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-12-04 00:44:44 +01:00
Ulf Hansson
9c6a973629 ARM: shmobile: Convert to genpd flags for PM clocks for r8a7779
Instead of using the dev_ops ->stop|start() callbacks for genpd, let's
convert to use genpd's flag field and set it to GENPD_FLAG_PM_CLK.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-12-04 00:44:44 +01:00