Commit Graph

42087 Commits

Author SHA1 Message Date
Magnus Damm
26f9e03fb1 ARM: shmobile: marzen-reference: Remove C board code
The generic r8a7779 machine vector is now feature-wise equivalent
to the Marzen-reference case, so simply remove the Marzen C board
code to fall over on the generic r8a7779 machine vector.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-07-28 09:27:15 +09:00
Simon Horman
4055a722d2 ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig
This is selected by MACH_MARZEN which is enabled in shmobile_defconfig,
however, MACH_MARZEN is going away along with the board code it enables.

Acked-by: Magnus Damm <damm@opensource.se>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2015-07-28 09:27:00 +09:00
Nicolas Schichan
5bf705b43b ARM: net: add support for BPF_ANC | SKF_AD_HATYPE in ARM JIT.
Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-27 14:57:41 -07:00
Nicolas Schichan
303249ab16 ARM: net: add support for BPF_ANC | SKF_AD_PAY_OFFSET in ARM JIT.
Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-27 14:57:40 -07:00
Nicolas Schichan
1447f93f22 ARM: net: add support for BPF_ANC | SKF_AD_PKTTYPE in ARM JIT.
Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-27 14:57:40 -07:00
Srinivas Kandagatla
504155caff ARM: dts: apq8064: fix missing gsbi cell-index
Without this i2c instance for missing cell-index nodes would fail, fix
it by adding correct cell-index.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-27 16:01:42 -05:00
Pramod Gurav
86e252a4f8 ARM: dts: apq8064: Add DT support for GSBI6 and for UART pin mux
This change adds DT support for GSBI6 and muxes the gpio pins
as UART lines. Also defines a alias for serial port on these lines.

Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
[Srinivas Kandagatla]: fix pinctrl location and rename alias correctly
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-27 16:01:41 -05:00
Srinivas Kandagatla
bce3604696 ARM: dts: apq8064: add pm8921 mpp support
This patch adds pmic pm8921 mpp gpio controller node.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-27 16:01:39 -05:00
Srinivas Kandagatla
874443fe9e ARM: dts: apq8064: Add pm8921 mfd and its gpio node
This patch adds pmic gpio node to the device tree, this node is
necessary for devices like wlan to control reset gpio.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <agross@codeaurora.org>
2015-07-27 16:01:38 -05:00
Fabio Estevam
27e50c9708 ARM: multi_v7_defconfig: Select MX6UL and MX7D
Let MX6UL and MX7D SoCs be selected by default.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 21:17:27 +02:00
Olof Johansson
0e83c71cbd Merge tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux into next/defconfig
Merge "CSR prima2_defconfig fixes for 4.2" from Barry Song:

enable SiRFSoC device drivers in CSR prima2_defconfig

make savedefconfig at first, then enable
1. sdhci driver
2. onkey
3. rtc
4. hwspinlock
for prima2_defconfig

* tag 'prima2-defconfig-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux:
  ARM: prima2_defconfig: enable build for hwspinlock
  ARM: prima2_defconfig: enable build for RTC
  ARM: prima2_defconfig: enable build for misc input
  ARM: prima2_defconfig: enable build for SiRFSoC SDHC host
  ARM: prima2_defconfig: fix the outdated defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 20:44:20 +02:00
Barry Song
764c222555 ARM: prima2_defconfig: enable build for hwspinlock
This patch enables hardware spinlock driver for CSRatlas7 platforms.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
2015-07-28 04:41:20 +08:00
Barry Song
3cbedb8847 ARM: prima2_defconfig: enable build for RTC
This patch enables RTC_CLASS and RTC driver for SiRFSoC platforms.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
2015-07-28 04:41:20 +08:00
Barry Song
9dd105430a ARM: prima2_defconfig: enable build for misc input
we need INPUT_MISC to enable INPUT_SIRFSOC_ONKEY which is the onkey
driver for SiRFSoC platforms.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
2015-07-28 04:41:19 +08:00
Barry Song
de124e8742 ARM: prima2_defconfig: enable build for SiRFSoC SDHC host
this patch enables the MMC/SDHCI driver for SiRFSoC platforms.

