Commit graph

30,458 commits

Author SHA1 Message Date
Tero Kristo
49e0340232 ARM: OMAP3: control: add API for setting IVA bootmode
OMAP3 PM core requires IVA2 bootmode to be set to idle during init. Currently,
a direct register write is used for this. Add a new ctrl API for this purpose
instead.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-19 10:11:52 -06:00
Tero Kristo
c6a2d839d0 ARM: OMAP3: CM/control: move CM scratchpad save to CM driver
OMAP3 PM code for off-mode currently saves the scratchpad contents for CM
registers within OMAP control module driver. However, as we are separating
CM code into its own driver, this must be moved also. This patch adds a
new API for saving the CM scratchpad contents and uses this from the high
level scratchpad save function.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-19 10:11:52 -06:00
Tero Kristo
7a90da2ad3 ARM: OMAP3: McBSP: do not access CM register directly
McBSP driver require special hacks to enable/disable the autoidle feature
for its interface clock for the proper function of the sidetone hardware.
Currently the driver just writes CM registers directly, which should be
avoided. Thus, changed the driver to use the new deny/allow_autoidle
clock API calls.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-19 10:11:51 -06:00
Tero Kristo
818b40e500 ARM: OMAP3: clock: add API to enable/disable autoidle for a single clock
Some drivers require direct access to the autoidle functionality of the
interface clocks. Added clock APIs for these, so that the drivers do not
need to access CM registers directly.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-19 10:11:51 -06:00
Tero Kristo
cd6e9db277 ARM: OMAP2: CM/PM: remove direct register accesses outside CM code
Users of the CM funtionality should not access the CM registers directly
by themselves. Thus, added new CM driver APIs for the OMAP2 specific
functionalities which support the existing direct register accesses, and
changed the platform code to use these. This is done in preparation
for moving the CM code into its own individual driver.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2013-10-19 10:11:51 -06:00
Thierry Reding
bd6a9ddcb9 ARM: tegra: Add Tegra114 powergate support
Extend the list of power gates found on Tegra114. Note that there are
now holes in the list, so perhaps a simple array is no longer the best
data structure to represent it.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:11 -06:00
Thierry Reding
f0ea2e0bb8 ARM: tegra: Constify list of CPU domains
There's no need to modify these at runtime, it is static data and never
needs to change.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:11 -06:00
Thierry Reding
c1e96da28c ARM: tegra: Remove duplicate powergate defines
Instead of duplicating powergate defines, reuse the ones from the
include/linux/tegra-powergate.h header file.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:10 -06:00
Joseph Lo
f0c4ac1329 ARM: tegra: add LP1 support code for Tegra124
The LP1 suspend procedure is the same with Tegra30 and Tegra114. Just
need to update the difference of the register address, then we can
continue to share the code.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:10 -06:00
Joseph Lo
92e94fe1cd ARM: tegra: re-calculate the LP1 data for Tegra30/114
This patch re-calculates the LP1 data of tegra30/114_sdram_pad_address
to base on its label not rely on others. This can make easier to
maintain if some other Tegra chips keep re-using these codes in the
future. And change the name of tegra30_sdram_pad_save to
tegra_sdram_pad_save to make it more common to other chips.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:09 -06:00
Joseph Lo
24036fdc76 ARM: tegra: enable CPU idle for Tegra124
The CPUIdle function of Tegra124 is identical to Tegra114, so we share
the same driver with Tegra114.

Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:09 -06:00
Joseph Lo
d127e9c5c5 ARM: tegra: make tegra_resume can work with current and later chips
Because the CPU0 was the first up and the last down core when cluster
power up/down or platform suspend. So only CPU0 needs the rest of the
functions to reset flow controller and re-enable SCU and L2. We also
move the L2 init function for Cortex-A15 to there. The secondery CPU
can just call cpu_resume.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:08 -06:00
Joseph Lo
9997e62682 ARM: tegra: CPU hotplug support for Tegra124
The procedure of CPU hotplug for Tegra124 is same with Tegra114. We
re-use the same function with it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:08 -06:00
Joseph Lo
6ca91f9d64 ARM: tegra: add PMC compatible value for Tegra124
The PMC HW is not identical to the existing Tegra SoC. Hence add to it.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:07 -06:00
Joseph Lo
7394447505 ARM: tegra: add Tegra124 SoC support
Add Tegra124 SoC support that base on CortexA15MP Core. And enable the
SMP function that can re-use the same procedure with Tegra114.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
2013-10-18 16:28:07 -06:00
Stephen Warren
3bd1ae57f7 ARM: tegra: add fuses as device randomness
Various fuses on Tegra include information that's unique to an individual
chip, or a subset of chips. Call add_device_randomness() with this data
to perturb the initial state of the random pool.

Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-18 16:28:06 -06:00
Kevin Hilman
ee4383e0c1 Changes needed to drop legacy booting support for some
omap3 boards.
 
 Note that that these are based on a merge of the
 following for the dependencies:
 
 - v3.12-rc5 for fixes to pinctrl mask
 - omap-for-v3.13/dt-signed to avoid pointless merge conflicts
 - omap-for-v3.13/quirk-signed for legacy pdata handling
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJSYXP6AAoJEBvUPslcq6Vz2fcQAJyOHsHVNs3vxpB2CbFWzgl7
 D4tFyL3pHlq9+p/VJwthUoY6WIiWIgEcKoLACD39w+EQ3XThcG1coc0TFj8IPxTr
 QOCn5sMu1Z11OKhegcTEhySp8GUrmtNFplMCNK3jPsLjYLdVxOopjziO7qcCd49O
 7pjCPfHoU5NkAACcm2nmE2uAlYP4STpGDnzwsi/aHZZQSIni2MslyeN9LeXdwBrN
 of29pw8gTA0TVQSXemq0oLnMlEYzLd0ICG2SjSmJ/tWX0vXwjQl4fdDkqHwumPxo
 wyjVw744AuXy0WC7PZluQxadd0jEptAs7XSsYgTGOvececWtmZEJDzPGamfabhlX
 V6aHIqwVyDOGJXjQkUuaNuD5eO+afDwyaeVOla8YgE9ugwEs3xDXfHdks9nC8n4I
 OAk+hXfEBPpLQgItkP+Q3EnYIUJVh4ew5oWCHVfXM8ssKTH6bblWFVtJXP1eyC+0
 qkcHOHMR5oK4p+YAmRoRkeMG+Fe2pzT7dWOli4lPVXre1MAd/DQM5+NvgMaveW/E
 S8YHj5mRR7a13OAgOWtscjUz+hWE+WIBkCyFuo0w4+RMShKtsiuC+FJirsQpCxLp
 aFuwGG8ixT0F4WL/9Ao4iVmIOt15YIW3ND9ubHrPL2Ll0nGPwSmJSb+B7OgSFwqo
 G3r4/CSgwljeUq4FZox4
 =9Iuv
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.13/board-removal-signed-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

