profile/common/kernel-common.git
10 years agoMerge branch 'renesas/drivers-sci2' into next/drivers
Olof Johansson [Thu, 2 Jan 2014 18:54:20 +0000 (10:54 -0800)]
Merge branch 'renesas/drivers-sci2' into next/drivers

* renesas/drivers-sci2:
  serial: sh-sci: Rework baud rate calculation
  serial: sh-sci: Compute overrun_bit without using baud rate algo
  serial: sh-sci: Remove unused GPIO request code
  serial: sh-sci: Move overrun_bit and error_mask fields out of pdata
  serial: sh-sci: Support resources passed through platform resources
  serial: sh-sci: Don't check IRQ in verify port operation
  serial: sh-sci: Set the UPF_FIXED_PORT flag
  serial: sh-sci: Remove duplicate interrupt check in verify port op
  serial: sh-sci: Simplify baud rate calculation algorithms
  serial: sh-sci: Remove baud rate calculation algorithm 5
  serial: sh-sci: Sort headers alphabetically
  serial: sh-sci: Convert to clk_prepare/unprepare
  serial: sh-sci: Don't enable/disable port from within break timer
  serial: sh-sci: Fix warnings due to improper casts and printk formats

10 years agoMerge tag 'renesas-irqc-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Sun, 29 Dec 2013 21:26:13 +0000 (13:26 -0800)]
Merge tag 'renesas-irqc-for-v3.14' of git://git./linux/kernel/git/horms/renesas into next/drivers

From Simon Horman:
Renesas ARM based SoC IRQC Driver Updates for v3.14

* Simplify irq_set_type() method
* Enable mask on suspend
* Use lazy disable

* tag 'renesas-irqc-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  irq-renesas-irqc: simplify irq_set_type() method
  irqchip: renesas-irqc: Enable mask on suspend
  irqchip: renesas-irqc: Use lazy disable

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'sunxi-drivers-for-3.14' of https://github.com/mripard/linux into next...
Olof Johansson [Fri, 27 Dec 2013 21:24:15 +0000 (13:24 -0800)]
Merge tag 'sunxi-drivers-for-3.14' of https://github.com/mripard/linux into next/drivers

From Maxime Ripard:
Allwinner SoC additions for 3.14

Two drivers are merged through for 3.14:
  - The A10/A20 RTC driver
  - The A31 reset controller IP

* tag 'sunxi-drivers-for-3.14' of https://github.com/mripard/linux:
  ARM: sun4i/sun7i: RTC driver
  ARM: sun4i/sun7i: DT documentation for RTC driver
  reset: Add Allwinner SoCs Reset Controller Driver

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'tegra-for-3.14-trusted-foundations' of git://git.kernel.org/pub/scm/linux...
Olof Johansson [Thu, 26 Dec 2013 19:00:13 +0000 (11:00 -0800)]
Merge tag 'tegra-for-3.14-trusted-foundations' of git://git./linux/kernel/git/tegra/linux into next/drivers

From Stephen Warren:
ARM: tegra: Trusted Foundations firmware support

Add support for the Trusted Foundations secure-mode firmware, as found
on NVIDIA SHIELD. This allows Linux to run in non-secure mode on this
board; all previous Tegra support has assumed the kernel is running in
secure mode.

(The base TF support has been discussed back and forth a lot; for now
the most logical place for it seems to be under arch/arm, so we're adding
it here. We can move it out to a common location in the future if needed).

* tag 'tegra-for-3.14-trusted-foundations' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: support Trusted Foundations by default
  ARM: tegra: set CPU reset handler using firmware
  ARM: tegra: split setting of CPU reset handler
  ARM: tegra: add support for Trusted Foundations
  of: add Trusted Foundations bindings documentation
  of: add vendor prefix for Trusted Logic Mobility
  ARM: add basic support for Trusted Foundations

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoserial: sh-sci: Rework baud rate calculation
Laurent Pinchart [Fri, 6 Dec 2013 09:59:20 +0000 (10:59 +0100)]
serial: sh-sci: Rework baud rate calculation

Computing the baud rate register value requires knowledge of the
hardware sampling rate. This information is currently encoded in a baud
rate calculation algorithm ID passed through platform data. However, it
can be derived from the port type directly in most cases.

Compute the sampling rate internally in the driver if the baud rate
calculation algorithm ID isn't specified, and allow platforms to
override the sampling rate through platform data in special cases (this
is only required for SCIFA ports on sh7723 and sh7724, the reason needs
to be investigated).

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Compute overrun_bit without using baud rate algo
Laurent Pinchart [Fri, 6 Dec 2013 09:59:19 +0000 (10:59 +0100)]
serial: sh-sci: Compute overrun_bit without using baud rate algo

The overrun bit index is a property of the hardware. It's currently
computed based on a different and unrelated hardware property, the baud
rate calculation algorithm. Compute it using hardware identification
information only.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Remove unused GPIO request code
Laurent Pinchart [Fri, 6 Dec 2013 09:59:18 +0000 (10:59 +0100)]
serial: sh-sci: Remove unused GPIO request code

The driver requests at initialization time GPIOs passed through platform
data. No platform makes use of this feature, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Move overrun_bit and error_mask fields out of pdata
Laurent Pinchart [Fri, 6 Dec 2013 09:59:17 +0000 (10:59 +0100)]
serial: sh-sci: Move overrun_bit and error_mask fields out of pdata

None of the fields is ever set by board code, and both of them are set
in the driver at probe time. Move them out of struct plat_sci_port to
struct sci_port.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Support resources passed through platform resources
Laurent Pinchart [Fri, 6 Dec 2013 09:59:16 +0000 (10:59 +0100)]
serial: sh-sci: Support resources passed through platform resources

Memory and IRQ resources are currently passed to the driver through
platform data. Support passing them through the standard platform
resources mechanism instead. This deprecates platform data resources.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Don't check IRQ in verify port operation
Laurent Pinchart [Fri, 6 Dec 2013 09:59:15 +0000 (10:59 +0100)]
serial: sh-sci: Don't check IRQ in verify port operation

The IRQ number can't be modified by the user as the port is fixed.
There's no need to check the new IRQ number as it will be ignored by the
core.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Set the UPF_FIXED_PORT flag
Laurent Pinchart [Fri, 6 Dec 2013 09:59:14 +0000 (10:59 +0100)]
serial: sh-sci: Set the UPF_FIXED_PORT flag