Signed-off-by: Barry Song <Baohua.Song@csr.com>
2015-07-28 04:41:19 +08:00
Barry Song
79302812c1 ARM: prima2_defconfig: fix the outdated defconfig
this patch is againest v4.2-rc1, by doing:

 $ make ARCH=arm prima2_defconfig
 $ make ARCH=arm savedefconfig
 $ cp defconfig arch/arm/configs/prima2_defconfig

Signed-off-by: Barry Song <Baohua.Song@csr.com>
2015-07-28 04:41:19 +08:00
Greg Kroah-Hartman
92311e46ec Merge 4.2-rc4 into tty-next
Other serial driver work wants to build on patches now in 4.2-rc4 so
merge the branch so this can properly happen.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-27 11:12:39 -07:00
Fabio Estevam
9559b3a38b ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC
It is useful to know how the kernel was configured via:
zcat /proc/config.gz ,so select the CONFIG_IKCONFIG_PROC option.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-07-27 22:33:50 +08:00
Linus Walleij
ee04139d91 pinctrl/ARM: move GPIO and pinctrl deps to device tree
This gets the GPIO ranges out of the driver and into the device
tree where they belong. Standard DT bindings already exist for
this. Since no systems with this are deployed we can just augment
all device trees and the drivers at the same time and simplify
the world.

This also defines the array of GPIO chips related to the pin
controller.

Cc: arm@kernel.org
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-07-27 15:04:40 +02:00
Masahiro Yamada
622372309f ARM: dts: UniPhier: add UART and USB pinmux nodes
The DT nodes in uniphier-pinctrl.dtsi provide the default pinctrl
settings that would be suitable for most boards.  You can still
override them in your board DTS file if necessary.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:54:47 +02:00
Masahiro Yamada
55d945b249 ARM: dts: UniPhier: add pinctrl device nodes
Add the pinctrol device nodes for UniPhier PH1-LD4, PH1-Pro4,
and PH1-sLD8.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:54:45 +02:00
Olof Johansson
a9a7f260e0 Merge tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux into next/soc
This is the pxa changes for v4.3 cycle.

There is mostly one evolution on the dma side, to enable cooperation
of the legacy pxa DMA API, and the new dmaengine API.
Once all drivers using DMA are converted, the legacy DMA API should
be removed.

* tag 'pxa-for-4.3-v2' of https://github.com/rjarzmik/linux:
  ARM: pxa: Use setup_timer
  ARM: pxa: Use module_platform_driver
  ARM: pxa: transition to dmaengine phase 1

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:49:24 +02:00
Olof Johansson
743ca9e9f8 Merge tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt
omap dts changes for minimal dm814x support for v4.3 merge window.

These changes make dm814x boot and adds minimal board support for
dm814x-evm and hp t410.

Note that to boot these depend on omap-for-v4.3/soc-signed branch,
but as dm814x support is currently broken, these can be merged
separately with the other dts changes.

* tag 'omap-for-v4.3/dt-dm814x' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Add custom abort handler for t410
  ARM: dts: Add minimal support for HP T410
  ARM: dts: Add minimal dts support for dm8148-evm
  ARM: dts: Add minimal clocks for dm814x
  ARM: dts: Add minimal dm814x support

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:48:07 +02:00
Olof Johansson
d7018b1558 Merge tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc
SoC changes for omaps for v4.3 merge window:

- Clean-up omap4_local_timer_init to drop deal legacy code

- Provide proper IO map table for dra7

- Clean-up IOMMU layer init code as it now uses IOMMU framework

- A series of changes to fix up dm814x support that's been in a broken
  half-merged state for quite some time

- A series of PRCM and hwmod changes via Paul Walmsley <paul@pwsan.com>:

  - I/O wakeup support for AM43xx
  - register lock and unlock support to the hwmod code (needed for the RTC
    IP blocks on some chips)
  - several fixes for sparse warnings and an unnecessary null pointer test
  - a DRA7xx clockdomain configuration workaround, to deal with some hardware
    bugs