From Tony Lindgren:
Changes needed to drop legacy booting support for some
omap3 boards.

Note that that these are based on a merge of the
following for the dependencies:

- v3.12-rc5 for fixes to pinctrl mask
- omap-for-v3.13/dt-signed to avoid pointless merge conflicts
- omap-for-v3.13/quirk-signed for legacy pdata handling

* tag 'omap-for-v3.13/board-removal-signed-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (125 commits)
  ARM: OMAP2+: remove legacy support for IGEP boards
  ARM: OMAP2+: Remove legacy support for zoom platforms
  ARM: OMAP2+: Remove legacy booting support for omap3 EVM
  ARM: OMAP2: delete board-rm680
  ARM: dts: add minimal DT support for Nokia N950 & N9 phones
  ARM: dts: Add basic support for zoom3
  ARM: dts: Add basic support for TMDSEVM3730 (Mistral AM/DM37x EVM)
  ARM: dts: Add common support for omap3-evm
  ARM: dts: Shared file for omap GPMC connected smsc911x
  +Linux 3.12-rc5

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-18 11:30:37 -07:00
Russell King
8754c4bf2a Merge branch 'for-rmk/arm-mm-lpae' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into devel-stable
This series extends the existing ARM v2p runtime patching for 64 bit.
Needed for LPAE machines which have physical memory beyond 4GB.
2013-10-18 19:16:01 +01:00
Tony Lindgren
ffd076eea3 ARM: OMAP1: Fix a bunch of GPIO related section warnings after initdata got corrected
Commit f8e7ba66 (ARM: OMAP1: fix incorrect placement of
__initdata tag) fixed things but we started seeing section
warnings. Looks like I missed those in my automatic
build scripts:

Section mismatch in reference from the variable omap7xx_gpio6 to the (unknown reference) .init.data:(unknown)
Section mismatch in reference from the variable omap7xx_gpio6 to the (unknown reference) .init.data:(unknown)
Section mismatch in reference from the variable omap7xx_gpio5 to the (unknown reference) .init.data:(unknown)
...

Fix the issue by removing __initdata for the resources.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-18 10:50:51 -07:00
Javier Martinez Canillas
06ff74fd19 ARM: OMAP2+: remove legacy support for IGEP boards
Device Tree support for IGEP boards in mainline is almost
finished. The only remaining bits are support for the
Marvell SD8686 wifi + BT and TFP410 DVI chips.

Adding support for these should be straightforward so let's
not block OMAP3 moving to Device Tree only boot and remove
the board file for IGEP boards.

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:25:46 -07:00
Tony Lindgren
97411608fd ARM: OMAP2+: Remove legacy support for zoom platforms
We now have pretty decent device tree based support for
zoom platforms. It's not complete, but basics work for
me so adding more features should be quite trivial.