The base address, IRQ and baud rate generator parent clock rate can't be
changed by userspace. Mark the port as fixed.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Remove duplicate interrupt check in verify port op
Laurent Pinchart [Fri, 6 Dec 2013 09:59:13 +0000 (10:59 +0100)]
serial: sh-sci: Remove duplicate interrupt check in verify port op

The driver checks if the interrupt number is greater than nr_irqs and
returns an error in that case. The same check is already performed by
the caller, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Simplify baud rate calculation algorithms
Laurent Pinchart [Fri, 6 Dec 2013 09:59:12 +0000 (10:59 +0100)]
serial: sh-sci: Simplify baud rate calculation algorithms

Rewrite the baud rate register value calculations in easier to read
forms. The computed value isn't modified.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Remove baud rate calculation algorithm 5
Laurent Pinchart [Fri, 6 Dec 2013 09:59:11 +0000 (10:59 +0100)]
serial: sh-sci: Remove baud rate calculation algorithm 5

The algorithm isn't used, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Sort headers alphabetically
Laurent Pinchart [Fri, 6 Dec 2013 09:59:10 +0000 (10:59 +0100)]
serial: sh-sci: Sort headers alphabetically

This helps locating duplicates.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoirq-renesas-irqc: simplify irq_set_type() method
Sergei Shtylyov [Sat, 14 Dec 2013 00:09:31 +0000 (03:09 +0300)]
irq-renesas-irqc: simplify irq_set_type() method

Value 0 of the sense  selection field of CONFIG_n register means "disable event
detection" and serves in irqc_sense[] for marking the invalid values of the IRQ
type (by just omitting initializers). There is no need for INTC_IRQ_SENSE_VALID
and hence INTC_IRQ_SENSE() as all field values matching to the  valid IRQ types
are non-zero anyway.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoMerge tag 'samsung-irq' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
Olof Johansson [Sun, 22 Dec 2013 22:08:08 +0000 (14:08 -0800)]
Merge tag 'samsung-irq' of git://git./linux/kernel/git/kgene/linux-samsung into next/drivers

From Kukjin Kim:
Samsung irq update for v3.14
- use linear irq domain for exynos-combiner

* tag 'samsung-irq' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  irqchip: exynos-combiner: remove hard-coded irq_base value

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'at91-drivers' of git://github.com/at91linux/linux-at91 into next/drivers
Olof Johansson [Sun, 22 Dec 2013 19:42:50 +0000 (11:42 -0800)]
Merge tag 'at91-drivers' of git://github.com/at91linux/linux-at91 into next/drivers

From Nicolas Ferre:

AT91 crypto drivers DT support:
- add DT to sha/des/aes existing drivers
- add DMA DT
- all documentation added to crypto/atmel-crypto.txt file

* tag 'at91-drivers' of git://github.com/at91linux/linux-at91:
  crypto: atmel-sha - add sha information to the log
  crypto: atmel-sha - add support for Device Tree
  crypto: atmel-tdes - add support for Device Tree
  crypto: atmel-aes - add support for Device Tree

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'at91/dt' into next/drivers
Olof Johansson [Sun, 22 Dec 2013 19:42:30 +0000 (11:42 -0800)]
Merge branch 'at91/dt' into next/drivers

Merging at91/dt as a prereq for the at91/drivers code.

* at91/dt: (43 commits)
  ARM: at91/at91rm9200ek.dts: rearrange nodes in address ascending order
  ARM: at91: dt: at91rm9200ek: add emac and nor flash support
  ARM: at91: add uart aliases to sama5d3 dtsi
  ARM: at91: add i2c2 pinctrl speficifation to sama5d3 DT
  ARM: at91: Animeo IP: fix mtd partition table
  ARM: at91: at91sam9g45: add i2c pinctrl
  ARM: at91: at91sam9g45: set default mmc pinctrl-names
  ARM: at91: sama5d3: enable qt1070 as a wakeup source
  ARM: at91: add support for Cosino board series by HCE Engineering
  ARM: at91/dt/sama5d3: add DMA information to SHA/AES/TDES nodes
  ARM: at91/dt/trivial: before sama5d3, Atmel MPU were using at91 prefix
  ARM: at91/dt/trivial: use macro for AES irq type
  ARM: at91: sam9263ek: add dt lcd support
  ARM: at91: at9sam9m10g45ek: add dt lcd support
  ARM: at91: sam9263: add fb dt support
  ARM: at91: sam9g45: add fb dt support
  ARM: at91/dt: binding: add missing compatibility string in SDRAM/DDR documentation
  ARM: at91/dt: binding: add precision to AIC documentation
  ARM: at91/dt: add atmel,pullup-gpio to at91rm9200ek usb1 definition
  ARM: at91/dt: add ethernet phy to at91rm9200ek board
  ...

10 years agoARM: sun4i/sun7i: RTC driver
Carlo Caione [Sat, 16 Nov 2013 17:33:54 +0000 (18:33 +0100)]
ARM: sun4i/sun7i: RTC driver

This patch introduces the driver for the RTC in the Allwinner A10 and
A20 SoCs.

Signed-off-by: Carlo Caione <carlo.caione@gmail.com>
Acked-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
10 years agoARM: sun4i/sun7i: DT documentation for RTC driver
Carlo Caione [Sat, 16 Nov 2013 17:33:53 +0000 (18:33 +0100)]
ARM: sun4i/sun7i: DT documentation for RTC driver

Add DT documentation for SUNXI RTC driver

Signed-off-by: Carlo Caione <carlo.caione@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
10 years agoMerge tag 'renesas-usb-r8a66597-hcd-for-v3.14' of git://git.kernel.org/pub/scm/linux...
Kevin Hilman [Fri, 20 Dec 2013 19:23:08 +0000 (11:23 -0800)]
Merge tag 'renesas-usb-r8a66597-hcd-for-v3.14' of git://git./linux/kernel/git/horms/renesas into next/drivers

From Simon Horman:
Renesas USB r8a66597 HCD update for v3.14

Convert to clk_prepare/unprepare

* tag 'renesas-usb-r8a66597-hcd-for-v3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  usb: r8a66597-hcd: Convert to clk_prepare/unprepare

Signed-off-by: Kevin Hilman <khilman@linaro.org>
10 years agoserial: sh-sci: Convert to clk_prepare/unprepare
Laurent Pinchart [Thu, 28 Nov 2013 17:11:46 +0000 (18:11 +0100)]
serial: sh-sci: Convert to clk_prepare/unprepare