* tag 'omap-for-v4.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits)
  ARM: OMAP2: Add minimal dm814x hwmod support
  ARM: OMAP2+: Prepare dm81xx hwmod code for adding minimal dm814x support
  ARM: PRM: AM437x: Enable IO wakeup feature
  ARM: OMAP4+: PRM: Add AM437x specific data
  ARM: OMAP: PRM: Remove hardcoding of IRQENABLE_MPU_2 and IRQSTATUS_MPU_2 register offsets
  ARM: dts: AM4372: Add PRCM IRQ entry
  ARM: AM43xx: Add the PRM IRQ register offsets
  ARM: OMAP4: PRM: Remove hardcoding of PRM_IO_PMCTRL_OFFSET register
  ARM: OMAP2+: Add support for initializing dm814x clocks
  ARM: OMAP2+: Add custom prwdm_operations for 81xx to support dm814x
  ARM: OMAP2+: Add minimal clockdomains for dm814x
  ARM: OMAP2+: Fix scm compatible for dm814x
  ARM: OMAP2+: Fix dm814x DT_MACHINE_START
  ARM: OMAP2+: Remove module references from IOMMU machine layer
  ARM: DRA7: Provide proper IO map table
  ARM: OMAP2+: Clean up omap4_local_timer_init
  ARM: OMAP2: Delete an unnecessary check
  ARM: OMAP2+: sparse: add missing function declarations
  ARM: OMAP2+: sparse: add missing static declaration
  ARM: OMAP2+: hwmod: add support for lock and unlock hooks
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:36:53 +02:00
Olof Johansson
97de17fde7 Merge tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig
Renesas ARM Based SoC Defconfig Updates for v4.3

* Remove marzen_defconfig
* shmobile_defconfig and multi_v7_defconfig
  - Enable DPCM Sound Card
  - Enable r8a7793/gose platform

* tag 'renesas-defconfig-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Remove marzen_defconfig
  ARM: multi_v7_defconfig: add Renesas DPCM Sound Card
  ARM: shmobile: defconfig: add Renesas DPCM Sound Card
  ARM: multi_v7_defconfig: Enable shmobile r8a7793/gose platform
  ARM: shmobile: Enable gose board in multiplatform defconfig

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:35:39 +02:00
Olof Johansson
c3d3dbddd3 Merge tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Renesas ARM Based SoC Updates for v4.3

* Add basic support for gose/r8a7793

* tag 'renesas-soc-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: gose: enable R-Car Gen2 regulator quirk
  ARM: shmobile: Basic r8a7793 SoC support

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:33:56 +02:00
Olof Johansson
d1005cc96b Merge tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt
Second Round of Renesas ARM Based SoC DT Updates for v4.3

* Add Audio MIX and CTU support to r8a779[01] SoCs
* Correct IRQ sense for adv7511 on lager board
* Add sound label to koelsch and lager boards
* Add IIC support to emev2 SoC

* tag 'renesas-dt2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: r8a7791: Add Audio MIX support on DTSI
  ARM: shmobile: r8a7791: Add Audio CTU support on DTSI
  ARM: shmobile: r8a7790: Add Audio MIX support on DTSI
  ARM: shmobile: r8a7790: Add Audio CTU support on DTSI
  ARM: shmobile: lager: Fix adv7511 IRQ sensing
  ARM: shmobile: koelsch: add sound label on DTS
  ARM: shmobile: lager: add sound label on DTS
  ARM: shmobile: emev2: kzm9d: enable IIC busses
  ARM: shmobile: emev2: add IIC cores to dtsi

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:28:23 +02:00
Olof Johansson
a115681460 Merge tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup
Second Round of Renesas ARM Based SoC Cleanup for v4.3

* Silence APMU build warnings

* tag 'renesas-cleanup2-for-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: apmu: silence build warnings

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:27:13 +02:00
Olof Johansson
6951630344 Merge tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt
STM32 DT updates for v4.3, round 1.

Highlights:
-----------
 - Add RCC clocks support to STM32F429
 - Add STM32429i-EVAL board support
 - Use stdout-path instead of linux,stdout-path in Disco board

* tag 'stm32-dt-for-v4.3-1b' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32:
  ARM: dts: Use stdout-path in STM32F429 Discovery board
  ARM: dts: Add STM32429i-EVAL board support
  ARM: dts: stm32f429: Adopt STM32F4 clock driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:26:03 +02:00