Looks like also 3630 sdp is zoom based, and looking
at it's board file should also be trivial to support
with the device tree based booting.

Patches are welcome if people are still using these.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:24:33 -07:00
Tony Lindgren
95807689ea ARM: OMAP2+: Remove legacy booting support for omap3 EVM
We now have pretty decent support with the device tree
based booting. Patches to add more features are welcome.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:24:33 -07:00
Aaro Koskinen
dfcc11ad4a ARM: OMAP2: delete board-rm680
Delete board file for Nokia RM-680/RM-696 (N950/N9). DT-based booting
should be used for further development on this HW.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:24:33 -07:00
Aaro Koskinen
df01318850 ARM: dts: add minimal DT support for Nokia N950 & N9 phones
Add minimal DT support for Nokia N950 & N9 phones. The same functionality
that is provided by the current board file should work: serial console,
USB, OneNAND and MMC.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:24:33 -07:00
Tony Lindgren
c482525659 ARM: dts: Add basic support for zoom3
I've tested serial, MMC, smsc911x and wl12xx on zoom3. As my
omap is an early ES revision, I have not been able to test
off-idle on this one. But anyways, I'd say we have enough
device tree support for the zoom to be able to drop the
board-zoom files. Patches are welcome to add further features
to this .dts file.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2013-10-18 10:24:33 -07:00
Shawn Guo
5f7adc9762 ARM: imx: imx6sl iomuxc syscon is compatible to imx6q
The imx6sl iomuxc syscon is compatible to imx6q, so let's add
compatible string 'fsl,imx6q-iomuxc-gpr' for imx6sl iomuxc syscon node.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-10-18 23:27:37 +08:00
Kevin Hilman
af43ef6770 First DT series for 3.13
- addition of sound for at91sam9n12
 - a little fix for MMC vs. SPI on at91sam9g20ek
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSYUtRAAoJEAf03oE53VmQH+EH/1YhBDF7uL5s+TCKLBOyau+G
 i+W93uG4acZAdbUMRwY+/dP5HMwFu5ZSoKDD5LoRnG2O+jW5dB3rBPi1C42XRKa/
 ra1wQcabKFPERJGDJ8DWbuLoJ7WNiDNENDa5ckV3m+F7dRbflcNyUB7vPUiGW78c
 xe/WKCKB9Hhpytl1fAynRs+VEu/z3hW7KV7QFyVDatOtV11Vb4QSSJ5HjfMhfito
 T7zAsML26hIdcNRsDQs8/4Uwgy8Tevl6FbtLHvht18BJB7FSxRtiPrAGh0KAmwsl
 HwIT8RzgJqdDlXTi9z9BdLFlvFZkX83n12jrB7hGScOKav45kvmmC9pgwhFbRzk=
 =uw6I
 -----END PGP SIGNATURE-----

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

From Nicolas Ferre:
First DT series for 3.13
- addition of sound for at91sam9n12
- a little fix for MMC vs. SPI on at91sam9g20ek

* tag 'at91-dt' of git://github.com/at91linux/linux-at91:
  ARM: at91: remove pinctrl conflict between mmc and SPI for at91sam9g20ek
  ARM: at91: add sound support on at91sam9n12ek board
  ARM: at91: enable ssc on at91sam9n12ek board
  ARM: at91: enable wm8904 on at91sam9n12ek board
  ARM: at91: add ssc dma parameter for at91sam9n12
  ARM: at91: add at91sam9n12 ssc clock in look up table

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-18 08:21:28 -07:00
Kevin Hilman
76df26b5bb First cleanup series for 3.13
- a little non-urgent fix
 - addition of DT files to MAINTAINERS
 - more important, the splitting of .dtsi files
   that allows to precisely choose the peripherals
   that are present for a particular SoC.
   It is useful for upcoming move to common cloks.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQEcBAABAgAGBQJSYT2LAAoJEAf03oE53VmQfRMIAIgFQruxaCTlhpvdZaEyDeIK
 6+szV0Nn9irQyZqe2HvUR6Flb7FfmAGiyS0xj/OY4bEBbCOeau8Df/op3fVa6+Q2
 t510ricL9OWaSqaIsKgJqk3mjpq/7jMrXBQzBjQFgKVcJSA+zOJNiB6qabmE9KjY
 z/2+hYaBgG7WwWffHmJQ34NYrIqrWbqaGZczxY9IVw7i4kfDXPL2t2JZk2JTwstt
 4C4CRxKXx27EMF0gE2BOgH0r1euaqllSg4ogYlQkBn2canylvNYiRN2Eu36g4peE
 cGjtW/8R0ngz3udeoQWeHZ+nZoFT15m048xgIOUbxX5Ocy7u7HSL0tbaH+W9ciI=
 =VlMj
 -----END PGP SIGNATURE-----

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