Turn clk_enable() and clk_disable() calls into clk_prepare_enable() and
clk_disable_unprepare() to get ready for the migration to the common
clock framework.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Magnus Damm <damm@opensource.se>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoserial: sh-sci: Don't enable/disable port from within break timer
Laurent Pinchart [Thu, 28 Nov 2013 17:11:45 +0000 (18:11 +0100)]
serial: sh-sci: Don't enable/disable port from within break timer

The break timer accesses hardware registers and thus requires the port
to be enabled. It currently ensures this by enabling the port at the
beginning of the timer handler, and disabling it at the end. However,
the enable/disable operations call the runtime PM sync functions, which
are not allowed in atomic context. The current situation is thus broken.

This change relies on non-atomic code to enable/disable the port. The
break timer will only be started from the IRQ handler, which already
runs with the port enabled. We just need to ensure that the port won't
be disabled with the timer running, and that's easily done by just
cancelling the timer in the port disable function.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Magnus Damm <damm@opensource.se>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: tegra: support Trusted Foundations by default
Alexandre Courbot [Sun, 24 Nov 2013 06:30:52 +0000 (15:30 +0900)]
ARM: tegra: support Trusted Foundations by default

Support for Trusted Foundations is light and allows the kernel to run on
a wider range of devices, so enable it by default.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: set CPU reset handler using firmware
Alexandre Courbot [Sun, 24 Nov 2013 06:30:51 +0000 (15:30 +0900)]
ARM: tegra: set CPU reset handler using firmware

Use a firmware operation to set the CPU reset handler and only resort to
doing it ourselves if there is none defined.

This supports the booting of secondary CPUs on devices using a TrustZone
secure monitor.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: split setting of CPU reset handler
Alexandre Courbot [Sun, 24 Nov 2013 06:30:50 +0000 (15:30 +0900)]
ARM: tegra: split setting of CPU reset handler

Not all Tegra devices can set the CPU reset handler in the same way.
In particular, devices using a TrustZone secure monitor cannot set it
up directly and need to ask the firmware to do it.

This patch separates the act of setting the reset handler from its
preparation, so the former can be implemented in a different way.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: tegra: add support for Trusted Foundations
Alexandre Courbot [Sun, 24 Nov 2013 06:30:49 +0000 (15:30 +0900)]
ARM: tegra: add support for Trusted Foundations

Register the firmware operations for Trusted Foundations if the device
tree indicates it is active on the device.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoof: add Trusted Foundations bindings documentation
Alexandre Courbot [Sun, 24 Nov 2013 06:30:48 +0000 (15:30 +0900)]
of: add Trusted Foundations bindings documentation

Add the Device Tree bindings documentation for the Trusted Foundation
secure monitor.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoof: add vendor prefix for Trusted Logic Mobility
Alexandre Courbot [Sun, 24 Nov 2013 06:30:47 +0000 (15:30 +0900)]
of: add vendor prefix for Trusted Logic Mobility

Add the "tlm" prefix for Trusted Logic Mobility.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agoARM: add basic support for Trusted Foundations
Alexandre Courbot [Sun, 24 Nov 2013 06:30:46 +0000 (15:30 +0900)]
ARM: add basic support for Trusted Foundations

Trusted Foundations is a TrustZone-based secure monitor for ARM that
can be invoked using the same SMC-based API on supported platforms.
This patch adds initial basic support for Trusted Foundations using
the ARM firmware API. Current features are limited to the ability to
boot secondary processors.

Note: The API followed by Trusted Foundations does *not* follow the SMC
calling conventions. It has nothing to do with PSCI neither and is only
relevant to devices that use Trusted Foundations (like most Tegra-based
retail devices).

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
10 years agocrypto: atmel-sha - add sha information to the log
Nicolas Ferre [Tue, 15 Oct 2013 14:37:44 +0000 (16:37 +0200)]
crypto: atmel-sha - add sha information to the log

Depending on peripheral capabilities, print SHA information at the end
of the probe function.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
10 years agocrypto: atmel-sha - add support for Device Tree
Nicolas Ferre [Tue, 15 Oct 2013 13:36:34 +0000 (15:36 +0200)]
crypto: atmel-sha - add support for Device Tree

Add support for Device Tree and use of the DMA DT API to
get the channels if needed.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
10 years agocrypto: atmel-tdes - add support for Device Tree
Nicolas Ferre [Tue, 15 Oct 2013 10:14:58 +0000 (12:14 +0200)]
crypto: atmel-tdes - add support for Device Tree

Add support for Device Tree and use of the DMA DT API to
get the channels if needed.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
10 years agocrypto: atmel-aes - add support for Device Tree
Nicolas Ferre [Mon, 14 Oct 2013 15:52:38 +0000 (17:52 +0200)]
crypto: atmel-aes - add support for Device Tree

Add support for Device Tree and use of the DMA DT API to
get the needed channels.
Documentation is added for these DT nodes.

Initial code by: Nicolas Royer and Eukrea.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
10 years agoserial: sh-sci: Fix warnings due to improper casts and printk formats
Laurent Pinchart [Wed, 11 Dec 2013 12:40:31 +0000 (13:40 +0100)]
serial: sh-sci: Fix warnings due to improper casts and printk formats

Use the %zu and %pad printk specifiers to print size_t and dma_addr_t
variables, and cast pointers to uintptr_t instead of unsigned int where
applicable. This fixes warnings on platforms where pointers and/or
dma_addr_t have a different size than int.

Cc: linux-serial@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoirqchip: renesas-irqc: Enable mask on suspend
Magnus Damm [Wed, 4 Dec 2013 12:05:56 +0000 (21:05 +0900)]
irqchip: renesas-irqc: Enable mask on suspend

Now when lazy interrupt disable has been enabled in the driver
then extend the code to set IRQCHIP_MASK_ON_SUSPEND which tells
the core that only IRQs marked as wakeups need to stay enabled
during Suspend-to-RAM.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoirqchip: renesas-irqc: Use lazy disable
Magnus Damm [Wed, 4 Dec 2013 12:05:46 +0000 (21:05 +0900)]
irqchip: renesas-irqc: Use lazy disable

