Commit Graph

29357 Commits

Author SHA1 Message Date
Alexander Shiyan
6e228e8019 ARM: dts: imx27: Add AUDMUX devicetree node
This patch adds the missing (Digital Audio MUX) AUDMUX devicetree
node for i.MX27 CPUs.

Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:28:18 +08:00
Alexander Shiyan
e4b6a05625 ARM: dts: imx27: Add SAHARA2 devicetree node
This patch adds the missing (Symmetric/Asymmetric Hashing and Random
Accelerator) SAHARA2 devicetree node for i.MX27 CPUs.

Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:28:17 +08:00
Philippe Reynes
a47b3bfcac ARM: apf27dev: add rtc ds1374 to the device tree
Signed-off-by: Philippe Reynes <tremyfr@yahoo.fr>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:28:16 +08:00
Huang Shijie
9110ede4e0 ARM: dts: imx6qdl-sabresd: enable the SPI NOR
enable the spi nor for imx6q{dl}-sabresd boards.

Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-08-22 23:28:15 +08:00
Huang Shijie
b038a9b886 ARM: dts: imx6q: add a new pinctrl for ecspi1
This new pinctrl is used by the imx6q-sabresd board.

Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-08-22 23:28:14 +08:00
Huang Shijie
4702ca5175 ARM: dts: imx6dl: add a new pinctrl for ecspi1
This new pinctrl is used in the imx6dl-sabresd board.

Signed-off-by: Huang Shijie <b32955@freescale.com>
2013-08-22 23:28:13 +08:00
Kevin Hilman
5f5cc5cd7c Samsung Exynos DT updates for v3.12
- update codec, pmic, usb hub for Arndale
 - add exynos4412-trats 2 board dt
 - update camera, spi, sensor for Trats2
 - update fimc, sensor for Trats
 - add support tmu for exynos5440
 - add support g2d for exynos5250
 - correct camera pinctrl for exynos4x12
 - add support camera subsystem for exynos4
 - add support basic pm domain, fimd, dp for exynos5420
 - add support secure-firmware for OrigenQuad
 - update mfc and add support mfc for exynos5420
 - add usb host node for exynos4
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSETfIAAoJEA0Cl+kVi2xqDigP/Awx/R1A+TGl+/wpkGybuTZJ
 ax6XCVcMNe5HpAWIlwrc5AFmpRsekTx/HmO/XqtjiexnN9d6GyPtK3vNAqPDowgZ
 wzC8iM6quRdEo/dFBuYgmomGZr/oE7Cv/GYTxmO3hjN0L7zU98fFKBNsn1D19086
 WTSYluWG12BA2aN5Ppxkyie6VNXIfHKt4eYM5K+mjjhTZ97e5Oem6xOta+0V5JL6
 vQyWfhhReLF2UfXxmYa53JoXCtJOOBDq/VMsfDj1UfAx3oEiYAybDeYj+gwckhE+
 PKu4qeHiEmh70XNlXG0/STylOdRDifw8ktZJ6bZ1zgcVSRnBKJ8hNpK77MYoVAFx
 DK+zREyQaztrBF/07gGfe6mDb0fIVGujvzfqX/5X1sJjiNvv0k/e7ptJBAmzlhhB
 8pPG2X+Hs7XVPQ2XczcV9fjeUnaqcKfj1QKRsSNzFYg7Tu42CJ9wMDE93O0UCCxR
 r8X/0bfr+7ZxTr6MumfFCwgqv+G+Eg/emVXPVLCR0niw7owFuaFlGg8XR4VibDRC
 8kQe2SOVeiq5LxVpjrZ22hujNOlw4Z6eHxu0RuHvWfhWSP9Jj2edDQVx9wzjaCJ9
 XxZjW+ZUJjl09tYHmoDXdtvDCF5cmoqmXT33VNIzXHXP2lLCwMAn2TOivrj6L7ZH
 stekwdnMYak2Cit9wIqJ
 =VMxb
 -----END PGP SIGNATURE-----

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

From Kukjin Kim:
Samsung Exynos DT updates for v3.12
- update codec, pmic, usb hub for Arndale
- add exynos4412-trats 2 board dt
- update camera, spi, sensor for Trats2
- update fimc, sensor for Trats
- add support tmu for exynos5440
- add support g2d for exynos5250
- correct camera pinctrl for exynos4x12
- add support camera subsystem for exynos4
- add support basic pm domain, fimd, dp for exynos5420
- add support secure-firmware for OrigenQuad
- update mfc and add support mfc for exynos5420
- add usb host node for exynos4

* tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (38 commits)
  ARM: dts: Add USB host node for Exynos4
  ARM: dts: add audio clock controller for exynos5420
  ARM: dts: Correct the /include entry on exynos5420 dtsi file
  ARM: dts: Add MFC node for exynos 5420
  ARM: dts: Update 5250 MFC node
  ARM: dts: Remove unsused MFC clock from exynos4
  ARM: dts: Update clocks entry in MFC binding documentation
  ARM: dts: Hook up internal PHY on Arndale
  ARM: dts: Enable USB hub on Arndale
  ARM: dts: Add secure-firmware boot support for OrigenQaud board
  ARM: dts: Add pin state information for DP HPD support to Exynos5420
  ARM: dts: Add DP controller DT node to exynos5420 SoC
  ARM: dts: Update DP controller DT Node for Exynos5 based SoCs
  ARM: dts: Add FIMD DT node to exynos5420 DTS files
  ARM: dts: Add basic PM domains for EXYNOS5420
  ARM: dts: Update FIMD DT node for Exynos5 SoCs
  ARM: dts: Move display-timing information inside FIMD DT node for exynos5250
  ARM: dts: Add S5K5BA sensor regulator definitions for Trats board
  ARM: dts: Add Exynos4210 SoC camera port pinctrl nodes
  ARM: dts: Add FIMC nodes for Exynos4210 Trats board
  ...

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-22 08:25:36 -07:00
Dinh Nguyen
dc76a1adfa phy: micrel: Add definitions for common Micrel PHY registers
Add defines for common Micrel PHY setups so that other platforms
can use them. Update imx61 and sama5 hardware to use the micrel_phy.h
PHY defines.

Also add support for the KSZ9021RLRN PHY.

Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: David S. Miller <davem@davemloft.net>
CC: Andrew Victor <linux@maxim.org.za>
CC: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
Cc: netdev@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:54 +08:00
Fabio Estevam
7e463b7c1b ARM: imx: Re-select CONFIG_SND_SOC_IMX_MC13783 option
Commit 02502da45 (ASoC: imx-mc13783: Depend on ARCH_ARM) caused the selection of
CONFIG_SND_SOC_IMX_MC13783 to be impossible due to a wrong dependency, which
caused CONFIG_SND_SOC_IMX_MC13783 to be removed after the defconfigs cleanups.

The original selection problem has been fixed by 9f19de649f (ASoC: imx-mc13783:
Make SND_SOC_IMX_MC13783 visible again), so it is possible to select
CONFIG_SND_SOC_IMX_MC13783 again as originally done.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:53 +08:00
Peter Chen
ddcb9aa65a ARM: imx: Move anatop related from board file to anatop driver
Move anatop related (For USB) from board file to anatop driver

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:51 +08:00
Fabio Estevam
692c89add5 ARM: imx_v6_v7_defconfig: Enable wireless support
Wandboard has a Broadcom 4329 chipset connected to SDHC, so turn on the wireless
related options.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Tony Prisk <linux@prisktech.co.nz>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:50 +08:00
Fabio Estevam
47c484d059 ARM: imx_v4_v5_defconfig: Cleanup imx_v4_v5_defconfig
Generate imx_v4_v5_defconfig by doing:

make imx_v4_v5_defconfig
make savedefconfig
cp defconfig arch/arm/configs/imx_v4_v5_defconfig

No functional change. The goal here is to cleanup imx_v4_v5_defconfig file to
make easier and cleaner the addition of new entries.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:49 +08:00
Fabio Estevam
bc3059e083 ARM: imx_v6_v7_defconfig: Add SATA support
Let SATA support be built by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:47 +08:00
Fabio Estevam
077cfef91b ARM: imx_v6_v7_defconfig: Cleanup imx_v6_v7_defconfig
Generate imx_v6_v7_defconfig by doing:

make savedefconfig

cp defconfig arch/arm/configs/imx_v6_v7_defconfig

No functional change. The goal here is to cleanup imx_v6_v7_defconfig file to
make easier and cleaner the addition of new entries.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:46 +08:00
Fabio Estevam
547dd1e089 ARM: mx53: Allow suspend/resume
Current imx53_pm_init() implementation is incomplete as it lacks calling
suspend_set_ops().

Use a single imx5_pm_init() function to handle both mx51 and mx53.

This allows mx53 to enter in low-power mode.

Tested on a mx53qsb:

root@freescale /$ echo mem > /sys/power/state
PM: Syncing filesystems ... done.
mmc0: card e624 removed
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

... (Press Power button)

PM: suspend of devices complete after 17.067 msecs
PM: suspend devices took 0.020 seconds
PM: late suspend of devices complete after 0.954 msecs
PM: noirq suspend of devices complete after 1.288 msecs
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 0.680 msecs
PM: early resume of devices complete after 0.914 msecs
PM: resume of devices complete after 44.955 msecs
PM: resume devices took 0.050 seconds
Restarting tasks ... done.
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SDHC card at address e624
mmcblk0: mmc0:e624 SU04G 3.69 GiB
 mmcblk0: p1 p2 p3
libphy: 63fec000.etherne:00 - Link is Down
libphy: 63fec000.etherne:00 - Link is Up - 100/Full
root@freescale /$

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:45 +08:00
Fabio Estevam
f36b594f37 ARM: mach-imx: Select ARM_CPU_SUSPEND at ARCH_MXC level
Instead of selecting ARM_CPU_SUSPEND only for mx6, we can select it for
all SoCs from the ARCH_MXC family.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:43 +08:00
Fabio Estevam
df33e91c32 ARM: imx_v6_v7_defconfig: Select CONFIG_TOUCHSCREEN_EGALAX
egalax touchscren controller is present on mx6 sabresd/sabrelite, so let's
enable it by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:42 +08:00
Shawn Guo
97245139a0 ARM: imx6q: add vdoa gate clock
Add the missing vdoa gate clock for imx6q.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:41 +08:00
Shawn Guo
6cd622357d ARM: imx6q: add the missing cko output selection
The clock output on imx6q CCM_CLKO1 pad is not always cko1 clock, and
there is a multiplexer to select between cko1 and cko2.  Add this
missing selection as the clock cko.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:39 +08:00
Shawn Guo
6526bb3cc5 ARM: imx6q: add cko2 clocks
It adds the missing cko2 clocks, including multiplexer, divider and
gate.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:38 +08:00
Shawn Guo
1fa5007b3a ARM: imx6q: add spdif gate clock
It adds the missing spdif gate clock into imx6q clock driver.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-22 23:20:37 +08:00
Kevin Hilman
8a75f0a07c samsung cleanup for v3.12
- cleanup non-dt stuff in exynos
 - remove 0x from exynos dt files
 - remove unused codes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSETUYAAoJEA0Cl+kVi2xqN0oP/RULtQL/DlVgj4TOpvtKood2
 2qMjJ60Vu6uuCYjLGExexFEqjZlnzWb8h4VGvZ2G8drXuBG5CnuKb/PfMZUyxEuo
 2DpAPKe81vLSuXB7+3DGMWxKikDXGDl3ULrjfhe/TzT9qWYNPpZ9BLSW57VXXY7q
 pdsyVC9ma+7g0zheAO7fOeKPvEYi8ShM8JHW/83B6FFhYQA14+hY/CWqEJlUlHJw
 GKXWPmaHlD9jyannM6wciKWKOnCEsWjtF9AIwMtorvp9tc8jld9YizDp6ertSXlK
 NJjC6VkLFxEb3vCO+VGYwqeVIU6IWGVkYNIFkDX2RNvww5cCE+8u92wNd9wFmsrU
 iM6Gfd882PWrkr+TlMEN98bsOJ8AW88r33k5j7tj8dCWruCAwWNqhulOzMqArd/6
 mfIhUbIoW/SR+E5PmG5+JMhil49DDDLU704EIC4rf5q52/wrDCVZOjvzJGZE+0Cd
 PmQo8pu3UlCA7zdmTVn80oQzkA5JpMo4ZNYzqXp8v85w3/7OvyMFCrdSIF9pIRKX
 YVORs9GYDolEq20IZCJ5Enbf7uUx6oKka3r7q/HUUAT3dGMEI6VAL+KsRfbpyiir
 TeVZHQGvEcjXpLeJydZaYzklpan5J3fetdTQ9ssY6MWoaueQj1WbY5Vk11s0xrAR
 GbveCFQeTKW1+ZZxXGHR
 =6l48
 -----END PGP SIGNATURE-----

Merge tag 'samsung-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup

From Kukjin Kim:
samsung cleanup for v3.12
- cleanup non-dt stuff in exynos
- remove 0x from exynos dt files
- remove unused codes

* tag 'samsung-cleanup-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: SAMSUNG: Remove unnecessary exynos4_default_sdhci*()
  ARM: dts: Remove '0x's from Exynos5440 DTS file
  ARM: dts: Remove '0x's from Exynos5420 DTS file
  ARM: dts: Remove '0x's from Exynos5250 DTS file
  ARM: dts: Remove '0x's from Exynos4x12 DTSI file
  ARM: dts: Remove '0x's from Exynos4210 DTSI file
  ARM: EXYNOS: Cleanup common.h file
  irqchip: exynos: cleanup non-DT stuff in exynos-combiner

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-22 08:11:41 -07:00
Mark Brown
c41788c091 Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next 2013-08-22 14:28:49 +01:00
Mark Brown
5388d48047 Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next 2013-08-22 14:28:46 +01:00
Mark Brown
54c1e27d8a Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next 2013-08-22 14:28:39 +01:00
Bo Shen
6dd678e866 ARM: at91: sam9n12: enable kernel uncompress info output
The sam9n12 use the same array usart as sam9x5, add it which will
enable output kernel uncompress info:
---8>---
Uncompressing Linux... done, booting the kernel.
---<8---

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-22 12:42:03 +02:00
Bo Shen
acbece315a ARM: at91: sama5: enable kernel uncompress info output
Enable kernel uncompress info output, which will show as following:
---8>---
Uncompressing Linux... done, booting the kernel.
---<8---

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-22 12:41:12 +02:00
Bo Shen
fb941e8487 ARM: at91: include sama5d3.h into hardware.h
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-22 12:29:39 +02:00
Bo Shen
74919d19c7 ARM: at91: sama5d3: add definition for usart base address
Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-22 12:28:41 +02:00
Chen Gang
af07219661 ARM: OMAP2: use 'int' instead of 'unsigned' for variable 'gpmc_irq_start'
'gpmc_irq_start' is mostly used as 'int', and for a variable, do not
suggest to only use 'unsigned' as its type, so use 'int' instead of
'unsigned' for variable 'gpmc_irq_start'.

Also it will fix the related issue (dummy the real world failure):

arch/arm/mach-omap2/gpmc.c:728:2: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-22 00:56:26 -07:00
Chen Gang
a04feb0341 ARM: OMAP2: remove useless variable 'ret'
Remove useless variable 'ret', the related warning:

arch/arm/mach-omap2/board-am3517crane.c:113:6: warning: unused variable ‘ret’ -Wunused-variable]

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-22 00:15:17 -07:00
Stephen Warren
30ca2226be ARM: tegra: always enable USB VBUS regulators
This fixes a regression exposed during the merge window by commit
9f310de "ARM: tegra: fix VBUS regulator GPIO polarity in DT"; namely that
USB VBUS doesn't get turned on, so USB devices are not detected. This
affects the internal USB port on TrimSlice (i.e. the USB->SATA bridge, to
which the SSD is connected) and the external port(s) on Seaboard/
Springbank and Whistler.

The Tegra DT as written in v3.11 allows two paths to enable USB VBUS:

1) Via the legacy DT binding for the USB controller; it can directly
   acquire a VBUS GPIO and activate it.

2) Via a regulator for VBUS, which is referenced by the new DT binding
   for the USB controller.