From Nicolas Ferre:
First cleanup series for 3.13
- a little non-urgent fix
- addition of DT files to MAINTAINERS
- more important, the splitting of .dtsi files
  that allows to precisely choose the peripherals
  that are present for a particular SoC.
  It is useful for upcoming move to common cloks.

* tag 'at91-cleanup' of git://github.com/at91linux/linux-at91:
  MAINTAINERS: Add patterns for DTS files for AT91
  ARM: at91: remove init_machine() as default is suitable
  ARM: at91/dt: split sama5d3 peripheral definitions
  ARM: at91/dt: split sam9x5 peripheral definitions
  ARM: at91: cam60: fix incorrect placement of __initdata tag
2013-10-18 07:57:17 -07:00
Kevin Hilman
abcba009e5 Changes needed for am43xx for the hwmod data.
This will be the last new set of hwmod data for any SoC
 as future SoCs will use a driver and device tree based
 approach. But before that can be dealt with, we need to
 first sort out the pending driver/clk issues.
 
 Queued by Paul Walmsley <paul@pwsan.com>:
 
 Add hwmod and PRCM data for the TI AM43xx family of SoCs.
 
 Under normal circumstances, these patches would not be merged.
 The hwmod and PRCM data should be moved out either to DT data or
 to drivers/.  Also, the current implementation trades off lines
 of diff by dynamically rewriting static data at runtime, which is
 a bad practice - it causes future maintenance headaches.
 However, after speaking with my upstream, it sounds like it's
 better to merge these patches in their current state, due to long
 term considerations.
 
 Basic test logs are here:
 
 http://www.pwsan.com/omap/testlogs/am43xx_support_v3.13/20131015213706/
 
 Due to the lack of an AM43xx board and any available public
 documentation, it's impossible for me to review or test that
 platform in any meaningful way.  But at least the tests above
 verify that the patches don't affect existing platforms -
 particularly AM33xx.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.14 (GNU/Linux)
 
 iQIcBAABAgAGBQJSYCXAAAoJEBvUPslcq6VzDiIP/28rQiqboGE8VVj3UACFop13
 S+MME1ylvehHu5o/S39vaQ69OLXc5pdP8qaIWcJAJiEOQHoeVbPP+gGzBt1QAZC/
 1G5CTsVNG4uPtJUcsdS46bp6+T2ubs+bZg3ytgxLTC47R/NMI/73F/JUxw/QolYl
 7ppyasBF+UGxuwptHsF3ZPWBrausJswC4PMs47rWA0/cc72I47gmy4l+hrCjoBMA
 /PYgbvtFkEugqj2MJVEfr0u7Fm1L5pU9wbKBPQ+3pa3wLqW2hZc0ORGhyyalIVFd
 GSHyAqgdIbegtzQTivIaSpxlpqQUGFKih08K/dH7h4K7em2VRuDZmGErsmCniLsS
 KaWrJolBIyKR03jkdgqD+gz9jkUxTqnLqY0H9GYanq65vVUqkP33htKDARIJOsDQ
 XMXxkeQs54869D+Or31owAJ5zSq4OZL+TeqTAcWrRURhBCswyxtdTN5JjrNiJWKP
 FvXp3m9+++/rPd5rpyrn6Sb3wwd9j31CaMzOgEsDqAcLA0E/+i5ZjekhSBQy0GHy
 0ShWzkizn4xsHPbiHp9VVaZ5XkSS87m4C+k4cgT60qSgiqUO3K84ApMqiYiuTE2k
 rcPA2bEGQ8C+Wmp6EhQ+dU4KP9HtFsK9YLVWnqhjPGNa1w+1i7Ds5zpso8/VPBqO
 IoPtLJcE5fgQQUnU7Cbv
 =amRz
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v3.13/am43xx-hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

From Tony Lindgren:
Changes needed for am43xx for the hwmod data.

This will be the last new set of hwmod data for any SoC
as future SoCs will use a driver and device tree based
approach. But before that can be dealt with, we need to
first sort out the pending driver/clk issues.

Queued by Paul Walmsley <paul@pwsan.com>:

Add hwmod and PRCM data for the TI AM43xx family of SoCs.

Under normal circumstances, these patches would not be merged.
The hwmod and PRCM data should be moved out either to DT data or
to drivers/.  Also, the current implementation trades off lines
of diff by dynamically rewriting static data at runtime, which is
a bad practice - it causes future maintenance headaches.
However, after speaking with my upstream, it sounds like it's
better to merge these patches in their current state, due to long
term considerations.

Basic test logs are here:

http://www.pwsan.com/omap/testlogs/am43xx_support_v3.13/20131015213706/

Due to the lack of an AM43xx board and any available public
documentation, it's impossible for me to review or test that
platform in any meaningful way.  But at least the tests above
verify that the patches don't affect existing platforms -
particularly AM33xx.

* tag 'omap-for-v3.13/am43xx-hwmod-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2: hwmod: Add qspi data for am437x.
  ARM: OMAP2+: hwmod: Add USB hwmod data for AM437x.
  ARM: OMAP2+: AM43x PRCM init
  ARM: OMAP2+: AM43x: PRCM kbuild
  ARM: OMAP2+: hwmod: AM43x operations
  ARM: OMAP2+: hwmod: AM43x support
  ARM: OMAP2+: CM: AM43x clockdomain data
  ARM: OMAP2+: PM: AM43x powerdomain data
  ARM: OMAP2+: PRCM: AM43x definitions
  ARM: OMAP2+: hwmod: AM335x: remove static register offs
  ARM: OMAP2+: hwmod: AM335x: runtime register update
  ARM: OMAP2+: hwmod: AM335x/AM43x: move common data
  ARM: OMAP2+: CM: cm_inst offset s16->u16

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-18 07:50:51 -07:00
Jean-Christophe PLAGNIOL-VILLARD
e483341ce8 ARM: at91: remove pinctrl conflict between mmc and SPI for at91sam9g20ek
These MMC and SPI buses can't be configured at the same time because they
share the same traces on the EK board.

Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2013-10-18 16:50:13 +02:00
Kevin Hilman
9657b772e9 Fixes for v3.12
- correct typo 'samsung,pin-drv'
 - correct typo 'earlyprintk'
 - cpufreq regulator lookup for exynos4210-origen and trats
 - fix PL330 MDMA1 address for universal c210 board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSXcEiAAoJEA0Cl+kVi2xqFhIP/3tSUZsXJk0r/uVCjDoPKqKV
 YT7/HOASpD2581wcppHgQuKOsMq4gH5e/04t3OyrmjYERTTyiPu14ChaYKsnxIWT
 8uJc1cTpkhvZeiZnYTZC1dB8Ab7Uo1LWMbTdjPiltmGk/j9aDc8Hk5w7f/S3PjB5
 RqOulsf2pas7RqvnANX5QH6XOOmEsULarP6EZJDQg4ULf+0/lXUtHJrV3DZGo9lm
 x+xu/+SLG/RAzNu7L/i3S+Aam/+jXodpgVnRr8UigpXVvc7lm6W70Ue8yFVVThdy
 5Fdw8gkH7fZMMI2EfOH+8xiDJrY3Ct5Zqzmwop2NPDMBTws0CRnbodfrsvPFLKt5
 B+DCt2/KFSZNsRrcEYuEDU8sfLnpLHpALhkIAVzyMamQ7tzelmqajmCdxBiP5rCa
 MIBBHFTlWytevNq6KQJpM2+eoHJuAsL+ePvXyfppJJrUZc2bU292xQU6giYbkeOB
 SBOQuqfCgfHHE4sQIMywfiOz1MiVm87krVvk3UgS2TUxwkSJev9UvBxMA0+pOZc7
 D5orO7dykSX+/VMRTx/MvA8kPdhbCwp8RZFfoj1ICJXbvGRY/g2KtMEU9SZ2is9+
 lJ2+tWqnQeG2PsR5eIcSy/F0GbZQRfHqb+SBi6a79Xc+Jt132ra/iXAGmuJwVkft
 cveLEIahwMKu3aWgWetz
 =LN5l
 -----END PGP SIGNATURE-----

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

From Kukjin Kim:
Fixes for v3.12
- correct typo 'samsung,pin-drv'
- correct typo 'earlyprintk'
- cpufreq regulator lookup for exynos4210-origen and trats
- fix PL330 MDMA1 address for universal c210 board

* tag 'samsung-fixes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: fix PL330 MDMA1 address in DT for Universal C210 board
  ARM: dts: Work around lack of cpufreq regulator lookup for exynos4210-origen and trats boards
  ARM: dts: Fix typo earlyprintk in exynos5440-sd5v1 and ssdk5440 boards
  ARM: dts: Correct typo in use of samsung,pin-drv for exynos5250

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-18 07:14:30 -07:00
Kevin Hilman
60cd8b09f1 Merge branch 'rockchip/boards' into next/boards
From Heiko Stübner:
Support for the RK3188 SoC, basic RK3188 based Radxa Rock board
and RK3066a based BQ Curie2 tablet.

* rockchip/boards:
  ARM: rockchip: add support for rk3188 and Radxa Rock board
  ARM: rockchip: add dts for bqcurie2 tablet
  ARM: rockchip: enable arm-global-timer
  ARM: rockchip: move shared dt properties to common source file