Set the ->irq_enable() and ->irq_disable() methods to NULL
to enable lazy disable of interrupts. This by itself provides
some level of optimization, but is mainly enabled as ground
work for future Suspend-to-RAM wake up support.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: at91/at91rm9200ek.dts: rearrange nodes in address ascending order
Nicolas Ferre [Mon, 9 Dec 2013 13:42:50 +0000 (14:42 +0100)]
ARM: at91/at91rm9200ek.dts: rearrange nodes in address ascending order

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Boris BREZILLON <b.brezillon@overkiz.com>
10 years agoARM: at91: dt: at91rm9200ek: add emac and nor flash support
Jean-Christophe PLAGNIOL-VILLARD [Fri, 15 Nov 2013 14:49:56 +0000 (15:49 +0100)]
ARM: at91: dt: at91rm9200ek: add emac and nor flash support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre@atmel.com: remove one macb node too many]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: add uart aliases to sama5d3 dtsi
Nicolas Ferre [Mon, 2 Dec 2013 16:10:04 +0000 (17:10 +0100)]
ARM: at91: add uart aliases to sama5d3 dtsi

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by Boris BREZILLON <b.brezillon@overkiz.com>

10 years agoARM: at91: add i2c2 pinctrl speficifation to sama5d3 DT
Nicolas Ferre [Mon, 2 Dec 2013 16:18:48 +0000 (17:18 +0100)]
ARM: at91: add i2c2 pinctrl speficifation to sama5d3 DT

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Boris BREZILLON <b.brezillon@overkiz.com>
10 years agoARM: at91: Animeo IP: fix mtd partition table
Jean-Christophe PLAGNIOL-VILLARD [Fri, 27 Sep 2013 06:48:15 +0000 (08:48 +0200)]
ARM: at91: Animeo IP: fix mtd partition table

Update to production one.

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: at91sam9g45: add i2c pinctrl
Ludovic Desroches [Fri, 22 Nov 2013 13:49:53 +0000 (14:49 +0100)]
ARM: at91: at91sam9g45: add i2c pinctrl

Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: at91sam9g45: set default mmc pinctrl-names
Ludovic Desroches [Fri, 22 Nov 2013 13:49:52 +0000 (14:49 +0100)]
ARM: at91: at91sam9g45: set default mmc pinctrl-names

pinctrl-names property was missing from mmc nodes.

Cc: <stable@vger.kernel.org> #3.11+
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: sama5d3: enable qt1070 as a wakeup source
Bo Shen [Mon, 2 Dec 2013 08:29:48 +0000 (16:29 +0800)]
ARM: at91: sama5d3: enable qt1070 as a wakeup source

Enable qt1070 keyboard as a wakeup source on sama5d3xek board.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: add support for Cosino board series by HCE Engineering
Rodolfo Giometti [Wed, 13 Nov 2013 17:20:54 +0000 (18:20 +0100)]
ARM: at91: add support for Cosino board series by HCE Engineering

This patch adds the Cosino at91sam9g35 based CPU module and the
Cosino Mega 2560 extension board.

Web site: http://www.cosino.it

Signed-off-by: Rodolfo Giometti <giometti@linux.it>
[plagnioj@jcrosoft.com: added "at91-" to files, pinctrl fixed, removed unneeded stuff]
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
[nicolas.ferre@atmel.com: adapted to newer kernel, modified commit message]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt/sama5d3: add DMA information to SHA/AES/TDES nodes
Nicolas Ferre [Fri, 11 Oct 2013 14:59:46 +0000 (16:59 +0200)]
ARM: at91/dt/sama5d3: add DMA information to SHA/AES/TDES nodes

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt/trivial: before sama5d3, Atmel MPU were using at91 prefix
Nicolas Ferre [Fri, 11 Oct 2013 14:57:57 +0000 (16:57 +0200)]
ARM: at91/dt/trivial: before sama5d3, Atmel MPU were using at91 prefix

Change the sha/aes/tdes compatibility string to match common
case for the at91sam9g45 family which is to keep the at91 prefix.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt/trivial: use macro for AES irq type
Nicolas Ferre [Fri, 11 Oct 2013 12:45:44 +0000 (14:45 +0200)]
ARM: at91/dt/trivial: use macro for AES irq type

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: sam9263ek: add dt lcd support
Jean-Christophe PLAGNIOL-VILLARD [Thu, 28 Mar 2013 21:09:00 +0000 (05:09 +0800)]
ARM: at91: sam9263ek: add dt lcd support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: at9sam9m10g45ek: add dt lcd support
Jean-Christophe PLAGNIOL-VILLARD [Thu, 28 Mar 2013 18:11:22 +0000 (02:11 +0800)]
ARM: at91: at9sam9m10g45ek: add dt lcd support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: sam9263: add fb dt support
Jean-Christophe PLAGNIOL-VILLARD [Thu, 28 Mar 2013 20:50:46 +0000 (04:50 +0800)]
ARM: at91: sam9263: add fb dt support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: sam9g45: add fb dt support
Jean-Christophe PLAGNIOL-VILLARD [Thu, 28 Mar 2013 18:10:47 +0000 (02:10 +0800)]
ARM: at91: sam9g45: add fb dt support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt: binding: add missing compatibility string in SDRAM/DDR documentation
Nicolas Ferre [Fri, 15 Nov 2013 10:03:23 +0000 (11:03 +0100)]
ARM: at91/dt: binding: add missing compatibility string in SDRAM/DDR documentation

The "atmel,at91rm9200-sdramc" was missing from binding documentation.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
10 years agoARM: at91/dt: binding: add precision to AIC documentation
Nicolas Ferre [Fri, 15 Nov 2013 09:58:40 +0000 (10:58 +0100)]
ARM: at91/dt: binding: add precision to AIC documentation

In response to the "undocumented compatible strings" message, here is a
patch which is adding the precision of two "chips" that should be used for
the "atmel,<chip>-aic" compatibility string.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
10 years agoARM: at91/dt: add atmel,pullup-gpio to at91rm9200ek usb1 definition
Boris BREZILLON [Mon, 2 Dec 2013 10:44:05 +0000 (11:44 +0100)]
ARM: at91/dt: add atmel,pullup-gpio to at91rm9200ek usb1 definition

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt: add ethernet phy to at91rm9200ek board
Boris BREZILLON [Wed, 28 Aug 2013 11:03:39 +0000 (13:03 +0200)]
ARM: at91/dt: add ethernet phy to at91rm9200ek board

Add ethernet phy node in at91rm9200ek.dts.
The reg register is not specified, as it may differ depending on the init
process of the board:
ADDR0/1 phy pins are connected to PA13/14 rm9200 pins. Which means the phy
will take its address from these pins during the reset process.