Olof Johansson
7bd1584bd5 Merge tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/soc
STi SoC updates for v4.3, round 1.

Highlights:
-----------
 - Add code to release secondary cores from holding pen.
 - Remove useless call to trace_hardirqs_off() in secondary core init function.

* tag 'sti-soc-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti:
  ARM: STi: Remove platform call to trace_hardirqs_off()
  ARM: STi: Add code to release secondary cores from holding pen.

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:25:23 +02:00
Olof Johansson
a02270836b Merge tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt
STi DT update for v4.3, round 1.

Highlights:
-----------
 - Add pinctrl configurations for transport stream channels
 - Add cpu-release-addr properties to STiH407 and STiH418
 - Add PWM regulator support so STIH407 family
 - Add BDISP node to STiH407

* tag 'sti-dt-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti:
  ARM: DT: STiH410: Add bdisp dt nodes
  ARM: STi: STiH407: Add PWM Regulator node
  ARM: STi: STiH407: Move PWM nodes STiH407 => STiH407-family
  ARM: STi: DT: Rename st_pll3200c32_407_c0_x into st_pll3200c32_cx_x
  ARM: STi: DT: STiH418: Add cpu-release-addr dt property.
  ARM: STi: DT: STiH407: Add cpu-release-addr dt property.
  ARM: STi: DT: Add STiH407 family mtsin0 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsout1 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsout0 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin5 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin4 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin3 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin2 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin1 pinctrl configuration
  ARM: STi: DT: Add STiH407 family tsin0 pinctrl configuration

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:23:46 +02:00
Olof Johansson
3888c381d8 Merge tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/defconfig
STi defconfig for v4.3, round 1

Highlights:
-----------
 - Enable support ST's PWM driver in multi_v7
 - Enable support PWM regulator in multi_v7

* tag 'sti-defconfig-for-v4.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti:
  ARM: multi_v7_defconfig: Enable support for PWM Regulators
  ARM: multi_v7_defconfig: Enable ST's PWM driver

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-27 14:22:59 +02:00
Peter Zijlstra
e6942b7de2 atomic: Provide atomic_{or,xor,and}
Implement atomic logic ops -- atomic_{or,xor,and}.

These will replace the atomic_{set,clear}_mask functions that are
available on some archs.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-07-27 14:06:24 +02:00
Peter Zijlstra
125897908c arm: Provide atomic_{or,xor,and}
Implement atomic logic ops -- atomic_{or,xor,and}.

These will replace the atomic_{set,clear}_mask functions that are
available on some archs.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-07-27 14:06:21 +02:00
Sudeep Holla
0d3f2c92e0 irqchip/gic: Remove redundant gic_set_irqchip_flags
Now that the GIC chip implementation enables IRQCHIP_SKIP_SET_WAKE and
IRQCHIP_MASK_ON_SUSPEND by default, the platforms requiring them need
not override the irqchip flags as before.

This patch removes all the users of gic_set_irqchip_flags and the
function itself.

Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Simon Horman <horms@verge.net.au>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: http://lkml.kernel.org/r/1436971109-20189-2-git-send-email-sudeep.holla@arm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-07-27 08:09:38 +02:00
Linus Walleij
a153790a78 ARM: nomadik: disable UART0 on Nomadik boards
The UART0 is not used on these boards, yet active and blocking
other use. Fix this by disabling UART0 and setting port aliases
to maintain port enumeration to userspace.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-26 21:41:06 +02:00
Olof Johansson
ee5d35e781 Merge tag 'for-v4.2-rc/omap-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes
Merge "ARM: OMAP2+: hwmod fixes for v4.2-rc" from Paul Walmsley:

ARM: OMAP2+: hwmod fixes for v4.2-rc

Two fixes against v4.2-rc1.  The first, for DRA7xx platforms,
corrects some incorrect GPMC hardware description data.  The
second one will ensure that the hwmod code will wait for any
module with CPU-accessible registers to become ready before
attempting to access it.

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