2013-10-18 07:02:04 -07:00
Kevin Hilman
80a18f5043 Romoval of obsolete (never used) dt properties
and fix for the selection of the TWD.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABCAAGBQJSYDcLAAoJEPOmecmc0R2Bsk8IAJYlUERribDudz9RwlG5M9ml
 51VZqJfvc1h0odPS0FnuB+qc2SA4zzqfwWFmqDfBA1XttlC800TAFA9c3zcrqIKt
 saJdEnnV1DiCJxhayxDhARIuCQI3pQj/2b88sFrkf3EQZRCoXrpehJpvQrZRYqUn
 /Za7cbl5Krzvr9G33P5kIORdkNxxY7kygXmoEK6jsDxJmIuB9wIgHMz9SfavxGhH
 y0EfyXFJ093jrAOrs5oTxd7FB/Tb2Y4N81moZUxKTKGfv6hrVeBOhfJbrbTLvrP+
 ZgjmBpgZrn0bn3tox1b8ZCa9ZDJbYipZF+MkHzhXhTYMrqPIS2Ht9aSUZWORRHU=
 =0kg9
 -----END PGP SIGNATURE-----

Merge tag 'v3.13-rockchip-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes-non-critical

From Heiko Stübner:
Romoval of obsolete (never used) dt properties
and fix for the selection of the TWD.

* tag 'v3.13-rockchip-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: remove obsolete rockchip,config properties
  ARM: rockchip: fix wrong use of non-existent CONFIG_LOCAL_TIMERS
2013-10-18 06:36:33 -07:00
Linus Walleij
6e1484c276 ARM: ux500: register all SSP and SPI blocks
This adds the SSP and SPI blocks to the device tree and makes
them active. Only this way can their clocks be properly gated
off at boot.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-18 14:55:44 +02:00
Linus Walleij
72b3e249ce ARM: ux500: fix I2C4 clock bit
The PCLK for I2C4 is controlled by bit 10 in the PCKEN registers
while the KCLK is controlled by bit 9 on the KCKEN, it's
one of these odd assymetric things. Correct the PCLK bit to 10.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-18 14:55:43 +02:00
Linus Walleij
d591640adc ARM: ux500: fix clock for GPIO blocks 6 and 7
The clock assignment in the device tree for GPIO blocks 6
and 7 was incorrect, indicating this was managed by bit 1 on
PRCC 2 while it was in fact bit 11 on PRCC 2.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-18 13:25:46 +02:00
Linus Walleij
84873cb773 ARM: ux500: fix clock for GPIO block 8
The clock assignment in the device tree for GPIO block 8 was
incorrect, indicating this was managed by bit 1 on PRCC 6
while it was in fact bit 1 on PRCC 5.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-10-18 13:25:21 +02:00
Huang Shijie
d1b539758a ARM: dts: imx6sl-evk: enable the SPI NOR
enable the spi nor for imx6sl-evk boards.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-10-18 16:27:45 +08:00
Huang Shijie
dc1089206d ARM: dts: imx6sl: add a pinctrl for ECSPI1
add a pinctrl for ECSPI1. This pinctrl can be used in the imx6sl-evk board.

Signed-off-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-10-18 16:27:38 +08:00
Steffen Trumtrar
443b6585ac ARM: imx27: add missing #pwm-cells property
The pwm-node is missing its #pwm-cells property. The pwm-framework will
complain about this.

Add the missing property.

Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
2013-10-18 16:27:01 +08:00
Christoffer Dall
9b5fdb9781 KVM: ARM: Transparent huge page (THP) support
Support transparent huge pages in KVM/ARM and KVM/ARM64.  The
transparent_hugepage_adjust is not very pretty, but this is also how
it's solved on x86 and seems to be simply an artifact on how THPs
behave.  This should eventually be shared across architectures if
possible, but that can always be changed down the road.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-10-17 17:06:30 -07:00
Christoffer Dall
ad361f093c KVM: ARM: Support hugetlbfs backed huge pages
Support huge pages in KVM/ARM and KVM/ARM64.  The pud_huge checking on
the unmap path may feel a bit silly as the pud_huge check is always
defined to false, but the compiler should be smart about this.