The macb driver will launch a full scan on the mdio bus to discover the phy
address.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
[nicolas.ferre@atmel.com: changed to IRQ_TYPE_EDGE_BOTH as asked by Boris]
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/trivial: fix at91rm9200 rts/cts pinctrl definitions
Nicolas Ferre [Tue, 5 Nov 2013 15:40:09 +0000 (16:40 +0100)]
ARM: at91/trivial: fix at91rm9200 rts/cts pinctrl definitions

Swap names as they were improperly defined.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
10 years agoMerge tag 's3c64xx-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/brooni...
Olof Johansson [Wed, 4 Dec 2013 21:38:20 +0000 (13:38 -0800)]
Merge tag 's3c64xx-dmaengine' of git://git./linux/kernel/git/broonie/misc into next/drivers

From Tomasz Figa via Mark Brown:
ARM: s3c64xx: Convert to dmaengine

This series of commits from Tomasz converting s3c64xx to use dmaengine
rather than the old s3c-dma API missed the v3.13 merge window - Kukjin
said that he'd applied it (which should mean it's OK from a review point
of view) but it didn't make it into -next or a pull request.

Since a s3c64xx based system is one of my primary development platforms
it'd be really helpful if I could merge this into both ASoC and SPI,
I've got some patches for ASoC ready to go converting to use dmaengine
directly which help with multiplatform and there's some other dmaengine
work for SPI in progress too.  I've therefore made this signed tag, it'd
be great if it could be merged into both arm-soc and those two trees.

* tag 's3c64xx-dmaengine' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc:
  spi: s3c64xx: Always select S3C64XX_PL080 when ARCH_S3C64XX is enabled
  clk: samsung: s3c64xx: Remove clock aliases of old DMA driver
  ARM: s3c64xx: Remove legacy DMA driver
  clk: samsung: s3c64xx: Add aliases for DMA clocks
  ARM: s3c64xx: Add support for DMA using generic amba-pl08x driver
  spi: s3c64xx: Do not require legacy DMA API in case of S3C64XX

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'mvebu-drivers-3.14' of git://git.infradead.org/linux-mvebu into next/drivers
Olof Johansson [Wed, 4 Dec 2013 01:09:56 +0000 (17:09 -0800)]
Merge tag 'mvebu-drivers-3.14' of git://git.infradead.org/linux-mvebu into next/drivers

From Jason Cooper:
mvebu driver changes for v3.14

 - mvebu-mbus:
    - remove potential forever loop
    - remove deprecated comment

* tag 'mvebu-drivers-3.14' of git://git.infradead.org/linux-mvebu:
  bus: mvebu-mbus: Remove deprecated comment
  bus: mvebu-mbus: potential forever loop in mvebu_mbus_init()

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoARM: at91/dt: remove old clk material
Boris BREZILLON [Mon, 2 Dec 2013 14:12:14 +0000 (15:12 +0100)]
ARM: at91/dt: remove old clk material

This patch removes the old main clk node which is now useless as sama5d3
SoCs and boards are no longer compatible with the old at91 clk
implementations.

It also remove old clock definitions (clock definitions using at91 old clk
framework).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: move sama5d3 SoC to common clk
Boris BREZILLON [Fri, 11 Oct 2013 12:43:35 +0000 (14:43 +0200)]
ARM: at91: move sama5d3 SoC to common clk

This patch removes the selection of AT91_USE_OLD_CLK when selecting sama5d3
SoC support. This will enable automatically enable COMMON_CLK_AT91 option
and add support for at91 common clk implementation.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt: define sama5d3xek's main clk frequency
Boris BREZILLON [Fri, 11 Oct 2013 12:43:34 +0000 (14:43 +0200)]
ARM: at91/dt: define sama5d3xek's main clk frequency

Define the main clock frequency for the new main clock node
in sama5d3xcm.dtsi.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91/dt: define sama5d3 clocks
Boris BREZILLON [Fri, 18 Oct 2013 21:48:27 +0000 (23:48 +0200)]
ARM: at91/dt: define sama5d3 clocks

Define sama5d3 clocks in sama5d3 device tree.
Add references to the appropriate clocks in each peripheral.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: prepare common clk transition for sama5d3 SoC
Boris BREZILLON [Mon, 2 Dec 2013 14:10:48 +0000 (15:10 +0100)]
ARM: at91: prepare common clk transition for sama5d3 SoC

This patch encloses sama5d3 old clk registration in
"#if defined(CONFIG_OLD_CLK_AT91) #endif" sections.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: prepare sama5 dt boards transition to common clk
Boris BREZILLON [Fri, 11 Oct 2013 12:43:31 +0000 (14:43 +0200)]
ARM: at91: prepare sama5 dt boards transition to common clk

This patch prepare the transition to common clk for sama5 dt boards by
replacing the timer init callback.

Clocks registration cannot be done in early init callback (as formerly done
by the old clk implementation) because it requires dynamic allocation
which is not ready yet during early init.

In the other hand, at91 clocks must be registered before
at91sam926x_pit_init is called because PIT (Periodic Interval Timer) driver
request the master clk (mck).

A new function (at91sama5_dt_timer_init) is created to fullfil these needs.
This function registers all at91 clks using the dt definition before
calling the PIT init function.
The device tree clock registration is enabled only if common clk is
selected. Else the old clk registration is been done during
at91_dt_initialize call.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: add new compatible strings for pmc driver
Boris BREZILLON [Fri, 11 Oct 2013 11:49:10 +0000 (13:49 +0200)]
ARM: at91: add new compatible strings for pmc driver

This patch adds new compatible string for PMC node to prepare the
transition to common clk.

These compatible string come from pmc driver in clk subsystem and are
needed to provide new device tree compatibility with old at91 clks
(device tree using common clks will use the new compatible strings).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: move pit timer to common clk framework
Boris BREZILLON [Fri, 11 Oct 2013 11:46:28 +0000 (13:46 +0200)]
ARM: at91: move pit timer to common clk framework

Use device tree to get the source clock of the PIT (Periodic Interval Timer).
If the clock is not found in device tree (or dt is not enabled) we'll try to
get it using clk_lookup definitions.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agodt: binding: add at91 clks dt bindings documentation
Boris BREZILLON [Fri, 11 Oct 2013 11:38:52 +0000 (13:38 +0200)]
dt: binding: add at91 clks dt bindings documentation