http://www.pwsan.com/omap/testlogs/omap-hwmod-a-for-v4.2-rc/20150723065408/

Note that I do not have a DRA7xx or AM43xx board, and therefore
cannot test on those platforms.

* tag 'for-v4.2-rc/omap-fixes-a' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
  ARM: OMAP2+: hwmod: Fix _wait_target_ready() for hwmods without sysc
  ARM: DRA7: hwmod: fix gpmc hwmod

Signed-off-by: Olof Johansson <olof@lixom.net>
2015-07-26 20:52:03 +02:00
Gregory CLEMENT
3cbd6a6ca8 ARM: mvebu: Add standby support
Until now only one Armada XP and one Armada 388 based board supported
suspend to ram. However, most of the recent mvebu SoCs can support the
standby mode. Unlike for the suspend to ram, nothing special has to be
done for these SoCs. This patch allows the system to use the standby
mode on Armada 370, 38x, 39x and XP SoCs. There are issues with the
Armada 375, and the support might be added (if possible) in a future
patch.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 17:17:05 +02:00
Gregory CLEMENT
bb253e743a ARM: mvebu: Use __init for the PM initialization functions
mvebu_pm_init and mvebu_armada_pm_init are only called during boot, so
flag them with __init and save some memory.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-25 17:16:57 +02:00
Thomas Petazzoni
32f9494c9d ARM: mvebu: prepare pm-board.c for the introduction of Armada 38x support
The pm-board.c code contains the board-specific logic to enter suspend
to RAM. Until now, the code supported only the Armada XP GP board, so
all functions and symbols were named with armada_xp_gp. However, it
turns out that the Armada 388 GP also uses the same 3 GPIOs protocol
to talk to the PIC microcontroller that controls the power supply.

Since we are going to re-use the same code with no change for Armada
38x, this commit renames the functions and symbols to use just
"armada" instead of "armada_xp_gp". Better names can be found if one
day other boards having a different protocol/mechanism are supported
in the kernel.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 17:16:54 +02:00
Thomas Petazzoni
88ed69f2a1 ARM: mvebu: prepare mvebu_pm_store_bootinfo() to support multiple SoCs
As we are going to introduce support for Armada 38x in pm.c, split out
the Armada XP part of mvebu_pm_store_bootinfo() into
mvebu_pm_store_armadaxp_bootinfo(), and make the former retunr an
error when an unsupported SoC is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 17:16:51 +02:00
Thomas Petazzoni
a101b53d3a ARM: mvebu: do not check machine in mvebu_pm_init()
The mvebu_pm_init() initializes the support for suspend/resume, and
before doing that, it checks if we are on a board on which
suspend/resume is actually supported. However, this check is already
done by mvebu_armada_xp_gp_pm_init(), and there is no need to
duplicate the check: callers of mvebu_pm_init() should now what they
are doing.

This commit is done in preparation to the addition of suspend/resume
support on Armada 38x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 17:16:47 +02:00
Nadav Haklai
01049a5deb ARM: mvebu: prepare set_cpu_coherent() for future extension
This patch prepares the set_cpu_coherent() function in coherency.c to
be extended to support other SoCs than Armada XP. It will be needed on
Armada 38x to re-enable the coherency after exiting from suspend to
RAM.

This preparation simply moves the function further down in coherency.c
so that it can use coherency_type(), and uses that function to only do
the Armada XP specific work if we are on Armada XP.

Signed-off-by: Nadav Haklai <nadavh@marvell.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 17:16:41 +02:00
Russell King
3fa609755c ARM: omap2: restore OMAP4 barrier behaviour
Restore the OMAP4 barrier behaviour using the new implementation which
allows multiplatform systems to hook into the mb() and wmb() ARM
implementations to perform any necessary additional barrier maintanence.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-07-25 15:28:16 +01:00
Russell King
f746929ffd Revert "ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688"
This reverts commit 606da4826b.