Note: This deals only with VMAs marked as huge which are allocated by
users through hugetlbfs only.  Transparent huge pages can only be
detected by looking at the underlying pages (or the page tables
themselves) and this patch so far simply maps these on a page-by-page
level in the Stage-2 page tables.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-10-17 17:06:20 -07:00
Kevin Hilman
163556896d Merge branch 'tegra/defconfig' into next/boards
From Stephen Warren:
* tegra/defconfig:
  ARM: tegra: defconfig updates

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-17 16:06:25 -07:00
Kevin Hilman
ec902c620b Merge branch 'tegra/dt' into next/dt
From Stephen Warren:
* tegra/dt:
  ARM: tegra: Use symbolic names for gr3d clocks
  ARM: tegra: Mark Tegra30 display controller compatible with Tegra20
  ARM: tegra: add GPIO controller to tegra124.dtsi
  ARM: tegra: enable LP1 suspend mode for Venice2
  ARM: tegra: enable Tegra RTC as default for Tegra124
  ARM: tegra: add Venice2 board support
  ARM: tegra: Add initial device tree for Tegra124
  ARM: tegra: add vcc supply for nct1008 to Cardhu
  ARM: tegra: add DT entry for nct1008 to Dalmore
  ARM: tegra: use dt-binding header for key code
  ARM: tegra: add palmas pincontrol to Dalmore device tree

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-17 16:02:51 -07:00
Josh Wu
c8b11de040 iio: at91: introduce touch screen support in iio adc driver
AT91 ADC hardware integrate touch screen support. So this patch add touch
screen support for at91 adc iio driver.
To enable touch screen support in adc, you need to add the dt parameters:
  1. which type of touch are used? (4 or 5 wires), sample period time.
  2. correct pressure detect threshold value.

In the meantime, since touch screen will use a interal period trigger of adc,
so it is conflict to other hardware triggers. Driver will disable the hardware
trigger support if touch screen is enabled.

This driver has been tested in AT91SAM9X5-EK and SAMA5D3x-EK.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
CC: devicetree@vger.kernel.org
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2013-10-17 23:57:10 +01:00
Kevin Hilman
b25a51cb16 ARM: tegra: cleanup for 3.13
This branch mainly removes dead code and defines that were useful only
 when booting using board files. A few other misc cleanups are also
 included.
 
 This branch is based on previous pull request
 tegra-for-3.13-deps-for-arm-init-time-cleanup.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJSYDBlAAoJEMzrak5tbycxXIoP/2A5Vt2G11q+Fv/AX7zSLCPB
 f6eoTjao9ye2FGesHk9RkZFxaaPNmeI9OY+7SNnaPvDlRruQdlgd85C5DJjZGwge
 65mw/e7hyaWKhhHk9KUOCfRB9W4upVdkvn7rIQgt+Av1RU/P/vereFku85kpzYDp
 7eAawZuBoOOoeaQpK5s/+xlOUV/Zfc/ri0mwO6pJdaFfIrS8Suk2DncpuMsfhSFf
 L4FwMDkqfZ5vbFP97l2FsNlSlIAhjGoq/IOQ8GEfUG3TdVQrTC3vJVATw4wO4Ndx
 LxKvmEIZeys3PihwzbtYKRsv4gS3IRhj82D29a3l9/nM2hdfoaHVb3G5pivPEPaG
 jkguqSllXUSfWRM0PbT6Yon9yfynOGjuJkI+hxd0nW52Tglx7NiubBK3ywUu+Hkk
 lrVg+AL63feyYAxWJEhg5lS7+BkH31VNYbRu6U8NsDg3lgnQdhkd76QyAsF9Ep7T
 YY94oP8HqIPd/HE8gNkBdxltA8yo1+bxHnYbqtlacOqd+ASIVt5s4L639qpZyn+z
 Ykyfuj4XEYZfv4Czh5EcKRQZxUFI6vcWos2nifM2SRSWEQaNBRZqf/ZuOIiZ1N67
 piZA8tenwSWJiYo7gc75/DiPEpJf70XkKcwEd5lEUs4NXGswPJQp73DLhhiPMCiT
 ScS3GG65ndH5GUwHO7lb
 =5/r6
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-3.13-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/cleanup

ARM: tegra: cleanup for 3.13

This branch mainly removes dead code and defines that were useful only
when booting using board files. A few other misc cleanups are also
included.

This branch is based on previous pull request
tegra-for-3.13-deps-for-arm-init-time-cleanup.

* tag 'tegra-for-3.13-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: fix ARCH_TEGRA_114_SOC select sort order
  ARM: tegra: make tegra_init_fuse() __init
  ARM: tegra: remove much of iomap.h
  ARM: tegra: move resume vector define to irammap.h
  ARM: tegra: delete gpio-names.h
  ARM: tegra: delete stale header content
  ARM: tegra: remove common.c