Those two methods both use the same GPIO, and hence whichever of the
USB controller and regulator gets probed first ends up owning the GPIO.
In practice, the USB driver only supports path (1) above, since the
patches to support the new USB binding are not present until v3.12:-(

In practice, the regulator ends up being probed first and owning the
GPIO. Since nothing enables the regulator (the USB driver code is not
yet present), the regulator ends up being turned off. This originally
caused no problem, because the polarity in the regulator definition was
incorrect, so attempting to turn off the regulator actually turned it
on, and everything worked:-(

However, when testing the new USB driver code in v3.12, I noticed the
incorrect polarity and fixed it in commit 9f310de "ARM: tegra: fix VBUS
regulator GPIO polarity in DT". In the context of v3.11, this patch then
caused the USB VBUS to actually turn off, which broke USB ports with VBUS
control. I got this patch included in v3.11-rc1 since it fixed a bug in
device tree (incorrect polarity specification), and hence was suitable to
be included early in the rc series. I evidently did not test the patch at
all, or correctly, in the context of v3.11, and hence did not notice the
issue that I have explained above:-(

Fix this by making the USB VBUS regulators always enabled. This way, if
the regulator owns the GPIO, it will always be turned on, even if there
is no USB driver code to request the regulator be turned on. Even
ignoring this bug, this is a reasonable way to configure the HW anyway.

If this patch is applied to v3.11, it will cause a couple pretty trivial
conflicts in tegra20-{trimslice,seaboard}.dts when creating v3.12, since
the context right above the added lines changed in patches destined for
v3.12.

Reported-by: Kyle McMartin <kmcmarti@redhat.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-21 21:36:19 -07:00
Linus Torvalds
d936d2d452 Bug-fixes:
- On ARM did not have balanced calls to get/put_cpu.
  - Fix to make tboot + Xen + Linux correctly.
  - Fix events VCPU binding issues.
  - Fix a vCPU online race where IPIs are sent to not-yet-online vCPU.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQEcBAABAgAGBQJSFMaJAAoJEFjIrFwIi8fJ+/0H/32rLj60FpKXcPDCvID+9p8T
 XDGnFNttsxyhuzEzetOAd0aLKYKGnUaTDZBHfgSNipGCxjMLYgz84phRmHAYEj8u
 kai1Ag1WjhZilCmImzFvdHFiUwtvKwkeBIL/cZtKr1BetpnuuFsoVnwbH9FVjMpr
 TCg6sUwFq7xRyD1azo/cTLZFeiUqq0aQLw8J72YaapdS3SztHPeDHXlPpmLUdb6+
 hiSYveJMYp2V0SW8g8eLKDJxVr2QdPEfl9WpBzpLlLK8GrNw8BEU6hSOSLzxB7z/
 hDATAuZ5iHiIEi1uGfVjOyDws2ngUhmBKUH5x5iVIZd2P5c/ffLh2ePDVWGO5RI=
 =yMuS
 -----END PGP SIGNATURE-----

Merge tag 'stable/for-linus-3.11-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
 - On ARM did not have balanced calls to get/put_cpu.
 - Fix to make tboot + Xen + Linux correctly.
 - Fix events VCPU binding issues.
 - Fix a vCPU online race where IPIs are sent to not-yet-online vCPU.

* tag 'stable/for-linus-3.11-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  xen/smp: initialize IPI vectors before marking CPU online
  xen/events: mask events when changing their VCPU binding
  xen/events: initialize local per-cpu mask for all possible events
  x86/xen: do not identity map UNUSABLE regions in the machine E820
  xen/arm: missing put_cpu in xen_percpu_init
2013-08-21 16:38:33 -07:00
Linus Torvalds
69bbe136a9 Fixes for ARM and aarch64.
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJSEoS0AAoJEBvWZb6bTYbyE/8P/izUr1XtKBqtVuqVBMewEkeB
 SBgvJ2w681f4d+1waVAEPqWVGKHDvSOQC54sG6Y3fWHKijKGLiQhLaY3Y1WaLlO1
 B+duREwCwHaApjrpYoKhkyGQVpgyIfHBVe8d2TM9Q2bRuYNZEEcOtfdXk+Qfr6WR
 2kN+67ivJzAXvjs0uuRyJtXXq9cemcOnngsAfBlJz+j6UbiEdQ3l569D3wQU1jS2
 lUxxCEdtBDKDXkJUbTYvtJNYR48caqVXhYBTjpmY04207iSHmacUytOXO3rRA3OL
 fFhm/QeKVZND0XrJDUOMFzosWdUVdP5Qd5PtYoV/gEydNJMMpPs+dFKv+RXzrWlm
 2S2PWbFlkFT8yM+xwh6uKnLQ1aj614dkK2vKlp9GwDuwWiaod71C8ouTJvanNHGt
 pWgktFlfD+npSc3QDeXG5QB78pTSeyJfZBeVvA+U/etX+vjdfFWZ3bHMScrAE4DX
 xsdvtfamo0m9v2yZsnKzRWtCQq9No5FRb/c31w7yUzSXNBtyNR0Vft9gmiLo4HYa
 FQ0wC2UPyaKbfYtX0orpWnN3u4vaylGw2HuzK+2Mwi2HL+AMI6Piu//nrTbqb/i+
 1a6OARWvv9BQdbcuzBqznUdcllbmRl94kA5zXPvAz0dOBPQFU4X/t6dkxxH+8JFj
 mA/c2PHEyOtuFDOoqZxE
 =RlHG
 -----END PGP SIGNATURE-----

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

Pull kvm fixes from Paolo Bonzini:
 "Fixes for ARM and aarch64.

  This pull request is coming a bit later than I would have preferred,
  because I and Gleb happened to have holidays around the same weeks of
  August...  sorry about that"

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: ARM: Squash len warning
  arm64: KVM: use 'int' instead of 'u32' for variable 'target' in kvm_host.h.
  arm64: KVM: add missing dsb before invalidating Stage-2 TLBs
  arm64: KVM: perform save/restore of PAR_EL1
  arm64: KVM: fix 2-level page tables unmapping
  ARM: KVM: Fix unaligned unmap_range leak
  ARM: KVM: Fix 64-bit coprocessor handling
2013-08-21 16:35:37 -07:00
Kevin Hilman
fe870ae70b Allwinner sunXi core additions for 3.12, take 2
These patches add machine support for the Allwinner A20 and A31 SoCs
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSEx+TAAoJEBx+YmzsjxAgN6kP/2aiY4ZfRxXC5yw1RlT9de4I
 iy0uO+sSHevQWYvdL5sRr19kL2P1v4ZPqxZddJzgQVzpXTl9QOQrd0E0VqLgcNOI
 hn+HXK3jY8984xCLHaj7EMKwOtC+7IVx+xkCRqN88D8G9OuVCVx9FJAHFHQzJDK/
 IMfJysuEtTMMxNmNTpGuU/1KE1OrIPr1/a17FZ3KAYjiwyf+7zHsAKQvLjgxRk8/
 c5YZmiRO/DNsJ4qqQVgpfJe10WitXtsUiLNuYge0BrmCj26PxO+MQuzSh3zdLkpN
 1m8egIZ9PVuIkXp1NcRNrYqnT1oEvSL0DOOnTo4rhINQbJXz2l18dsc+J8P3bcSK
 ONeW2vTOYAqb+ThzEUVKiKC2OiPY2jETVVvKaspZiohiLH1ABHchLTufm2/1yw/o
 VXLcI0VHoJG9Qyl6t+78Td9WTu7LxR5odpTGQpkBQEm//mV+nnK07BJbToNa6VeO
 G5mO3+/iRqQsZiZg08OCcKScqHFq9CVpOBx1ArYOKYJM8muzlvkNO19O962pQ1lh
 HymY1Nxg3+78SfiZuUDcuFSYEqWmlgPXw9VWbHAUdpETkBf938l9LqDkwApSkLFD
 UujBAPj5CuFy/KHRMd8Nbp11hThsKQTKe9vtoD8zVuQu6gmIy3gpJK5XXUhhLtsn
 bLnKRF3ZaO0mg8k/13BL
 =MCmi
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-core-for-3.12-2' of https://github.com/mripard/linux into next/soc

Allwinner sunXi core additions for 3.12, take 2

These patches add machine support for the Allwinner A20 and A31 SoCs

* tag 'sunxi-core-for-3.12-2' of https://github.com/mripard/linux:
  ARM: sunxi: Introduce Allwinner A20 support
  ARM: sun6i: Add restart code for the A31
  ARM: sunxi: Add the Allwinner A31 compatible to the machine definition
2013-08-21 16:24:22 -07:00
Kevin Hilman
656d79cafc Allwinner sunXi DT additions for 3.12, take 2
These patches add basic support for:
   - Allwinner A31 and A20 SoCs
   - The Olimex A20-Olinuxino board
   - The Olimex A10s-Olinuxino board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSEx4lAAoJEBx+YmzsjxAgHPgP/2ztX/PPq/C/iURiz/Igg/zR
 3y7CDoa8ReG/PqeiY3Gq9I6dk8DYbReb8mqA6+HvA0giC8Op+VWnV40k8arlfgkN
 pZ7W68XgX1UXjy+TqKn9Pd3NJWR7XdxwWqpknsW28GLqdj40Xpcm1wPWg+j7jmIq
 RNo619az8CDVzGIzRfQqs7lK31n2ZXHOqz6sSLBO6odEFWabFUADdz0MAIP6r4va
 dk4o2agXF02di2nKPZuULbnbd9iYkoZfeL9pW7s5asAAEMC4l3R02PP9GjB5r+u3
 eUBHOW6qh/jGxFK1vKKXI7Ow+gqFizthQMiGtn9/7RFO94TP0TVLZ8+xsGXDef/C
 Fa5ib5DGlQSKfskXNPNY9X1crpiw9te+7XTdKRAv2y1C/f2HRzwHSXKhercAZA38
 9tyPCJufUorf11NVuu3HO43cqvaJyF6qf6eXeTss08A1i+1yvpTNV94pHHkU16Fv
 Jv2uE2U+JqDd0QPCR7R7ef7JYnYv4IbuJ8fybZyASC+6dXO4bPaEmZsLCzVT6pSA
 eWgV81Iie6GXyl9MMWav0vblYYyRe5zhuIEG4ctXvsxyzlVDWhE6l5/TikoBIQHU
 1mqgf1lJSVo1AC4kmj5A2AQPpkyJG7a4qYPIEVOVWwh5NZrdqarlIakZ0nucEGB5
 fbcBNzKh39vTNbrjfIjY
 =s6CA
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-3.12-2' of https://github.com/mripard/linux into next/dt

Allwinner sunXi DT additions for 3.12, take 2

These patches add basic support for:
  - Allwinner A31 and A20 SoCs
  - The Olimex A20-Olinuxino board
  - The Olimex A10s-Olinuxino board

* tag 'sunxi-dt-for-3.12-2' of https://github.com/mripard/linux:
  ARM: sun7i: Add Olimex A20-Olinuxino-Micro support
  ARM: sun7i: Add Allwinner A20 DTSI
  ARM: sun6i: Add WITS Colombus A31 evaluation kit support
  ARM: sunxi: Add Allwinner A31 DTSI
2013-08-21 16:05:07 -07:00
Maxime Ripard
82abe5294a ARM: sun7i: Add Cubieboard2 Device Tree
The Cubieboard2 is the successor of the first Cubieboard, and shares the
same hardware, except that the Allwinner A10 found initially has been
replaced by an Allwinner A20.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:19 +02:00
Maxime Ripard
6e487da768 ARM: sun7i: a20-olinuxino: Enable the user LED
The A20-olinuxino Micro has a LED connected to the PH2 pin. Use the
gpio-led driver to enable the control over this LED.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:19 +02:00
Maxime Ripard
2fff6ac079 ARM: sun7i: a20-olinuxino: Enable UARTs muxing
Instead of relying on the bootloader to mux the UART pins properly, do
it on our own and register the rightful pins for the A20-olinuxino in
the DT using pinctrl.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:18 +02:00
Maxime Ripard
9f229ba957 ARM: sun7i: DT: Add UART muxing options to the DTSI
The UARTs on the A20 can be muxed to several pins. Add a few options to
the DTSI so that we can start using them in the boards' DT.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:18 +02:00
Maxime Ripard
17eac031b7 ARM: sun7i: Add the PIO controller node to the DTSI
The PIO controller is responsible for the GPIO/muxing/external
interrupts handling. Now that we have support for the A20 pin set in the
pinctrl driver, we can start using it in the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:17 +02:00
Maxime Ripard
69fb3c047e ARM: sun6i: colombus: Add uart0 muxing
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:17 +02:00
Maxime Ripard
ab4238cd05 ARM: sun6i: Add UART0 muxing options
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:16 +02:00
Maxime Ripard
140e1721d1 ARM: sunxi: dt: Add PIO controller to A31 DTSI
The A31 has a different set of pins than the one found on the A10 and
A13. Now that we have support for the A31 pin set in the pinctrl driver,
we can enable it in the DTSI with its own compatible.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-22 00:19:16 +02:00
Viresh Kumar
887708f0ac ARM: timer-sp: Set dynamic irq affinity
When a cpu goes to a deep idle state where its local timer is shutdown, it
notifies the time frame work to use the broadcast timer instead.

Unfortunately, the broadcast device could wake up any CPU, including an idle one
which is not concerned by the wake up at all.

This implies, in the worst case, an idle CPU will wake up to send an IPI to
another idle cpu.

This patch fixes this for ARM platforms using timer-sp, by setting
CLOCK_EVT_FEAT_DYNIRQ feature.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2013-08-22 00:18:53 +02:00
Kevin Hilman
7a37ffa07b Allwinner sunXi DT additions for 3.12
- Cleanups and few fixes to the DTSI
   - A few additions to the A10s olinuxino board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDnZZAAoJEBx+YmzsjxAgdcwP/0VjnGavxzii6FlozvbPvpvf
 iP9P3gFb0CttD3hIU7C6emxOd0gp7XolTBDVYyZ5OT0UFt9GU3jcT29WU6b8h4YH
 EHIbFGlLFWULElmROH4EKj+AxLOjBonv2Lpmr6c03kNtrgqPwo0C4uHyeeDP0PmJ
 KyZbRumhWk8n0UfE6+w7kOVpOJzB5ZYOzDnaCrwwdqFyooCkPVsFAbdgFxYxMGUQ
 x1lyIe6KL4+Tvx7f2syjhznz/1MLUO2uxS3mjKNwYkPpfGcOqm/kNYQURjcMVEiF
 dbaND3IRqqpWrIwqyUuz11fSb9dARu1bIyHjYsXFw6v8M3pL9bugsGP3H5JEboqX
 beh9DEfcqn9Qh9I0uwS39JwWu31Go8ohY+KWjnabGSFQVmwc5Fn5cZpnH/mJXgTp
 1M1iUy1LZpwmO7okPQxgFtsn8Rk6nAcEEESECqKPHrsf5W8kEq3vPj0YOtNd8jOI
 ILtXH4alhYynU4YPX1nfMLbydaUqTYDIaDtAsDxhhMSpf1ngqpqsk24EVhdhNgjY
 g9fxTQqkp+e6cZNQm56nlnf+9LeSNwyUg5Te8fFR+QgFhBEidQ7wpBZU1lRY+kVv
 HtZdpexip/uCeEwILyGf5SuQr5R23Mg/DuH84in0tXAQZGHBX1FJYWYgaOpXlszq
 /dCG1tEUox9R+haeTGPd
 =88Cs
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-3.12' of https://github.com/mripard/linux into next/dt

Allwinner sunXi DT additions for 3.12

  - Cleanups and few fixes to the DTSI
  - A few additions to the A10s olinuxino board

* tag 'sunxi-dt-for-3.12' of https://github.com/mripard/linux:
  ARM: sunxi: dt: Add device tree for Mele A1000
  ARM: sun5i: dt: Fix A13 SoC bus base address
  ARM: sun5i: a13: Remove useless simple-bus reg property
  ARM: sun5i: dt: Fix A10s SoC bus base address
  ARM: sun5i: a10s: Remove useless simple-bus reg property
  ARM: sun4i: dt: Fix A10 SoC bus base address
  ARM: sun4i: a10: Remove useless simple-bus reg property
  ARM: sunxi: make the leds' names conform to the current naming convention
  ARM: sun5i: dt: Add AT24 device on A10S-OLinuXino-Micro
  ARM: sun5i: dt: Enable I2C controllers on A10S-OLinuXino-Micro
  ARM: sun5i: dt: Add I2C controller nodes to the A10S dtsi
  ARM: sun5i: dt: Add I2C muxings for sun5i A10S

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-21 14:53:56 -07:00
Kevin Hilman
f7b29518c3 Allwinner sunXi core additions for 3.12
There's not much in this pull request, only a patch removing some dead code.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDnOQAAoJEBx+YmzsjxAgqZIQAKdgwJ9+qziDbvlDTnD803Ff
 WexuUps2ycN9scgy/4DdiV99gvJmlSsnxiMOE84IYmnuJwSivjRIwAS9kUfaCxsv
 M0BX99HBX8rcK6jW4Y0WOK/Sb5JsWqiHGn7CCxLIxXMTwRexSwl2FVTn2E2hknV1
 z3/7igr33N/PtSzOSqMDQNTWWg+g9nL+lrEhR/ja2WMcmtqmhiJLJkwJRMRF4t5E
 QIqfyr1gICmIwPEa0P5jPDeVnDrp41b04fUzs8fvFSYt8LGVsshmNdI49/M5C2zm
 UThaIcbTZ/F+23V890xZEme47aRM0w55OgSpuhVaADAchTjsADFnBuItMFMzeMbe
 Ijv3Cs+shXlU6O7iS+Hh/jXXU4GNhQ6IHgENngkP8DEl5+xFtVvRVdz792G+yAWp
 oHbKOdd/52x4oQT88fzXEBJTiq+jRvQNH/ZP19aE94UQtnmG5EWH6E1i2eiYRFJa
 oT6yCbf41hxMwTYAO2gMLuJv7mvHkFZZSpKCEuYduQxw5Cfe9zO2WZTue2E7du3w
 LzPGL9qcDbsP76iD/OBWCuTGXWwwph2AMQ/pi80tHKNnW3TBHmhcw/03H18hPAXL
 1n8suhH7Ny2gVU8CMEqNWiwAFsQ0kukPNYLQlWc1fXcqC7Zn2fi/Ff2fbmGmFymC
 lGY8W/a/eDGFPqmROkS0
 =GRCc
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-core-for-3.12' of https://github.com/mripard/linux into next/soc

Allwinner sunXi core additions for 3.12

There's not much in this pull request, only a patch removing some dead code.

* tag 'sunxi-core-for-3.12' of https://github.com/mripard/linux:
  ARM: sunxi: Remove Makefile.boot file

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-21 14:31:45 -07:00
Manjunathappa, Prakash
29864962f7 ARM: davinci: da850: do not specify clock_frequency for UART DT node
DT kernel on da850-evm comes up with garbled UART logs. This is because
of mismatch in actual module clock rate and rate specified(clock-frequency)
in DT blob. kernel should not assume or depend on bootloaders clock
configuration, instead let it find the clock rate at runtime.

Issue discussed here before arriving on this implementation:
"ARM: davinci: da850 evm: update clock rate for UART 1/2 DT nodes"
https://patchwork.kernel.org/patch/2162271/

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:44:58 +05:30
Lad, Prabhakar
dd7deaf218 ARM: davinci: da850: add DT node for ethernet
Add ethernet device tree node information and pinmux for mii to da850 by
providing interrupt details and local mac address.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:44:58 +05:30
Lad, Prabhakar
235d8cd999 ARM: davinci: da850: add OF_DEV_AUXDATA entry for davinci_emac
Add OF_DEV_AUXDATA for ethernet davinci_emac driver in da850 board dt
file to use emac clock.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:44:58 +05:30
Lad, Prabhakar
73db595161 ARM: davinci: da850: add OF_DEV_AUXDATA entry for mdio.
Add OF_DEV_AUXDATA for mdio driver in da850 board dt
file to use mdio clock.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:44:57 +05:30
Lad, Prabhakar
609f4bcf81 ARM: davinci: da850: add DT node for mdio device
Add mdio device tree node information to da850 by
providing register details and bus frequency of mdio.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:43:37 +05:30
Lad, Prabhakar
46c1833467 ARM: davinci: fix clock lookup for mdio device
This patch removes the clock alias for mdio device and adds a entry
in clock lookup table, this entry can now be used by both DT and
non-DT case.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:39:01 +05:30
Hebbar Gururaja
79eb16366b ARM: davinci: da8xx: remove hard coding of rtc device wakeup
Since now rtc-omap driver itself calls deice_init_wakeup(dev, true),
duplicate call from the rtc device registration can be removed.

This is basically a partial revert of the prev commit

commit 75c99bb000
Author: Sekhar Nori <nsekhar@ti.com>

    davinci: da8xx/omap-l1: mark RTC as a wakeup source

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>
Acked-by: Kevin Hilman <khilman@linaro.org>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:39:00 +05:30
Manjunathappa, Prakash
323761bb75 ARM: davinci: serial: remove davinci_serial_setup_clk()
Get rid of davinci_serial_setup_clk() since its not called
from multiple places now. Instead initialize clock in
davinci_serial_init() itself. This also helps get rid of
"serial_dev" member of struct davinci_soc_info.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Suggested-by: Sekhar Nori <nsekhar@ti.com>
[nsekhar@ti.com: split removal of davinci_serial_setup_clk()
		 into a separate patch.]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:38:59 +05:30
Manjunathappa, Prakash
fcf7157ba3 ARM: davinci: serial: get rid of davinci_uart_config
"struct davinci_uart_config" was introduced to specify
UART ports brought out or enabled on the board. But
none of the boards use it for that purpose and we are
not going to add anymore board files, so remove the
structure.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Suggested-by: Sekhar Nori <nsekhar@ti.com>
[nsekhar@ti.com: split patch to remove davinci_serial_setup_clk()
		 changes.]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:38:59 +05:30
Manjunathappa, Prakash
1ae1c2f91d ARM: davinci: da8xx: remove da8xx_uart_clk_enable
Serial clocks are enabled from of_platform_serial_setup:of_serial.c,
so remove davinci_serial_setup_clk from here.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2013-08-22 00:38:58 +05:30
Kevin Hilman
bfa664f21b ARM: tegra: core SoC enhancements for 3.12
This branch includes a number of enhancements to core SoC support for
 Tegra devices. The major new features are:
 
 * Adds a new CPU-power-gated cpuidle state for Tegra114.
 * Adds initial system suspend support for Tegra114, initially supporting
   just CPU-power-gating during suspend.
 * Adds "LP1" suspend mode support for all of Tegra20/30/114. This mode
   both gates CPU power, and places the DRAM into self-refresh mode.
 * A new DT-driven PCIe driver to Tegra20/30. The driver is also moved
   from arch/arm/mach-tegra/ to drivers/pci/host/.
 
 The PCIe driver work depends on the following tag from Thomas Petazzoni:
 git://git.infradead.org/linux-mvebu.git mis-3.12.2
 ... which is merged into the middle of this pull request.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDlwwAAoJEMzrak5tbycxR68QAJZ/Izc9Izj0JH8hmCEvMNfi
 ub1DQfWAy3oXk0ttkk+BMvuyD8JTvBr8LSK8GqjZs//rFGlW81A4NHTvCwoKZjKe
 hgrRgI2B1wj3Um1sp8le9D0klKrTcfmpXrOxH8ALgz0BIpMge8AGZHkV0SrfQa1z
 bKiISFVAw12WJCVrQ2nbzpZGU51lbyJ/+RghttM1a8LuS2P03CZgt2kqiytk3UVK
 uiGEy3sCkjXLFO3EsUvM6ha623S6BumCAYjNfgDowTVKaoEe1r2TD4bFeU6lGcXJ
 mlVTv0Kywazf4Q2gKzkbDz8UQMArW4hok2iILHzz+sf/Rn0hie5XVqhFlbBlcae8
 vyWsHmqvmE9BJAK2G2RLs9cJCTzEpEyAjUWfE3sIIa3ztSguT5+PHndDLR/d76aS
 j8L3FYReICZ1NuNw1JSQPFs9g2EWJbNRiy+8o9O2elsJMpLDBj/FcV6TVpudbBTI
 z7hvN+XSVYUaCVD4e8ma9YoC3VGseiAZvd+Y8hPd2MFBECVPNpy2bOacieU6Bgxh
 zjSBXZ/URxN3rTkv9+F3BLWAOfVmJYN0rKV9YfM/rqpWjc9iQx30m1fRZDnXWhvd
 ps8eFIYsKqc6v9AAugl/RexFy4Laav9eREjb0k2LA8ClLhK/qLLuiisVmKWS/grh
 lX9tzPEG2nZcjxSYaEjz
 =ve9i
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.12-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc

From: Stephen Warren:
ARM: tegra: core SoC enhancements for 3.12

This branch includes a number of enhancements to core SoC support for
Tegra devices. The major new features are:

* Adds a new CPU-power-gated cpuidle state for Tegra114.
* Adds initial system suspend support for Tegra114, initially supporting
  just CPU-power-gating during suspend.
* Adds "LP1" suspend mode support for all of Tegra20/30/114. This mode
  both gates CPU power, and places the DRAM into self-refresh mode.
* A new DT-driven PCIe driver to Tegra20/30. The driver is also moved
  from arch/arm/mach-tegra/ to drivers/pci/host/.

The PCIe driver work depends on the following tag from Thomas Petazzoni:
git://git.infradead.org/linux-mvebu.git mis-3.12.2
... which is merged into the middle of this pull request.

* tag 'tegra-for-3.12-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (33 commits)
  ARM: tegra: disable LP2 cpuidle state if PCIe is enabled
  MAINTAINERS: Add myself as Tegra PCIe maintainer
  PCI: tegra: set up PADS_REFCLK_CFG1
  PCI: tegra: Add Tegra 30 PCIe support
  PCI: tegra: Move PCIe driver to drivers/pci/host
  PCI: msi: add default MSI operations for !HAVE_GENERIC_HARDIRQS platforms
  ARM: tegra: add LP1 suspend support for Tegra114
  ARM: tegra: add LP1 suspend support for Tegra20
  ARM: tegra: add LP1 suspend support for Tegra30
  ARM: tegra: add common LP1 suspend support
  clk: tegra114: add LP1 suspend/resume support
  ARM: tegra: config the polarity of the request of sys clock
  ARM: tegra: add common resume handling code for LP1 resuming
  ARM: pci: add ->add_bus() and ->remove_bus() hooks to hw_pci
  of: pci: add registry of MSI chips
  PCI: Introduce new MSI chip infrastructure
  PCI: remove ARCH_SUPPORTS_MSI kconfig option
  PCI: use weak functions for MSI arch-specific functions
  ARM: tegra: unify Tegra's Kconfig a bit more
  ARM: tegra: remove the limitation that Tegra114 can't support suspend
  ...

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-21 10:17:18 -07:00
Thomas Gleixner
cfb6d656d5 Merge branch 'timers/clockevents-next' of git://git.linaro.org/people/dlezcano/clockevents into timers/core
* Support for memory mapped arch_timers
* Trivial fixes to the moxart timer code
* Documentation updates

Trivial conflicts in drivers/clocksource/arm_arch_timer.c. Fixed up
the newly added __cpuinit annotations as well.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2013-08-21 14:59:23 +02:00
Richard Genoud
90d01929ad ARM: at91/dt: sam9x5ek: add sound configuration
The sam9x5ek board has 2 jacks:
headphone wired on RHPOUT/LHPOUT of the wm8731
line in wired on LLINEIN/RLINEIN of the wm8731

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 13:33:44 +02:00
Richard Genoud
45b763526e ARM: at91/dt: sam9x5ek: enable SSC
Enable the SSC needed for the WM8731 codec

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 13:33:10 +02:00
Richard Genoud
4dc6e27cbf ARM: at91/dt: sam9x5ek: add WM8731 codec
The WM8731 codec on sam9x5ek board is on i2c, address 1A

Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 13:32:11 +02:00
Richard Genoud
7da49ad15b ARM: at91/dt: sam9x5: add SSC DMA parameters
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 13:31:27 +02:00
Jean-Christophe PLAGNIOL-VILLARD
5f9ffdbe13 ARM: at91/dt: add at91rm9200 PQFP package version
The PQFP version have only 3 gpio banks (A, B & C).

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre@atmel.com: correct typo in "status" property]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 12:18:52 +02:00
Jean-Christophe PLAGNIOL-VILLARD
90a69f1368 ARM: at91: at91rm9200: set default mmc0 pinctrl-names
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:40:22 +02:00
voice
f70420498e ARM: at91: at91sam9n12: correct pin number of gpio-key
Correct pin number of gpio-key for at91sam9n12ek board.
The pioB4 is connect to LED, the pioB3 use as gpio-key.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:30:13 +02:00
Sudeep KarkadaNagesha
cdc58d602d cpufreq: imx6q-cpufreq: remove device tree parsing for cpu nodes
Now that the cpu device registration initialises the of_node(if available)
appropriately for all the cpus, parsing here is redundant.

This patch removes all DT parsing and uses cpu->of_node instead.

Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
2013-08-21 10:29:53 +01:00
Sudeep KarkadaNagesha
f6cec7cd07 ARM: mvebu: remove device tree parsing for cpu nodes
Currently set_secondary_cpus_clock assume the CPU logical ordering
and the MPDIR in DT are same, which is incorrect.

Since the CPU device nodes can be retrieved in the logical ordering
using the DT helper, we can remove the devices tree parsing.

This patch removes DT parsing by making use of of_get_cpu_node.

Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Jason Cooper <jason@lakedaemon.net>
Acked-by: Gregory Clement <gregory.clement@free-electrons.com>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
2013-08-21 10:29:52 +01:00
Sudeep KarkadaNagesha
816a8de001 ARM: topology: remove hwid/MPIDR dependency from cpu_capacity
Currently the topology code computes cpu capacity and stores it in
the list along with hwid(which is MPIDR) as it parses the CPU nodes
in the device tree. This is required as it needs to be mapped to the
logical CPU later.

Since the CPU device nodes can be retrieved in the logical ordering
using DT/OF helpers, its possible to store cpu_capacity also in logical
ordering and avoid storing hwid for each entry.

This patch removes hwid by making use of of_get_cpu_node.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
2013-08-21 10:29:52 +01:00
voice
82914f8db3 ARM: at91: at91sam9n12: add qt1070 support
Add qt1070 support on at91sam9n12ek board.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:29:30 +02:00
voice
1f84d27b80 ARM: at91: at91sam9n12: add pinctrl of TWI
Add pinctrl of TWI for at91sam9n12 SoC.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:28:13 +02:00
Sudeep KarkadaNagesha
973e02c1e8 ARM: DT/kernel: define ARM specific arch_match_cpu_phys_id
OF/DT core library now provides architecture specific hook to match the
logical cpu index with the corresponding physical identifier. Most of the
cpu DT node parsing and initialisation is contained in devtree.c. So it's
better to define ARM specific arch_match_cpu_phys_id there.

This mainly helps to avoid replication of the code doing CPU node parsing
and physical(MPIDR) to logical mapping.

Cc: Russell King <linux@arm.linux.org.uk>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
2013-08-21 10:24:48 +01:00
Alexandre Belloni
d9da977820 ARM: at91: Add PMU support for sama5d3
ARM Performance Monitor Units are available on the sama5d3, add the support in
the dtsi.

Tested with perf and oprofile on the sama5d31ek.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:21:20 +02:00
Jean-Christophe PLAGNIOL-VILLARD
6e19c94d3e ARM: at91: at91sam9260: add missing pinctrl-names on mmc
pinctrl-names was missing causing mmc pinctrl to never be requested.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
[nicolas.ferre@atmel.com: added a commit message taken from Ludovic]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-21 11:14:18 +02:00
Wei Yongjun
94b1d617e3 ARM: OMAP: dma: fix error return code in omap_system_dma_probe()
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-21 01:07:16 -07:00
Chen Baozi
42c604ba7c ARM: OMAP2+: fix wrong address when loading PRM_FRAC_INCREMENTOR_DENUMERATOR_RELOAD
The denominator should be load from INCREMENTOR_DENUMERATOR_RELOAD_OFFSET
rather than INCREMENTER_NUMERATOR_OFFSET.

This is more likely a typo, since INCREMENTER_DENUMERATOR_RELOAD[23:17] is
reserved. It seems that it won't make much trouble without this fix, because
the useful [11:0] bits are mask and set the right value. Anyway, reading
from a right address is better choice.

Signed-off-by: Chen Baozi <baozich@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-21 01:02:32 -07:00
Matus Ujhelyi
56cab60600 ARM: OMAP2+: am33xx-restart: trigger warm reset on omap2+ boards
Currently the cold reset was triggered. It happened due to oposite offsets
of cold/warm flags in PRM_RSTST and PRM_RSTCTRL registers.

Signed-off-by: Matus Ujhelyi <ujhelyi.m@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-21 01:01:30 -07:00
Ezequiel Garcia
1085189ff3 ARM: OMAP2: Use a consistent AM33XX SoC option description
Fix the option description to match the other TI SoCs.
This is just a cosmetic change.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Reviewed-by: Javier Martinez Canillas <javier@dowhile0.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-21 00:53:16 -07:00
Peter Ujfalusi
13b16460eb ARM: OMAP2+: Remove legacy device creation for McPDM and DMIC
McPDM and DMIC only available on OMAP4/5 which no longer boots in legacy
mode.
The code to create the devices in legacy mode can be removed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-08-21 00:52:03 -07:00
Alexander Shiyan
1ddff7da0f can: mcp251x: Replace power callbacks with regulator API
This patch replaces power callbacks to the regulator API. To improve
the readability of the code, helper for the regulator enable/disable
was added.

Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2013-08-21 09:28:29 +02:00
Suman Anna
03ab349ec4 ARM: OMAP5: hwmod data: Add mailbox data
Add the hwmod data for the mailbox IP in OMAP5 SoC.
This is needed to be able to enable the OMAP mailbox
support for OMAP5.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-08-20 19:39:26 -06:00
Sergei Shtylyov
8d3214c4e8 sh_eth: remove 'register_type' field from 'struct sh_eth_plat_data'
Now that the 'register_type' field of the 'sh_eth' driver's platform data is not
used by the driver anymore, it's time to remove it and  its initializers from
the SH platform code. Also  move *enum* declaring values for this  field from
<linux/sh_eth.h>  to  the  local driver's  header file as they're only needed
by the driver itself  now...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-08-20 17:10:41 -07:00
Bill Huang
27cf5d14c0 ARM: tegra: configure power off for Dalmore
Add DT property to tell the regulator to register pm_power_off to make
"shutdown" work.

Signed-off-by: Bill Huang <bilhuang@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-20 16:52:04 -07:00
Kevin Hilman
1fa5fcdafc ARM: tegra: device tree changes for 3.12
This branch contains all *.dts (device tree) changes for Tegra.
 New features enabled are:
 
 * PMICs on Dalmore
 * CPU power-gating on Dalmore
 * HDMI output on Beaver
 * LP1 system suspend mode on almost all boards
 * PCIe support on numerous Tegra20/30 boards
 * USB support on Tegra30/114 boards
 * Audio capture on Beaver and Dalmore
 * Temperature sensor on Cardhu.
 
 ... along with a few DT cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDl1bAAoJEMzrak5tbycx9N0P/RJ+R5z65hOQTDXn7fZ03o0P
 BZEhClVNyzo+K0SDLM/fwT4g8HfvNKOW34N53dknT9jKRH/bfEbAGFUl5KJl0l6g
 KsDLWXGOVWms7OYmCxykUH8xkHjkVO6tefQb0xJiqdt7wuRWupV3zgrA7aLaohnB
 5FzA4mCcW+Mlyi3796uU8Ko5/QwsE8wpOBPK6phuE9+REL5bSWaxiGKg+oSBHLnF
 0rF+7NxIQMLVZ1nXbZzZP8BrItufzcBYQTN95VPD023qCZIAQANApm8Aotr31FzF
 XmtEyt5rP20+8NFGhVlGv/RMV70QgQzE1IRJlHRwLYw3CLA1X5o81c5LV2IBdlcY
 TOR4QndOH8cUohVNnkcapHFEary8IAEA6C+eEReAPbARXcg6Oh4oMDMQ1RJEdulj
 YdNraC0VEzlrByJ/ZAhrF9DeDmSnlOYcooEHq/lWgq3nYOWDjiJEoAozFAQV5zS6
 1X+cpPwwCA4S9sVcVpnTrCMq1KG9wrSNFmHT6x2N1bf/1BxhmgaMXSSTQ8EpJY0I
 9iPZAOd2g04ownHd8hJWBmzwT8hZ0wbPhtC/0E9O1n6zh8YAArUKZkK23Bv4aemN
 qUbjOR2mjEyWNG0MN2h7CqFuU4NtAgc3kXrbPPAl9CYxJZJ2kdNmHvDkl0Y2QJ7S
 iPPJS7F8r60QQI+1LNqP
 =RGgU
 -----END PGP SIGNATURE-----

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

From: Stephen Warren:
ARM: tegra: device tree changes for 3.12

This branch contains all *.dts (device tree) changes for Tegra.
New features enabled are:

* PMICs on Dalmore
* CPU power-gating on Dalmore
* HDMI output on Beaver
* LP1 system suspend mode on almost all boards
* PCIe support on numerous Tegra20/30 boards
* USB support on Tegra30/114 boards
* Audio capture on Beaver and Dalmore
* Temperature sensor on Cardhu.

... along with a few DT cleanups.

* tag 'tegra-for-3.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (25 commits)
  ARM: tegra: add Mic Jack to Dalmore device tree
  ARM: tegra: add Mic Jack to Beaver device tree
  ARM: tegra: add USB DT entries for Tegra114, Dalmore
  ARM: tegra: add USB DT entries for Tegra30
  ARM: dts: tegra: Increase prefetchable PCI memory space
  ARM: tegra: Fix Beaver's PCIe lane configuration
  ARM: tegra: Enable PCIe controller on Beaver
  ARM: tegra: Enable PCIe controller on Cardhu
  ARM: tegra: Add Tegra30 PCIe support
  ARM: tegra: trimslice: Initialize PCIe from DT
  ARM: tegra: harmony: Initialize PCIe from DT
  ARM: tegra: tec: Add PCIe support
  ARM: tegra: tamonten: Add PCIe support
  ARM: tegra: Add Tegra20 PCIe support to DT
  ARM: tegra: enable LP1 suspend mode
  ARM: tegra: beaver: Enable HDMI output
  ARM: tegra: use TEGRA_GPIO() in a couple more places
  ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device
  ARM: tegra: define valid function names in DT document
  ARM: tegra: dalmore: add PM configurations for PMC
  ...
2013-08-20 16:30:54 -07:00
Kevin Hilman
a9b1ae088d ARM: tegra: defconfig update for 3.12
This defconfig change enables:
 * SYSVIPC (needed for some apps, e.g. fakeroot).
 * Elantech touchpad (touchpad on AC100).
 * SCSI_MULTI_LUN (needed for some USB SD card readers).
 * PCI, MSI, and Tegra's PCIe driver.
 * USB XHCI; useful for testing PCIe.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDl2wAAoJEMzrak5tbycxP68P/0kwdQeEFgqK2Z9ulbz8c7Yo
 FntaP8bXR4/MX/xTTSl50q4I7sbV3V9uYROZHIaXK/t3Q0qsBPVvGavW1DrdKpUG
 mL882e/U6JmG8rxrBH9qm6Iz0PYuTfFW0Hw1Vnm9IRGDmT/STBW7Xy1L00QJckCP
 W+sxxLt7+JE70mVoif5D2XkgntEx+3x0HOe3N281766l76T6DHAm+BrlmCnRDePx
 u8Uxd8IY/EPEvncd06it9IxrqvckkWheg6vpXSSsGZDcBIKrTu80D1oO6jRNaUll
 1IXRB5f3sq20lWSF2+JW8arT6imOM0IMPIkFtKIk0lVWQ2yv+kVa2PfPDRAttbRs
 Y1kaMv3Z9SwT0qlyAw+nakWm0VcbXnKdqtCo1VZ5pJejWcU1Mysgujr1pCf5zf0Q
 oyGnxEooxD+mtY5xtXqhX89US19nCfr6XrvkatOOOMUw4yNaGPEVom8+L5lX3IYt
 XGoVcJivlPheF5uu9PR749X5KgvIYDdedwancT54uoxzf8wVLl9F9gYQC4YdlNQ3
 Ej5ilpH+SWHnstTFxMUISAex/Nh6FKEBu5Hl4vhdaUxqhytW/arKtLEdw4nIsxwi
 wmo8J88/bYBvW/D9dUjs1QLTprgBQT9ZwKO7PxxoOPBIl4oQqZI+IsopqFc+47yk
 8rrp0ZGdgQxS7ThvGUGj
 =nUr/
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.12-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/boards

From: Stephen Warren:
ARM: tegra: defconfig update for 3.12

This defconfig change enables:
* SYSVIPC (needed for some apps, e.g. fakeroot).
* Elantech touchpad (touchpad on AC100).
* SCSI_MULTI_LUN (needed for some USB SD card readers).
* PCI, MSI, and Tegra's PCIe driver.
* USB XHCI; useful for testing PCIe.

* tag 'tegra-for-3.12-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra:
  ARM: tegra: defconfig updates
2013-08-20 16:26:09 -07:00
Kevin Hilman
4cb635d705 Ux500 device tree enablement base for the v3.12
development cycle:
 - Various cleanups like remove non-existant hardware from
   the Snowball device tree, prefix all files with "ste-*"
 - External regulators
 - Documentation updates
 - Delete some minor dangling platform data
 - Pin control settings for U8540 through DT
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.13 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDfMsAAoJEEEQszewGV1zg+cQAJBUM8IRpck+wgYyhEL9TsfO
 Lt98kq8fw2iiC3wYbC6VtGVTocOuaum6wchwuOPjK2bylPggrzCwjD3cLaNTUymD
 8wy/fZtWF0KEWa81pkpDDVFqWa6gc9H5UIPVFknf4wDaxb+vvw12o3wApKh/ThC/
 8j0zE5gXQMmRehLRaM/cXqK1QBcFPZxL060e8s5N4CE47JeaLHn1GAlbYCi0QXmg
 rV0trMaZhRQvj+FCJe1vHaf32rjjE071feFnqq3Q519puQulVQI/ULIP4zE584UO
 Vu4Wys5SAiqJuj2IbnTxYJRvP1Xbr/rHTOhXIoh2Zy52JXm9fvCASTJ4GvUxHHeR
 UXnwiaiyp03qDiwB/EKb5dpINqiwAY64I+jkN9sj2LULTwtVR6wsV4jMuIAHAPfz
 w1ZU8Ea4U4dgF9XzWIs5nYNDxoHaBK8m/uj6qETcCjTKuGGixP6ziNgobH8g3DMZ
 KxklRVFozyZwrC7MMk8vgEqhNtFUrnl3sQw/SUCUSMRk4PzWOCSaAvPFicpRXT8D
 FmmG8h4jf95GaA+ndF3i92NCk2R6PO04SUlMGlBNEjc+okyGHkLnL7v1MkIom6EB
 nM1+DaY4urYSeKdA72I4VG/RJBjToAdk2qysJ9xQtWOqAx1C3diL/57QKkltC+d7
 7tETJOTTm42QtgmTQmQq
 =Wm2y
 -----END PGP SIGNATURE-----

Merge tag 'ux500-devicetree-for-v3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt

From: Linus Walleij:
Ux500 device tree enablement base for the v3.12
development cycle:
- Various cleanups like remove non-existant hardware from
  the Snowball device tree, prefix all files with "ste-*"
- External regulators
- Documentation updates
- Delete some minor dangling platform data
- Pin control settings for U8540 through DT

* tag 'ux500-devicetree-for-v3.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: (22 commits)
  ARM: ux500: fix devicetree builds
  ARM: ux500: Remove u9540.dts as it's been replaced
  ARM: ux500: Apply a ste-* prefix onto dbx5x0.dtsi
  ARM: ux500: Apply a ste-* prefix onto stuib.dtsi
  ARM: ux500: Apply a ste-* prefix onto hrefv60plus.dts
  ARM: ux500: Apply a ste-* prefix onto hrefprev60.dts Signed-off-by: Lee Jones <lee.jones@linaro.org>
  ARM: ux500: Apply a ste-* prefix onto href.dtsi
  ARM: ux500: Apply a ste-* prefix onto ccu9540.dts
  ARM: ux500: Apply a ste-* prefix onto ccu8540.dts
  ARM: ux500: Apply a ste-* prefix onto snowball.dts
  ARM: ux500: Remove Snowball DTS entry for ROHM BH1780GLI ambient light sensor
  ARM: ux500: Remove Snowball DTS entry for TPS61052 chip
  ARM: ux500: Remove Snowball DTS entry for National Semiconductor LP5521 LED chip
  ARM: ux500: Remove Toshiba TC35892 I/O Expander's DT entry from Snowball's DTS
  ARM: u8540: DT: Set pinctrl mapping to i2c0,1,2,4 & 5
  ARM: u8540: Add Pinctrl Device Tree settings for uart0, uart2
  ARM: ux500: Stop passing MMC's platform data for Device Tree boots
  Documentation: Update binding for Nomadik and DBx5x based platforms
  ARM: ux500: Supply external regulator names for Snowball's DT
  ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use
  ...
2013-08-20 15:34:49 -07:00
Kevin Hilman
c454194612 arm: Xilinx Zynq cleanup patches for v3.12
This branch contains these fixes:
 - SLCR cleanup
 - Hotplug cleanup
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iEYEABECAAYFAlITAu0ACgkQykllyylKDCEaRQCfSvHsoH+Pnucmj07bT63vCPLZ
 /iMAnRmVpjr2BR0nEoC2aFYGs2nprn/A
 =ueLK
 -----END PGP SIGNATURE-----

Merge tag 'zynq-cleanup-for-3.12' of git://git.xilinx.com/linux-xlnx into next/cleanup

From: Michal Simek:
arm: Xilinx Zynq cleanup patches for v3.12

This branch contains these fixes:
- SLCR cleanup
- Hotplug cleanup

* tag 'zynq-cleanup-for-3.12' of git://git.xilinx.com/linux-xlnx:
  arm: zynq: hotplug: Remove unreachable code
  arm: zynq: slcr: Use read-modify-write for register writes
  arm: zynq: slcr: Clean up #defines
  arm: zynq: slcr: Remove redundant header #includes

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-20 15:05:31 -07:00
Christian Daudt
3a76b35186 ARM: bcm: Make secure API call optional
The current bcm_kona_smc_init function throws a BUG_ON if there's no SMC
device node defined in the device tree.

Since secure API access is optional depending the chip configuration,
fix this by allowing the rest of the code to run even if there's no SMC
device node defined

Signed-off-by: Christian Daudt <csd@broadcom.com>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
2013-08-20 10:51:39 -07:00
Christian Daudt
aea237bfa0 ARM: DT: binding fixup to align with vendor-prefixes.txt (drivers)
[ this is a follow-up to this discussion:
http://archive.arm.linux.org.uk/lurker/message/20130730.230827.a1ceb12a.en.html ]
This patchset renames all uses of "bcm," name bindings to
"brcm," as they were done prior to knowing that brcm had
already been standardized as Broadcom vendor prefix
(in Documentation/devicetree/bindings/vendor-prefixes.txt).
This will not cause any churn on devices because none of
these bindings have made it into production yet.

Signed-off-by: Christian Daudt <csd@broadcom.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
2013-08-20 10:51:38 -07:00
Christian Daudt
15e22ddf04 ARM: DT: binding fixup to align with vendor-prefixes.txt (DT)
[ this is a follow-up to this discussion:
http://archive.arm.linux.org.uk/lurker/message/20130730.230827.a1ceb12a.en.html ]
This patchset renames all uses of "bcm," name bindings to
"brcm," as they were done prior to knowing that brcm had
already been standardized as Broadcom vendor prefix
(in Documentation/devicetree/bindings/vendor-prefixes.txt).
This will not cause any churn on devices because none of
these bindings have made it into production yet.
Also rename the the following dt binding docs that had "bcm,"
in their name for consistency:
 - bcm,kona-sdhci.txt -> kona-sdhci.txt
 - bcm,kona-timer.txt -> kona-timer.txt

Signed-off-by: Christian Daudt <csd@broadcom.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
2013-08-20 10:47:47 -07:00
Christian Daudt
30ca653e59 ARM: dts: add sdio blocks to bcm28155-ap board
Enable sdio for bcm28155 AP board

Signed-off-by: Christian Daudt <csd@broadcom.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
2013-08-20 08:44:28 -07:00
Christian Daudt
d7358f8456 ARM: dts: align sdio numbers to HW definition
Clean up the sdio numbering to be 1-base as defined in HW spec,
instead of the current 0-base

Signed-off-by: Christian Daudt <csd@broadcom.com>
Reviewed-by: Alex Elder <elder@linaro.org>
2013-08-20 08:44:23 -07:00
Linus Walleij
1e66a3da4f ARM: ux500: fix up the I2C devices
The I2C device registration on the different ux500 board was
buggy due to a switch to dynamically assigned I2C host
addresses. This I2C host is still there, but we have to add
the devices dynamically instead of using board data.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-20 13:58:25 +02:00
Will Deacon
97c72d89ce ARM: cacheflush: don't bother rounding to nearest vma
do_cache_op finds the lowest VMA contained in the specified address
range and rounds the range to cover only the mapped addresses.

Since commit 4542b6a0fa ("ARM: 7365/1: drop unused parameter from
flush_cache_user_range") the VMA is not used for anything else in this
code and seeing as the low-level cache flushing routines return -EFAULT
if the address is not valid, there is no need for this range truncation.

This patch removes the VMA handling code from the cacheflushing syscall.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-20 11:54:55 +01:00
Will Deacon
d9524dc32c ARM: cacheflush: don't round address range up to nearest page
The flush_cache_user_range macro takes a pair of addresses describing
the start and end of the virtual address range to flush. Due to an
accidental oversight when flush_cache_range_user was introduced, the
address range was rounded up so that the start and end addresses were
page-aligned.

For historical reference, the interesting commits in history.git are:

10eacf1775e1 ("[ARM] Clean up ARM cache handling interfaces (part 1)")
71432e79b76b ("[ARM] Add flush_cache_user_page() for sys_cacheflush()")

This patch removes the alignment code, reducing the amount of flushing
required for ranges that are not an exact multiple of PAGE_SIZE.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-20 11:54:54 +01:00
Will Deacon
28256d6127 ARM: cacheflush: split user cache-flushing into interruptible chunks
Flushing a large, non-faulting VMA from userspace can potentially result
in a long time spent flushing the cache line-by-line without preemption
occurring (in the case of CONFIG_PREEMPT=n).

Whilst this doesn't affect the stability of the system, it can certainly
affect the responsiveness and CPU availability for other tasks.

This patch splits up the user cacheflush code so that it flushes in
chunks of a page. After each chunk has been flushed, we may reschedule
if appropriate and, before processing the next chunk, we allow any
pending signals to be handled before resuming from where we left off.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-20 11:54:53 +01:00
Linus Walleij
8478d266c5 ARM: ux500: delete oldschool pin defines
The pin definition file dates back to a time before the pin
control subsystem. The functions called inside that pin control
driver are now deleted. Let's get rid of this file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-20 11:19:24 +02:00
Julia Lawall
7abdcffcee arch/arm/mach-ux500/cpu-db8500.c: Avoid using ARRAY_AND_SIZE(e) as a function argument
Replace ARRAY_AND_SIZE(e) in function argument position to avoid hiding the
arity of the called function.

The semantic match that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,f;
@@

f(...,
- ARRAY_AND_SIZE(e)
+ e,ARRAY_SIZE(e)
  ,...)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-20 11:13:19 +02:00
Maxime Ripard
e476ac8b48 ARM: sun7i: Add Olimex A20-Olinuxino-Micro support
The Olimex A20-Olinuxino is an open-hardware board based on the
Allwinner A20 SoC, with most of the pins exported on headers, a 10/100M
ethernet port, SATA, SD and uSD slots, etc.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-20 08:18:45 +02:00
Maxime Ripard
4790ecfa99 ARM: sun7i: Add Allwinner A20 DTSI
The Allwinner A20 SoC is based on 2 Cortex A7, an ARM Mali GPU, and is
built to be pin-compatible with the older Allwinner A10.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-20 08:18:43 +02:00
Soren Brinkmann
b522877b53 arm: zynq: hotplug: Remove unreachable code
zynq_platform_do_lowpower() does never return. Hence remove
all code which relies on that function returning and consolidate the
remains.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-08-20 07:32:13 +02:00
Russell King
e1f020371c Merge branch 'security-fixes' into fixes 2013-08-20 00:31:33 +01:00
Christian Daudt
505caa66fe ARM: 7821/1: DT: binding fixup to align with vendor-prefixes.txt
[ this is a follow-up to this discussion:
http://archive.arm.linux.org.uk/lurker/message/20130730.230827.a1ceb12a.en.html ]
This patchset renames all uses of "bcm," name bindings to
"brcm," as they were done prior to knowing that brcm had
already been standardized as Broadcom vendor prefix
(in Documentation/devicetree/bindings/vendor-prefixes.txt).
This will not cause any churn on devices because none of
these bindings have made it into production yet.

Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Christian Daudt <csd@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:26:36 +01:00
Fabio Estevam
c477b8db45 ARM: 7820/1: mm: cache-l2x0: Print the cache size in kB
Currently we have the following output from cache-l2x0:

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B

Using kB for the cache size can improve readability a bit:

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1024 kB

While at it use pr_info.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:26:06 +01:00
Nicolas Pitre
ac124504ec ARM: 7816/1: CONFIG_KUSER_HELPERS: fix help text
Commit f6f91b0d9f ("ARM: allow kuser helpers to be removed from the
vector page") introduced some help text for the CONFIG_KUSER_HELPERS
option which is rather contradictory.

Let's fix that, and improve it a little.

Cc: <stable@vger.kernel.org>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:25:31 +01:00
Vijaya Kumar K
4f9b4fb7a2 ARM: 7815/1: kexec: offline non panic CPUs on Kdump panic
In case of normal kexec kernel load, all cpu's are offlined
before calling machine_kexec().But in case crash panic cpus
are relaxed in machine_crash_nonpanic_core() SMP function
but not offlined.

When crash kernel is loaded with kexec and on panic trigger
machine_kexec() checks for number of cpus online.
If more than one cpu is online machine_kexec() fails to load
with below error

kexec: error: multiple CPUs still online

In machine_crash_nonpanic_core() SMP function, offline CPU
before cpu_relax

Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:14:46 +01:00
Ezequiel Garcia
19a0519d36 ARM: 7818/1: feroceon: Add suspend/resume operation
Add support for suspend/resume operations. The implemented procedures
are identical to the ones for ARM926.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:12:52 +01:00
Thomas Gleixner
da0ec6f7c1 ARM: 7814/2: Allow forced irq threading
All timer interrupts and the perf interrupt are marked NO_THREAD, so
its safe to allow forced interrupt threading.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:12:24 +01:00
Thomas Gleixner
d9c3365b5d ARM: 7813/1: Mark pmu interupt IRQF_NO_THREAD
PMU interrupts must not be threaded.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:12:23 +01:00
Fabio Estevam
7cb3be0a27 ARM: 7819/1: fiq: Cast the first argument of flush_icache_range()
Commit 2ba85e7af4 (ARM: Fix FIQ code on VIVT CPUs) causes the following build warning:

arch/arm/kernel/fiq.c:92:3: warning: passing argument 1 of 'cpu_cache.coherent_kern_range' makes integer from pointer without a cast [enabled by default]

Cast it as '(unsigned long)base' to avoid the warning.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-20 00:11:50 +01:00
Christian Daudt
959faee9e1 ARM: bcm: Rename board_bcm
In order to support multiple SoC models in the mach-bcm
directory, board_bcm.c is being renamed board_bcm281xx.c

Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
Signed-off-by: Christian Daudt <csd@broadcom.com>
2013-08-19 15:44:28 -07:00
Fabio Baltieri
0a429fd15e ARM: ux500: set coherent_dma_mask for dma40
Set coherent_dma_mask to DMA_BIT_MASK(32) for dma40 platform_device, as
without this DMA allocations were failing with the error:

dma40 dma40.0: coherent DMA mask is unset

when booting without device-tree.

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-19 22:49:25 +02:00
Srinivas Kandagatla
880467735a ARM: ux500: remove u8500_secondary_startup from INIT section.
This patch removes u8500_secondary_startup from _INIT section, there are
two  reason for this removal.
1. discarding such a small code does not save much, given the RAM sizes.
2. Having this code discarded, creates corruption issue when we boot
smp-kernel with nr_cpus=1 or with single cpu node in DT.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-19 22:49:24 +02:00
Fabio Baltieri
bd93ec5053 ARM: ux500: add restart support via prcmu
Add necessary code to restart ux500 based machines using
prcmu_system_reset().

Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-19 22:49:24 +02:00
James Hogan
819c1de344 clk: add CLK_SET_RATE_NO_REPARENT flag
Add a CLK_SET_RATE_NO_REPARENT clock flag, which will prevent muxes
being reparented during clk_set_rate.

To avoid breaking existing platforms, all callers of clk_register_mux()
are adjusted to pass the new flag. Platform maintainers are encouraged
to remove the flag if they wish to allow mux reparenting on set_rate.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Viresh Kumar <viresh.linux@gmail.com>
Cc: Kukjin Kim <kgene.kim@samsung.com>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Chao Xie <xiechao.mail@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: "Emilio López" <emilio@elopez.com.ar>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Peter De Schrijver <pdeschrijver@nvidia.com>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Andrew Chew <achew@nvidia.com>
Cc: Doug Anderson <dianders@chromium.org>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Paul Walmsley <pwalmsley@nvidia.com>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Thomas Abraham <thomas.abraham@linaro.org>
Cc: Tomasz Figa <t.figa@samsung.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: spear-devel@list.st.com
Cc: linux-tegra@vger.kernel.org
Tested-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Acked-by: Stephen Warren <swarren@nvidia.com> [tegra]
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> [sunxi]
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com> [Zynq]
Signed-off-by: Mike Turquette <mturquette@linaro.org>
2013-08-19 12:27:17 -07:00
Kevin Hilman
5515d9981f Minimal DRA7xx based SoC core support via Rajendra Nayak <rnayak@ti.com>
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSDcbOAAoJEBvUPslcq6VzeGAQAI040uoCSQ7C5w2o/0+Kuo3n
 sftR1NyXDnMIHMO+B/SVZF+vayQxtnygq1Nk07BQjl9o9MgPBdY4/Ded4xAvuMQq
 zM0dke8xm5+/QCqtH/6vlJnZGo4yzvwtMXNix2r50Ld+f3Vt7yyl4K9z54jWk1cl
 qrPoG2HbhzDH7qbDnygxvyPCdbHh0J1FD2vdBY6/Hj1j/F/Wn0InGvkywauBckVb
 XZm8UIpdJ8qSSQEqtdBrZzJ84XOElC5iDAgrO0lISqxnt1cmD9bkEByJEK09IJAC
 7EkMqgtd1l4fVKPkM8THXkvUcRAp8vz/6H7pc0n48Ew6QTtaQOkSTLy1f8+AVBwq
 50cJwARrtWoIlji1Ur6H6G1rvqUzp1xw9qrIJPZNsEGAlROS7xNCOKurKnMRDd15
 tiO2uPRN44E+6m6ChfdrtfiZCoV47bXXGI2O7L2qGImw8mr7FcbLdYzweMIWN13d
 5dNXMyzw6H/X6qzNSHEv/4tY16YIUxS+01cPxmHbyXUJrizptRYupUIGGhu3EbVH
 DVZPn+Lm0HFEiiAeFH+jLvegxxx+gRK0b70O+tOqRwkQ08mMIq/6YAy7tggQH8BI
 wVZe6ADwg/mo4rb9Bv+z7R+ECNR6XBTH440++BJPBN8GW7IW/jjsTyKL61b25pKR
 JQM7CZ2YprQTDz7Z6kPY
 =BR17
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/dra7xx' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
Minimal DRA7xx based SoC core support via Rajendra Nayak <rnayak@ti.com>

* tag 'omap-for-v3.12/dra7xx' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (849 commits)
  ARM: DRA7: Add the build support in omap2plus
  ARM: DRA7: hwmod: Reuse the soc_ops used for OMAP4/5
  ARM: DRA7: id: Add cpu detection support for DRA7xx based SoCs'
  ARM: DRA7: Kconfig: Make ARCH_NR_GPIO default to 512
  ARM: DRA7: board-generic: Add basic DT support
  ARM: DRA7: Resue the clocksource, clockevent support
  ARM: DRA7: Reuse io tables and add a new .init_early
  ARM: DRA7: Reuse all of PRCM and MPUSS SMP infra
  Linux 3.11-rc5
  btrfs: don't loop on large offsets in readdir
  Btrfs: check to see if root_list is empty before adding it to dead roots
  Btrfs: release both paths before logging dir/changed extents
  Btrfs: allow splitting of hole em's when dropping extent cache
  Btrfs: make sure the backref walker catches all refs to our extent
  Btrfs: fix backref walking when we hit a compressed extent
  Btrfs: do not offset physical if we're compressed
  Btrfs: fix extent buffer leak after backref walking
  Btrfs: fix a bug of snapshot-aware defrag to make it work on partial extents
  btrfs: fix file truncation if FALLOC_FL_KEEP_SIZE is specified
  dlm: kill the unnecessary and wrong device_close()->recalc_sigpending()
  ...

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-19 10:22:31 -07:00
Kevin Hilman
47aad66c26 USB nop phy rename via Felipe Balbi <balbi@ti.com>:
Here's a pull request of one patch to avoid conflicts during the merge
 window.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSC0ITAAoJEBvUPslcq6Vz3UIP/iv4OtCkA3hqbHRYKIzaKPas
 JGJSyMqWDPXWBn2hPVLFu1O0MR+S5NIXp5VMHTVxu9sT5m+QKatKu3Rx18t8+KED
 KkQFStVFapELwv5AHnOnKk4KoN1ytmVHQAqMRBGoi81GSaDPzPez/2KI1D8Epz2H
 wbrhm1BbJGkheU0kToBgww0nCOF5F12w3B0n87schihZ76k8ltymWQOlgWDwR7FE
 1kpftwaJds1IC5dWVJhKSdH0F0/Y0bvwuxtDm/tgkWX3y+6f5Nl7+7tk98KM7FMz
 i+7W4bjGnfbOORy98tMOUf+Auf3Zev42aYlrr65AnSD8u+R2P6uO7Hn/JfyQMnrh
 d/8SBClNlMRAgKoiDMJCAad4CprT/uCeSdLajE3YU6vQPKKmF38zSsRoY2yEocKr
 8wUSihETkrIW/FhajvZsvSoxWFG5eC3hYwprS8lhcjf+4neNDKwD7baSw0Sf+O5z
 3tiLTkvlP4fGz4zMoNPfz7LZMROKpd86vD1VsJWKpY55/d7i7cGliEHUF0S2PdzI
 LCIdOyageD6uie5/fUsaNEsE9lb959VVIYxb/LRXCUtV9mmIp9hxd4+UQYb8aa8s
 qtBIr9+dAIBKE/oo5O9UVkyZe5nvxwhKEkkYr96xWzbL0Ub5KwjKEmhsnOo9sWPD
 XjpBTEymS0Kq7izXWmQL
 =2mCp
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/usb-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

From Tony Lindgren:
USB nop phy rename via Felipe Balbi <balbi@ti.com>:

Here's a pull request of one patch to avoid conflicts during the merge
window.

* tag 'omap-for-v3.12/usb-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  usb: phy: rename nop_usb_xceiv => usb_phy_gen_xceiv

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-19 10:19:18 -07:00
Sekhar Nori
acd36357ed ARM: davinci: nand: specify ecc strength
Starting with kernel v3.5, it is mandatory
to specify ECC strength when using hardware
ECC. Without this, kernel panics with a warning
of the sort:

Driver must set ecc.strength when using hardware ECC
------------[ cut here ]------------
kernel BUG at drivers/mtd/nand/nand_base.c:3519!

Fix this by specifying ECC strength for the boards
which were missing this.

Reported-by: Holger Freyther <holger@freyther.de>
Cc: <stable@vger.kernel.org> #v3.5+
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-19 09:30:20 -07:00
Olof Johansson
a3e008d1b5 Merge tag 'fixes-non-3.12-2' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical
From Jason Cooper, mvebu fixes-non-critical for v3.12 (round 2):

 - fix the memory node (2 by 2) in skeleton64.dtsi

* tag 'fixes-non-3.12-2' of git://git.infradead.org/linux-mvebu:
  ARM: dts: Fix memory node in skeleton64.dtsi
2013-08-19 08:47:13 -07:00
Greg Kroah-Hartman
bd479f2933 Merge 3.11-rc6 into usb-next
We want these USB fixes in this branch as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-18 20:33:01 -07:00
Jingoo Han
8c3736e20e ARM: SAMSUNG: Remove unnecessary exynos4_default_sdhci*()
Commit 17397a2("ARM: EXYNOS: Remove platform device initialization")
removes calling exynos4_default_sdhci*() functions; thus, these are
not necessary any more.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 05:23:32 +09:00
Dongjin Kim
6f9d02a056 ARM: dts: Add USB host node for Exynos4
This patch adds EHCI and OHCI host device nodes for Exynos4.

Signed-off-by: Dongjin Kim <tobetter@gmail.com>
Acked-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 05:07:17 +09:00
Andrew Bresticker
35e8277520 ARM: dts: add audio clock controller for exynos5420
This adds device-tree bindings for the audio subsystem clock controller
on Exynos 5420.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/57712
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:58:38 +09:00
Padmavathi Venna
0bd03f6ff6 ARM: dts: Correct the /include entry on exynos5420 dtsi file
This patch corrects the /include to #include on exynos5420

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:56:33 +09:00
Arun Kumar K
f09d062fd4 ARM: dts: Add MFC node for exynos 5420
The patch adds MFC nodes for exynos 5420.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:43:01 +09:00
Arun Kumar K
8b6bea33b4 ARM: dts: Update 5250 MFC node
The patch adds the MFC clock entry for the 5250 SoC.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:43:01 +09:00
Arun Kumar K
3a0ef8dcdc ARM: dts: Remove unsused MFC clock from exynos4
Removes the unused sclk_mfc from exynos4 dtsi file.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:43:00 +09:00
Mark Brown
15ac869375 ARM: dts: Hook up internal PHY on Arndale
While the Linux driver stack is capable of figuring this out for itself
document the fact that we really do use the internal PHY even with the
directly wired hub on the board to save anyone else having to work this
out for themselves.

Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:33:28 +09:00
Mark Brown
7c1b0ec529 ARM: dts: Enable USB hub on Arndale
The Arndale has a SMSC USB3503 connected in hardware only mode like a PHY,
support it using the usb-nop-xceiv binding.

Note that due to a regrettable decision to use a regulator to represent
the reset signal this uses a fixed voltage regulator to do that, there
is a plan to use the reset controller binding once that is merged so it
does not seem worthwhile to fix the usb-nop-xceiv driver at this point.

Signed-off-by: Mark Brown <broonie@linaro.org>
Tested-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:33:22 +09:00
Tushar Behera
e3e03f99a1 ARM: dts: Add secure-firmware boot support for OrigenQaud board
OrigenQuad board boots with secure firmware support. Enable support for
reading smc commands.

The binding has been updated as per the documentation provided in
Documentation/devicetree/bindings/arm/samsung-boards.txt.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 04:30:16 +09:00
Vikas Sajjan
4e78089274 ARM: dts: Add pin state information for DP HPD support to Exynos5420
Add pin state information for DP HPD support that requires pin configuration
support using pinctrl interface.

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:31 +09:00
Vikas Sajjan
1339d33ab1 ARM: dts: Add DP controller DT node to exynos5420 SoC
Adds DP controller DT node to exynos5420 SoC

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:31 +09:00
Vikas Sajjan
77899d5320 ARM: dts: Update DP controller DT Node for Exynos5 based SoCs
Moves the properties of DP controller to exynos5.dtsi which are common
across exynos5 SoCs like Exynos5250 and Exynos5420.

The PHY DP Node is based on Jingoo Han's <jg1.han@samsung.com> patch
at https://patchwork.linuxtv.org/patch/19189/

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:30 +09:00
Vikas Sajjan
ee3381d462 ARM: dts: Add FIMD DT node to exynos5420 DTS files
Adds FIMD DT node to exynos5420 based SMDK. Also adds display-timimg
information node.

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:30 +09:00
Yadwinder Singh Brar
dcfca2ccc6 ARM: dts: Add basic PM domains for EXYNOS5420
Add DT nodes for gsc, isp, mfc, disp, mau, g2d and msc PM domains.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:29 +09:00
Vikas Sajjan
9ee35a5b7f ARM: dts: Update FIMD DT node for Exynos5 SoCs
Moves the properties of FIMD DT node which are common across Exynos5 based
SoCs like Exynos5250 and Exynos5420 to exynos5.dtsi

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:28 +09:00
Vikas Sajjan
d1bf2abe3a ARM: dts: Move display-timing information inside FIMD DT node for exynos5250
As the display-timing information is parsed by FIMD driver, it makes
sense to move the display-timing DT node inside FIMD DT node for exynos5250

Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-19 01:56:28 +09:00
Fabio Estevam
7543360721 ARM: mxs: pm: Include "pm.h"
Fix the following sparse warning:

arch/arm/mach-mxs/pm.c:37:13: warning: symbol 'mxs_pm_init' was not declared. Should it be static?

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-18 16:34:57 +08:00
Alexandre Belloni
f71f2e95d0 ARM: mxs: Simplify detection of CrystalFontz boards
As all CrystalFontz boards are compatible with "crystalfontz,cfa10036", make it
easier to add future boards.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-18 16:34:56 +08:00
Rob Herring
2c63494625 ARM: highbank: select required errata work-arounds
Ensure necessary errata work-arounds are always enabled for Highbank
and Midway platforms. Highbank requires 764369 and 764369. Midway requires
798181, but only the first half of the work-around (no IPI). Support for
skipping the IPI is introduced in another commit.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-08-17 19:43:57 -05:00
Rob Herring
e511333212 ARM: highbank: select ARCH_HAS_HOLES_MEMORYMODEL
On Midway, the first 4G of memory starts at 0 and the rest of memory
(4GB+) starts at 0x2_00000000, so we need to enable pfn_valid checks
by selecting ARCH_HAS_HOLES_MEMORYMODEL.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-08-17 19:43:57 -05:00
Rob Herring
a6a398341d ARM: highbank: enable DMA zone for LPAE
Some devices are restricted to 32-bit DMA. Thus the platform dma_zone_size
needs to be set. Otherwise dma-mapping code is complaining, e.g.

calxedaxgmac fff50000.ethernet: coherent DMA mask 0xffffffff is smaller
than system GFP_DMA mask 0xffffffffffffffff

Signed-off-by: Andreas Herrmann <andreas.herrmann@calxeda.com>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-08-17 19:43:56 -05:00
Linus Torvalds
2620bf06f1 Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm
Pull ARM fixes from Russell King:
 "The usual collection of random fixes.  Also some further fixes to the
  last set of security fixes, and some more from Will (which you may
  already have in a slightly different form)"

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7807/1: kexec: validate CPU hotplug support
  ARM: 7812/1: rwlocks: retry trylock operation if strex fails on free lock
  ARM: 7811/1: locks: use early clobber in arch_spin_trylock
  ARM: 7810/1: perf: Fix array out of bounds access in armpmu_map_hw_event()
  ARM: 7809/1: perf: fix event validation for software group leaders
  ARM: Fix FIQ code on VIVT CPUs
  ARM: Fix !kuser helpers case
  ARM: Fix the world famous typo with is_gate_vma()
2013-08-16 16:52:29 -07:00
Maxime Ripard
d18fd9445b ARM: sunxi: Introduce Allwinner A20 support
The Allwinner A20 is a dual-core Cortex-A7-based SoC. It is
pin-compatible with the A10, and re-uses most of the IPs found in it,
plus some additional ones like a Gigabit Ethernet controller.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-16 23:23:41 +02:00
Maxime Ripard
06d71bcfee ARM: sun6i: Add restart code for the A31
The Allwinner A31 has a different watchdog, with a slightly different
register layout, that requires a different restart code.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-16 23:19:30 +02:00
Maxime Ripard
2d7945100b ARM: sunxi: Add the Allwinner A31 compatible to the machine definition
The Allwinner A31 is a quad-Cortex-A7 based SoC, which shares a lot of
IPs with the previous SoCs from Allwinner, like the PIO, I2C, UARTs,
timers, watchdog IPs, but also differs by dropping the WEMAC ethernet
controller and most notably dropping the in-house IRQ controller in
favor of a ARM GIC one.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-16 23:19:24 +02:00
Maxime Ripard
0bef900b7f ARM: sun6i: Add WITS Colombus A31 evaluation kit support
This platform from WITS is the evaluation board for the Allwinner A31.
It features a quad-Cortex A7, 2048MB of RAM, NAND, USB, MMC, several
UART, HDMI, a 2048 x 1536 10" screen, powered by a PowerVR, etc.

Of course, most of these peripherals aren't supported yet, but support
for those will come eventually.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-16 23:18:34 +02:00
Maxime Ripard
8aed3b3158 ARM: sunxi: Add Allwinner A31 DTSI
The Allwinner A31 SoC is a multimedia SoC powered by 4 Cortex-A7 and a
PowerVR GPU.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-16 23:18:22 +02:00
Aaro Koskinen
cc05fcc4b0 ARM: OMAP: rx51: change musb mode to OTG
Peripheral-only mode got broken in v3.11-rc1 because of unknown reasons.
Change the mode to OTG, in practice that should work equally well even
when/if the regression gets fixed.

Note that the peripheral-only regression is a separate patch, this change
is still correct as the role is handled by hardware.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
[tony@atomide.com: updated comments]
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-16 09:40:01 -07:00
Daniel Mack
386d20ab9e ARM: OMAP2: fix musb usage for n8x0
Commit b7e2e75a8c ("usb: gadget: drop unused USB_GADGET_MUSB_HDRC")
dropped a config symbol that was unused by the musb core, but it turns
out that board support code still had references to it.

As the core now handles both dual role and host-only modes, we can just
pass MUSB_OTG as mode from board files.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-16 09:39:56 -07:00
Linus Torvalds
2b047252d0 Fix TLB gather virtual address range invalidation corner cases
Ben Tebulin reported:

 "Since v3.7.2 on two independent machines a very specific Git
  repository fails in 9/10 cases on git-fsck due to an SHA1/memory
  failures.  This only occurs on a very specific repository and can be
  reproduced stably on two independent laptops.  Git mailing list ran
  out of ideas and for me this looks like some very exotic kernel issue"

and bisected the failure to the backport of commit 53a59fc67f ("mm:
limit mmu_gather batching to fix soft lockups on !CONFIG_PREEMPT").

That commit itself is not actually buggy, but what it does is to make it
much more likely to hit the partial TLB invalidation case, since it
introduces a new case in tlb_next_batch() that previously only ever
happened when running out of memory.

The real bug is that the TLB gather virtual memory range setup is subtly
buggered.  It was introduced in commit 597e1c3580 ("mm/mmu_gather:
enable tlb flush range in generic mmu_gather"), and the range handling
was already fixed at least once in commit e6c495a96c ("mm: fix the TLB
range flushed when __tlb_remove_page() runs out of slots"), but that fix
was not complete.

The problem with the TLB gather virtual address range is that it isn't
set up by the initial tlb_gather_mmu() initialization (which didn't get
the TLB range information), but it is set up ad-hoc later by the
functions that actually flush the TLB.  And so any such case that forgot
to update the TLB range entries would potentially miss TLB invalidates.

Rather than try to figure out exactly which particular ad-hoc range
setup was missing (I personally suspect it's the hugetlb case in
zap_huge_pmd(), which didn't have the same logic as zap_pte_range()
did), this patch just gets rid of the problem at the source: make the
TLB range information available to tlb_gather_mmu(), and initialize it
when initializing all the other tlb gather fields.

This makes the patch larger, but conceptually much simpler.  And the end
result is much more understandable; even if you want to play games with
partial ranges when invalidating the TLB contents in chunks, now the
range information is always there, and anybody who doesn't want to
bother with it won't introduce subtle bugs.

Ben verified that this fixes his problem.

Reported-bisected-and-tested-by: Ben Tebulin <tebulin@googlemail.com>
Build-testing-by: Stephen Rothwell <sfr@canb.auug.org.au>
Build-testing-by: Richard Weinberger <richard.weinberger@gmail.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-08-16 08:52:46 -07:00
Ezequiel Garcia
5d3b883071 ARM: mvebu: Fix the Armada 370/XP timer compatible strings
The "marvell,armada-370-xp-timer" compatible string, together with
the "marvell,timer-25Mhz" property are deprecated and should be
removed from current DT.

Instead, the timer DT nodes are now required to have an appropriate
compatible string, which should be either "marvell,armada-370-timer"
or "marvell,armada-xp-timer", depending on SoC.

The clock property is now required only for Armada 370 so move it accordingly.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-16 13:02:11 +00:00
Jason Cooper
3d0ed759ea ARM: mvebu: use dts pre-processor for readynas 102
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-16 13:02:10 +00:00
Jason Cooper
97fdd4e18c ARM: kirkwood: use dts pre-processor for nsa310 boards
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-16 13:02:08 +00:00
Thomas Petazzoni
ca60985c00 ARM: mvebu: use correct #interrupt-cells instead of #interrupts-cells
The Device Tree information for the GPIO banks of the Armada 370 and
Armada XP SOCs was incorrectly using #interrupts-cells instead of
controller when using GPIO interrupts, since the GPIO bank DT node
wasn't recognized as a valid interrupt controller by the OF code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-16 13:02:07 +00:00
Padmavathi Venna
6418365688 ARM: dts: Change i2s compatible string on exynos5250
This patch removes quirks from i2s node and change the i2s
compatible names.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 11:05:56 +01:00
Lothar Waßmann
23ad6f6574 ARM: dts: mxs: add pin config for LCD sync and clock pins
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:53 +08:00
Lothar Waßmann
3314d2be86 ARM: dts: mxs: add pin config for SSP3 interface
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:52 +08:00
Lothar Waßmann
2e1dd9fc46 ARM: dts: mxs: add another set of saif0_pins (without MCLK)
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:51 +08:00
Lothar Waßmann
296f8cd339 ARM: dts: mxs: add labels to most nodes for easier reference
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:50 +08:00
Lothar Waßmann
07a3ce7f4b ARM: dts: mxs: whitespace cleanup
Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:49 +08:00
Fabio Estevam
6bf6eb098f ARM: dts: mxs: Add spi alias
After providing spi alias, we can get the following message during probe:

m25p80 spi1.0: sst25vf016b (2048 Kbytes)

,which looks better than the original one:

m25p80 spi32766.0: sst25vf016b (2048 Kbytes)

While at it, keep the alias entries in alphabetical order.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:48 +08:00
Otavio Salvador
f9f09e8836 ARM: dts: imx23-olinuxino: enable Low Resolution ADC
The i.MX23 has a internal Low Resolution ADC; this enables the support
for this device.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:47 +08:00
Otavio Salvador
08ad714b9a ARM: dts: imx23-evk: enable Low Resolution ADC
The i.MX23 has a internal Low Resolution ADC; this enables the support
for this device.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:45 +08:00
Otavio Salvador
ecdc78b55a ARM: dts: imx23-evk: enable USB PHY and controller
The i.MX23EVK board provides a USB port so the USB PHY and controller
need to be enabled for it to be usable.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:44 +08:00
Shawn Guo
7f2b92886e ARM: dts: mxs: remove old DMA binding data from client nodes
After mxs-dma driver adopts generic DMA device tree binding, channel
interrupt number is defined in DMA controller node, and channel ID is
listed in "dmas" property.  So the DMA channel interrupt number in
client nodes' "interrupts" property and fsl,<module>-dma-channel which
are used by old customized DMA binding can be removed now.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
2013-08-16 16:26:43 +08:00
Marek Vasut
db3b9baa5b ARM: mxs: Add backlight support for M28EVK
This patch adds backlight support for M28EVK.

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:42 +08:00
Alexandre Belloni
a74d2ec70c ARM: mxs: dt: cfa10036: make hogpins grabbed by respective drivers
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:41 +08:00
Alexandre Belloni
0399050e3e ARM: mxs: dt: cfa10057: remove hogpins
Necessary pins are now grabbed by respective drivers. Unecessary hogpins are
simply removed.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:40 +08:00
Alexandre Belloni
fb3d3588df ARM: mxs: dt: cfa10055: make hogpins grabbed by respective drivers
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:39 +08:00
Alexandre Belloni
dac63a5f1a ARM: mxs: dt: cfa10049: make hogpins grabbed by respective drivers
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:37 +08:00
Alexandre Belloni
4940631643 ARM: mxs: dt: cfa10037: make hogpins grabbed by respective drivers
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:36 +08:00
Brian Lilly
9567832223 ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree
The CFA-10058 is a breakout board for the CFA-10036 that has Ethernet, USB and a
5" LCD screen on it.

Signed-off-by: Brian Lilly <brian@crystalfontz.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:35 +08:00
Brian Lilly
f6cd16f1d2 ARM: mxs: dt: Add Crystalfontz CFA-10056 device tree
The CFA-10056 is a breakout board for the CFA-10036, and is
basically a CFA-10037, with a 4.3" screen.

Signed-off-by: Brian Lilly <brian@crystalfontz.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 16:26:34 +08:00
Fabio Estevam
e115d63ce8 ARM: mach-mxs: Remove "TO" string from revision field
There is no need to print the silicon revision as "TO1.2", just print it as
"1.2" instead:

$ cat /sys/bus/soc/devices/soc0/revision
1.2

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 15:46:11 +08:00
Lothar Waßmann
56b7eec01d ARM: mxs: Fix BUG() when invoking mxs_restart() from interrupt context
The mxs_restart() function uses of_iomap() which triggers the
following BUG_ON(in_interrupt()) when called in interrupt context
(e.g. thru SYSRQ-B):

      SysRq : Resetting
      ------------[ cut here ]------------
      kernel BUG at mm/vmalloc.c:1310!
      Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
      Modules linked in: i2c_dev
      CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-rc2-next-20130729-karo+ #196
      task: c04e1c38 ti: c04d8000 task.ti: c04d8000
      PC is at __get_vm_area_node.clone.25+0x34/0x140
      LR is at get_vm_area_caller+0x38/0x44
      pc : [<c008a988>]    lr : [<c008b434>]    psr: 20000013
      sp : c04d9db0  ip : 00000001  fp : 00000001
      r10: c8800000  r9 : 00000000  r8 : 000000d0
      r7 : 00002000  r6 : 00000001  r5 : 00000001  r4 : 00002000
      r3 : 00010000  r2 : 00000001  r1 : c04d9db0  r0 : 00002000
      Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 0005317f  Table: 46920000  DAC: 00000017
      Process swapper (pid: 0, stack limit = 0xc04d81b8)

Create the mapping upon startup from mxs_machine_init().

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 15:46:11 +08:00
Lothar Waßmann
5cd86ef5e4 ARM: mxs: Allow DT clock providers
Add a call to of_clk_init() to register clocks defined in DT.

Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 15:46:11 +08:00
Fabio Estevam
ac33aa2dd4 ARM: mxs_defconfig: Cleanup mxs_defconfig
Generate mxs_defconfig by doing:

make mxs_defconfig
make savedefconfig
cp defconfig arch/arm/configs/mxs_defconfig

No functional change. The goal here is to cleanup mxs_defconfig file to
make easier and cleaner the addition of new entries.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 15:46:10 +08:00
Olof Johansson
88ab316f34 mvebu defconfig changes for v3.12
- kirkwood: add i2c devices, ext4, r8169
  - mvebu: gpio-keys, input event
  - dove: SI5351, PCI, xHCI
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSC+YZAAoJEAi3KVZQDZAeURwH/1aGV9dd1PoEnSeQDVJqAPec
 5B8MZfx94Lgb0xFps1TL2ffKYFEwU6ZdC+ekKRvgIg9cUysXimSVj94LDRS7a8eP
 XgPk74N0RwT9DTaPRf619sjTwM+1tcq6szlluIYkh345mgQ3ggdD/8SXIxofKLxw
 gkm4sVpEz3+bjfR+54m+ZIZcLwT1Rdy9DaXpnK4Tq1GuLu/0XPAx+ssA4InT323W
 synMKVxs1+rUFvVkWJ6ESm8Q6T5I100B4J2MOCp1QsVZQ4IL1jOAEQertdYuMLD5
 a6GYjiG8FKO3VacQfyzcfFoTR1cEvDpA5qgbvuv5AK3GyKUgtSbqGK9qGnadyYo=
 =eADW
 -----END PGP SIGNATURE-----

Merge tag 'defconfig-3.12' of git://git.infradead.org/linux-mvebu into next/boards

From Jason Cooper, mvebu defconfig changes for v3.12:

 - kirkwood: add i2c devices, ext4, r8169
 - mvebu: gpio-keys, input event
 - dove: SI5351, PCI, xHCI

* tag 'defconfig-3.12' of git://git.infradead.org/linux-mvebu:
  ARM: dove: update dove_defconfig with SI5351, PCI, and xHCI
  ARM: mvebu: add gpio-keys and input event support in defconfig
  ARM: Kirkwood: update defconfig for used i2c devices, EXT4 FS, r8169

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-15 23:38:27 -07:00
Olof Johansson
5ddc9d6023 mvebu boards changes for v3.12
- kirkwood
     - convert Dockstar, Guruplug, mv88f6281gtw_ge to DT
     - remove legacy boards (which have DT support) sheevaplug, lacie boards
     - ARRAY_AND_SIZE() cleanup
 
  - dove
     - some DT node updates (depends on irqchip/clocksource DT changes earlier)
     - add the D2Plug board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSC9u1AAoJEAi3KVZQDZAeakMH/31M/fzEIhREgJyS1paFx9Ed
 8q9ZHQSc2RK4s7mdHCRlvxFbtN3Jas3B+iLGz6iFKsxg+5VNo5aeLPRpjB6dHBek
 /WzvXn+PvGEWGmESk1ZBDmifGfu8y+0cvIiFa93diam4DNCWckD5JtZwl2BXjTDl
 ueCzKohhuTl5pv88tmAR8TWwCYQGM5u0Lqbchxo5AQ51DSqE+U3/agc3p1JVhokF
 Spsh8qGv3VLh15b1r1ZoLMbmnduXthoDbyXy2yq0/JQejx0UMOIoz9WEHA34aFG5
 r6lkb34EfXqPBWwyyTaCvM/1qVKXVuN99nIsM1HQjzjBXYZGNOb9gsnjWVjLQbg=
 =T4jJ
 -----END PGP SIGNATURE-----

Merge tag 'boards-3.12-2' of git://git.infradead.org/linux-mvebu into next/boards

From Jason Cooper, mvebu boards changes for v3.12:

 - kirkwood
    - convert Dockstar, Guruplug, mv88f6281gtw_ge to DT
    - remove legacy boards (which have DT support) sheevaplug, lacie boards
    - ARRAY_AND_SIZE() cleanup

 - dove
    - some DT node updates (depends on irqchip/clocksource DT changes earlier)
    - add the D2Plug board

* tag 'boards-3.12-2' of git://git.infradead.org/linux-mvebu:
  ARM: dove: add initial DT file for Globalscale D2Plug
  ARM: dove: add GPIO IR receiver node to SolidRun CuBox
  ARM: dove: add common pinmux functions to DT
  ARM: dove: add cpu device tree node
  arch/arm/mach-kirkwood: Avoid using ARRAY_AND_SIZE(e) as a function argument
  ARM: kirkwood: fix DT building and update defconfig
  ARM: kirkwood: Remove all remaining trace of DNS-320/325 platform code
  ARM: kirkwood: use dts pre-processor for mv88f6281gtw-ge
  ARM: kirkwood: convert the mv88f6281gtw_ge board to DT
  ARM: kirkwood: remove LaCie boards that are supported through DT
  ARM: kirkwood: remove support for legacy booting of Sheevaplug
  ARM: kirkwood: remove support for legacy booting of Guruplug
  ARM: kirkwood: remove support for legacy booting of Dockstar

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-15 23:29:38 -07:00
Olof Johansson
fea67d3dfd mvebu soc changes for v3.12
- mvebu
     - cleanup redundant code
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSC9mvAAoJEAi3KVZQDZAeQlsH/jNKcW6zOYCQkPJQL7rqlhcY
 P5xftA4N1fB10DyNtkvyxnGykQ5c/04tMnjCv9pz4FbvdcygB5NY4aJibugSVCL3
 5vSEXDjJU3Jk3IWL8rWy2eggGtqMuy9NiliHErM45VBmXGoqzL1eLu6ThpqfPAEr
 GNwnGvvI5fGXR/vHqo5HiRSmFVcLhvrzHSgoBclahqh6edaQ/0RxLqOC44BwaH7b
 RoNoxt6TpFg+8sb/p8jfpLKQD9CTFPb4q66KQhVq0Fqr01yw4Jr0jE+QSNp8d2BM
 jE1eN62ov+5C+bcfMPmhMgroxUtXVv/LEMrGQjwulrjLBwif3OYHOcgSnEnbAQ4=
 =OgcY
 -----END PGP SIGNATURE-----

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

From Jason Cooper:
mvebu soc changes for v3.12

 - mvebu
    - cleanup redundant code

* tag 'soc-3.12' of git://git.infradead.org/linux-mvebu:
  ARM: mach-mvebu: remove redundant DT parsing and validation

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-15 23:26:49 -07:00
Olof Johansson
f668adebf4 mvebu drivers changes for v3.12
- MBus devicetree bindings
  - devbus update for address decoding window, cleanup
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSC9AMAAoJEAi3KVZQDZAeEskH+gLbu4awN//ItLxqdOjCffs1
 o3N7C21SjAuGrueSxLFcYxLXk6XhM1x3mAEjvvbd1ze1yyKIY21PQGkwtjrxQxr5
 DbRtz8slgFte9jnOtUQ9gfSM8Q4PsOT4oPtj6tFc9DREIhX8uZtDxLn5YVNsD1MI
 hLxKbL9OHUxtwQ6aM7IdyMmYXkmLVaBUZFJ7f86CH8oVRJXLcqYzVdLrOUmbRdBX
 GpB6hAnSqx2spfAYxI928Od+3PIRVW4qm724t0iLI+8xQmjCxIbIDz8sS2NKVM9G
 YowJ+im5dUI3Wv7l/huVi/r0mvQJJi6BL36c+O0YJUY7KeKT615zdeG3AekvB5g=
 =6spO
 -----END PGP SIGNATURE-----

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

From Jason Cooper:
mvebu drivers changes for v3.12

 - MBus devicetree bindings
 - devbus update for address decoding window, cleanup

* tag 'drivers-3.12' of git://git.infradead.org/linux-mvebu: (35 commits)
  memory: mvebu-devbus: Remove unused variable
  ARM: mvebu: Relocate PCIe node in Armada 370 RD board
  ARM: mvebu: Fix AXP-WiFi-AP DT for MBUS DT binding
  ARM: mvebu: add support for the AXP WiFi AP board
  ARM: mvebu: use dts pre-processor for mv78230
  PCI: mvebu: Adapt to the new device tree layout
  bus: mvebu-mbus: Add devicetree binding
  ARM: kirkwood: Relocate PCIe device tree nodes
  ARM: kirkwood: Introduce MBUS_ID
  ARM: kirkwood: Introduce MBus DT node
  ARM: kirkwood: Use the preprocessor on device tree files
  ARM: kirkwood: Split DT and legacy MBus initialization
  ARM: mvebu: Relocate Armada 370/XP PCIe device tree nodes
  ARM: mvebu: Relocate Armada 370/XP DeviceBus device tree nodes
  ARM: mvebu: Add BootROM to Armada 370/XP device tree
  ARM: mvebu: Add MBus to Armada 370/XP device tree
  ARM: mvebu: Use the preprocessor on Armada 370/XP device tree files
  ARM: mvebu: Initialize MBus using the DT binding
  ARM: mvebu: Remove the harcoded BootROM window allocation
  bus: mvebu-mbus: Factorize Armada 370/XP data structures
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-15 23:10:31 -07:00
Olof Johansson
eb6095b246 Device tree related fixes:
- USB host numbering for 9x5 which was preventing from using all ports
 - a missing UART (not USART) clock lookup table was preventing from using
   them on 9x5
 - too large amount of memory was specified for 9n12ek
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSCz/bAAoJEAf03oE53VmQdrkIAMqkvFsaZ5RYEyincfvLq0vR
 Sms2rWsU2NEp00RoR9wFfz82nz0xKpC7b+TPupiSQTDh59xwM2ffOWIa+pKapXjg
 BhjnUtNFmASM8KmCnR1GzfxkHeYdv1KD6grp4oxCYyh/FPgFRo1CazLkLCe5JEyB
 reFRI/a+7cKV2xlwb4Z3I1f+eGJUXH80YIdrr34xblDMdkTs8IDcNigmkH4mDM2k
 BUK+8ZIm/oZQqkTfJqNkPD3ZwjWdDph64UndJNMuTDFoyP3UeJBsrfDu2aNp1N0Z
 v80+iTDaVhyouim6dI1jXkDFPUc0fc8MfPIXdyzkNB323IAVWyTBNAsS73V/HUI=
 =7J8D
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes' of git://github.com/at91linux/linux-at91 into fixes

From Nicolas Ferre:
Device tree related fixes:
- USB host numbering for 9x5 which was preventing from using all ports
- a missing UART (not USART) clock lookup table was preventing from using
  them on 9x5
- too large amount of memory was specified for 9n12ek

* tag 'at91-fixes' of git://github.com/at91linux/linux-at91:
  ARM: at91/DT: fix at91sam9n12ek memory node
  ARM: at91: add missing uart clocks DT entries
  ARM: at91/DT: at91sam9x5ek: fix USB host property to enable port C

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-15 22:53:14 -07:00
Peter Chen
0a03638852 ARM: imx: clk-pllv3: improve the timeout waiting method
There are two improvements for this commit:

- Add comparing pll lock condition after while loop. It can
fix potential fake timeout problem caused by the code is just
scheduled out before compare the timeout, and the time of
scheduling out are more than one jiffies.

- Move timeout assignment more close to compare the timeout.
It can reduce the possibility the code is scheduled out, and
the timeout can be more precise.

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:25 +08:00
Liu Ying
dfd871442e ARM: imx6: change some clocks to fixup clocks
All the clocks controlled by the register 'CCM Serial Clock
Multiplexer Register 1' should be fixup clocks. This patch
changes those clocks from basic multiplexer or divider clocks
to fixup clocks.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:25 +08:00
Liu Ying
a49e6c4b82 ARM: imx: add common clock support for fixup mux
One register may have several fields to control some clocks. It
is possible that the read/write values of some fields may map to
different real functional values, so writing to the other fields
in the same register may break a working clock tree. A real case
is the aclk_podf field in the register 'CCM Serial Clock Multiplexer
Register 1' of i.MX6Q/SDL SoC. This patch introduces a fixup hook
for multiplexer clock which is called before writing a value to
clock registers to support this kind of multiplexer clocks.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:24 +08:00
Liu Ying
cbe7fc8aae ARM: imx: add common clock support for fixup div
One register may have several fields to control some clocks. It
is possible that the read/write values of some fields may map to
different real functional values, so writing to the other fields
in the same register may break a working clock tree. A real case
is the aclk_podf field in the register 'CCM Serial Clock Multiplexer
Register 1' of i.MX6Q/SDL SoC. This patch introduces a fixup hook
for divider clock which is called before writing a value to clock
registers to support this kind of divider clocks.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:24 +08:00
Fabio Estevam
f025569322 ARM: imx: Select MIGHT_HAVE_CACHE_L2X0
Select MIGHT_HAVE_CACHE_L2X0 for armv6 and armv7 i.MX SoCs.

By selecting MIGHT_HAVE_CACHE_L2X0, the user still has the possibility to
disable CACHE_L2X0 selection via menuconfig.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:24 +08:00
Vincent Stehlé
10eff77074 ARM: imx: fix imx_init_l2cache storage class
This fixes the following compilation error:

  arch/arm/mach-imx/system.c:101:123: error: static declaration of ‘imx_init_l2cache’ follows non-static declaration
  In file included from arch/arm/mach-imx/system.c:32:0:
  arch/arm/mach-imx/common.h:165:13: note: previous declaration of ‘imx_init_l2cache’ was here
  arch/arm/mach-imx/system.c:101:123: warning: ‘imx_init_l2cache’ defined but not used [-Wunused-function]

Signed-off-by: Vincent Stehlé <vincent.stehle@freescale.com>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:23 +08:00
Huang Shijie
3da66bfb74 ARM: imx_v6_v7_defconfig: enable WEIM driver
enable the weim driver.
Since the NOR is connected to the WEIM for imx6q{dl}-sabreauto,
we also enable the MTD_PHYSMAP_OF module.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:23 +08:00
Shawn Guo
73dada7fe7 ARM: imx: use imx specific L2 init function on imx6sl
The optimized L2 prefect and power setting done in imx_init_l2cache()
can also benefit imx6sl, so let's call the function on imx6sl as well.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
2013-08-16 13:11:23 +08:00
Shawn Guo
e6a0756961 ARM: imx: let L2 initialization be a common function
Move imx6q L2 initialization function imx6q_init_l2cache() into
system.c, and rename it imx_init_l2cache(), so that other platforms
other than imx6q can also use the function.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
2013-08-16 13:11:22 +08:00
Fabio Estevam
8bba8303b0 ARM: imx_v4_v5_defconfig: Select CONFIG_MACH_IMX25_DT
Allow booting a mx25 dt kernel by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:22 +08:00
Fabio Estevam
c61665982d ARM: imx_v6_v7_defconfig: Enable VPU driver
Let VPU driver be selected by default.

VPU driver requires a SRAM pool, so select CONFIG_SRAM as well.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:22 +08:00
Philipp Zabel
a6fc9d194d ARM i.MX6DL: parent LDB DI clocks to PLL5 on i.MX6S/DL
i.MX6S/DL have the Video PLL post dividers fixed already in revision 1.0

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:21 +08:00
Fabio Estevam
9fe595be2c ARM: imx_v6_v7_defconfig: Enable LVDS Display Bridge
Let IMX_LDB driver be built by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:21 +08:00
Fabio Estevam
b59aae39cc ARM: imx_v6_v7_defconfig: Enable FSL_LPUART support
Enable the FSL_LPUART driver as it is used by the VF610 family.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:21 +08:00
Philipp Zabel
6d6fc5012a ARM i.MX6Q: Use ENET_CLK_SEL defines in imx6q_1588_init
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:21 +08:00
Fabio Estevam
17c4b89df5 ARM: imx_v6_v7_defconfig: Select CONFIG_NOP_USB_XCEIV by default
In order to get USB functionality on mx5 boards, we need to select
CONFIG_NOP_USB_XCEIV option, so let's enable it by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:20 +08:00
Sascha Hauer
dbf6719a4a ARM: i.MX6: add ethernet phy fixup for KSZ9031
The KSZ9031 is used on the i.MX6 based Data Modul eDM-QMX6
board. It needs the same fixup to the rx/tx delays as other
i.MX6 boards.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:20 +08:00
Sascha Hauer
12da484485 ARM: i.MX6: add ethernet phy fixup for AR8031
The AR8031 is used on the i.MX6 based sabreSD, sabreauto and wandboard.
All need the same fixup, so add it for all i.MX6.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:19 +08:00
Sascha Hauer
14078291d8 ARM: i.MX6: call ksz9021 phy fixup for all i.MX6 boards
In current U-Boot the sabrelite, nitrogen6x and titanium all need
the same fixup for the ksz9021 phy. Instead of limiting the fixup
to a single board apply them for all.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-08-16 13:11:19 +08:00
Mark Brown
a0b5f81e71 ASoC: samsung: Fix DTS breakage from missing dependencies
Revert "ARM: dts: Change i2s compatible string on exynos5250" (c7f7e6)
and "ARM: dts: exynos5250: move common i2s properties to exynos5 dtsi"
618728) since they reference DMA controller nodes that don't exist
causing DT build issues.

Reported-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-16 01:37:36 +01:00
Stephen Warren
8af3bbec75 ARM: tegra: add Mic Jack to Dalmore device tree
This enables the microphone input jack, and hence allows audio to be
captured as well as played back.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-15 09:35:19 -06:00
Stephen Warren
ac472284e3 ARM: tegra: add Mic Jack to Beaver device tree
This enables the microphone input jack, and hence allows audio to be
captured as well as played back.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-15 09:35:07 -06:00
Mark Brown
4210606b19 Merge branch 'topic/dma' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-pxa 2013-08-15 11:19:52 +01:00
Linus Walleij
2ce05a14bb ARM: ux500: fix devicetree builds
The patch set beginning with commit:
"ARM: ux500: Apply a ste-* prefix onto snowball.dts"
thru commit:
"ARM: ux500: Remove u9540.dts as it's been replaced"
altered the names of the ux500 device tree files but forgot
to:

- Rename the ccu8540-pinctrl.dtsi file

- Update #include statements from files using these
  files, so the build broke.

- Update the Makefile for the device trees so the build
  broke.

Fix it up so we can build them all again.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-14 22:32:07 +02:00
Rafael J. Wysocki
ee42f75dba Merge back earlier 'pm-cpuidle' material. 2013-08-14 22:18:04 +02:00
Nicolas Pitre
fac2e57742 ARM: vexpress/MCPM: fix cache disable sequence when CONFIG_FRAME_POINTER=y
If CONFIG_FRAME_POINTER=y we get the following error:

arch/arm/mach-vexpress/tc2_pm.c: In function 'tc2_pm_down':
arch/arm/mach-vexpress/tc2_pm.c:200:1: error: fp cannot be used in asm here

Let's fix that by explicitly preserving r11 on the stack and removing it
from the clobber list.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 13:05:42 -07:00
Daniel Mack
6446221c14 ARM: pxa: ssp: add pxa_ssp_request_of()
Add a function to lookup ssp devices from device tree. This way, users
can reference the ssp devices in order to register to them.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:54:30 +01:00
Daniel Mack
1c459de1e6 ARM: pxa: ssp: use devm_ functions
Use devm_ functions to allocate memory, ioremap, clk_get etc to clean up
the error unwind path.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:54:27 +01:00
Daniel Mack
a6e56c28a1 ARM: pxa: ssp: add DT bindings
This patch contains an ugly hack for looking up the the DMA request
number. The problem here is that the implementation as it stands will
allocate the DMA channel from the user of the ssp port, and hence we
cannot allocate a real channel here.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:54:23 +01:00
Daniel Mack
970d8a7152 ARM: pxa: ssp: add shortcut for &pdev->dev
No functional change, just a cosmetic cleanup.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:54:20 +01:00
Daniel Mack
64be28146f ARM: pxa: ssp: remove unnecessary warning on kzalloc() failure
The memory subsystem will already complain loudly enough in such cases.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-14 19:54:12 +01:00
Olof Johansson
f2d6e550a2 Merge tag 'renesas-soc2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Second Round of Renesas ARM based SoC updates for v3.12

* Increased clock coverage for r8a7740 and r8a7790 SoCs

* tag 'renesas-soc2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7740: Add TPU clock entry for DT platforms
  ARM: shmobile: r8a7790: clocks for Ether support
  ARM: shmobile: r8a7740: Fix TPU clock name
  ARM: shmobile: Insert align directives before 4 bytes data
  ARM: shmobile: Force ARM mode to compile reset vector for secondary CPUs
  ARM: shmobile: fix compile error when CONFIG_THUMB2_KERNEL=y
  ARM: shmobile: Update romImage to relocate appended DTB

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 11:09:47 -07:00
Olof Johansson
fc5d46222f Merge tag 'renesas-soc-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
From Simon Horman:
Renesas ARM based SoC updates for v3.12

* Setup arch timer based on MD pins on r8a7790 SoC
* Thermal driver support for r8a7790 SoC
* Make arch timer optional for r8a7790 and r8a73a4 SoCs
* CMT10 clock event for r8a7790 and r8a73a4 SoCs
* Increased clock coverage for r8a73a4 SoC
* MMCIF DMA definitions for r8a7740 SoC
* Disconnect SMP code from clocks on emev2 SoC

* tag 'renesas-soc-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (49 commits)
  ARM: shmobile: Setup r8a7790 arch timer based on MD pins
  ARM: shmobile: Introduce r8a7790_read_mode_pins()
  ARM: shmobile: r8a7740: add MMCIF DMA definitions
  ARM: shmobile: Disconnect EMEV2 SMP code from clocks
  ARM: shmobile: Make r8a73a4 Arch timer optional
  ARM: shmobile: Add r8a73a4 CMT10 clock event
  ARM: shmobile: Make r8a7790 Arch timer optional
  ARM: shmobile: Add r8a7790 CMT00 clock event
  ARM: shmobile: Sort r8a7790 MSTP entries
  ARM: shmobile: r8a73a4: add clocks for I2C controllers
  ARM: shmobile: r8a73a4: add Z2 clock support
  ARM: shmobile: r8a73a4: safeguard against wrong clk_set_rate() uses
  ARM: shmobile: r8a73a4: implement CPU clock scaling for CPUFreq
  ARM: shmobile: r8a73a4: wait for completion when kicking the clock
  ARM: shmobile: r8a7790: add thermal driver support
  ARM: shmobile: r8a7790: add clocks for thermal
  ARM: shmobile: Add SMSC ethernet chip to KZM9D DT reference
  ARM: shmobile: KZM9D DT reference implementation
  ARM: shmobile: r8a7790: add MMCIF and SDHI DT templates
  ARM: shmobile: r8a73a4: add MMCIF and SDHI DT templates
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 11:09:46 -07:00
Barry Song
e1c0e1a39c ARM: prima2: pm: drop redundant postcore_initcall
This will delete some redundant calling of sirfsoc_of_pwrc_init() and
sirfsoc_memc_init() for non-CSR platforms if we use multi-platform.

Cc: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 11:09:45 -07:00
Xianglong Du
fe74f7801a ARM: prima2: pm: enable rtc alarm0 and alarm1 as wakeup source
This patch also enables RTC alarm as wakeup source after system suspends.

Signed-off-by: Xianglong Du <Xianglong.Du@csr.com>
Signed-off-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 11:09:44 -07:00
Kevin Hilman
080e3da4f4 Merge branch 'zynq/dt' into next/dt
* zynq/dt: (1054 commits)
  arm: zynq: dt: Set correct L2 ram latencies
  + v3.11-rc5

Conflicts:
	arch/arm/Makefile
2013-08-14 08:14:50 -07:00
Olof Johansson
3b6250e707 Renesas ARM based SoC boards cleanups for v3.12
* Add __initdata annotations to lager board
 * Add __initconst annotations to ape6evm board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAa6qAAoJENfPZGlqN0++AscP/jQ4YPCPBnbfX7sP3pQlXtq3
 oh/iklULbtHagp8KffyZwXNT8lGJIDtZ+L9NW3HhuaTF+jC5h04woNUhJlDBuUM6
 wRTWSur29O/6rLsnJLz5IVKZq4WeMsW7N3A/bMcLwD2qOr360KF4GXtyq+CCtN4A
 IXsmjj+6/frt+0Ttd0BRDzaDOkVsfc+yL2/cuj3Fpv44B6lBhO2qygpiDAgFtbHu
 YhpUFbWoNQ45qJd2gKIyTmfYmNZOnjpBTQeIU+oZ7sSRLiOWHNkHyeyCNi9b3XYn
 UvHxiGyCgUA6c6km+cyVc72f9kyybPi8i2vrCOz0zhTHk271jtHxSHjbAKsTUruo
 A4LLVuS5fhUGUYXh/ajWyxTJgXP8SIa+gdv/YJEk8htbQ1EJSysTVf+WjHzWwTQv
 I89Cfjzwg70R+Y4HJhUqwaFadJ3Qr8cez/eLtd0m4DLcTnxvfRbdrL/MHFfUTgzq
 h616lY5XgfWm/4NK2IddUT3oYi1aN6H3AvsQyRTaOD8KLRSkLVGv4l5gESPBQW2o
 h4VhxmVBZxvdVHfIDZ4bJs2kK92ubeXilvSVy6wFJkCkjAL8AFV4QnFvVjxe5vfv
 HLYcLAe4UUg6NTKMmBRT9QSZTS4EE4QwlzAkPPg4meF09utNyEQzMg9ysW4vuA8L
 /r4D6zhXN9/eXF6XV/md
 =HhDS
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Renesas ARM based SoC boards cleanups for v3.12

* Add __initdata annotations to lager board
* Add __initconst annotations to ape6evm board

* tag 'renesas-boards-cleanup-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: lager: add missing __initdata
  ARM: shmobile: ape6evm: add "__initconst" annotations where needed

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 01:12:07 -07:00
Olof Johansson
70ba4d285a Second round of Renesas ARM-based SoC board updates for v3.12
* Enable ether on lager board
 * Enable GPIO LEDs and switches on ape6evm board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAaWuAAoJENfPZGlqN0++bUoQALJQutZd8seRYADRQID+tlMV
 QPdvoZefnigoBQn9+bWOPOz3XjdqPS35r65caKthLeurtms+0/N6OxToMiaMoAqL
 RPgXBin2xMwl4awHojK6BtxOr9OF0qDcTCDj8kHgBvb2aAcV/e7DPnOsSPDEhwgM
 GlMpjL+DxR0/PwZnBIrgvcW5v+DzImr6o2Nrc3jCCyRpEcrVvcKpU0eFAdLFu32/
 VlFuB7sHaLQubEQwG7GJMFsv7+y0W1kPKTl2XqCQa1Z8km78u9DgeLVLaeFIn4eQ
 gT7zdcA2uS1jVBIVTrx7Z7B78sw1B4dgW8vGsLHIneVASpgMxw/ArD5b8eEyUIX2
 ccXxs5fhCRB3jH/8wYTCa0qgElXw4n90VUYGXf5/QgA8qx003nU4SjxuE3XUR2wP
 dKBxDAYitq5P2YtFFr6UkvcJQf64aq3lbp+fkmQgSeKGPoGeAmZGsefmuTZAmWVY
 uCJr/HUTrEnUb29x5MZRclFuPgZMDUJ1NN0UnPIqQIBf27N9IfAe41ZasYRbQ5ag
 AN80ga9CaWhFBbJEZN/0UWop2IMhxwfBz8fPh7jAcWZ5CvStNPbWNTe1FgGi+D/X
 OemTfknjo286gbb2EIJnlZNuYZ1tVE00FIta0jNnub5JwK6nVrkHFOS2DweEXFkP
 z3GRYbJm7jE19S2T17Kq
 =pEy9
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Second round of Renesas ARM-based SoC board updates for v3.12

* Enable ether on lager board
* Enable GPIO LEDs and switches on ape6evm board

* tag 'renesas-boards2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: lager: enable Ether
  ARM: shmobile: ape6evm: Add GPIO LEDs
  ARM: shmobile: ape6evm: support GPIO switches

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 01:10:52 -07:00
Olof Johansson
6b08e4370c Renesas ARM based SoC defconfig updates for v3.12
* Enable GPIO LEDs and keys for ape6evm board
 * Enable ARM_APPENDED_DTB for marzen board
 * Add lager defconfig board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAbA2AAoJENfPZGlqN0++ZTcP/3kNOc/gcGXxwn+PpbZBaBdV
 ZaJGGdOmfOBm6FVJrRi30gLZBe7Bi7PJrCNeNt1d53DVR48i2pHjlIcJX0gQ0/rj
 eAJkWIDT43wTU+huu4UMLZhC5PZ12vJ0nHc8SqBBhYJdwvOfEW6BHFvs1meEVdXD
 Bz58ijwHQJ1oOYkFejLQFU52lyU/uCSrErMwqS0CjnUdEW50aKPGYoF/53Vg5Ofl
 mTLbcw0JKUFOqliHI5HClygRPMDST9nRiyJLvJ0LjyrQvSmtACO8oZHYqblzucC9
 SepDTk2qRsC5TbvIj0J78GWiIfXpyDLEYowfc+8u9U3uVutwFnqWzuFEff/oa3DY
 KNBeuAblDTUiNwXJkh+HE3+XVp0/GGXlQrzCXh/UNJiHw/LN4y3y4bTTPh9ri6kP
 t2wyS3Uv+2c/oMeH1coVHyXNiJQ2ZLkhXlbLnCRnvIRXIyQDG072FXE3uCKl9bXk
 jvBYxj6VyDMTmq1IlkXxvIpwl2zOx+K5Y73vjO5jrMHvLdSSCqtq+SL8YhxjIV6R
 CxF+Rs/Oz188JresAM9rAYLaqCKnAZLka06pfzyvwqzX6MsG2TdaJRyskMRigWYG
 e3ZY+rCkt9Sf2CVud1LDTYk6TkS2aINAH9pbEbLomEIhkZrgqdZJgL6M/c+agVE3
 9NzOrU13cHdl4mcS/hby
 =N9gZ
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Renesas ARM based SoC defconfig updates for v3.12

* Enable GPIO LEDs and keys for ape6evm board
* Enable ARM_APPENDED_DTB for marzen board
* Add lager defconfig board

* tag 'renesas-defconfig-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: ape6evm: Enable gpio-leds in defconfig
  ARM: shmobile: ape6evm: Enable gpio-keys in defconfig
  ARM: shmobile: Add lager defconfig
  ARM: shmobile: marzen: Enable ARM_APPENDED_DTB in defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 01:02:48 -07:00
Olof Johansson
4319f78f42 Second Round of Renesas ARM based SoC fixes for v3.12
* Fix compiler warning in armadillo800eva board code
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR+hlKAAoJENfPZGlqN0++ZqIP/ROWsUVzS35U3MhMdYps4fh0
 9Vq8qwqnGVRK8UVBtf1XmETn7RSzowm0uLFDN0Rgxgo3E4ZgDAk5ux0yBrz5q9v9
 sYrwuODr3SLSvoHTt3+Bt0C30+CYdA+Lxue4ToMOuP/hvPa6E680ZmwYoP/q+/bR
 aU9i4ToAF9+fXUIkLEl9s/wI9Lkt4davioy/HWayLJ/2Fgn8xzWIgSQ/BADaMyRv
 Ds6OmgxG1ibOcdT9RRXHSKxYkwm8obERNZHgIWPd+XDwmvF915gWTQ2XQgDhyjvn
 VNq1aNYcPeqnjMN/EZZ/X+CMNwAVxmCE8ijXVkMrp8XnH7D+J/vO5rHhVuJfRtIE
 NP+mi3VOCw2YQsXabCuK3bK2r2P42Pnm9gjW1iCVQAnmc7b+kAHyufVs7M6ezlKm
 aFXNOcx2S3ZgnJbjzVAGayia0datDQOgEqA0zqCeZaaK05Gz/wNB/97zq4mF1ERh
 YF7bAtgiJ3FHIuEEfzBexBWx20m2Xh09MwI8t6L58RHR5htuRBhbQ0ukwtgK8kSW
 pq0XPQXHY9EKEdQKBLNaHFDH0GdgFUrfZdpiWNRK9O7sI08iNYEFskSTrbWKyRLW
 Izafj1nPvX3v9L9hIJoxljnPkxr1lFs6pJ6NplUosmssyhrQfcGWxyn8nKWH0ram
 SubsL+kwysscqIxEvgpq
 =SW+C
 -----END PGP SIGNATURE-----

Merge tag 'renesas-fixes2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/fixes-non-critical

From Simon Horman:
Second Round of Renesas ARM based SoC fixes for v3.12

* Fix compiler warning in armadillo800eva board code

* tag 'renesas-fixes2-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: armadillo800eva-reference: fix compiler warning

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 00:59:46 -07:00
Emilio López
629ae88e9c ARM: sunxi: dt: Add device tree for Mele A1000
This adds a device tree usable on Mele A1000 (and A2000, as it
apparently is the same device except for the case). This device features
one UART port, Ethernet, an AXP209 PMU on i2c0 and two user configurable
LEDs.

Signed-off-by: Emilio López <emilio@elopez.com.ar>
[maxime: fixed the soc node address]
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-14 09:59:20 +02:00
Nicolas Ferre
a57603ca28 ARM: at91/DT: fix at91sam9n12ek memory node
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable <stable@vger.kernel.org> # 3.5+
2013-08-14 09:56:31 +02:00
Olof Johansson
74f1994697 Renesas ARM-based SoC board updates for v3.12
* ape6evm: Add SDHI and MMCIF support
 * lager: Add MMCIF support
 * armadillo800eva: Add DMA support for MMCIF
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR94AgAAoJENfPZGlqN0++K2MP/2U8ypuihBw6aeziLVbWOP7C
 gWMbEXrxb5DRhTbtoXnpxK6gRTWUHOJjtLR/ecstCF6qhRABeHNjSeN+/PwcIaS0
 LVRzlFX70EqHQ9yOlYu8rxZq2R/uSKKaS6ptX/v7cd7amNvaqlILH0oexo52RyMA
 H+aSgQKtUKFA5idUQddigNAyJiaD73z3flOh+awY/sSgG1Z8f6Ou1eF9n/fijrRM
 6FmJQe2ONeEvLnHB55gMJoqREMFx45r4eC+OHTZBJSvczHcbAdP5zBcFJzilgMvZ
 R2Hm7tvO7UVk2dJMNSWBXWnEuEpig9q4c32JrPFmP8aAKlXf+Q3bIZbdbzQt74Wj
 SuQNRG+FnEE+vKvN3n7NcBz9SOPFjDZL5Zia1TZXNxuDCr0SnaCMOu2OLFqZd8uh
 lYnr0WhfL+ashoCgmdNYapKy8JD2RnVYID1ppi3gXXzulhBK01bg6Dtxq2n4Cse6
 Mw6if8Jn6e3SPm/CRg0MV93gmgI+R8Xvyzxcyy3xPri3VcwNP0Qpui7ZkSfajIpn
 YHStnnDsx7QbDiRLb9Io1K+XWiRXNn2BCCNj7InjktPbUD3wHcQBUhNBTZLvrtQ8
 R/pTXB0dwke2CFOxPnX/S/tvIa3c6/vnKBmUg4U9wGqUvZTcrF/lsKLmcA+6NDTo
 JBNgzgdUstj+2o3J5pbE
 =M6ys
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Renesas ARM-based SoC board updates for v3.12

* ape6evm: Add SDHI and MMCIF support
* lager: Add MMCIF support
* armadillo800eva: Add DMA support for MMCIF

* tag 'renesas-boards-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (54 commits)
  ARM: shmobile: ape6evm: add SDHI interfaces
  ARM: shmobile: ape6evm: add MMCIF support
  ARM: shmobile: select the fixed regulator driver on BockW
  ARM: shmobile: lager: add MMCIF support
  ARM: shmobile: armadillo800eva: add DMA support to MMCIF
  ARM: shmobile: Setup r8a7790 arch timer based on MD pins
  ARM: shmobile: Introduce r8a7790_read_mode_pins()
  ARM: shmobile: r8a7740: add MMCIF DMA definitions
  ARM: shmobile: Disconnect EMEV2 SMP code from clocks
  ARM: shmobile: Make r8a73a4 Arch timer optional
  ARM: shmobile: Add r8a73a4 CMT10 clock event
  ARM: shmobile: Make r8a7790 Arch timer optional
  ARM: shmobile: Add r8a7790 CMT00 clock event
  ARM: shmobile: Sort r8a7790 MSTP entries
  ARM: shmobile: r8a73a4: add clocks for I2C controllers
  ARM: shmobile: r8a73a4: add Z2 clock support
  ARM: shmobile: r8a73a4: safeguard against wrong clk_set_rate() uses
  ARM: shmobile: r8a73a4: implement CPU clock scaling for CPUFreq
  ARM: shmobile: r8a73a4: wait for completion when kicking the clock
  ARM: shmobile: r8a7790: add thermal driver support
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 00:54:46 -07:00
Olof Johansson
e91f24ae02 Renesas ARM based SoC multiplatform updates for v3.12
Move Renesas ARM based SoCs a little closer to using
 multiplatform by adding ARCH_SHMOBILE_MULTI and only
 building clocks when COMMON_CLK=n.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR90vlAAoJENfPZGlqN0++Q3MQAImhPlPcqU4PoMyUQSAG/hj1
 V7pwYjKLTLxGi4WGyqLnFrSvNUKhKLDUa0kv6iiccOuppc3xU6XDKMyQt2b8F3UN
 Xod1oX74hQasX6dMUuAbuVFX+vfIms81Pk76Jx0nVRIEzuBSgl+JPP0A3VdDXpHo
 zUVBH788juW3j6Uihm6dQSoIfSAnRGR2j/04qrMXlJ4WycYPya205I3HIDPOe7kj
 TMOU3jBzB9051LyggDrDXjUEvtqJDvOJ32KeFHXnCiSLitbi1MEFPxkl5ldDYAEt
 4CmrZanTfWpR9pCVwN4PLKs6BXAn/YOD55vFeB92gCT3/cCG/HYeyrW2JsmMbrhm
 BaxRPFGdYsfVOj9+waqZMsvmvi9NluuxJ5Pne/ENxn6Yn0IlXF4pfcYzWLoNa55u
 3r5EQumfPkfdCn3J1XIkbYMXhBMbQnUHbCqrk6PD2ovlsJwYvbiVkunsJohOsKcG
 ARKhGoBJ0QCp9MU9wLjGKyVtJKvejCZdpN8E8gavGcFRJJpT7GwElp6wp4brhqIs
 xUC/8GAZAk7U45K1DRU7ZX+87muKRQ0lR0brYaQmH/KvfT4bPINFx3G9yIwICG7h
 tDZjMGQXYFTNpbaAbSoSggE1ZaowzLo9RaHBBbFfRuES8ik6nx2ev9smKrSupq4s
 lWz7rgsy5be8pX4DRibR
 =QD0i
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Renesas ARM based SoC multiplatform updates for v3.12

Move Renesas ARM based SoCs a little closer to using
multiplatform by adding ARCH_SHMOBILE_MULTI and only
building clocks when COMMON_CLK=n.

* tag 'renesas-multiplatform-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Allow ARCH_SHMOBILE_MULTI timer configuration
  ARM: shmobile: Add EMEV2 and KZM9D to ARCH_SHMOBILE_MULTI
  ARM: shmobile: Introduce ARCH_SHMOBILE_MULTI
  ARM: shmobile: Only build clocks when COMMON_CLK=n

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 00:46:07 -07:00
Olof Johansson
13b837999f Renesas TPU PWM support for v3.12
Add Renesas TPU PWM unit support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR7xykAAoJENfPZGlqN0++AzsP/jVu+QI3nK/mOpmabdMJpqDh
 I8zhGiXHt11vY8RTt0zawQJ8VapUXA/jX1g+4lmxpXpZJYr5f1n0IUvtI73OjbNF
 17icq1H/TGhgu99etA/QlC94FRcoeNPX93fBM7e0givZaF9wJ0LLpRwpnPMmBgyZ
 FzvKTtHQbHSeXYdzgRtMmtgni3RKN/YIl1tqFfpkeIQCxJZC7SAkwbMEm/SYE93p
 BxsT9kSUiSUUsT8EAygTm7XmbLpLbMJ6BYEq230uy3comkWTcB+ax6jETXPFkeTG
 q/s5Qp+JvPtft4wS580wepZriRlgVrQH2fveNYDsBtCLDrxrrPZMknJyByQkjskb
 6fq3jBCVHKuReh3Vhwq+9cvhaDJ5Sr41tzPnE9gKbc6qkaW4QDrDKbWXnQWHolun
 UzvII9Wc53h3bhdmeHhujC38GgNTIuDZyPNazRKeCY/L0Yrcb5JwXFj+h9rjryAg
 sqHjoS3srGUobysRzD1syNi4Z6ft5hxxn6Vwn/MqT4HwnWyXHM/GWgVAv5msRXQ8
 MoAYZNDnR4A0sDiulkZUXN4HeqOVBD2WVWRKvycElwOQSDbZuDrjBpOdsETIwNg9
 JiNwuB9KhSNGu6IQ/S0IIYd9m0uzqR96vXFmvkyqII/qEVv4Pp1TS/gN74K5vtvi
 hmJo1Qb9oVQnov27mfSm
 =dAIB
 -----END PGP SIGNATURE-----

Merge tag 'renesas-tpu-pwm-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/boards

From Simon Horman:
Renesas TPU PWM support for v3.12

Add Renesas TPU PWM unit support

* tag 'renesas-tpu-pwm-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  leds: Remove leds-renesas-tpu driver
  ARM: shmobile: sh73a0: Remove all GPIOs
  ARM: shmobile: kota2: Use leds-pwm + pwm-rmob
  ARM: shmobile: armadillo800eva: Add backlight support

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-14 00:33:54 -07:00
Boris BREZILLON
b524f38970 ARM: at91: add missing uart clocks DT entries
Add clocks to clock lookup table for uart DT entries.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Tested-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-08-14 09:26:03 +02:00
Olof Johansson
55689bfa21 Renesas ARM based SoC pinmux updates for v3.12
SH Mobile pinctrl DT support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJR7x2SAAoJENfPZGlqN0++TSMQAK8jwFDHgLwTgqVzBy59OwK4
 w9Ou1Jj2Fu6tRaOKjATDc/lrt/kAqifhBLvUX5VFccxa5TLBc8w/KVsrOvi3aN0Q
 ns447EsCmMqfVF1EwYFxro9mYpvwPB92+IsABdN3lWSZyqVrSCy8hs/4q3ozDqu5
 4rfhFRWWzOJ3G5D+U7ZCbKsgSud6IB3eicYbBHVvrF3AJwgddCneN61q5WKTpiae
 ah3EIPO1RtprdSCq9MtIliX0PFALtcKfGTz7dcPCdUy5H0wZf5X8/NvMlYiqnf4X
 0BTAlsR14R1vCZF04oSMQPlwI1YfuvX/QrlESQuI/vD4FwU32SFC44iYJtpKS6s2
 sSfEeU66gGQyTpbX4OkwHX1ws68d0gsOB0lXb01i6kZnavFUrMOLLWmFxBmgnFSU
 /PCA7YiFdGjiTduVwpFmPI5l+1m7solHSLiw7iMN5dBlGIruEseSPQl9ovC7cGUc
 bZU2VxHe/Xxyg9O6WWjsV8XVC05V+r79L0/bPdxIFzi1W4mjK0dqyya243TyJRKD
 20TAdmlmkW+J/gpaJpISKftn0mcE1/DEkz0XpzYWc/WgYEOnD3gtad80ZB+dzq1W
 BblYm1dEON/qjNYW6KYXYyYgttR/QkZVSVWm08LPypxjGvihB+Sxwhrb3ivK/CtI
 IKBiqj17072aIseJbtFq
 =PwyZ
 -----END PGP SIGNATURE-----

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

From Simon Horman:
Renesas ARM based SoC pinmux updates for v3.12

SH Mobile pinctrl DT support

* tag 'renesas-pinmux-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: kzm9g-reference: Add LED1-LED4 to the device tree
  ARM: shmobile: kzm9g-reference: Move SDHI regulators to DT
  ARM: shmobile: kzm9g-reference: Move pinctrl mappings to device tree
  ARM: shmobile: marzen-reference: Add LED2-LED4 to the device tree
  ARM: shmobile: marzen-reference: Move pinctrl mappings to device tree
  ARM: shmobile: armadillo-reference: Add LED1-LED4 to the device tree
  ARM: shmobile: armadillo-reference: Move st1232 reset GPIO to DT
  ARM: shmobile: armadillo-reference: Add st1232 pin mappings
  ARM: shmobile: armadillo-reference: Move pinctrl mappings to device tree
  ARM: shmobile: sh73a0: Add pin control device to device tree
  ARM: shmobile: sh7372: Add pin control device to device tree
  ARM: shmobile: r8a7790: Add GPIO controller devices to device tree
  ARM: shmobile: r8a7790: Add pin control device to device tree
  ARM: shmobile: r8a7779: Add GPIO controller devices to device tree
  ARM: shmobile: r8a7779: Add pin control device to device tree
  ARM: shmobile: r8a7778: Add GPIO controller devices to device tree
  ARM: shmobile: r8a7778: Add pin control device to device tree
  ARM: shmobile: r8a7740: Add pin control device to device tree
  ARM: shmobile: r8a73a4: Add pin control device to device tree

Signed-off-by: Olof Johansson <olof@lixom.net>

Conflicts:
	arch/arm/boot/dts/r8a73a4.dtsi
	arch/arm/boot/dts/r8a7790.dtsi
2013-08-14 00:24:05 -07:00
Olof Johansson
8b2496a228 Here is the Samsung PWM cleanup series for you. Particular patches of the
series involve following modifications:
  1) fixing up few things in samsung_pwm_timer clocksource driver,
  2) moving remaining Samsung platforms to the new clocksource driver,
  3) removing old clocksource driver,
  4) adding new multiplatform- and DT-aware PWM driver,
  5) moving all Samsung platforms to use the new PWM driver,
  6) removing old PWM driver,
  7) removing all PWM-related code that is not used anymore.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQIcBAABAgAGBQJSCT7XAAoJEIv3Hb8G/Xru/rcP/012END3oSxl+G1C0akZ+1Ko
 uZZXib9c1g7TzsE2lR1YRyZvKIylMEiETEupIf0gnliulSfQFKYN+0FMbqVfdYXZ
 fKYRA6rJV/b+lu6cY6E0Q12uXH1Cbrgk5Puqx09AXiR142E2DgCpt0A0aagYDff3
 P5nNxs1TcBTWcRdFgE5YytkdNtd9W5V87FEzctj4ENByXtayadcFPLjucmgfyrPo
 m763wmkoo6drnOnmpg+38yRKPm725tVami2Z0XN6FeFC7BYXa6VfqBdSkuhx8KDQ
 BbO2BUQeaLhpNM1LICfhD0w9VTXhPBLP1GA3qnNa9JCw+vO6dQEPwzMG9+gSKdqa
 jeFM9Vz11bqWfo5scI/5/tUxx2WOSqG3mq3LfMFKjRW6UCrUkVBYvBQCKHK6BF22
 Bnh5o5wpZDEHUJqjgdUeY+hjU6vhGTxa7VERZ1vBDn5h1EyLGq7YzLdEFdhaxRAk
 TShtoNXi7gD9JhoJkR5I4el5+I05sCdDS4NNNfoYTb2b/zxTpGzy+lZpBk3HuE+A
 fbe5zJVL4wsU88Li2vQ2oIUXOW2TIJDXAC1zV7N9GuIrDPxSPIoDcaFX68Ydfxy1
 h7jzXCxTgJdVXQV4An8aviQ4CIOtKkiWFoFlArS2CrroHhHYwhQznlwHQ1R7YTI1
 3ICxJdK4uPfQ1HQZQcxR
 =xmmW
 -----END PGP SIGNATURE-----

Merge tag 'v3.12-pwm-cleanup-for-olof' of git://github.com/tom3q/linux into next/cleanup

From Tomasz Figa:
Here is the Samsung PWM cleanup series. Particular patches of the series
involve following modifications:
 - fixing up few things in samsung_pwm_timer clocksource driver,
 - moving remaining Samsung platforms to the new clocksource driver,
 - removing old clocksource driver,
 - adding new multiplatform- and DT-aware PWM driver,
 - moving all Samsung platforms to use the new PWM driver,
 - removing old PWM driver,
 - removing all PWM-related code that is not used anymore.

* tag 'v3.12-pwm-cleanup-for-olof' of git://github.com/tom3q/linux: (684 commits)
  ARM: SAMSUNG: Remove plat/regs-timer.h header
  ARM: SAMSUNG: Remove remaining uses of plat/regs-timer.h header
  ARM: SAMSUNG: Remove pwm-clock infrastructure
  ARM: SAMSUNG: Remove old PWM timer platform devices
  pwm: Remove superseded pwm-samsung-legacy driver
  ARM: SAMSUNG: Modify board files to use new PWM platform device
  ARM: SAMSUNG: Rework private data handling in dev-backlight
  pwm: Add new pwm-samsung driver
  pwm: samsung: Rename to pwm-samsung-legacy
  ARM: SAMSUNG: Remove unused PWM timer IRQ chip code
  ARM: SAMSUNG: Remove old samsung-time driver
  ARM: SAMSUNG: Move all platforms to new clocksource driver
  ARM: SAMSUNG: Set PWM platform data
  ARM: SAMSUNG: Add new PWM platform device
  ARM: SAMSUNG: Unify base address definitions of timer block
  clocksource: samsung_pwm_timer: Handle suspend/resume correctly
  clocksource: samsung_pwm_timer: Do not use clocksource_mmio
  clocksource: samsung_pwm_timer: Cache clocksource register address
  clocksource: samsung_pwm_timer: Correct definition of AUTORELOAD bit
  clocksource: samsung_pwm_timer: Do not request PWM mem region
  + v3.11-rc4

Conflicts:
	arch/arm/Kconfig.debug

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-13 23:33:07 -07:00
Alexander Shiyan
ea04dd3b47 ARM: clps711x: edb7211: Remove extra iotable_init() call
The keyboard driver for the CLPS711X platform is missing, so there
is no need to call iotable_init() for this memory region.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-13 23:29:16 -07:00
Alexander Shiyan
f09a417a4e ARM: clps711x: autcpu12: Remove incorrect config checking
This patch removes incorrect config symbols checking since these
symbols not contain "CONFIG_" prefix. Anyway, checking is unneeded
here and this patch remove it completely.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-13 23:29:14 -07:00
Alexander Shiyan
a0d3a2d92e ARM: clps711x: Drop fortunet board support
This patch removes support for the fortunet board.
This board is not maintained by long time and it seems
no one is not using it.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-13 23:29:11 -07:00
Alexander Shiyan
5104d2656d ARM: clps711x: Remove the special name for the syscon driver
This is a partial revert of the patch:
"6597619f9c ARM: clps711x: Add support for SYSCON driver".
No reason to make SYSCON driver name unique to that processor.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-13 23:29:09 -07:00
Stephen Boyd
b88a2595b6 perf/arm: Fix armpmu_map_hw_event()
Fix constraint check in armpmu_map_hw_event().

Reported-and-tested-by: Vince Weaver <vincent.weaver@maine.edu>
Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-08-13 16:57:24 -07:00
Kevin Hilman
38494429f3 Merge branch 'pxa/dt' into next/dt
From: Haojian Zhuang <haojian.zhuang@gmail.com>:
* pxa/dt:
  ARM: pxa: DTS: override gpio node in pxa3xx.dtsi
  ARM: pxa: fix DT auxdata for pxa3xx-gpio

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-13 16:49:41 -07:00
Daniel Mack
93c5a5b179 ARM: pxa: DTS: override gpio node in pxa3xx.dtsi
The gpio controller node inherited from pxa2xx.dtsi won't work for
pxa3xx SoCs, so let's override it in pxa3xx.dtsi.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
2013-08-13 15:51:02 -07:00
Daniel Mack
47288e0411 ARM: pxa: fix DT auxdata for pxa3xx-gpio
Commit f87311743 ("ARM: mmp: add more compatible names in gpio driver")
changed the DT match string for pxa3xx-gpio, but left the auxdata table
unchanged.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
2013-08-13 15:51:01 -07:00
Greg Kroah-Hartman
165f60642a usb: patches for v3.12 merge window
All patches here have been pending on linux-usb
 and sitting in linux-next for a while now.
 
 The biggest things in this tag are:
 
 DWC3 learned proper usage of threaded IRQ
 handlers and now we spend very little time
 in hardirq context.
 
 MUSB now has proper support for BeagleBone and
 Beaglebone Black.
 
 Tegra's USB support also got quite a bit of love
 and is learning to use PHY layer and generic DT
 attributes.
 
 Other than that, the usual pack of cleanups and
 non-critical fixes follow.
 
 Signed-of-by: Felipe Balbi <balbi@ti.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSCpApAAoJEIaOsuA1yqREJl0QAJ6SY4cOVcUrk0gMcbPcU6ah
 mhGJAzA5xcOrRzsrA/r9+mT4aN5zMtOmPtYNJGLgHxPxtmrkWDnUqnpUqBSCJXpt
 45GZTIY/TNbe0USteVg0sGz9y8FEokpcLsXk2bBpdnpb0eCC/6UiEl4kVgvNbtTu
 z8+vooY9O++Y5bcR6L5QJVBwm+YiIm/rReoLb17aYQCWVLkPvQ5J5dNdfRF/5FUS
 uzA4bZdcQCaUtzAAUroIL8z8TgVFOZUCrUalRCs7fE5+7gh9+i/JlVQKMuol/3rR
 1bfOdYwuG9XVu3iYKssRLSGUSUXU68ZviLBxwO24cz7EFkCxiKSF6+JT2PHrG1hj
 XPxPGuKx4zqn4Lol2KdE5iban9AdgN+2JgjwZ8w9hBob+O14HfRTafKRlwBc27Mt
 BiXJv+5mEVmAbi8Xya1w3J/mWHAh+Qxhi1SlPEyT5FfUG3b+2D/Kv1dgpApdVdYL
 BW3CFSBgkFK8+WYGifnkNYtjj0v8z0eDaEU0cPmpy2L1pKgL3czNMNv/rgSH6r2n
 ilF5kR05CkEYsP56ZpuYg0VYCkpchhW1REDwaMx/2Nt1W4GXRql15aAyN9CcS+v4
 Xq0HVOSDyOV4juEryi296DDJPid6COELP8UtsKQLD+3nmifQEB58/S0NdNXJWcqs
 GocgpeGXdnzyk5y14FdJ
 =3NS9
 -----END PGP SIGNATURE-----

Merge tag 'usb-for-v3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next

Felipe writes:

usb: patches for v3.12 merge window

All patches here have been pending on linux-usb
and sitting in linux-next for a while now.

The biggest things in this tag are:

DWC3 learned proper usage of threaded IRQ
handlers and now we spend very little time
in hardirq context.

MUSB now has proper support for BeagleBone and
Beaglebone Black.

Tegra's USB support also got quite a bit of love
and is learning to use PHY layer and generic DT
attributes.

Other than that, the usual pack of cleanups and
non-critical fixes follow.

Signed-of-by: Felipe Balbi <balbi@ti.com>

Conflicts:
	drivers/usb/gadget/udc-core.c
	drivers/usb/host/ehci-tegra.c
	drivers/usb/musb/omap2430.c
	drivers/usb/musb/tusb6010.c
2013-08-13 15:28:01 -07:00
Kevin Hilman
bee22087fa Merge branch 'msm/cleanup' into next/cleanup
From David Brown <davidb@codeaurora.org>:
* msm/cleanup:
  ARM: msm: Only compile io.c on platforms that use it
  iommu/msm: Move mach includes to iommu directory
  ARM: msm: Remove devices-iommu.c
  ARM: msm: Move mach/board.h contents to common.h
  ARM: msm: Migrate msm_timer to CLOCKSOURCE_OF_DECLARE
  ARM: msm: Remove TMR and TMR0 static mappings
  ARM: msm: Move debug-macro.S to include/debug
  ARM: msm: Don't compile __msm_ioremap_caller() unless used
  ARM: msm: Remove unused and unmapped MSM_TLMM_BASE for 8x60

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-13 15:12:20 -07:00
Rob Herring
364230b995 ARM: use phys_addr_t for DMA zone sizes
In order to specify a DMA zone size of 4GB on LPAE systems, the sizes need
to be 64-bit. So make machine_desc.dma_zone_size and arm_dma_zone_size be
phys_addr_t instead of unsigned long.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
2013-08-13 15:52:33 -05:00
Christoffer Dall
8947c09d05 ARM: 7808/1: KVM: mm: Get rid of L_PTE_USER ref from PAGE_S2_DEVICE
THe L_PTE_USER actually has nothing to do with stage 2 mappings and the
L_PTE_S2_RDWR value sets the readable bit, which was what L_PTE_USER
was used for before proper handling of stage 2 memory defines.

Changelog:
  [v3]: Drop call to kvm_set_s2pte_writable in mmu.c
  [v2]: Change default mappings to be r/w instead of r/o, as per Marc
     Zyngier's suggestion.

Cc: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:25:06 +01:00
Russell King
2a2822475d Merge branch 'security-fixes' into fixes 2013-08-13 20:23:28 +01:00
Stephen Warren
2103f6cba6 ARM: 7807/1: kexec: validate CPU hotplug support
Architectures should fully validate whether kexec is possible as part of
machine_kexec_prepare(), so that user-space's kexec_load() operation can
report any problems. Performing validation in machine_kexec() itself is
too late, since it is not allowed to return.

Prior to this patch, ARM's machine_kexec() was testing after-the-fact
whether machine_kexec_prepare() was able to disable all but one CPU.
Instead, modify machine_kexec_prepare() to validate all conditions
necessary for machine_kexec_prepare()'s to succeed. BUG if the validation
succeeded, yet disabling the CPUs didn't actually work.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:23:18 +01:00
Will Deacon
00efaa0250 ARM: 7812/1: rwlocks: retry trylock operation if strex fails on free lock
Commit 15e7e5c1eb ("ARM: 7749/1: spinlock: retry trylock operation if
strex fails on free lock") modifying our arch_spin_trylock to retry the
acquisition if the lock appeared uncontended, but the strex failed.

This patch does the same for rwlocks, which were missed by the original
patch.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:22:44 +01:00
Will Deacon
afa31d8eb8 ARM: 7811/1: locks: use early clobber in arch_spin_trylock
The res variable is written before we've finished with the input
operands (namely the lock address), so ensure that we mark it as `early
clobber' to avoid unintended register sharing.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:22:43 +01:00
Stephen Boyd
d9f966357b ARM: 7810/1: perf: Fix array out of bounds access in armpmu_map_hw_event()
Vince Weaver reports an oops in the ARM perf event code while
running his perf_fuzzer tool on a pandaboard running v3.11-rc4.

Unable to handle kernel paging request at virtual address 73fd14cc
pgd = eca6c000
[73fd14cc] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in: snd_soc_omap_hdmi omapdss snd_soc_omap_abe_twl6040 snd_soc_twl6040 snd_soc_omap snd_soc_omap_hdmi_card snd_soc_omap_mcpdm snd_soc_omap_mcbsp snd_soc_core snd_compress regmap_spi snd_pcm snd_page_alloc snd_timer snd soundcore
CPU: 1 PID: 2790 Comm: perf_fuzzer Not tainted 3.11.0-rc4 #6
task: eddcab80 ti: ed892000 task.ti: ed892000
PC is at armpmu_map_event+0x20/0x88
LR is at armpmu_event_init+0x38/0x280
pc : [<c001c3e4>]    lr : [<c001c17c>]    psr: 60000013
sp : ed893e40  ip : ecececec  fp : edfaec00
r10: 00000000  r9 : 00000000  r8 : ed8c3ac0
r7 : ed8c3b5c  r6 : edfaec00  r5 : 00000000  r4 : 00000000
r3 : 000000ff  r2 : c0496144  r1 : c049611c  r0 : edfaec00
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: aca6c04a  DAC: 00000015
Process perf_fuzzer (pid: 2790, stack limit = 0xed892240)
Stack: (0xed893e40 to 0xed894000)
3e40: 00000800 c001c17c 00000002 c008a748 00000001 00000000 00000000 c00bf078
3e60: 00000000 edfaee50 00000000 00000000 00000000 edfaec00 ed8c3ac0 edfaec00
3e80: 00000000 c073ffac ed893f20 c00bf180 00000001 00000000 c00bf078 ed893f20
3ea0: 00000000 ed8c3ac0 00000000 00000000 00000000 c0cb0818 eddcab80 c00bf440
3ec0: ed893f20 00000000 eddcab80 eca76800 00000000 eca76800 00000000 00000000
3ee0: 00000000 ec984c80 eddcab80 c00bfe68 00000000 00000000 00000000 00000080
3f00: 00000000 ed892000 00000000 ed892030 00000004 ecc7e3c8 ecc7e3c8 00000000
3f20: 00000000 00000048 ecececec 00000000 00000000 00000000 00000000 00000000
3f40: 00000000 00000000 00297810 00000000 00000000 00000000 00000000 00000000
3f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
3f80: 00000002 00000002 000103a4 00000002 0000016c c00128e8 ed892000 00000000
3fa0: 00090998 c0012700 00000002 000103a4 00090ab8 00000000 00000000 0000000f
3fc0: 00000002 000103a4 00000002 0000016c 00090ab0 00090ab8 000107a0 00090998
3fe0: bed92be0 bed92bd0 0000b785 b6e8f6d0 40000010 00090ab8 00000000 00000000
[<c001c3e4>] (armpmu_map_event+0x20/0x88) from [<c001c17c>] (armpmu_event_init+0x38/0x280)
[<c001c17c>] (armpmu_event_init+0x38/0x280) from [<c00bf180>] (perf_init_event+0x108/0x180)
[<c00bf180>] (perf_init_event+0x108/0x180) from [<c00bf440>] (perf_event_alloc+0x248/0x40c)
[<c00bf440>] (perf_event_alloc+0x248/0x40c) from [<c00bfe68>] (SyS_perf_event_open+0x4f4/0x8fc)
[<c00bfe68>] (SyS_perf_event_open+0x4f4/0x8fc) from [<c0012700>] (ret_fast_syscall+0x0/0x48)
Code: 0a000005 e3540004 0a000016 e3540000 (0791010c)

This is because event->attr.config in armpmu_event_init()
contains a very large number copied directly from userspace and
is never checked against the size of the array indexed in
armpmu_map_hw_event(). Fix the problem by checking the value of
config before indexing the array and rejecting invalid config
values.

Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:21:44 +01:00
Will Deacon
c95eb3184e ARM: 7809/1: perf: fix event validation for software group leaders
It is possible to construct an event group with a software event as a
group leader and then subsequently add a hardware event to the group.
This results in the event group being validated by adding all members
of the group to a fake PMU and attempting to allocate each event on
their respective PMU.

Unfortunately, for software events wthout a corresponding arm_pmu, this
results in a kernel crash attempting to dereference the ->get_event_idx
function pointer.

This patch fixes the problem by checking explicitly for software events
and ignoring those in event validation (since they can always be
scheduled). We will probably want to revisit this for 3.12, since the
validation checks don't appear to work correctly when dealing with
multiple hardware PMUs anyway.

Cc: <stable@vger.kernel.org>
Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-13 20:21:43 +01:00
Mikko Perttunen
328dc0ecc9 ARM: tegra: add USB DT entries for Tegra114, Dalmore
Device tree entries for the three EHCI controllers on Tegra114.
Enables the the third controller (USB host) on Dalmore.

Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-13 12:40:52 -06:00
Tuomas Tynkkynen
cc34c9f79c ARM: tegra: add USB DT entries for Tegra30
Add device tree entries for the 3 USB controllers and PHYs and
enable the third controller on Cardhu and Beaver boards.

Fix VBUS regulator entries on Beaver. The GPIO pins were wrong.
Also, internal pullups need to be enabled on those pins.

Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-13 12:40:47 -06:00
Stephen Warren
b4f173752a ARM: tegra: disable LP2 cpuidle state if PCIe is enabled
Tegra20 HW appears to have a bug such that PCIe device interrupts,
whether they are legacy IRQs or MSI, are lost when LP2 is enabled. To
work around this, simply disable LP2 if any PCIe devices with interrupts
are present. Detect this via the IRQ domain map operation. This is
slightly over-conservative; if a device with an interrupt is present but
the driver does not actually use them, LP2 will still be disabled.
However, this is a reasonable trade-off which enables a simpler
workaround.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
2013-08-13 12:07:56 -06:00
Thierry Reding
d1523b52bf PCI: tegra: Move PCIe driver to drivers/pci/host
Move the PCIe driver from arch/arm/mach-tegra into the drivers/pci/host
directory. The motivation is to collect various host controller drivers
in the same location in order to facilitate refactoring.

The Tegra PCIe driver has been largely rewritten, both in order to turn
it into a proper platform driver and to add MSI (based on code by
Krishna Kishore <kthota@nvidia.com>) as well as device tree support.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
[swarren, split DT changes into a separate patch in another branch]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-13 12:07:45 -06:00
Stephen Warren
734a0f6bb9 pci msi changes for v3.12 (round 2)
- fix build breakage for s390 allyesconfig due to !HAVE_GENERIC_HARDIRQS
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJSCm0dAAoJEAi3KVZQDZAeI0YH/0kN9npHS67y22CEMdLFvejN
 CfTzaaZT77U9f+G7YY25wMy9PkBPHS5rvUXNrlqUknklDhw/B3jplWbUNFY5hxAZ
 uhd5RN1bjBeBh7aE7tFyy8NowAR/VFKthO7j+81MOiKvrtNjE/sON+rGb2I/cBKP
 k5c1K590FPaYqVmuztxvYMVWF73jh0Com8VvOJptZszXxU32g2l/GBx9qsuSAbyk
 UE2//KQ2UVNScWCClsAwNdAWItRVGO7TtEFX3qwn3Qe8IA361mOEZiSSJrubqq70
 3TqSrZ30ELCugnHnTndou6xmI/OmgN3s2aJV20/MPnB9AE4rkZYBcXVHTkBP0Q4=
 =Vp2g
 -----END PGP SIGNATURE-----

Merge tag 'msi-3.12-2' into for-3.12/soc

pci msi changes for v3.12 (round 2)

 - fix build breakage for s390 allyesconfig due to !HAVE_GENERIC_HARDIRQS
2013-08-13 12:07:26 -06:00
Soren Brinkmann
39c41df9c1 arm: zynq: dt: Set correct L2 ram latencies
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2013-08-13 16:37:35 +02:00
Padmavathi Venna
c7f7e60751 ARM: dts: Change i2s compatible string on exynos5250
This patch removes quirks from i2s node and change the i2s
compatible names.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:44:15 +01:00
Padmavathi Venna
6187288f15 ARM: dts: exynos5250: move common i2s properties to exynos5 dtsi
I2S nodes shares some properties across exynos5 SoCs (exynos5250
and exyno5420). Common code is moved to exynos5.dtsi which is
included in exyno5250 and exynos5420 SoC files.

Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
2013-08-13 13:44:12 +01:00
R Sricharan
8dd21c9319 ARM: DRA7: Add the build support in omap2plus
Now that all the needed pieces for DRA7 based SoCs' is present, enable
the build support in omap2plus_defconfig

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 16:58:16 +05:30
Rajendra Nayak
debcd1f81f ARM: DRA7: hwmod: Reuse the soc_ops used for OMAP4/5
The soc_ops for dra7xx devices can be completed reused
from the ones used for omap4 and omap5 devices.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
2013-08-13 16:58:13 +05:30
R Sricharan
6852215a32 ARM: DRA7: id: Add cpu detection support for DRA7xx based SoCs'
The DRA7xx is a high-performance, infotainment application device,
based on enhanced OMAP architecture integrated on a 28-nm technology.

Since DRA7 is a platform supported only using DT, the cpu detection
is based on the compatibles passed from DT blobs as suggested here
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-July/187712.html

Suggested-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 16:58:08 +05:30
R Sricharan
6d0fc190c8 ARM: DRA7: Kconfig: Make ARCH_NR_GPIO default to 512
DRA7xx has 8 GPIO banks so that there are 32x8 = 256 GPIOs.
In order for the gpiolib to detect and initialize these
and other TWL GPIOs, ARCH_NR_GPIO is set to 512 using the
kconfig default for DRA7.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 11:00:44 +05:30
R Sricharan
439bf39e76 ARM: DRA7: board-generic: Add basic DT support
Describe minimal DT boot machine details for DRA7xx based SoC's. DRA7xx
family is based on dual core ARM CORTEX A15 using GIC as the interrupt controller.
The PRCM and timer infrastructure is reused from OMAP5 and so are the io
descriptor tables.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 11:00:41 +05:30
R Sricharan
f18153f984 ARM: DRA7: Resue the clocksource, clockevent support
All of OMAP5 timer support for clocksource and clockevent is completely
reused across DRA7.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 11:00:38 +05:30
R Sricharan
a3a9384a11 ARM: DRA7: Reuse io tables and add a new .init_early
The IO descriptor tables for DRA7 are a complete reuse from OMAP5.
A new dra7xx_init_early() does the base address inits.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 11:00:35 +05:30
R Sricharan
bfe9211a30 ARM: DRA7: Reuse all of PRCM and MPUSS SMP infra
The PRCM and MPUSS parts of DRA7 devices are quite identical
to OMAP5 so as to reuse all the existing infrastructure around it.
Makefile updates to do just that.

Signed-off-by: R Sricharan <r.sricharan@ti.com>
Signed-off-by: Rajendra Nayak <rnayak@ti.com>
2013-08-13 11:00:32 +05:30
Stephen Warren
25819408cd ARM: tegra: defconfig updates
Enable:
* SYSVIPC (needed for some apps, e.g. fakeroot).
* Elantech touchpad (touchpad on AC100).
* SCSI_MULTI_LUN (needed for some USB SD card readers).
* PCI, MSI, and Tegra's PCIe driver.
* USB XHCI; useful for testing PCIe.

Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 15:14:44 -06:00
Sebastian Hesselbarth
5e9eaadb0b ARM: dove: add initial DT file for Globalscale D2Plug
This adds an initial DT file for the Globalscale D2Plug with Dove SoC.
Currently, one LED is missing and I have not been able to get SD8787 driver
working. Those will be taken care of later.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 21:03:50 +00:00
Sebastian Hesselbarth
3bba679795 ARM: dove: add GPIO IR receiver node to SolidRun CuBox
This adds a node for the IR receiver connected to a GPIO pin on the
SolidRun CuBox.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 21:03:49 +00:00
Sebastian Hesselbarth
535fb3445c ARM: dove: add common pinmux functions to DT
This adds common dedicated and gpio pinmux functions to SoC pinctrl
node. It also relocates pinctrl references to corresponding DT nodes.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 21:03:47 +00:00
Sebastian Hesselbarth
2d29983413 ARM: dove: add cpu device tree node
This adds a node for the Marvell Sheeva PJ4A CPU found on Dove SoCs.
While at it, also move the l2-cache node out of internal registers and
consistently name different nodes.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>

Conflicts:
	arch/arm/boot/dts/dove.dtsi
2013-08-12 21:03:46 +00:00
Jay Agarwal
d7283c11f7 ARM: dts: tegra: Increase prefetchable PCI memory space
Instead of evenly splitting the 512 MiB area between prefetchable and
non-prefetchable memory spaces, increase the prefetchable memory space
to 384 MiB while at the same time decreasing the non-prefetchable memory
space to 128 MiB. This is a more useful default as most PCIe devices
require more prefetchable than non-prefetchable memory.

Signed-off-by: Jay Agarwal <jagarwal@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:20:43 -06:00
Stephen Warren
44fefab459 ARM: tegra: Fix Beaver's PCIe lane configuration
Beaver's PCIe lane configuration most closely matches x2 x2 x2 rather
than x4 x1 x1, since clocks 0 and 2 are used, and lanes 0 and 5 are used,
and the only way those align is with a x2 x2 x2 configuration.

Also, disable root port 1; there's nothing connected to it. Root port 0
is the on-board PCIe Ethernet, and port 2 is the mini-PCIe slot.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:20:36 -06:00
Thierry Reding
bb034cb5eb ARM: tegra: Enable PCIe controller on Beaver
PCIe lane 0 is connected to an onboard Gigabit Ethernet (RTL8168evl) and
lane 4 is routed to the board's miniPCIe slot.

Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:20:22 -06:00
Jay Agarwal
89e7ada416 ARM: tegra: Enable PCIe controller on Cardhu
Root port 2 is routed to the bottom connector on Cardhu and is used by
the development dock to provide gigabit ethernet and USB functionality.

Signed-off-by: Jay Agarwal <jagarwal@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:33 -06:00
Thierry Reding
e07e3dbd9c ARM: tegra: Add Tegra30 PCIe support
Add the top-level pcie-controller node for the Tegra30 SoC. Tegra30 has
three root ports that can use different lane layouts.

Signed-off-by: Jay Agarwal <jagarwal@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:30 -06:00
Thierry Reding
1798efda3c ARM: tegra: trimslice: Initialize PCIe from DT
With the device tree support in place, probe the PCIe controller from
the device tree and remove the corresponding workaround in the board
file.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:24 -06:00
Thierry Reding
722afc1747 ARM: tegra: harmony: Initialize PCIe from DT
With the device tree support in place, probe the PCIe controller from
the device tree and remove the corresponding workaround in the board
file.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:21 -06:00
Thierry Reding
237bcad102 ARM: tegra: tec: Add PCIe support
Enable the first PCIe root port which is connected to an FPGA on the
Tamonten Evaluation Carrier and add device nodes for each of the PCI
endpoints available in the standard configuration.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:16 -06:00
Thierry Reding
1b2d6b849f ARM: tegra: tamonten: Add PCIe support
Add properties common to all Tamonten-derived boards to the Tamonten
DTSI and add the fixed 1.05 V regulator.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:19:12 -06:00
Thierry Reding
1b62b611bd ARM: tegra: Add Tegra20 PCIe support to DT
Add the top-level pcie-controller node for the Tegra20 SoC. Tegra20 has
two root ports that can use different lane layouts.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
[swarren: split DT changes into a separate patch from the main driver]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 14:17:39 -06:00
Sebastian Hesselbarth
697004aebf ARM: dove: update dove_defconfig with SI5351, PCI, and xHCI
This adds SI5351 clock driver found on the SolidRun CuBox, PCI driver
and USB 3.0 xHCI driver found on the Globalscale D3Plug to dove_defconfig.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 19:57:38 +00:00
Tomasz Figa
4380c39ad3 ARM: SAMSUNG: Remove plat/regs-timer.h header
Since all uses of the header has been removed by previous patches it can
be removed safely.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:24 +02:00
Tomasz Figa
61cb263162 ARM: SAMSUNG: Remove remaining uses of plat/regs-timer.h header
This patch removes remaining inclusions of plat/regs-timer.h as
a preparation to remove the header.

As a part of this, things like save and restore of PWM registers are
removed from SoC-specific code, because it is handled in appropriate
drivers now.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:24 +02:00
Tomasz Figa
7c93c200f6 ARM: SAMSUNG: Remove pwm-clock infrastructure
Since all the used PWM prescalers and dividers configuration has been
moved to appropriate drivers, the pwm-clock infrastructure is now
unused and so this patch removes it.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:24 +02:00
Tomasz Figa
a2eed492f8 ARM: SAMSUNG: Remove old PWM timer platform devices
This patch removes old Samsung PWM timer platform devices that are not
used any more.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:23 +02:00
Tomasz Figa
7fa33bdb4c ARM: SAMSUNG: Modify board files to use new PWM platform device
This patch modifies any board files using the legacy PWM device to use
the new device instead.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:22 +02:00
Tomasz Figa
d1a8d3ccdf ARM: SAMSUNG: Rework private data handling in dev-backlight
This patch modifies dev-backlight helpers to get private data using
container_of instead of abusing platform_data field of PWM device.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Mark Brown <broonie@linaro.org>
Tested-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
2013-08-12 21:53:22 +02:00
Joseph Lo
e9f624499c ARM: tegra: add LP1 suspend support for Tegra114
The LP1 suspend mode will power off the CPU, clock gated the PLLs and put
SDRAM to self-refresh mode. Any interrupt can wake up device from LP1. The
sequence when LP1 suspending:

* tunning off L1 data cache and the MMU
* storing some EMC registers, DPD (deep power down) status, clk source of
  mselect and SCLK burst policy
* putting SDRAM into self-refresh
* switching CPU to CLK_M (12MHz OSC)
* tunning off PLLM, PLLP, PLLA, PLLC and PLLX
* switching SCLK to CLK_S (32KHz OSC)
* shutting off the CPU rail

The sequence of LP1 resuming:

* re-enabling PLLM, PLLP, PLLA, PLLC and PLLX
* restoring the clk source of mselect and SCLK burst policy
* setting up CCLK burst policy to PLLX
* restoring DPD status and some EMC registers
* resuming SDRAM to normal mode
* jumping to the "tegra_resume" from PMC_SCRATCH41

Due to the SDRAM will be put into self-refresh mode, the low level
procedures of LP1 suspending and resuming should be copied to
TEGRA_IRAM_CODE_AREA (TEGRA_IRAM_BASE + SZ_4K) when suspending. Before
restoring the CPU context when resuming, the SDRAM needs to be switched
back to normal mode. And the PLLs need to be re-enabled, SCLK burst policy
be restored. Then jumping to "tegra_resume" that was expected to be stored
in PMC_SCRATCH41 to restore CPU context and back to kernel.

Based on the work by: Bo Yan <byan@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 13:30:12 -06:00
Joseph Lo
731a927438 ARM: tegra: add LP1 suspend support for Tegra20
The LP1 suspend mode will power off the CPU, clock gated the PLLs and put
SDRAM to self-refresh mode. Any interrupt can wake up device from LP1. The
sequence when LP1 suspending:

* tunning off L1 data cache and the MMU
* putting SDRAM into self-refresh
* storing some EMC registers and SCLK burst policy
* switching CPU to CLK_M (12MHz OSC)
* switching SCLK to CLK_S (32KHz OSC)
* tunning off PLLM, PLLP and PLLC
* shutting off the CPU rail

The sequence of LP1 resuming:

* re-enabling PLLM, PLLP, and PLLC
* restoring some EMC registers and SCLK burst policy
* setting up CCLK burst policy to PLLP
* resuming SDRAM to normal mode
* jumping to the "tegra_resume" from PMC_SCRATCH41

Due to the SDRAM will be put into self-refresh mode, the low level
procedures of LP1 suspending and resuming should be copied to
TEGRA_IRAM_CODE_AREA (TEGRA_IRAM_BASE + SZ_4K) when suspending. Before
restoring the CPU context when resuming, the SDRAM needs to be switched
back to normal mode. And the PLLs need to be re-enabled, SCLK burst policy
be restored, CCLK burst policy be set in PLLP. Then jumping to
"tegra_resume" that was expected to be stored in PMC_SCRATCH41 to restore
CPU context and back to kernel.

Based on the work by:
Colin Cross <ccross@android.com>
Gary King <gking@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 13:30:11 -06:00
Joseph Lo
e7a932b196 ARM: tegra: add LP1 suspend support for Tegra30
The LP1 suspend mode will power off the CPU, clock gated the PLLs and put
SDRAM to self-refresh mode. Any interrupt can wake up device from LP1. The
sequence when LP1 suspending:

* tunning off L1 data cache and the MMU
* storing some EMC registers, DPD (deep power down) status, clk source of
  mselect and SCLK burst policy
* putting SDRAM into self-refresh
* switching CPU to CLK_M (12MHz OSC)
* tunning off PLLM, PLLP, PLLA, PLLC and PLLX
* switching SCLK to CLK_S (32KHz OSC)
* shutting off the CPU rail

The sequence of LP1 resuming:

* re-enabling PLLM, PLLP, PLLA, PLLC and PLLX
* restoring the clk source of mselect and SCLK burst policy
* setting up CCLK burst policy to PLLX
* restoring DPD status and some EMC registers
* resuming SDRAM to normal mode
* jumping to the "tegra_resume" from PMC_SCRATCH41

Due to the SDRAM will be put into self-refresh mode, the low level
procedures of LP1 suspending and resuming should be copied to
TEGRA_IRAM_CODE_AREA (TEGRA_IRAM_BASE + SZ_4K) when suspending. Before
restoring the CPU context when resuming, the SDRAM needs to be switched
back to normal mode. And the PLLs need to be re-enabled, SCLK burst policy
be restored, CCLK burst policy be set in PLLX. Then jumping to
"tegra_resume" that was expected to be stored in PMC_SCRATCH41 to restore
CPU context and back to kernel.

Based on the work by: Scott Williams <scwilliams@nvidia.com>

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 13:30:11 -06:00
Joseph Lo
95872f427e ARM: tegra: add common LP1 suspend support
The LP1 suspending mode on Tegra means CPU rail off, devices and PLLs are
clock gated and SDRAM in self-refresh mode. That means the low level LP1
suspending and resuming code couldn't be run on DRAM and the CPU must
switch to the always on clock domain (a.k.a. CLK_M 12MHz oscillator). And
the system clock (SCLK) would be switched to CLK_S, a 32KHz oscillator.
The LP1 low level handling code need to be moved to IRAM area first. And
marking the LP1 mask for indicating the Tegra device is in LP1. The CPU
power timer needs to be re-calculated based on 32KHz that was originally
based on PCLK.

When resuming from LP1, the LP1 reset handler will resume PLLs and then
put DRAM to normal mode. Then jumping to the "tegra_resume" that will
restore full context before back to kernel. The "tegra_resume" handler
was expected to be found in PMC_SCRATCH41 register.

This is common LP1 procedures for Tegra, so we do these jobs mainly in
this patch:
* moving LP1 low level handling code to IRAM
* marking LP1 mask
* copying the physical address of "tegra_resume" to PMC_SCRATCH41
* re-calculate the CPU power timer based on 32KHz

Signed-off-by: Joseph Lo <josephl@nvidia.com>
[swarren, replaced IRAM_CODE macro with IO_ADDRESS(TEGRA_IRAM_CODE_AREA)]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 13:29:24 -06:00
Julia Lawall
f4ada24bd6 arch/arm/mach-kirkwood: Avoid using ARRAY_AND_SIZE(e) as a function argument
Replace ARRAY_AND_SIZE(e) in function argument position to avoid hiding the
arity of the called function.

The semantic match that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression e,f;
@@

f(...,
- ARRAY_AND_SIZE(e)
+ e,ARRAY_SIZE(e)
  ,...)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 19:10:23 +00:00
Jason Cooper
d04d97c264 ARM: kirkwood: fix DT building and update defconfig
commit

  844703c ARM: kirkwood: Remove all remaining trace of DNS-320/325 platform code

removed the last kirkwood DT/platform board in kirkwood_defconfig, this
triggered a rescan of the config symbols, the result of which breaks the
build because KIRKWOOD_DT does not select OF_IRQ.

This commit fixes the regression and updates the defconfig to
explicitly enable SERIAL_OF_PLATFORM and KIRWOOD_DT.

Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 18:44:28 +00:00
Jamie Lentin
844703c1ad ARM: kirkwood: Remove all remaining trace of DNS-320/325 platform code
No platform code left now, so remove all references to it.

The reset gpio code didn't work to begin with, it will be replaced with
a DT node at a future date. -jc

Signed-off-by: Jamie Lentin <jm@lentin.co.uk>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 18:43:35 +00:00
Joseph Lo
47d2d63ba6 ARM: tegra: enable LP1 suspend mode
Enabling the LP1 suspend mode for Tegra devices.

Tested-by: Marc Dietrich <marvin24@gmx.de> # paz00 board
Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 12:23:14 -06:00
Joseph Lo
444f9a8030 ARM: tegra: config the polarity of the request of sys clock
When suspending to LP1 mode, the SYSCLK will be clock gated. And different
board may have different polarity of the request of SYSCLK, this patch
configure the polarity from the DT for the board.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 12:22:39 -06:00
Joseph Lo
5b795d051c ARM: tegra: add common resume handling code for LP1 resuming
Add support to the Tegra CPU reset vector to detect whether the CPU is
resuming from LP1 suspend state. If it is, branch to the LP1-specific
resume code.

When Tegra enters the LP1 suspend state, the SDRAM controller is placed
into a self-refresh state. For this reason, we must place the LP1 resume
code into IRAM, so that it is accessible before SDRAM access has been
re-enabled.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 12:22:38 -06:00
Jingoo Han
4b1ced841b PCI: exynos: Split into Synopsys part and Exynos part
Exynos PCIe IP consists of Synopsys specific part and Exynos
specific part. Only core block is a Synopsys Designware part;
other parts are Exynos specific.

Also, the Synopsys Designware part can be shared with other
platforms; thus, it can be split two parts such as Synopsys
Designware part and Exynos specific part.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Pratyush Anand <pratyush.anand@st.com>
Cc: Mohit KUMAR <Mohit.KUMAR@st.com>
2013-08-12 12:18:20 -06:00
Thierry Reding
9bd80b41c5 ARM: tegra: beaver: Enable HDMI output
Enable the HDMI output as well as DDC and hotplug detection on Beaver.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-12 10:13:17 -06:00
Thomas Petazzoni
9d981ea5d4 ARM: pci: add ->add_bus() and ->remove_bus() hooks to hw_pci
Some PCI drivers may need to adjust the pci_bus structure after it has
been allocated by the Linux PCI core. The PCI core allows
architectures to implement the pcibios_add_bus() and
pcibios_remove_bus() for this purpose. This commit therefore extends
the hw_pci and pci_sys_data structures of the ARM PCI core to allow
PCI drivers to register ->add_bus() and ->remove_bus() in hw_pci,
which will get called when a bus is added or removed from the system.

This will be used for example by the Marvell PCIe driver to connect a
particular PCI bus with its corresponding MSI chip to handle Message
Signaled Interrupts.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Thierry Reding <thierry.reding@gmail.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tested-by: Daniel Price <daniel.price@gmail.com>
Tested-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 15:27:12 +00:00
Thomas Petazzoni
ebd97be635 PCI: remove ARCH_SUPPORTS_MSI kconfig option
Now that we have weak versions for each of the PCI MSI architecture
functions, we can actually build the MSI support for all platforms,
regardless of whether they provide or not architecture-specific
versions of those functions. For this reason, the ARCH_SUPPORTS_MSI
hidden kconfig boolean becomes useless, and this patch gets rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Tested-by: Daniel Price <daniel.price@gmail.com>
Tested-by: Thierry Reding <thierry.reding@gmail.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Cc: linux-s390@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64@vger.kernel.org
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: David S. Miller <davem@davemloft.net>
Cc: sparclinux@vger.kernel.org
Cc: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-12 15:26:48 +00:00
Will Deacon
6af396a6b6 ARM: cacheflush: use -ishst dsb variant for ensuring flush completion
flush_cache_vmap contains a dsb to ensure that any cacheflushing
operations to flush out newly written ptes have completed.

This patch adds the -ishst option to the dsb, since that is all that is
required for completing cacheflushing in the inner-shareable domain.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:46 +01:00
Will Deacon
9781aa8adb ARM: l2x0: use -st dsb option for ordering writel_relaxed with unlock
writel_relaxed and spin_unlock are both store operations, so we only
need to enforce store ordering in the dsb.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:46 +01:00
Will Deacon
40a5c0b415 ARM: mcpm: use -st dsb option prior to sev instructions
In a similar manner to our spinlock implementation, mcpm uses sev to
wake up cores waiting on a lock when the lock is unlocked. In order to
ensure that the final write unlocking the lock is visible, a dsb
instruction is executed immediately prior to the sev.

This patch changes these dsbs to use the -st option, since we only
require that the store unlocking the lock is made visible.

Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Dave Martin <dave.martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:45 +01:00
Will Deacon
e3ab547f57 ARM: kvm: use inner-shareable barriers after TLB flushing
When flushing the TLB at PL2 in response to remapping at stage-2 or VMID
rollover, we have a dsb instruction to ensure completion of the command
before continuing.

Since we only care about other processors for TLB invalidation, use the
inner-shareable variant of the dsb instruction instead.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:45 +01:00
Will Deacon
73a6fdc48b ARM: spinlock: use inner-shareable dsb variant prior to sev instruction
When unlocking a spinlock, we use the sev instruction to signal other
CPUs waiting on the lock. Since sev is not a memory access instruction,
we require a dsb in order to ensure that the sev is not issued ahead
of the store placing the lock in an unlocked state.

However, as sev is only concerned with other processors in a
multiprocessor system, we can restrict the scope of the preceding dsb
to the inner-shareable domain. Furthermore, we can restrict the scope to
consider only stores, since there are no independent loads on the unlock
path.

A side-effect of this change is that a spin_unlock operation no longer
forces completion of pending TLB invalidation, something which we rely
on when unlocking runqueues to ensure that CPU migration during TLB
maintenance routines doesn't cause us to continue before the operation
has completed.

This patch adds the -ishst suffix to the ARMv7 definition of dsb_sev()
and adds an inner-shareable dsb to the context-switch path when running
a preemptible, SMP, v7 kernel.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:45 +01:00
Will Deacon
6abdd49169 ARM: mm: use inner-shareable barriers for TLB and user cache operations
System-wide barriers aren't required for situations where we only need
to make visibility and ordering guarantees in the inner-shareable domain
(i.e. we are not dealing with devices or potentially incoherent CPUs).

This patch changes the v7 TLB operations, coherent_user_range and
dcache_clean_area functions to user inner-shareable barriers. For cache
maintenance, only the store access type is required to ensure completion.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:45 +01:00
Will Deacon
62cbbc42e0 ARM: tlb: reduce scope of barrier domains for TLB invalidation
Our TLB invalidation routines may require a barrier before the
maintenance (in order to ensure pending page table writes are visible to
the hardware walker) and barriers afterwards (in order to ensure
completion of the maintenance and visibility in the instruction stream).

Whilst this is expensive, the cost can be reduced somewhat by reducing
the scope of the barrier instructions:

  - The barrier before only needs to apply to stores (pte writes)
  - Local ops are required only to affect the non-shareable domain
  - Global ops are required only to affect the inner-shareable domain

This patch makes these changes for the TLB flushing code.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:45 +01:00
Will Deacon
3ea128065e ARM: barrier: allow options to be passed to memory barrier instructions
On ARMv7, the memory barrier instructions take an optional `option'
field which can be used to constrain the effects of a memory barrier
based on shareability and access type.

This patch allows the caller to pass these options if required, and
updates the smp_*() barriers to request inner-shareable barriers,
affecting only stores for the _wmb variant. wmb() is also changed to
use the -st version of dsb.

Reported-by: Albin Tonnerre <albin.tonnerre@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:44 +01:00
Will Deacon
2c813980c6 ARM: tlb: don't perform inner-shareable invalidation for local BP ops
Now that the ASID allocator doesn't require inner-shareable maintenance,
we can convert the local_bp_flush_all function to perform only
non-shareable flushing, in a similar manner to the TLB invalidation
routines.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:44 +01:00
Will Deacon
587b9b6487 ARM: tlb: don't bother with barriers for branch predictor maintenance
Branch predictor maintenance is only required when we are either
changing the kernel's view of memory (switching tables completely) or
dealing with ASID rollover.

Both of these use-cases require subsequent TLB invalidation, which has
the relevant barrier instructions to ensure completion and visibility
of the maintenance, so this patch removes the instruction barrier from
[local_]flush_bp_all.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:44 +01:00
Will Deacon
f0915781bd ARM: tlb: don't perform inner-shareable invalidation for local TLB ops
Inner-shareable TLB invalidation is typically more expensive than local
(non-shareable) invalidation, so performing the broadcasting for
local_flush_tlb_* operations is a waste of cycles and needlessly
clobbers entries in the TLBs of other CPUs.

This patch introduces __flush_tlb_* versions for many of the TLB
invalidation functions, which only respect inner-shareable variants of
the invalidation instructions when presented with the TLB_V7_UIS_FULL
flag. The local version is also inlined to prevent SMP_ON_UP kernels
from missing flushes, where the __flush variant would be called with
the UP flags.

This gains us around 0.5% in hackbench scores for a dual-core A15, but I
would expect this to improve as more cores (and clusters) are added to
the equation.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reported-by: Albin Tonnerre <Albin.Tonnerre@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:44 +01:00
Will Deacon
792a843a9f ARM: mm: remove redundant dsb() prior to range TLB invalidation
The kernel TLB range invalidation functions already contain dsb
instructions before and after the maintenance, so there is no need to
introduce additional barriers.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2013-08-12 12:25:44 +01:00
Paolo Bonzini
c566ccfcb3 KVM/ARM Fixes for the Linux 3.11 release
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSCF9GAAoJEEtpOizt6ddyQWYH/0tkZWu/wM3UZDmskyHBbeg1
 b4K6ll9g6ZVofaifeIjZsUtQRjYOqHKP1EKq82z7/bGCF0WyovNz3c4Yqg1zcZRr
 DYf2SH6euGYRIfN5f4ijbKIXyBn2aUMkE2WpwqHM8Z04UmRsz5L9IlvEJzI43Sjc
 aV7qxx9l95wgwwPmaHHm4wYqhA6FEGtIhGU3hyWF1zDKNHBNACMPTl7Tl+E8RWT2
 pjHMsOm9sRP8N+ElzhZ3mDHwA/u3ex2rUyHDO1/4oqzKEK+KxsA6HUNdu7Or0EN6
 BgBmScwjE6cyo1wBND8FerDvwK/hYC55nnG7Wm9lrtUvSIhtxunmhpxbaZTrPXw=
 =9RBK
 -----END PGP SIGNATURE-----

Merge tag 'kvm-arm-fixes-3.11' of git://git.linaro.org/people/cdall/linux-kvm-arm into kvm-master

KVM/ARM Fixes for the Linux 3.11 release
2013-08-12 09:44:16 +02:00
Christoffer Dall
2184a60de2 KVM: ARM: Squash len warning
The 'len' variable was declared an unsigned and then checked for less
than 0, which results in warnings on some compilers.  Since len is
assigned an int, make it an int.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-11 21:03:39 -07:00
Olof Johansson
311b79bb7e Removal of unused omap defines via Paul Walmsley <paul@pwsan.com>:
This series removes the currently-unused PRCM macros from
 arch/arm/mach-omap2.
 
 Basic test logs are available at:
 
 http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/
 
 Once, years ago, we thought that it would be good to document the PRCM
 register bits in the Linux codebase.  Most folks in the broader
 community did not have access to the same documentation, so we thought
 that they might be able to use these bits to fix bugs and improve the
 code.
 
 We were also able to autogenerate most of these macros, so it was
 thought that defining them in advance would reduce the risk of error,
 inconsistencies, and merge conflicts caused when patch sets
 incrementally defined them by hand.
 
 Well, nice thoughts.  But the first rationale was rendered partially
 obsolete when TI started to release public TRM documentation PDFs at
 some point in the OMAP3 timeframe.  (Despite their weaknesses, TI's
 public OMAP TRMs remain the most useful public documentation available
 for any ARM Linux SoC -- at least to the extent of my knowledge.)  And
 then the current Linux development tropism towards
 development-by-negative-diffstat obliterated the remainder of the
 above two philosophies.
 
 So, for the few, the masochistic, out there who wish to continue
 developing TI PRCM code, I would ask that you resurrect any
 additionally-needed macros from these commits, rather than writing
 them manually.  Purely for the sake of a pleasant atavism, perhaps; the
 way one appreciates a used bookstore, or a video rental store...
 
 And thanks to the upstream maintainers for being patient while we
 adjust.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAinBAAoJEBvUPslcq6Vz0bwQAMkjsMO7hzC/0DU/aurg6UYG
 Ne69YLrvfkK8//fv2c67ZZExxPc6tMlzObcsup4ZezZ8r2AqSR1FpZyDaC93k5YD
 gDi8CJx6zSd8unS+c3EJZ6+Mj6+LPDgS5V5fMVMWJ5cWjxeu89Ot/xXYoD7CrJlD
 NTHqNaH3sTlf5dFdmLJoUH+QyKXu1i5KUDh2MLGUKjFieJONcJv/EEX3FTU6j3Ty
 slki1D8myxApWjLhxMUIbUZWkPdrnxeqcuYVs6AZTLamlVT0GgW33mRSm9wwMgFL
 x2vmUoFBjNq9NnqzQTAjFH2fe8+4zXTsmDol+8sHlrdL/0H12BIMyVB94pBKOPZa
 oBcm6e+NwqYBOqMk6WFCLoXUgEHoA+Urk38FGZ/DpXzXug/QsSMhgCNUOryDj3Lz
 ioWlzLLMNjUHlrAfypvztPDprVS19vqU55FWLJAPVjRz3KlYGYidevqjNfuGrm65
 8cRNtay8L9rdLM/LPRKRZPo4JhObOtpj7ovk/f27uNAJvf9Q5uAESER7QGHLLTdo
 tyth9w4L4y/hA1G4URnv/l7ydG7THPtNuXazajTvUBuaGyOwuOtWrSgM5o/pBxVU
 bfe5U2mBZ9o0xhf5KkYKOFz3t2cPmqk0rFZGYyjuxJPFBLFmdtoe22FT6CHvmq5A
 kxtVISX2SaeNxev/VeN9
 =91he
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.12/cleanup-unused-defines' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

From Tony Lindgren:
Removal of unused omap defines via Paul Walmsley <paul@pwsan.com>:

This series removes the currently-unused PRCM macros from
arch/arm/mach-omap2.

Basic test logs are available at:

http://www.pwsan.com/omap/testlogs/drop_unused_prcm_macros_v3.11-rc/20130721211401/

Once, years ago, we thought that it would be good to document the PRCM
register bits in the Linux codebase.  Most folks in the broader
community did not have access to the same documentation, so we thought
that they might be able to use these bits to fix bugs and improve the
code.

We were also able to autogenerate most of these macros, so it was
thought that defining them in advance would reduce the risk of error,
inconsistencies, and merge conflicts caused when patch sets
incrementally defined them by hand.

Well, nice thoughts.  But the first rationale was rendered partially
obsolete when TI started to release public TRM documentation PDFs at
some point in the OMAP3 timeframe.  (Despite their weaknesses, TI's
public OMAP TRMs remain the most useful public documentation available
for any ARM Linux SoC -- at least to the extent of my knowledge.)  And
then the current Linux development tropism towards
development-by-negative-diffstat obliterated the remainder of the
above two philosophies.

So, for the few, the masochistic, out there who wish to continue
developing TI PRCM code, I would ask that you resurrect any
additionally-needed macros from these commits, rather than writing
them manually.  Purely for the sake of a pleasant atavism, perhaps; the
way one appreciates a used bookstore, or a video rental store...

And thanks to the upstream maintainers for being patient while we
adjust.

* tag 'omap-for-v3.12/cleanup-unused-defines' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP5: PRM/CM: Cleanup unused header
  ARM: OMAP4: PRM/CM: Cleanup unused header
  ARM: OMAP3: PRM/CM: Cleanup unused header
  ARM: OMAP2: PRM/CM: Cleanup unused header

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-11 16:29:45 -07:00
Olof Johansson
3554c229c2 Fix to boot kernel on exynos5440 which has no specific map_io(). Current kernel
cannot support no CPU specific map_io() for Samsung SoCs.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJR/+IvAAoJEA0Cl+kVi2xqynEP/i6YlVBUj2pOCT7NkrxVP0qr
 QOiAWBkYBwjiwOGIysIkkbe6GyqGUlLe19IFeX29g3MIECdfKJVQFmCx+O5zN/Pb
 F3XlitZbPPOkzjtHnPvNdhyYcDlqirZ57SL8beRcwcQswpkjfXU5K5N9bvyEdOSg
 CmJ1x57vzyDK5kdoi8/40Z8yFrbtjz9cWgo7KFwg0tcmxN83utaHavrbjlidYCtM
 TPioE50fco5VsNf/UC0WuS2/9DRqb4DX6jgR4i2gkcpNgb7jlWWeT213/+4KsfEb
 YOzqRJAVG/IEC2o/4576V7HfSeJY51Mq9HS4ZdZzYSO52Ad/tDXWOW0dLSfVtTMj
 dhc6npaCP+mbb98aXLtCRNeZMhaZ/OLSnEOoLLbWKllXSess5E0Phon0O7YirNpA
 c6Bbjbx90sFTIRIZFvQNUz/o+Pn1JNaeDl+f1z6qOKrxcYd9sjjz9FACnp/keLVn
 gIdPr3AY98+GGMRJucCwn1L3Dy21zU56WWbemjcv+hX7NNN1p5FXDdbrDCPN9r4t
 /2m5qVPSwsWw5cTf/zV2JGuYVSgAZrHwldk7TareCBqfWGmTCKUCxTWP0QMVzN2j
 ZNDpQrfB+4VOdM8bo+ADFL4bGpMJRjDGTe+jUEEDzl1QddD71pd13MP/qwC8/H+9
 ZhOIvMZFSEFenzWL7Weu
 =8X4C
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

From Kukjin Kim:
Fix to boot kernel on exynos5440 which has no specific map_io(). Current kernel
cannot support no CPU specific map_io() for Samsung SoCs.

* tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: SAMSUNG: fix to support for missing cpu specific map_io

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-11 15:44:38 -07:00
Olof Johansson
4ddbed9618 mvebu boards changes for v3.12
- convert kirkwood, dove, orion5x to DT init of mv643xx_eth
     - _lots_ of board code removal :)
  - convert kirkwood, dove and orion5x to DT init of clocksource and irqchip
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.20 (GNU/Linux)
 
 iQEcBAABAgAGBQJR/AlqAAoJEAi3KVZQDZAeyUMH/jWUIL53x5tIcykkT4PvM5Ki
 U9B2fC77XdXSjv+gHJKt4hKYC+GNGmwAbnvBSXPwE6hqUbQhn+VodR6On5AU80xS
 Dk9f3BaM3uHcemn6XXjgAWn019qSLso+AwisYC4WDJLEBMjkKE5AOvkEuP63itKz
 EpV7AzfDJpQ0YM+npTqN6Ea3BNxRfZ6xv7+5fr/jM3D9tuV3Ckkun6QAyak0bSme
 zEPhQOqwE/+yYb7Gu8gyslf3sX+o/xhSFdkweAxULD/LR+fNvTCAC1r2DIwP5N/n
 N5/vZ6u8C5reoA3ALTsbdiEOYvBiXR94g2kSaiB0u5ptONqanXtUOwYDMVB9dD8=
 =Cpj7
 -----END PGP SIGNATURE-----

Merge tag 'boards-3.12' of git://git.infradead.org/linux-mvebu into next/boards

From Jason Cooper:
mvebu boards changes for v3.12

 - convert kirkwood, dove, orion5x to DT init of mv643xx_eth
    - _lots_ of board code removal :)
 - convert kirkwood, dove and orion5x to DT init of clocksource and irqchip

* tag 'boards-3.12' of git://git.infradead.org/linux-mvebu:
  ARM: plat-orion: add reg offset to DT irq driver stub
  ARM: kirkwood: remove obsolete SDIO clock gate workaround
  ARM: kirkwood: convert to DT irqchip and clocksource
  ARM: dove: convert to DT irqchip and clocksource
  ARM: orion5x: update intc device tree node to new reg layout
  ARM: kirkwood: move device tree nodes to DT irqchip and clocksource
  ARM: dove: move device tree nodes to DT irqchip and clocksource
  ARM: orion5x: remove legacy mv643xx_eth board setup
  ARM: kirkwood: remove legacy clk alias for mv643xx_eth
  ARM: kirkwood: remove redundant DT board files
  ARM: dove: remove legacy mv643xx_eth setup
  ARM: orion5x: add gigabit ethernet and mvmdio device tree nodes
  ARM: kirkwood: add gigabit ethernet and mvmdio device tree nodes
  ARM: dove: add gigabit ethernet and mvmdio device tree nodes
  + Linux 3.11-rc2

Signed-off-by: Olof Johansson <olof@lixom.net>
2013-08-11 15:33:54 -07:00
Maxime Ripard
278fe8b8a1 ARM: sun5i: dt: Fix A13 SoC bus base address
There was a typo in the base address used for the soc node in the A13
device tree. Fix it with the proper base address.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:45 +02:00
Maxime Ripard
d528b0340c ARM: sun5i: a13: Remove useless simple-bus reg property
The reg property of the simple-bus driver is completely useless. Remove
it from the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:45 +02:00
Maxime Ripard
9e199292d2 ARM: sun5i: dt: Fix A10s SoC bus base address
There was a typo in the base address used for the soc node in the A10s
device tree. Fix it with the proper base address.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:44 +02:00
Maxime Ripard
ccb258ab91 ARM: sun5i: a10s: Remove useless simple-bus reg property
The reg property of the simple-bus driver is completely useless. Remove
it from the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:44 +02:00
Maxime Ripard
b74aec1a5f ARM: sun4i: dt: Fix A10 SoC bus base address
There was a typo in the base address used for the soc node in the A10
device tree. Fix it with the proper base address.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:43 +02:00
Maxime Ripard
dad0855dd3 ARM: sun4i: a10: Remove useless simple-bus reg property
The reg property of the simple-bus driver is completely useless. Remove
it from the DTSI.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2013-08-10 19:13:43 +02:00
Linus Torvalds
78ebf0e349 fbdev fixes:
- omapdss: compilation fix and DVI fix for PandaBoard
 - mxsfb: fix colors when using 18bit LCD bus
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIcBAABAgAGBQJSBMT+AAoJEPo9qoy8lh71q+EP/jALUWxJQUpswFsuhKu6Mubf
 IUg9F06EH5D+P5IIUWTE5rU5rtEQVm6ANg3gfTiKmjepxgF0zb/odpFjNmhKiFXu
 HKqiJWixi07veAxWUidkF2YEPzmoRHQ7rLCVrE4Tg4n0MOzD43sp6HrNWHY3YN4m
 XT+V8ZFN0AyLBQveE70tGjuk8Th+tMb4Xoja6vGhpE4MvQJpdBHu9IencBIVlINW
 IXbVTCbApOVSbkLuZkXIivrhbWZQhmIYqDO5/kwgaTI7xpTcYlSzjHrhnbHZ/Lw9
 ZNCC6DP63v2PsPwakjSbAyQeFIj8k/iqvlpcGK7p7RHq2vIA/UL1Vr3gN/nNGC+k
 /ZeVyGOFfLKWJCvIcVEkQpZcQPg1bJafIEc4DexQc5kKU07GcnLi2bEwY7JezbYm
 skmiMTaDN4M4JFBltVy69bW/92Z1b1O2Ei+zulwP39OcgHLTooNqk8Y780EQROSM
 enuPtgxWiKjJJ1VJy1p4ZWqIn7mtaXuKsFsdMOC9ClQBpBdxrBw9PtV3rjkht7ov
 uU/5YPb/ccuyGW7dRK7zrmMMryaEq/YhJS/XKzT/5Xju2XvZk1XSSTJjvLeFyD3+
 Qwh+lYPCHLQM2ICajiAGSPmpwdvTRY9ViexnWESaZNwe8p1if0PIyE/tHpYsAYCy
 mzzoatK5N96HjIdrXBPK
 =bHE/
 -----END PGP SIGNATURE-----

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

Pull fbdev fixes from Tomi Valkeinen:
 - omapdss: compilation fix and DVI fix for PandaBoard
 - mxsfb: fix colors when using 18bit LCD bus

* tag 'fbdev-fixes-3.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  ARM: OMAP: dss-common: fix Panda's DVI DDC channel
  video: mxsfb: fix color settings for 18bit data bus and 32bpp
  OMAPDSS: analog-tv-connector: compile fix
2013-08-09 11:52:34 -07:00
Sebastian Andrzej Siewior
9b3452d1fa usb: musb dma: add cppi41 dma driver
This driver is currently used by musb' cppi41 couter part. I may merge
both dma engine user of musb at some point but not just yet.

The driver seems to work in RX/TX mode in host mode, tested on mass
storage. I increaed the size of the TX / RX transfers and waited for the
core code to cancel a transfers and it seems to recover.

v2..3:
- use mall transfers on RX side and check data toggle.
- use rndis mode on tx side so we haveon interrupt for 4096 transfers.
- remove custom "transferred" hack and use dmaengine_tx_status() to
  compute the total amount of data that has been transferred.
- cancel transfers and reclaim descriptors

v1..v2:
- RX path added
- dma mode 0 & 1 is working
- device tree nodes re-created.

Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Dan Williams <djbw@fb.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-09 17:40:16 +03:00
Sebastian Andrzej Siewior
97238b35d5 usb: musb: dsps: use proper child nodes
This moves the two instances from the big node into two child nodes. The
glue layer ontop does almost nothing.

There is one devices containing the control module for USB (2) phy,
(2) usb and later the dma engine. The usb device is the "glue device"
which contains the musb device as a child. This is what we do ever since.

The new file musb_am335x is just here to prob the new bus and populate
child devices.

There are a lot of changes to the dsps file as a result of the changes:

- musb_core_offset
  This is gone. The device tree provides memory ressources information
  for the device there is no need to "fix" things

- instances
  This is gone as well. If we have two instances then we have have two
  child enabled nodes in the device tree. For instance the SoC in beagle
  bone has two USB instances but only one has been wired up so there is
  no need to load and init the second instance since it won't be used.

- dsps_glue is now per glue device
  In the past there was one of this structs but with an array of two and
  each instance accessed its variable depending on the platform device
  id.

- no unneeded copy of structs
  I do not know why struct dsps_musb_wrapper is copied but it is not
  necessary. The same goes for musb_hdrc_platform_data which allocated
  on demand and then again by platform_device_add_data(). One copy is
  enough.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-09 17:35:44 +03:00
Felipe Balbi
9e5f9c8aa8 Merge branch 'nop-phy-rename' into next
Signed-off-by: Felipe Balbi <balbi@ti.com>

Conflicts:
	drivers/usb/phy/phy-generic.c
2013-08-09 17:31:23 +03:00
Sebastian Andrzej Siewior
3fa4d7344b usb: phy: rename nop_usb_xceiv => usb_phy_gen_xceiv
The "nop" driver isn't a do-nothing-stub but supports a couple functions
like clock on/off or is able to use a voltage regulator. This patch
simply renames the driver to "generic" since it is easy possible to
extend it by a simple function istead of writing a complete driver.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2013-08-09 17:26:00 +03:00
Ezequiel Garcia
0af8330525 ARM: mvebu: Relocate PCIe node in Armada 370 RD board
The pcie-controller node needs to be relocated according the MBus
DT binding, since it's now a child of the mbus-compatible node.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-09 13:17:17 +00:00
Andrew Lunn
eee47b7c6e ARM: Kirkwood: Add support for another ZyXEL NSA310 variant
There are a number of variants of the ZyXEL NSA310, with slightly
different LEDs, buttons and i2c devices. Add a DTS file to support one
more of these variants.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Tibor Hársszegi <tibor@harsszegi.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-09 13:12:20 +00:00
Sudeep KarkadaNagesha
a7160b7eaf ARM: mach-mvebu: remove redundant DT parsing and validation
arm_dt_init_cpu_maps parses the device tree, validates and sets the
cpu_possible_mask appropriately. It is unnecessary to do another DT
parse to get the number of cpus, use num_possible_cpus instead.

Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Acked-by: Gregory Clement <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-09 13:02:51 +00:00
Lokesh Vutla
674ee08f28 ARM: OMAP2+: Only manually add hwmod data when DT not used.
The omap_init_rng() routine in devices.c only needs to be
called when there is no device tree present.

Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2013-08-09 16:39:48 +10:00
Matt Porter
be13c36adb ARM: configs: disable DEBUG_LL in bcm_defconfig
DEBUG_LL is not supported yet on bcm281xx and causes a temporary
hang due to timeout at boot.

Signed-off-by: Matt Porter <matt.porter@linaro.org>
Reviewed-by: Markus Mayer <markus.mayer@linaro.org>
Reviewed-by: Christian Daudt <csd@broadcom.com>
2013-08-08 15:19:20 -07:00
Markus Mayer
257b49e3d8 ARM: bcm281xx: Board specific reboot code
This patch adds the code needed to trigger a reboot on the bcm281xx
family.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Reviewed-by: Tim Kryger <tim.kryger@linaro.org>
Reviewed-by: Matt Porter <matt.porter@linaro.org>
Reviewed-by: Alex Elder <alex.elder@linaro.org>
Acked-by: Christian Daudt <csd@broadcom.com>
2013-08-08 15:19:19 -07:00
Stephen Warren
20984c44b5 ARM: tegra: unify Tegra's Kconfig a bit more
Move all common select clauses from ARCH_TEGRA_*_SOC to ARCH_TEGRA to
eliminate duplication. The USB-related selects all should have been
common too, but were missing from Tegra114 previously. Move these to
ARCH_TEGRA too. The latter fixes a build break when only Tegra114
support was enabled, but not Tegra20 or Tegra30 support.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-08-08 11:45:13 -06:00
Linus Torvalds
67ef626506 ARM: SoC fixes for v3.11-rc
- MSM: GPIO fixes (includes old code removal)
 - OMAP: earlyprintk regression, AM33xx cpgmac PM regression
 - OMAP5: urgent fix for potentially harmful voltage regulator values
 - Renesas: gpio-keys fix, fix SD card detection, fix shdma calculation error
 - STi: critical SMP boot fix
 - tegra: DTS fix for usb-phy
 - a couple MAINTAINERS updates
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSAshIAAoJEFk3GJrT+8Zl3i8QAITSHEVGoksh0dgi2djlknMK
 HoZq35kL/tpUCzZZkt3YroQFAgCeNhnfaWoelR2I7Pvaevyu7Z0wpIigfNhnraH2
 cvzlaZPZKJxW32yPWrOOJjaEaxQ8ltBIt6XUfqMusXHKPI99XV3nkj/6vuux3OXI
 9ADE4lHtH2mlMjOgoP4xJb+cID1raRloXjNWz69u816/a+cujT+3ghqE9DDZY1Xo
 7exYSukwaMLVFg2HpG+LbNzpZxHYD1oIR4Mww79XefMq0/7JDlb+e7DuvIhNlPAW
 GPZMfE98h+YPLYTVFW3rKcQCIl081IsaZRIQSupX2J2jGW6Izv16lZad5yBvLYhk
 TX41o4ATfpS/FAW7ahz2olhewsHvLY/5TYDjlr/ULSBWcaE5/v6Zu7H3DaZ4BFho
 T8WMf6pYz8Mu2fSBbkLonbt+mJBdzh1/42M0bCO469VBlls3B79efuEvhU2V+XC4
 APuCd9m/Eo5Uf+1dJP0IcvHwVRPbJGH75dGnWCAVD0gkQ9cAHoinT9jqHW3gIB9o
 FE/yUx0w9Bq0p/7twF2xgKaBqAMzcACDWXozfY8+8gXGfoqh32WY72qUV4lUycYa
 3La2pg6NeD37pVtspG9lGZg8iQJSL+WKzba3NTuZry2st+/mHP5QXQZhgtz8jzkc
 GHwcz+o7yQm31P17N7I+
 =aecr
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Kevin Hilman:
 - MSM: GPIO fixes (includes old code removal)
 - OMAP: earlyprintk regression, AM33xx cpgmac PM regression
 - OMAP5: urgent fix for potentially harmful voltage regulator values
 - Renesas: gpio-keys fix, fix SD card detection, fix shdma calculation
   error
 - STi: critical SMP boot fix
 - tegra: DTS fix for usb-phy
 - a couple MAINTAINERS updates

(Arnd is on paternity leave, Kevin is stepping up to help arm-soc
maintenance)

* tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  MAINTAINERS: add TI Keystone ARM platform
  MAINTAINERS: delete Srinidhi from ux500
  ARM: tegra: enable ULPI phy on Colibri T20
  ARM: STi: remove sti_secondary_start from INIT section.
  ARM: STi: Fix cpu nodes with correct device_type.
  ARM: shmobile: lager: do not annotate gpio_buttons as __initdata
  ARM: shmobile: BOCK-W: fix SDHI0 PFC settings
  shdma: fixup sh_dmae_get_partial() calculation error
  ARM: OMAP2+: hwmod: AM335x: fix cpgmac address space
  ARM: OMAP2+: hwmod: rt address space index for DT
  ARM: OMAP2+: Sync hwmod state with the pm_runtime and omap_device state
  ARM: OMAP2+: Avoid idling memory controllers with no drivers
  ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL
  ARM: dts: omap5-uevm: update optional/unused regulator configurations
  ARM: dts: omap5-uevm: fix regulator configurations mandatory for SoC
  ARM: dts: omap5-uevm: document regulator signals used on the actual board
  ARM: msm: Consolidate gpiomux for older architectures
  ARM: shmobile: armadillo800eva: Don't request GPIO 166 in board code
  ARM: msm: dts: Fix the gpio register address for msm8960
2013-08-08 09:28:08 -07:00
Russell King
2ba85e7af4 ARM: Fix FIQ code on VIVT CPUs
Aaro Koskinen reports the following oops:
Installing fiq handler from c001b110, length 0x164
Unable to handle kernel paging request at virtual address ffff1224
pgd = c0004000
[ffff1224] *pgd=00000000, *pte=11fff0cb, *ppte=11fff00a
...
[<c0013154>] (set_fiq_handler+0x0/0x6c) from [<c0365d38>] (ams_delta_init_fiq+0xa8/0x160)
 r6:00000164 r5:c001b110 r4:00000000 r3:fefecb4c
[<c0365c90>] (ams_delta_init_fiq+0x0/0x160) from [<c0365b14>] (ams_delta_init+0xd4/0x114)
 r6:00000000 r5:fffece10 r4:c037a9e0
[<c0365a40>] (ams_delta_init+0x0/0x114) from [<c03613b4>] (customize_machine+0x24/0x30)

This is because the vectors page is now write-protected, and to change
code in there we must write to its original alias.  Make that change,
and adjust the cache flushing such that the code will become visible
to the instruction stream on VIVT CPUs.

Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-08 12:03:29 +01:00
Marc Zyngier
979acd5e18 arm64: KVM: fix 2-level page tables unmapping
When using 64kB pages, we only have two levels of page tables,
meaning that PGD, PUD and PMD are fused. In this case, trying
to refcount PUDs and PMDs independently is a a complete disaster,
as they are the same.

We manage to get it right for the allocation (stage2_set_pte uses
{pmd,pud}_none), but the unmapping path clears both pud and pmd
refcounts, which fails spectacularly with 2-level page tables.

The fix is to avoid calling clear_pud_entry when both the pmd and
pud pages are empty. For this, and instead of introducing another
pud_empty function, consolidate both pte_empty and pmd_empty into
page_empty (the code is actually identical) and use that to also
test the validity of the pud.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-07 18:17:39 -07:00
Christoffer Dall
d3840b2661 ARM: KVM: Fix unaligned unmap_range leak
The unmap_range function did not properly cover the case when the start
address was not aligned to PMD_SIZE or PUD_SIZE and an entire pte table
or pmd table was cleared, causing us to leak memory when incrementing
the addr.

The fix is to always move onto the next page table entry boundary
instead of adding the full size of the VA range covered by the
corresponding table level entry.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-07 18:17:28 -07:00
Kevin Hilman
44de76b630 ARM: keystone: non-critical fixes, cleanup for 3.12
Summary of changes:
 	- Drop unused HAVE_SCHED_CLOCK config option
 	- Remove now redundant smp_init_cpus call
 	- Update the smc code to remove dsb and r12 usage
 	- Convert device tree to use #include and GIC bindings
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSApuFAAoJEHJsHOdBp5c/UGcQAIUDwFk8nq1C7y13TTwxtEWV
 iqmwojeuaTyCw1HOsz+6mMrFsziOSFuGxh1JNAlhfZole23gpTr1NFziH7HxlWo5
 o4dVoLIO/cG5Ie95p2SHe8pwZV5+a82SjBYE6IJ6MmvCrER+c7/Ucxst8UhKj5ok
 6RsSNU0buMPwuXnFttOk7H8HSlyCiNZEzOJGJkO5j77D9Cj8eN7z3AkgMtMni0ge
 lFFVFDiGU6LSiU85BOg7ixVJPJeOqPmb1aWaTDko+sIrOpt8lUKFWAZNIOmxhUHC
 gkF1lcgfDRpvMroXlJWqABlXc7789l4V3w4aJhn5IIXEUg9WlD2FFJ+euTbnSDvM
 aZQzBzPWuegonJZyO2Aznld0vDGR6CK8spsi/ooYrPFntipThBoORbdQzW0Mukns
 IbgJ2dia1whys7fVLcXfJiOlObKS3ydIF3KR79KYS59NUSzsmAu1kdSahWpp0VYw
 YyMXSDf3AIbjptNkmvcO1UOhANrGm5F2j1q7UY6YIMr52Eo3Zg9uJWGkYs6poxAl
 gT2OpFG0eKExIoJXmd4TpJMMbCQuoRNAsJYsQwsg2JmaNzjmQUpuJYd9qUdl4ZIF
 dILXez9mb87PamRKg+Q0lP6Up/rTM2zKZtZKO082HXr/6cDJEy6H8TSD5LHxrji2
 LB1G37B0ZiGOaclQROnx
 =NazV
 -----END PGP SIGNATURE-----

Merge tag 'keystone-fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/fixes-non-critical

From: Santosh Shilimkar <santosh.shilimkar@ti.com>:
ARM: keystone: non-critical fixes, cleanup for 3.12

Summary of changes:
	- Drop unused HAVE_SCHED_CLOCK config option
	- Remove now redundant smp_init_cpus call
	- Update the smc code to remove dsb and r12 usage
	- Convert device tree to use #include and GIC bindings

* tag 'keystone-fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: Keystone: Convert device tree file to use IRQ defines
  ARM: keystone: use #include to include skeleton.dtsi
  ARM: keystone: Drop the un-necessary dsb from keystone_cpu_smc()
  ARM: Keystone: No need to preserve r12 across smc call
  ARM: keystone: remove redundant smp_init_cpus definition
  ARM: keystone: drop useless HAVE_SCHED_CLOCK

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-08-07 16:17:16 -07:00
Ezequiel Garcia
d10ff4d745 ARM: mvebu: Fix AXP-WiFi-AP DT for MBUS DT binding
The ranges property needs to be changed to use the new MBus DT binding.
Also, the pcie-controller node needs to be relocated as according the MBus
DT binding, it's now a child of the mbus-compatible node.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-07 20:05:05 +00:00
Thomas Petazzoni
c7841473f7 ARM: mvebu: add support for the AXP WiFi AP board
The AXP WiFi AP board is a Marvell platform based on the Armada XP
MV78230 SoC. It has two mini-PCIe connectors, one USB 3.0 port powered
by a USB 3.0 controller on PCIe, two Ethernet ports, 1 GB of RAM, 1 GB
of NAND, 16 MB of SPI flash, one SATA port and one button, two UARTs

Successfully tested: USB 3.0 port, the mini-PCIe connectors, SPI
flash, Ethernet ports, SATA port, button, UART.

Untested: NAND flash, due to lack of mainline support for the Armada
370/XP NAND controller for now.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Seif Mazareeb <seif@marvell.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-07 20:05:03 +00:00
Jason Cooper
f72b720ffe ARM: mvebu: use dts pre-processor for mv78230
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-07 20:05:02 +00:00
Stepan Moskovchenko
35faad2a15 ARM: dts: Fix memory node in skeleton64.dtsi
Update the reg property of the memory node in
skeleton64.dtsi to reflect the fact that the root node uses
address-cells=2 and size-cells=2.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-07 16:33:50 +00:00
Nicolas Pitre
e607b0f985 ARM: vexpress/TC2: implement PM suspend method
Similar to power_down(), except that for a suspend, the firmware
mailbox address has to be set prior entering low power mode.

The residency argument is not used yet, so the last man always shuts
down the cluster for now.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Pawel Moll <pawel.moll@arm.com>
2013-08-07 14:55:54 +01:00
Nicolas Pitre
11b277eabe ARM: vexpress/TC2: basic PM support
This is the MCPM backend for the Virtual Express A15x2 A7x3 CoreTile
aka TC2.  This provides cluster management for SMP secondary boot and
CPU hotplug.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
[PM: made it drive SCC registers directly and provide base for SPC]
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2013-08-07 14:55:52 +01:00
Pawel Moll
ceca0e1c39 ARM: vexpress: Add SCC to V2P-CA15_A7's device tree
SCC (Serial Configuration Controller) is used to set initial
conditions for the test chip (TC2). Its registers are also mapped
in normal address space and used to obtain runtime information
and for power management.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2013-08-07 14:55:27 +01:00
Lorenzo Pieralisi
63819cb103 ARM: vexpress/TC2: add Serial Power Controller (SPC) support
The TC2 versatile express core tile integrates a logic block that provides
the interface between the dual cluster test-chip and the M3 microcontroller
that carries out power management. The logic block, called Serial Power
Controller (SPC), contains several memory mapped registers to control among
other things low-power states, wake-up irqs and per-CPU jump addresses
registers.

This patch provides a driver that enables run-time control of features
implemented by the SPC power management control logic with an API to
be used by different subsystem drivers on top.

The SPC control logic is required to be programmed very early in the boot
process to reset secondary CPUs on the TC2 testchip, set-up jump addresses
and wake-up IRQs for power management. Hence, waiting for core changes to
be made in the device core code to enable early registration of platform
devices, the driver puts in place an early init scheme that allows kernel
drivers to initialize the SPC driver directly from the components requiring
it, if their initialization routine is called before this driver init
function during the boot process.

Device tree bindings documentation for the SPC component is also provided.

Cc: Olof Johansson <olof@lixom.net>
Cc: Amit Kucheria <amit.kucheria@linaro.org>
Cc: Jon Medhurst <tixy@linaro.org>
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Sudeep KarkadaNagesha <Sudeep.KarkadaNagesha@arm.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
[ np: moved from drivers/mfd/ to drivers/platform/vexpress/ ]
Signed-off-by: Nicolas Pitre <nico@linaro.org>
[ PM: moved again to arch/arm/mach-vexpress, requested by Olof ]
[ PM: removed useless printk, from Olof ]
[ PM: made the driver SPC-only ]
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2013-08-07 14:55:24 +01:00
Lee Jones
2771211ad6 ARM: ux500: Remove u9540.dts as it's been replaced
This must have been a merge error. There was a patch which renamed the
u9540.dts to ccu9540.dts, however the u9540.dts was reincarnate with
the same patches which created it in the first place. Let's kill it
once and for all.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:36:29 +02:00
Lee Jones
c105424a51 ARM: ux500: Apply a ste-* prefix onto dbx5x0.dtsi
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:35:50 +02:00
Lee Jones
236fe09445 ARM: ux500: Apply a ste-* prefix onto stuib.dtsi
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:35:24 +02:00
Lee Jones
7f733a4f52 ARM: ux500: Apply a ste-* prefix onto hrefv60plus.dts
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:34:53 +02:00
Lee Jones
d1e686442f ARM: ux500: Apply a ste-* prefix onto hrefprev60.dts Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:34:24 +02:00
Lee Jones
23a8ceb076 ARM: ux500: Apply a ste-* prefix onto href.dtsi
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:33:54 +02:00
Lee Jones
421c7399dd ARM: ux500: Apply a ste-* prefix onto ccu9540.dts
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:33:23 +02:00
Lee Jones
ced237df43 ARM: ux500: Apply a ste-* prefix onto ccu8540.dts
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:32:54 +02:00
Lee Jones
32ceadd7bb ARM: ux500: Apply a ste-* prefix onto snowball.dts
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:31:56 +02:00
Lee Jones
8be0e7119e ARM: ux500: Remove Snowball DTS entry for ROHM BH1780GLI ambient light sensor
It doesn't exist on the Snowball development board.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:31:05 +02:00
Lee Jones
d6aacc49a4 ARM: ux500: Remove Snowball DTS entry for TPS61052 chip
TPS61052 is a; boost converter, LED driver, LED flash driver and
simple GPIO pin chip. It has no use here however, as it is not
found on the Snowball development board.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:30:12 +02:00
Lee Jones
bee3c79643 ARM: ux500: Remove Snowball DTS entry for National Semiconductor LP5521 LED chip
It doesn't exist on the Snowball development board.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:29:17 +02:00
Lee Jones
b4ff4d1d9f ARM: ux500: Remove Toshiba TC35892 I/O Expander's DT entry from Snowball's DTS
It doesn't exist on this development board.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@stericsson.com>
2013-08-07 15:28:16 +02:00
Russell King
1b16c4bcf8 ARM: Fix !kuser helpers case
Fix yet another build failure caused by a weird set of configuration
settings:

  LD      init/built-in.o
arch/arm/kernel/built-in.o: In function `__dabt_usr':
/home/tom3q/kernel/arch/arm/kernel/entry-armv.S:377: undefined reference to `kuser_cmpxchg64_fixup'
arch/arm/kernel/built-in.o: In function `__irq_usr':
/home/tom3q/kernel/arch/arm/kernel/entry-armv.S:387: undefined reference to `kuser_cmpxchg64_fixup'

caused by:
CONFIG_KUSER_HELPERS=n
CONFIG_CPU_32v6K=n
CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG=n

Reported-by: Tomasz Figa <tomasz.figa@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-07 14:00:11 +01:00
Russell King
1d0bbf4289 ARM: Fix the world famous typo with is_gate_vma()
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-08-07 14:00:10 +01:00
Linus Walleij
66e0c12f9e ARM: nomadik: switch to use the Nomadik I2C driver
Instead of using bit-banged I2C, let's use the actual I2C
driver in the kernel. Since the I2C block may be communicating
with things like the PMIC, we need to select it from the Kconfig
just like the bit-banged adapter is selected today. The rest of
the configuration for this driver can be done from the device
tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-07 00:59:06 +02:00
Markus Mayer
6dea0df2e7 ARM bcm281xx: Turn on socket & network support.
We need this so an actual disk-based root file system will work.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Acked-by: Christian Daudt <csd@broadcom.com>
2013-08-06 15:35:47 -07:00
Markus Mayer
58d3077a75 ARM: bcm281xx: Turn on L2 cache.
Turning on the L2 cache for the bcm281xx family.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Acked-by: Christian Daudt <csd@broadcom.com>
2013-08-06 15:35:46 -07:00
Markus Mayer
e3b62ffd94 ARM: bcm281xx: DT changes for reboot code
This patch adds the device tree bindings for the bcm281xx reboot code.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Reviewed-by: Tim Kryger <tim.kryger@linaro.org>
Acked-by: Christian Daudt <csd@broadcom.com>
2013-08-06 15:34:01 -07:00
Markus Mayer
28ea3f3649 ARM: bcm281xx: Adding bcm28155-ap.dts
Add support for the BCM28155 AP board.

Signed-off-by: Markus Mayer <markus.mayer@linaro.org>
Acked-by: Christian Daudt <csd@broadcom.com>
2013-08-06 15:34:01 -07:00
Gabriel Fernandez
e0dfe89d61 ARM: u8540: DT: Set pinctrl mapping to i2c0,1,2,4 & 5
This patch configures pin map in device tree of i2c0,
1,2,4 & 5 for ccu8540 board.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:50 +02:00
Gabriel Fernandez
3d0899e8da ARM: u8540: Add Pinctrl Device Tree settings for uart0, uart2
This patch adds pinctrl device tree settings for uart0 and uart2
for ccu8540 board.

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:50 +02:00
Lee Jones
49c129519a ARM: ux500: Stop passing MMC's platform data for Device Tree boots
It was required to pass DMA channel configuration information to the
MMC driver before the new DMA API was in place. Now that it is, and
is fully compatible with Device Tree we can stop doing that.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:49 +02:00
Lee Jones
b0c8fade98 ARM: ux500: Supply external regulator names for Snowball's DT
Regulator names are platform independent, so they need to be applied to
the base level platform DTS files *.dts. Here we're supplying the names
for the newly described AB8500 external regulators.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:48 +02:00
Lee Jones
75f0999a8b ARM: ux500: Provide a supply name for the AB8500 AUX regulators to use
AB8500 AUX regulators are supplied by EXT3 on some boards. This supply
phandle lookup will enable the regulator core to search for and locate
the EXT3 supply at registration time.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:48 +02:00
Lee Jones
62ebfe6b5e ARM: ux500: Add Device Tree nodes for AB8500 External regulators
The AB8500 has 3 external regulators which are used to control outside
voltage sources. Some of the core AB8500 use these external regulators
as a supply, so they must be obtainable via Device Tree.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:48 +02:00
Lee Jones
1d3f99f5da ARM: ux500: Fix trivial whitespace/tabbing issue
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-06 23:48:48 +02:00
Christoffer Dall
240e99cbd0 ARM: KVM: Fix 64-bit coprocessor handling
The PAR was exported as CRn == 7 and CRm == 0, but in fact the primary
coprocessor register number was determined by CRm for 64-bit coprocessor
registers as the user space API was modeled after the coprocessor
access instructions (see the ARM ARM rev. C - B3-1445).

However, just changing the CRn to CRm breaks the sorting check when
booting the kernel, because the internal kernel logic always treats CRn
as the primary register number, and it makes the table sorting
impossible to understand for humans.

Alternatively we could change the logic to always have CRn == CRm, but
that becomes unclear in the number of ways we do look up of a coprocessor
register.  We could also have a separate 64-bit table but that feels
somewhat over-engineered.  Instead, keep CRn the primary representation
of the primary coproc. register number in-kernel and always export the
primary number as CRm as per the existing user space ABI.

Note: The TTBR registers just magically worked because they happened to
follow the CRn(0) regs and were considered CRn(0) in the in-kernel
representation.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-08-06 11:32:30 -07:00
Stephen Boyd
3294a7e7c3 ARM: msm: Only compile io.c on platforms that use it
Only the non-dt based MSM platforms need to map memory from their
machine descriptor. Unfortunately it is always compiled if
ARCH_MSM=y and the file also has mach/ includes in it. Since
dt-based MSM platforms aren't actually using anything in this
file just compile io.c on the non-dt based MSM platforms. This
allows the dt-based platforms to participate in the
multi-platform kernel.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:04 -07:00
Stephen Boyd
0b559df5ce iommu/msm: Move mach includes to iommu directory
Two header files exist in mach-msm's include/mach directory that
are only used by the MSM iommu driver. Move these files to the
iommu driver directory and prefix them with "msm_". This allows
us to compile the MSM iommu driver on multi-platform kernels.

Acked-by: Joerg Roedel <joro@8bytes.org>
Cc: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:03 -07:00
Stephen Boyd
20508a15ba ARM: msm: Remove devices-iommu.c
The iommu devices are registered in software, when they should
really be part of the DT. Since we don't currently have DT
bindings in place for the MSM iommu driver just remove this file
for the time being. This is not removing any functionality anyway
because these devices aren't probing today due to missing clocks.

Cc: Stepan Moskovchenko <stepanm@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:03 -07:00
Stephen Boyd
ebea60bee8 ARM: msm: Move mach/board.h contents to common.h
The contents of mach/board.h are only used by files within
mach-msm so there is no need to export this file outside of the
mach-msm directory. Move the contents of the file to common.h to
allow us to compile MSM in the multi-platform kernel.

Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:02 -07:00
Stephen Boyd
c602520ff8 ARM: msm: Migrate msm_timer to CLOCKSOURCE_OF_DECLARE
This allows us to remove the init_time callback in the DT machine
descriptors, shrinking the code.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:02 -07:00
Stephen Boyd
34606f3871 ARM: msm: Remove TMR and TMR0 static mappings
Nobody is using these mappings so just drop them. of_iomap() in
the timer driver will take care of it for us. Doing this allows
us to remove the 8x60 and 8960 iomap files completely.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:18:01 -07:00
Stephen Boyd
6d07917e3f ARM: msm: Move debug-macro.S to include/debug
One more step to allowing MSM to participate in the
multi-platform defconfig.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
[davidb: Comment cleanup requested by sboyd]
Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06 11:17:40 -07:00
Jason Cooper
ea489af05b ARM: kirkwood: use dts pre-processor for mv88f6281gtw-ge
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:14 +00:00
Thomas Petazzoni
37ae08c939 ARM: kirkwood: convert the mv88f6281gtw_ge board to DT
This commit converts the mv88f6281gtw_ge Kirkwood board to use a
Device Tree representation, except for the Ethernet devices and the
DSA switch. Even though the mv643xx_eth driver has a DT binding,
converting this board to use it is for now left on the side because it
doesn't use a simple PHY, but a DSA switch instead.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:12 +00:00
Thomas Petazzoni
0230bd441e ARM: kirkwood: remove LaCie boards that are supported through DT
The "LaCie Internet Space v2 NAS Board", "LaCie Network Space Max v2
NAS Board" and "LaCie Network Space v2 NAS Board" boards are all
supported through the Device Tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:11 +00:00
Thomas Petazzoni
ffbc50663b ARM: kirkwood: remove support for legacy booting of Sheevaplug
The Kirkwood Sheevaplug platform has already been converted to the
Device Tree, so we can remove the legacy booting option for this
platform.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:09 +00:00
Thomas Petazzoni
f06a29d6cf ARM: kirkwood: remove support for legacy booting of Guruplug
The Kirkwood Guruplug platform has already been converted to the
Device Tree, so we can remove the legacy booting option for this
platform.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:07 +00:00
Thomas Petazzoni
18023ad5ae ARM: kirkwood: remove support for legacy booting of Dockstar
The Kirkwood Dockstar platform has already been converted to the
Device Tree, so we can remove the legacy booting option for this
platform.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 16:14:05 +00:00
Andrzej Hajda
b75e2e3d28 ARM: dts: Add S5K5BA sensor regulator definitions for Trats board
Add MAX8998 LDO12 and fixed voltage regulator nodes. While at it,
all fixed voltage regulator nodes are grouped in a 'regulators' node.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-07 01:08:25 +09:00
Andrzej Hajda
645da318cf ARM: dts: Add Exynos4210 SoC camera port pinctrl nodes
Add pinctrl nodes for the camera parallel port CAM_A data bus
and the CAM_A_CLKOUT clock output pin.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-07 01:08:24 +09:00
Sylwester Nawrocki
39a11311a7 ARM: dts: Add FIMC nodes for Exynos4210 Trats board
Enable FIMC devices on the Trats board. This allows using the
device in memory-to-memory mode only. The camera port pinctrl
property is now empty and will be updated while support for the
camera sensors is added.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-07 01:08:23 +09:00
Sylwester Nawrocki
54a8896a6d ARM: dts: Add camera device nodes for Exynos4210 SoCs
Add common camera node and detailed properties for
the Exynos4210 FIMC devices.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-07 01:08:22 +09:00
Andrzej Hajda
201f12674d ARM: dts: Add SPI1 controller and s5c73m3 sensor node for TRATS2
This patch add dts entries required for the SPI bus used for
firware upload by the S5C73M3 camera.

Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2013-08-07 01:07:57 +09:00
Ezequiel Garcia
54397d8534 ARM: kirkwood: Relocate PCIe device tree nodes
Now that mbus has been added to the device tree, it's possible to
move the PCIe nodes out of the ocp node, placing it directly
below the mbus. This is a more accurate representation of the hardware.

Moving the PCIe nodes, we now need to introduce an extra cell to
encode the window target ID and attribute. Since this depends on
the PCIe port, we split the ranges translation entries, to
correspond to each MBus window.

In addition, we encode the PCIe memory and I/O apertures in the MBus
node, according to the MBus DT binding specification. The choice made
is 0xe0000000-0xf0000000 for memory space, and 0xf200000-0xf2100000 for
I/O space. These apertures can be changed in each per-board DT file.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:53 +00:00
Ezequiel Garcia
3ec81e7e03 ARM: kirkwood: Introduce MBUS_ID
This macro is used to define window's target ID and attribute cells
for the MBus ranges entries.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:48 +00:00
Ezequiel Garcia
455f81a392 ARM: kirkwood: Introduce MBus DT node
Add a minimal MBus node, just to allow the MBus driver to probe.
Follow-up patches will migrate the rest of the nodes appropriately.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:41 +00:00
Ezequiel Garcia
0ab6129c56 ARM: kirkwood: Use the preprocessor on device tree files
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:37 +00:00
Ezequiel Garcia
0789d0b2c3 ARM: kirkwood: Split DT and legacy MBus initialization
This commit replaces the legacy MBus initialization with the new
DT-based in Kirkwood. For boards that are not yet converted to DT,
we keep the legacy initialization.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:31 +00:00
Ezequiel Garcia
14fd8ed0a7 ARM: mvebu: Relocate Armada 370/XP PCIe device tree nodes
Now that mbus has been added to the device tree, it's possible to
move the PCIe nodes out of internal registers, placing it directly
below the mbus. This is a more accurate representation of the
hardware.

Moving the PCIe nodes, we now need to introduce an extra cell to
encode the window target ID and attribute. Since this depends on
the PCIe port, we split the ranges translation entries, to correspond
to each MBus window.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:27 +00:00
Ezequiel Garcia
de1af8d486 ARM: mvebu: Relocate Armada 370/XP DeviceBus device tree nodes
Now that mbus has been added to the device tree, it's possible to
move the DeviceBus out of internal registers, placing it directly
below the mbus. This is a more accurate representation of the hardware.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:23 +00:00
Ezequiel Garcia
0cd3754a83 ARM: mvebu: Add BootROM to Armada 370/XP device tree
In order to access the SoC BootROM, we need to declare a mapping
(through a ranges property). The mbus driver will use this property
to allocate a suitable address decoding window.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:20 +00:00
Ezequiel Garcia
5e12a613ce ARM: mvebu: Add MBus to Armada 370/XP device tree
The Armada 370/XP SoC family has a completely configurable address
space handled by the MBus controller.

This patch introduces the device tree layout of MBus, making the
'soc' node as mbus-compatible.
Since every peripheral/controller is a child of this 'soc' node,
this makes all of them sit behind the mbus, thus describing the
hardware accurately.

A translation entry has been added for the internal-regs mapping.
This can't be done in the common armada-370-xp.dtsi because A370
and AXP have different addressing width.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:16 +00:00
Ezequiel Garcia
38149887ef ARM: mvebu: Use the preprocessor on Armada 370/XP device tree files
Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:08 +00:00
Ezequiel Garcia
b9ae0b50e6 ARM: mvebu: Initialize MBus using the DT binding
Now that the mbus device tree binding has been introduced, we can
switch over to it.

Also, and since the initialization of the mbus driver is quite
fundamental for the system to work properly, this patch adds a BUG()
in case mbus fails to initialize.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:04 +00:00
Ezequiel Garcia
994c8c94b4 ARM: mvebu: Remove the harcoded BootROM window allocation
The address decoding window to access the BootROM should not be
allocated programatically, but instead declared in the device tree.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:00 +00:00
Thomas Petazzoni
89a7fbfb52 ARM: dove: Move to ID based window creation
With the introduction of the ID based MBus API, it's better
to switch to use it instead of the current name based scheme.

This will allow to deprecate the name based API, once every
user is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:10:18 +00:00
Thomas Petazzoni
4ca2c04085 ARM: orion5x: Move to ID based window creation
With the introduction of the ID based MBus API, it's better
to switch to use it instead of the current name based scheme.

This will allow to deprecate the name based API, once every
user is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:10:13 +00:00
Thomas Petazzoni
c5d0ecc98c ARM: mv78xx0: Move to ID based window creation
With the introduction of the ID based MBus API, it's better
to switch to use it instead of the current name based scheme.

This will allow to deprecate the name based API, once every
user is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:10:09 +00:00
Thomas Petazzoni
8baeeeb2f1 ARM: kirkwood: Move to ID based MBus window creation
With the introduction of the ID based MBus API, it's better
to switch to use it instead of the current name based scheme.

This will allow to deprecate the name based API, once every
user is removed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:10:05 +00:00
Simon Horman
4901e136aa ARM: shmobile: lager: enable Ether
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:18:53 +09:00
Simon Horman
9adad78858 ARM: shmobile: ape6evm: Add GPIO LEDs
The board has 6 LEDs connected to GPIOs. Add a led-gpio device to
support them.

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:18:52 +09:00
Simon Horman
5c6db1a421 ARM: shmobile: ape6evm: support GPIO switches
The ape6evm board has switches S16 - S23 wired up to GPIO pins.
This patch allows access to those pins as gpio-keys.

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:18:52 +09:00
Magnus Damm
1d33a354bb ARM: shmobile: Per-CPU SMP boot / sleep code for SCU SoCs
Hook in the per-CPU boot and sleep code in the shared
mach-shmobile SCU code. CPUs may be kept in the asm
routine until ->boot_secondary() when the per-CPU
boot vector is installed. At the end of ->die() the
asm sleep routine is invoked.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:26 +09:00
Magnus Damm
cc61591e45 ARM: shmobile: Introduce per-CPU SMP boot / sleep code
Add per-CPU SMP boot / sleep code that can be used by all
SoCs included in mach-shmobile.

The boot code reads out the per-CPU MPIDR id value and
matches it with the value stored for any CPU number, and
if there is a match and the boot function is set as well
then the boot function will be executed.

The sleep code simply uses WFI and then jumps back to the
boot code to see if anyone has asked to wake up that CPU,
if not it will sleep again.

Signed-off-by: Magnus Damm <damm@opensource.se>
[horms+renesas@verge.net.au: Remove trailing whitespace]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
e9e7c4fbf4 ARM: shmobile: Use shared SCU CPU Hotplug code on r8a7779
Update the r8a7779 specific CPU Hotplug code to make use of
the recently introduced shared SCU functions. The r8a7779
power domain hardware requires special power down handling
at ->kill() time.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
352e57a3af ARM: shmobile: Use shared SCU CPU Hotplug code on sh73a0
Update the sh73a0 specific CPU Hotplug code to make use of
the recently introduced shared SCU functions. The sh73a0
power control hardware relies on SCU_PM_POWEROFF with WFI
so the shared SCU code will as-is power down the hardware
as expected.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
e7b1c96384 ARM: shmobile: Add shared SCU CPU Hotplug code
Add CPU Hotplug functions for SCU equipped mach-shmobile SoCs.

The functions shmobile_smp_scu_cpu_die() together with
shmobile_smp_scu_cpu_kill() perform basic shutdown and
allows checking of shutdown status. These are written
to work together with SMP boot code in  headsmp-scu.S.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
0da60225de ARM: shmobile: Use shared SCU SMP boot code on emev2
Use shared SCU code on emev2 for SMP boot.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
0ca2894b5a ARM: shmobile: Use shared SCU SMP boot code on r8a7779
Use shared SCU code on r8a7779 for SMP boot.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:25 +09:00
Magnus Damm
12eb847438 ARM: shmobile: Use shared SCU SMP boot code on sh73a0
Use shared SCU code on sh73a0 for SMP boot.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:24 +09:00
Magnus Damm
c970d4ef3a ARM: shmobile: Introduce shared SCU SMP boot code
Add SMP boot functions for SCU equipped mach-shmobile SoCs.

At this point shmobile_smp_scu_prepare_cpus() controls the SCU and
installs boot fn and arg, while shmobile_smp_scu_boot_secondary()
currently does nothing. In the future the boot function and arg
install code will be reworked, so the empty function is ground
work for that.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:24 +09:00
Laurent Pinchart
282b583f75 ARM: shmobile: sh73a0: Remove global GPIO_NR definition
The total number of SoC GPIOs is only used to compute the base GPIO
number of th PCF8575 GPIO extender on the KZM9G board. As GPIO
allocation became fully dynamic with DT, no other SH73A0 board will use
the GPIO_NR macro. Move it to the KZM9G board file.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
6de6913185 ARM: shmobile: kzm9d: remove nfsroot settings from bootargs
NFS detail settings like "nfsroot=,rsize=4096,wsize=4096" are no longer needed

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
3d814499ad ARM: shmobile: armadillo800eva: remove nfsroot settings from bootargs
NFS detail settings like "nfsroot=,rsize=4096,wsize=4096" are no longer needed

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
5b3859d7b2 ARM: shmobile: r8a7779: move r8a7779_init_irq_xxx() to setup
This patch moves r8a7779_init_irq_xxx() to setup code,
and remove intc-r8a7779.

Now, r8a7779_init_irq_extpin() uses
platform_device_register_resndata() instead of
platform_device_register()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
70e3f3d4f4 ARM: shmobile: r8a7740: move r8a7740_init_irq_of() to setup
This patch moves r8a7740_init_irq_of() to setup code,
and remove intc-r8a7740

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
8c23c7caeb ARM: shmobile: bockw: add missing __initdata
This patch adds missing __initdata to driver data/resource
which are used from platform_device_register_xxx()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:13 +09:00
Kuninori Morimoto
163a2a6cf1 ARM: shmobile: r8a7790: add missing __initdata
This patch adds missing __initdata to driver data/resource
which are used from platform_device_register_xxx()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:12 +09:00
Kuninori Morimoto
c7537655c6 ARM: shmobile: r8a7779: add missing __initdata
This patch adds missing __initdata to driver data/resource
which are used from platform_device_register_xxx()

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:12 +09:00
Magnus Damm
13eb604665 ARM: shmobile: Remove unused shmobile_init_time()
Remove shmobile_timer_init() since it now is unused.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:12 +09:00
Magnus Damm
c4a62a5f79 ARM: shmobile: Use clocksource_of_init() on r8a7790
Replace the call to shmobile_timer_init() with
clocksource_of_init(). This will allow us to
get rid of shmobile_timer_init().

Signed-off-by: Magnus Damm <damm@opensource.se>
[horms+renesas@verge.net.au: include linux/clocksource.h]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:12 +09:00
Magnus Damm
f611021034 ARM: shmobile: Use default ->init_time() on KZM9G DT ref
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:12 +09:00
Magnus Damm
3b2e2aa319 ARM: shmobile: Use default ->init_time() on Marzen DT ref
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:11 +09:00
Magnus Damm
364185f3ce ARM: shmobile: Use default ->init_time() on APE6EVM DT ref
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:11 +09:00
Magnus Damm
fb185bcb89 ARM: shmobile: Use default ->init_time() on APE6EVM
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:11 +09:00
Magnus Damm
70ce77f77e ARM: shmobile: Use default ->init_time() on Armadillo DT ref
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:11 +09:00
Magnus Damm
3bdbd1c9db ARM: shmobile: Use default ->init_time() on Bockw DT ref
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:11 +09:00
Magnus Damm
9808f79327 ARM: shmobile: Use default ->init_time() on Bockw
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:10 +09:00
Magnus Damm
67ac21f65f ARM: shmobile: Use default ->init_time() on r8a7779
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:10 +09:00
Magnus Damm
0765f48a21 ARM: shmobile: Use default ->init_time() on r8a7778
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:10 +09:00
Magnus Damm
8adacad26f ARM: shmobile: Use default ->init_time() on r8a7740
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:10 +09:00
Magnus Damm
58909ae593 ARM: shmobile: Use default ->init_time() on r8a73a4
Leave ->init_time() set to NULL to use the default ARM behaviour.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:10 +09:00
Kuninori Morimoto
3c7b536232 ARM: shmobile: r8a7778: cleanup registration of hspi
sh-hspi driver which doesn't need platform data at the time of
registration can be registerd on SoC.
And, registering these drivers in the SoC code can avoid
unwanted device numbering issue.
(ex. the hspi2 device number will be spi.0 if hspi2 only registered)
This patch registers it on SoC code as cleanup C code

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:09 +09:00
Kuninori Morimoto
1fd4eecd48 ARM: shmobile: r8a7778: cleanup registration of i2c
i2c-rcar driver which doesn't need platform data at the time of
registration can be registerd on SoC.
And, registering these drivers in the SoC code can avoid
unwanted device numbering issue.
(ex. the i2c3 device number will be i2c.0 if i2c3 only registered)
This patch registers it on SoC code as cleanup C code

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:09 +09:00
Kuninori Morimoto
fc55190835 ARM: shmobile: r8a7778: cleanup registration of sdhi
sdhi driver which needs platform data at the time of
registration is used from BockW only.
Now, ARM/shmobile aims to support DT,
and the C code base board support will be removed
if DT support is completed.
Current driver registration method which needs platform data
and which is not shared complicates codes.
This means legacy C code cleanup after DT supporting
will be more complicated
This patch registers it on board code as cleanup C code

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:09 +09:00
Kuninori Morimoto
044e212146 ARM: shmobile: r8a7778: cleanup registration of usb phy
usb phy driver which needs platform data at the time of
registration is used from BockW only.
Now, ARM/shmobile aims to support DT,
and the C code base board support will be removed
if DT support is completed.
Current driver registration method which needs platform data
and which is not shared complicates codes.
This means legacy C code cleanup after DT supporting
will be more complicated
This patch registers it on board code as cleanup C code

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:09 +09:00
Kuninori Morimoto
a66c974457 ARM: shmobile: r8a7778: cleanup registration of mmcif
sh_mmcif driver which needs platform data at the time of
registration is used from BockW only.
Now, ARM/shmobile aims to support DT,
and the C code base board support will be removed
if DT support is completed.
Current driver registration method which needs platform data
and which is not shared complicates codes.
This means legacy C code cleanup after DT supporting
will be more complicated
This patch registers it on board code as cleanup C code

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-08-06 18:07:09 +09:00
Simon Horman
4e0f3fcfe2 Merge branch 'dt2' into cleanup3-base
Conflicts:
	arch/arm/mach-shmobile/Makefile.boot
2013-08-06 18:06:53 +09:00