We actually need this code for proper behaviour of OMAP4, and it needs
fixing a different way other than just removing the code.  Disabling
code which is necessary in the hopes of persuing multiplatform kernels
is a stupid approach.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-07-25 15:28:14 +01:00
Russell King
4e1f8a6f1d ARM: add soc memory barrier extension
Add an extension to the heavy barrier code to allow a SoC specific
memory barrier function to be provided.  This is needed for platforms
where the interconnect has weak ordering, and thus needs assistance
to ensure that memory writes are properly visible in the correct order
to other parts of the system.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-07-25 15:28:11 +01:00
Russell King
f81309067f ARM: move heavy barrier support out of line
The existing memory barrier macro causes a significant amount of code
to be inserted inline at every call site.  For example, in
gpio_set_irq_type(), we have this for mb():

c0344c08:       f57ff04e        dsb     st
c0344c0c:       e59f8190        ldr     r8, [pc, #400]  ; c0344da4 <gpio_set_irq_type+0x230>
c0344c10:       e3590004        cmp     r9, #4
c0344c14:       e5983014        ldr     r3, [r8, #20]
c0344c18:       0a000054        beq     c0344d70 <gpio_set_irq_type+0x1fc>
c0344c1c:       e3530000        cmp     r3, #0
c0344c20:       0a000004        beq     c0344c38 <gpio_set_irq_type+0xc4>
c0344c24:       e50b2030        str     r2, [fp, #-48]  ; 0xffffffd0
c0344c28:       e50bc034        str     ip, [fp, #-52]  ; 0xffffffcc
c0344c2c:       e12fff33        blx     r3
c0344c30:       e51bc034        ldr     ip, [fp, #-52]  ; 0xffffffcc
c0344c34:       e51b2030        ldr     r2, [fp, #-48]  ; 0xffffffd0
c0344c38:       e5963004        ldr     r3, [r6, #4]

Moving the outer_cache_sync() call out of line reduces the impact of
the barrier:

c0344968:       f57ff04e        dsb     st
c034496c:       e35a0004        cmp     sl, #4
c0344970:       e50b2030        str     r2, [fp, #-48]  ; 0xffffffd0
c0344974:       0a000044        beq     c0344a8c <gpio_set_irq_type+0x1b8>
c0344978:       ebf363dd        bl      c001d8f4 <arm_heavy_mb>
c034497c:       e5953004        ldr     r3, [r5, #4]

This should reduce the cache footprint of this code.  Overall, this
results in a reduction of around 20K in the kernel size:

    text    data      bss      dec     hex filename
10773970  667392 10369656 21811018 14ccf4a ../build/imx6/vmlinux-old
10754219  667392 10369656 21791267 14c8223 ../build/imx6/vmlinux-new

Another advantage to this approach is that we can finally resolve the
issue of SoCs which have their own memory barrier requirements within
multiplatform kernels (such as OMAP.)  Here, the bus interconnects
need additional handling to ensure that writes become visible in the
correct order (eg, between dma_map() operations, writes to DMA
coherent memory, and MMIO accesses.)

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Richard Woodruff <r-woodruff2@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2015-07-25 15:28:05 +01:00
Roger Shimizu
9e07b491bc ARM: defconfig: orion5x: add DT support
- add 2 DT device entries
- enable CONFIG_ARM_ATAG_DTB_COMPAT

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 16:21:06 +02:00
Roger Shimizu
dc57844a73 ARM: dts: orion5x: add buffalo linkstation ls-wtgl
Add dts file to support Buffalo Linkstation LS-WTGL,
which is marvell orion5x based 2-bay 3.5" HDD NAS.
Product info:
 - (JPN) http://buffalo.jp/products/catalog/storage/ls-wtgl_r1/
 - (ENG) http://www.buffalotech.com/support-and-downloads/download/LinkStation_Pro_Duo_Manual_web.pdf

Signed-off-by: Roger Shimizu <rogershimizu@gmail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2015-07-25 16:19:20 +02:00
Denis Carikli
e053f96b1a ARM: dts: i.MX35: Fix can support.
Since commit 3d42a379b6
("can: flexcan: add 2nd clock to support imx53 and newer")
the can driver requires a dt nodes to have a second clock.
Add them to imx35 to fix probing the flex can driver on the
respective platforms.

Signed-off-by: Denis Carikli <denis@eukrea.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2015-07-25 11:35:08 +08:00