Signed-off-by: Kevin Hilman <khilman@linaro.org>
2013-10-17 15:37:59 -07:00
Kevin Hilman
cb1110ca79 Highbank platform updates for 3.13
- convert Calxeda cpuidle driver to a platform driver and to use PSCI
 - convert highbank smp_ops and suspend to PSCI
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQEcBAABAgAGBQJSYCG/AAoJEMhvYp4jgsXiFkkIALhWCtYC7qcthorB/s9STVkv
 5VhPA7Jx9i9omnrsdzICXYC/HQaSN7gwgAPICYxTcAcen+qySHeXvk7jWh7PtQJ9
 OHLWd1tYVxLV1y9tnmiFYVbJn017W0Kq0m4kkZEh6Q8KW0qE1xcHGREWHs/+1D4k
 Rx798Tg6jgjt0nvg893aAcFQsgKxG53n5uqNySI9DKvxYcJBJkHD0/EgyHk+myVY
 TPZj6f9xGwLCv0rQU6Vr29NniX1w2bRt6lYEp0KGlGjEGbiuStcRf6xUUmhxmDCs
 faIspFMxpR4dqqeIq1Xh2x8S4QOMjDoiFGZmGBgrNdvLNOGNsd+QRhdLJiXuB88=
 =8WVt
 -----END PGP SIGNATURE-----

Merge tag 'highbank-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next/soc

From Rob Herring:
Highbank platform updates for 3.13

- convert Calxeda cpuidle driver to a platform driver and to use PSCI
- convert highbank smp_ops and suspend to PSCI

* tag 'highbank-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dts: calxeda: add ARM PSCI binding
  ARM: highbank: adapt to use ARM PSCI calls
  ARM: PSCI: remove unnecessary include of arm-gic.h
  cpuidle: calxeda: add support to use PSCI calls
  ARM: highbank: cpuidle: convert to platform driver
  cpuidle: calxeda: add cpu_pm_enter/exit calls
2013-10-17 15:27:54 -07:00
Christoffer Dall
86ed81aa2e KVM: ARM: Update comments for kvm_handle_wfi
Update comments to reflect what is really going on and add the TWE bit
to the comments in kvm_arm.h.

Also renames the function to kvm_handle_wfx like is done on arm64 for
consistency and uber-correctness.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-10-17 15:26:50 -07:00
Marc Zyngier
58d5ec8f8e ARM: KVM: Yield CPU when vcpu executes a WFE
On an (even slightly) oversubscribed system, spinlocks are quickly
becoming a bottleneck, as some vcpus are spinning, waiting for a
lock to be released, while the vcpu holding the lock may not be
running at all.

This creates contention, and the observed slowdown is 40x for
hackbench. No, this isn't a typo.

The solution is to trap blocking WFEs and tell KVM that we're
now spinning. This ensures that other vpus will get a scheduling
boost, allowing the lock to be released more quickly. Also, using
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT slightly improves the performance
when the VM is severely overcommited.

Quick test to estimate the performance: hackbench 1 process 1000

2xA15 host (baseline):	1.843s

2xA15 guest w/o patch:	2.083s
4xA15 guest w/o patch:	80.212s
8xA15 guest w/o patch:	Could not be bothered to find out

2xA15 guest w/ patch:	2.102s
4xA15 guest w/ patch:	3.205s
8xA15 guest w/ patch:	6.887s

So we go from a 40x degradation to 1.5x in the 2x overcommit case,
which is vaguely more acceptable.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2013-10-17 15:26:50 -07:00
Kevin Hilman
048e5a786a mvebu dt changes for v3.13 (round 3)
- dove
     - add audio devices
     - fix bad properties of si5351 clkout2 for CuBox
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.22 (GNU/Linux)
 
 iQEcBAABAgAGBQJSX+yTAAoJEAi3KVZQDZAev1wIAJA521UnQR6efGNEU6wD3Yvq
 hjXEe+Da62FG2YUzZhOpLYIRrc0EvTrt/JIAbLbf5qrOnc9kzO6YdZVnRJJgWDP0
 Qzak9C0xqfsFeR7MxnDuyJ10/TYgM1iugvUcs6tqRDb7LdqcGBv92vv8zCdieiiJ
 XNtA56GVvEXo6LKp4KjC/dNv4vQBPEzDukSm81g/dfVDIhm7vbGMeNpFtHPHcNQa
 lASc6NjYzZXBZlz/ckRIZeT+MePpPkWusb8DOtLkv6/pRJjtSLaQqSLR82l52U+E
 eVb9SoQJWjxmrVLMEk3nUYvsWVgLtClND62snfpu+JP5ELb+DBwky4DzVvftpaY=
 =P7l9
 -----END PGP SIGNATURE-----

Merge tag 'dt-3.13-3' of git://git.infradead.org/linux-mvebu into next/dt

From Jason Cooper:
mvebu dt changes for v3.13 (round 3)

 - dove
    - add audio devices
    - fix bad properties of si5351 clkout2 for CuBox

* tag 'dt-3.13-3' of git://git.infradead.org/linux-mvebu:
  ARM: Dove: fix bad properties of the si5351 clkout2 used by Cubox audio
  ARM: Dove: Add the audio device to the Cubox DT
  ARM: Dove: Add the audio devices in DT
2013-10-17 15:22:29 -07:00