This patch adds new at91 clks dt bindings documentation.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC smd clock
Boris BREZILLON [Fri, 11 Oct 2013 11:27:06 +0000 (13:27 +0200)]
clk: at91: add PMC smd clock

This patch adds at91 smd (Soft Modem) clock implementation using common clk
framework.

Not used by any driver right now.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC usb clock
Boris BREZILLON [Thu, 17 Oct 2013 16:55:41 +0000 (18:55 +0200)]
clk: at91: add PMC usb clock

This patch adds new at91 usb clock implementation using common clk framework.
This clock is used to clock usb ports (ohci, ehci and udc).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC utmi clock
Boris BREZILLON [Fri, 11 Oct 2013 10:22:06 +0000 (12:22 +0200)]
clk: at91: add PMC utmi clock

This adds new at91 utmi clock implementation using common clk framework.

This clock is a pll with a fixed factor (x40).
It is used as a source for usb clock.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC programmable clocks
Boris BREZILLON [Fri, 11 Oct 2013 09:57:04 +0000 (11:57 +0200)]
clk: at91: add PMC programmable clocks

This patch adds new at91 programmable clocks implementation using common clk
framework.
A programmable clock is a clock which can be exported on a given pin to clock
external devices.
Each programmable clock is given an id (from 0 to 8).
The number of available programmable clocks depends on the SoC you're using.
Programmable clock driver only implements the clock setting (clock rate and
parent setting). It must be chained to a system clock in order to
enable/disable the generated clock.
The PCKX pins used to output the clock signals must be assigned to the
appropriate peripheral (see atmel's datasheets).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC peripheral clocks
Boris BREZILLON [Fri, 11 Oct 2013 09:44:36 +0000 (11:44 +0200)]
clk: at91: add PMC peripheral clocks

This patch adds new at91 peripheral clock implementation using common clk
framework.

Almost all peripherals provided by at91 SoCs need a clock to work properly.
This clock is enabled/disabled using PCER/PCDR resgisters.

Each peripheral is given an id (see atmel's datasheets) which is used to
define and reference peripheral clocks.

Some new SoCs (at91sam9x5 and sama5d3) provide a new register (PCR) where you
can configure the peripheral clock as a division of the master clock.
This will help reducing the peripherals power comsumption.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC system clocks
Boris BREZILLON [Fri, 11 Oct 2013 09:41:41 +0000 (11:41 +0200)]
clk: at91: add PMC system clocks

This patch adds new at91 system clock implementation using common clk
framework.

Some peripherals need to enable a "system" clock in order to work properly.
Each system clock is given an id based on the bit position in SCER/SCDR
registers.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC master clock
Boris BREZILLON [Fri, 11 Oct 2013 08:51:23 +0000 (10:51 +0200)]
clk: at91: add PMC master clock

This patch adds new at91 master clock implementation using common clk
framework.

The master clock layout describe the MCKR register layout.
There are 2 master clock layouts:
- at91rm9200
- at91sam9x5

Master clocks are given characteristics:
- min/max clock output rate

These characteristics are checked during rate change to avoid
over/underclocking.

These characteristics are described in atmel's SoC datasheet in
"Electrical Characteristics" paragraph.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC pll clocks
Boris BREZILLON [Fri, 11 Oct 2013 08:48:26 +0000 (10:48 +0200)]
clk: at91: add PMC pll clocks

This patch adds new at91 pll clock implementation using common clk framework.

The pll clock layout describe the PLLX register layout.
There are four pll clock layouts:
- at91rm9200
- at91sam9g20
- at91sam9g45
- sama5d3

PLL clocks are given characteristics:
- min/max clock source rate
- ranges of valid clock output rates
- values to set in out and icpll fields for each supported output range

These characteristics are checked during rate change to avoid
over/underclocking.

These characteristics are described in atmel's SoC datasheet in
"Electrical Characteristics" paragraph.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC main clock
Boris BREZILLON [Fri, 11 Oct 2013 08:44:49 +0000 (10:44 +0200)]
clk: at91: add PMC main clock

This patch adds new at91 main oscillator clock implementation using common
clk framework.

If rate is not provided during clock registration it is calculated using
the slow clock (main clk parent in this case) rate and MCFR register.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC macro file for dt definitions
Boris BREZILLON [Fri, 11 Oct 2013 08:41:25 +0000 (10:41 +0200)]
clk: at91: add PMC macro file for dt definitions

This patch adds a new macro file for PMC macros.

This macro file includes the definitions of SR (status register) bit
offsets and will be use to reference PMC irqs.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoclk: at91: add PMC base support
Boris BREZILLON [Mon, 2 Dec 2013 14:07:02 +0000 (15:07 +0100)]
clk: at91: add PMC base support

This patch adds at91 PMC (Power Management Controller) base support.

All at91 clocks managed by the PMC unit will use this framework.

This framework provides the following fonctionalities:
- define a new struct at91_pmc to hide PMC internals (lock, PMC memory
  mapping, irq domain, ...)
- read/write helper functions (pmc_read/write) to access PMC registers
- lock/unlock helper functions (pmc_lock/unlock) to lock/unlock access to
  pmc registers
- a new irq domain and its associated irq chip to request PMC specific
  interrupts (useful for clk prepare callbacks)

The PMC unit is declared as a dt clk provider (CLK_OF_DECLARE), and every
clk using this framework will declare a table of of_at91_clk_init_cb_t
and add it to the pmc_clk_ids table.

When the pmc dt clock setup function is called (by of_clk_init function),
it triggers the registration of every supported child clk (those matching
the definitions in pmc_clk_ids).

This patch copies at91_pmc_base (memory mapping) and at91sam9_idle
(function) from arch/arm/mach-at91/clock.c (which is not compiled if
COMMON_CLK_AT91 is enabled).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: add Kconfig options for common clk support
Boris BREZILLON [Fri, 11 Oct 2013 07:37:46 +0000 (09:37 +0200)]
ARM: at91: add Kconfig options for common clk support

This patch adds the following Kconfig options to prepare the transition to
common clk framework:

- AT91_USE_OLD_CLK: this option is selected by every SoC which does not
  support new at91 clks based on common clk framework (SoC which does not
  define the clock tree in its device tree).
  This options is also selected when the user choose non dt boards support
  (new at91 clks can only be registered from a device tree definition).

- COMMON_CLK_AT91: this option cannot be selected directly. Instead it is
  enabled if these 3 conditions are met:
   * at least one of the selected SoCs have a PMC (Power Management
     Controller) Unit
   * device tree support is enabled
   * the old at91 clk implementation is disabled (every selected SoC define
     its clks in its device tree and non dt boards support is disabled)

- OLD_CLK_AT91: this option cannot be selected directly. Instead it is
  enabled if these 2 conditions are met:
   * at least one of the selected SoCs have a PMC (Power Management
     Controller) Unit
   * at least one of the selected SoCs does not define its clks in its
     device tree or non dt-boards support is enabled

This patch selects AT91_USE_OLD_CLK in all currently supported SoCs. These
selects will be removed after clk definitions are properly added in each
soc's device tree.
It also selects AT91_USE_OLD_CLK in all non-dt boards support.

AT91_PMC_UNIT references are replaced by OLD_CLK_AT91, because PMC Unit is
enabled for both old and common clk implementations, and old clk
implementation should not be compiled if COMMON_CLK is enabled.

To avoid future link errors, a new stub is created for at91_dt_clock_init
function if OLD_CLK_AT91 is disabled.

A new check is added in dt init functions (setup.c) to prepare for SoCs
supporting new clk implementation. These SoCs won't setup the
register_clocks callback (clk registration is done using of_clk_init).

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h
Boris BREZILLON [Fri, 11 Oct 2013 07:37:45 +0000 (09:37 +0200)]
ARM: at91: move at91_pmc.h to include/linux/clk/at91_pmc.h

This patch moves at91_pmc.h header from machine specific directory
(arch/arm/mach-at91/include/mach/at91_pmc.h) to clk include directory
(include/linux/clk/at91_pmc.h).
We need this to avoid reference to machine specific headers in clk
drivers.

Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
10 years agoirqchip: exynos-combiner: remove hard-coded irq_base value
Chander Kashyap [Sun, 20 Oct 2013 21:01:40 +0000 (06:01 +0900)]
irqchip: exynos-combiner: remove hard-coded irq_base value

Replace irq_domain_add_simple with "irq_domain_add_linear" in order to use
linear irq domain, and to remove hardcoded irq_base_value.

Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoLinux 3.13-rc2 v3.13-rc2
Linus Torvalds [Fri, 29 Nov 2013 20:57:14 +0000 (12:57 -0800)]
Linux 3.13-rc2

10 years agoMerge tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas...
Linus Torvalds [Fri, 29 Nov 2013 17:57:13 +0000 (09:57 -0800)]
Merge tag 'arm64-stable' of git://git./linux/kernel/git/cmarinas/linux-aarch64

Pull ARM64 fixes from Catalin Marinas:
 - Remove preempt_count modifications in the arm64 IRQ handling code
   since that's already dealt with in generic irq_enter/irq_exit
 - PTE_PROT_NONE bit moved higher up to avoid overlapping with the
   hardware bits (for PROT_NONE mappings which are pte_present)
 - Big-endian fixes for ptrace support
 - Asynchronous aborts unmasking while in the kernel
 - pgprot_writecombine() change to create Normal NonCacheable memory
   rather than Device GRE

* tag 'arm64-stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
  arm64: Move PTE_PROT_NONE higher up
  arm64: Use Normal NonCacheable memory for writecombine
  arm64: debug: make aarch32 bkpt checking endian clean
  arm64: ptrace: fix compat registes get/set to be endian clean
  arm64: Unmask asynchronous aborts when in kernel mode
  arm64: dts: Reserve the memory used for secondary CPU release address
  arm64: let the core code deal with preempt_count

10 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Linus Torvalds [Fri, 29 Nov 2013 17:56:15 +0000 (09:56 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/s390/linux

Pull s390 updates from Martin Schwidefsky:
 "One performance improvement and a few bug fixes.  Two of the fixes
  deal with the clock related problems we have seen on recent kernels"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/mm: handle asce-type exceptions as normal page fault
  s390,time: revert direct ktime path for s390 clockevent device
  s390/time,vdso: convert to the new update_vsyscall interface
  s390/uaccess: add missing page table walk range check
  s390/mm: optimize copy_page
  s390/dasd: validate request size before building CCW/TCW request
  s390/signal: always restore saved runtime instrumentation psw bit

10 years agoMerge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
Linus Torvalds [Fri, 29 Nov 2013 17:55:13 +0000 (09:55 -0800)]
Merge branch 'i2c/for-current' of git://git./linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
 "Some easy but needed fixes for i2c drivers since rc1"

* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
  i2c: bcm2835: Linking platform nodes to adapter nodes
  i2c: omap: raw read and write endian fix
  i2c: i2c-bcm-kona: Fix module build
  i2c: i2c-diolan-u2c: different usb endpoints for DLN-2-U2C
  i2c: bcm-kona: remove duplicated include
  i2c: davinci: raw read and write endian fix

10 years agoMerge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Linus Torvalds [Fri, 29 Nov 2013 17:49:08 +0000 (09:49 -0800)]
Merge branch 'for-3.13-fixes' of git://git./linux/kernel/git/tj/wq

Pull workqueue fixes from Tejun Heo:
 "This contains one important fix.  The NUMA support added a while back
  broke ordering guarantees on ordered workqueues.  It was enforced by
  having single frontend interface with @max_active == 1 but the NUMA
  support puts multiple interfaces on unbound workqueues on NUMA
  machines thus breaking the ordered guarantee.  This is fixed by
  disabling NUMA support on ordered workqueues.

  The above and a couple other patches were sitting in for-3.12-fixes
  but I forgot to push that out, so they ended up waiting a bit too
  long.  My aplogies.

  Other fixes are minor"

* 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: fix pool ID allocation leakage and remove BUILD_BUG_ON() in init_workqueues
  workqueue: fix comment typo for __queue_work()
  workqueue: fix ordered workqueues in NUMA setups
  workqueue: swap set_cpus_allowed_ptr() and PF_NO_SETAFFINITY

10 years agoMerge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
Linus Torvalds [Fri, 29 Nov 2013 17:48:25 +0000 (09:48 -0800)]
Merge branch 'for-3.13-fixes' of git://git./linux/kernel/git/tj/libata

Pull libata fixes from Tejun Heo:
 "libata device removal path was removing parent device node before its
  child, which is mostly harmless but triggers warning after recent
  sysfs changes.  Rafael's patch fixes the order.

  Other than that, minor controller-specific fixes and device ID
  additions"

* 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
  ATA: Fix port removal ordering
  ahci: add Marvell 9230 to the AHCI PCI device list
  ata: fix acpi_bus_get_device() return value check
  pata_arasan_cf: add missing clk_disable_unprepare() on error path
  ahci: add support for IBM Akebono platform device

10 years agoMerge branch 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj...
Linus Torvalds [Fri, 29 Nov 2013 17:47:06 +0000 (09:47 -0800)]
Merge branch 'for-3.13-fixes' of git://git./linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:
 "Fixes for three issues.

   - cgroup destruction path could swamp system_wq possibly leading to
     deadlock.  This actually seems to happen in the wild with memcg
     because memcg destruction path adds nested dependency on system_wq.

     Resolved by isolating cgroup destruction work items on its
     dedicated workqueue.

   - Possible locking context deadlock through seqcount reported by
     lockdep

   - Memory leak under certain conditions"

* 'for-3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cgroup: fix cgroup_subsys_state leak for seq_files
  cpuset: Fix memory allocator deadlock
  cgroup: use a dedicated workqueue for cgroup destruction

10 years agoMerge tag 'sound-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Linus Torvalds [Fri, 29 Nov 2013 17:36:42 +0000 (09:36 -0800)]
Merge tag 'sound-3.13-rc2' of git://git./linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "Quite a few HD-Audio fixes, a WUSB audio fix and a fix for FireWire
  audio.  The HD-audio part contains a couple of fixes for the generic
  parser, and these are the only intrusive fixes.  The rest are mostly
  device-specific fixes"

* tag 'sound-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
  ALSA: hda - Add LFE chmap to ASUS ET2700
  ALSA: hda - Initialize missing bass speaker pin for ASUS AIO ET2700
  ALSA: hda - limit mic boost on Asus UX31[A,E]
  ALSA: hda - Check leaf nodes to find aamix amps
  ALSA: hda - Fix hp-mic mode without VREF bits
  ALSA: hda - Create Headhpone Mic Jack Mode when really needed
  ALSA: usb: use multiple packets per urb for Wireless USB inbound audio
  ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Conexant codec
  ALSA: hda - Drop bus->avoid_link_reset flag
  ALSA: hda/realtek - Set pcbeep amp for ALC668
  ALSA: hda/realtek - Add support of ALC231 codec
  ALSA: firewire-lib: fix wrong value for FDF field as an empty packet

10 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Linus Torvalds [Fri, 29 Nov 2013 17:27:19 +0000 (09:27 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs

Pull vfs dentry reference count fix from Al Viro.

This fixes a possible inode_permission NULL pointer dereference (and
other problems) that were due to the root dentry count being decremented
too much.  In commit 48a066e72d97 ("RCU'd vfsmounts") the placement of
clearing the LOOKUP_RCU bit changed, and we then returned failure of
incrementing the lockref on the parent dentry with LOOKUP_RCU cleared.

But that meant we needed to go through the same cleanup routines that
the later failures did wrt LOOKUP_ROOT and nd->root.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  fix bogus path_put() of nd->root after some unlazy_walk() failures

10 years agoMerge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Linus Torvalds [Fri, 29 Nov 2013 17:26:42 +0000 (09:26 -0800)]
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

Pull drm qxl leak fix from Dave Airlie:
 "As usual 5 mins after I send a trivial pull fix I find a real bug!

  This fixes a memory leak and I'd like to get it into stable queue
  asap"

* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
  drm/qxl: fix memory leak in release list handling

10 years agoarm64: Move PTE_PROT_NONE higher up
Catalin Marinas [Wed, 27 Nov 2013 16:59:27 +0000 (16:59 +0000)]
arm64: Move PTE_PROT_NONE higher up

PTE_PROT_NONE means that a pte is present but does not have any
read/write attributes. However, setting the memory type like
pgprot_writecombine() is allowed and such bits overlap with
PTE_PROT_NONE. This causes mmap/munmap issues in drivers that change the
vma->vm_pg_prot on PROT_NONE mappings.

This patch reverts the PTE_FILE/PTE_PROT_NONE shift in commit
59911ca4325d (ARM64: mm: Move PTE_PROT_NONE bit) and moves PTE_PROT_NONE
together with the other software bits.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Steve Capper <steve.capper@linaro.org>
Cc: <stable@vger.kernel.org> # 3.11+
10 years agoarm64: Use Normal NonCacheable memory for writecombine
Catalin Marinas [Fri, 29 Nov 2013 10:56:14 +0000 (10:56 +0000)]
arm64: Use Normal NonCacheable memory for writecombine

This provides better performance compared to Device GRE and also allows
unaligned accesses. Such memory is intended to be used with standard RAM
(e.g. framebuffers) and not I/O.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
10 years agofix bogus path_put() of nd->root after some unlazy_walk() failures
Al Viro [Fri, 29 Nov 2013 06:48:32 +0000 (01:48 -0500)]
fix bogus path_put() of nd->root after some unlazy_walk() failures

Failure to grab reference to parent dentry should go through the
same cleanup as nd->seq mismatch.  As it is, we might end up with
caller thinking it needs to path_put() nd->root, with obvious
nasty results once we'd hit that bug enough times to drive the
refcount of root dentry all the way to zero...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
10 years agodrm/qxl: fix memory leak in release list handling
Dave Airlie [Thu, 28 Nov 2013 05:39:03 +0000 (05:39 +0000)]
drm/qxl: fix memory leak in release list handling

wow no idea how I got this far without seeing this,
leaking the entries in the list makes kmalloc-64 slab grow.

References: https://bugzilla.kernel.org/show_bug.cgi?id=65121
Cc: stable@vger.kernel.org
Reported-by: Matthew Stapleton <matthew4196@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
10 years agoarm64: debug: make aarch32 bkpt checking endian clean
Matthew Leach [Thu, 28 Nov 2013 12:07:23 +0000 (12:07 +0000)]
arm64: debug: make aarch32 bkpt checking endian clean

The current breakpoint instruction checking code for A32 is not endian
clean. Fix this with appropriate byte-swapping when retrieving
instructions.

Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
10 years agoarm64: ptrace: fix compat registes get/set to be endian clean
Matthew Leach [Thu, 28 Nov 2013 12:07:22 +0000 (12:07 +0000)]
arm64: ptrace: fix compat registes get/set to be endian clean

On a BE system the wrong half of the X registers is retrieved/written
when attempting to get/set the value of aarch32 registers through
ptrace.

Ensure that types are the correct width so that the relevant
casting occurs.

Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>