[PATCH 01/36] ARM: OMAP3: hwmod: Fix gpmc memory resource space

2014-06-11 Thread Roger Quadros
Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c index 71ac7d5..f2848a8 100644 ---

[PATCH 36/36] ARM: OMAP2+: defconfig: Enable TI GPMC driver

2014-06-11 Thread Roger Quadros
This is needed for NAND and OneNAND to work. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/configs/omap2plus_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig index a4e8d01..98dad6c 100644 ---

[PATCH 33/36] ARM: OMAP2+: board-flash: Use gpmc_generic_init() for NOR

2014-06-11 Thread Roger Quadros
Don't access any GPMC registers here. Use gpmc_generic_init() to pass GPMC Chip Select settings, platform device and platform data to the GPMC driver. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/board-flash.c | 28 +++- 1 file changed, 11

[PATCH 34/36] ARM: OMAP2+: gpmc: Make externally unused functions/defines private

2014-06-11 Thread Roger Quadros
Most of the GPMC functions are now not used by other drivers. Make them private. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.c | 84 ++ arch/arm/mach-omap2/gpmc.h | 63 -- 2 files changed, 56

[PATCH 28/36] ARM: OMAP2+: nand: Update gpmc_nand_init() to use generic_gpmc_init()

2014-06-11 Thread Roger Quadros
This function should only be called by board init code for legacy boot. Re-arrange init order so that gpmc device is created after the gpmc platform data is initialized by board files. i.e. move omap_gpmc_init() to subsys_initcall. Load gpmc platform driver later in the boot process. i.e. move

[PATCH 25/36] ARM: OMAP2+: gpmc: Support multiple Chip Selects per device

2014-06-11 Thread Roger Quadros
Some devices (e.g. tusb6010) need 2 chip selects to work with 2 separate IOMEM resources. Allow such use case. The user just needs to call gpmc_generic_init() for as many chip selects with the same platform_device pointer. The GPMC driver will take care of fixing up the memory resources.

[PATCH 26/36] ARM: OMAP2+: gpmc-smc91x: Get rid of retime() from omap_smc91x_platform_data

2014-06-11 Thread Roger Quadros
The retime() function is not provided by board files so get rid of it from omap_smc91x_platform_data(). Instead change it to smc91c96_get_device_timing() to get the device timings. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/board-3430sdp.c | 8 --

[PATCH 24/36] ARM: OMAP2+: gpmc: add NAND specific setup

2014-06-11 Thread Roger Quadros
Provide NAND specific resources and platform data. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.c | 45 + 1 file changed, 45 insertions(+) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index

[PATCH 19/36] mtd: onenand: omap: Use devres managed resources

2014-06-11 Thread Roger Quadros
Use devres managed resources for Memory, GPIO and Interrupt resources. 0 is a valid gpio, so use gpio_is_valid() to check for valid gpio number. Signed-off-by: Roger Quadros rog...@ti.com --- drivers/mtd/onenand/omap2.c | 92 - 1 file changed, 33

[PATCH 21/36] ARM: dts: OMAP2+: Fix OneNAND device nodes

2014-06-11 Thread Roger Quadros
Add compatible id, fix chip select partition size and I/O space size. OneNAND devices just need 128KB for I/O and the minimum possible chips select partition can be 16MB. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/boot/dts/omap2420-n8x0-common.dtsi | 5 +++--

[PATCH 20/36] mtd: onenand: omap: Clean up device tree support

2014-06-11 Thread Roger Quadros
Move OneNAND specific device tree parsing to NAND driver. The OneNAND device node must have its own compatible id. Add a new property 'ti,onenand-sync-rw' to indicate synchronous read + write support. Default mode would be only synchronous reads. Signed-off-by: Roger Quadros rog...@ti.com ---

[PATCH 23/36] ARM: OMAP2+: gpmc: use platform data to configure CS space and poplulate device

2014-06-11 Thread Roger Quadros
Add gpmc_probe_legacy() that will be called for non DT boots. This function will use platform data to setup each chip select and populate the child platform device for each of the chip selects. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.c | 129

[PATCH 22/36] ARM: OMAP2+: gmpc: add gpmc_generic_init()

2014-06-11 Thread Roger Quadros
This function populates platform data for the specified Chip Select. It should be called by board init code. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.c | 79 ++ arch/arm/mach-omap2/gpmc.h | 6 2 files changed, 85

[PATCH 32/36] ARM: OMAP2+: onenand: Use gpmc_generic_init()

2014-06-11 Thread Roger Quadros
Don't access any GPMC registers here. Use gpmc_generic_init() to pass GPMC Chip Select settings, platform device and platform data to the GPMC driver. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc-onenand.c | 53 -- 1 file changed, 11

[PATCH 18/36] ARM: OMAP2+: gpmc-onenand: Move Synchronous setting code to drivers/

2014-06-11 Thread Roger Quadros
Move the code that puts the onenand in synchronous mode into the appropriate place i.e. drivers/mtd/onenand/omap2.c. Make use of omap_gpmc_get_clk_period() and omap_gpmc_retime() to calculate the necessary timings and configure the GPMC parent's timings. Signed-off-by: Roger Quadros

[PATCH 30/36] ARM: OMAP2+: gpmc-smsc911x: Use gpmc_generic_init()

2014-06-11 Thread Roger Quadros
Don't access any GPMC registers here. Use gpmc_generic_init() to pass GPMC Chip Select settings, platform device and platform data to the GPMC driver. Some boards use multiple smsc911x devices, so we dynamically allocate pdev and pdata. Signed-off-by: Roger Quadros rog...@ti.com ---

[PATCH 29/36] ARM: OMAP2+: gpmc-smc91x: Use gpmc_generic_init()

2014-06-11 Thread Roger Quadros
Don't access any GPMC registers here. Use gpmc_generic_init() to pass GPMC Chip Select settings, platform device and platform data to the GPMC driver. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc-smc91x.c | 50 +++ 1 file changed, 19

[PATCH 17/36] ARM: OMAP2+: gpmc-onenand: Use Async settings/timings by default

2014-06-11 Thread Roger Quadros
Onenand device operates in Asynchronous mode by default. So configure GPMC settings/timings based on Async mode before the onenand device is created. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc-onenand.c | 66 ++ 1 file changed, 32

[PATCH 27/36] ARM: OMAP2+: usb-tusb6010: Use omap_gpmc_retime()

2014-06-11 Thread Roger Quadros
In order to change the GPMC settings/timings on the fly, we must use omap_gpmc_retime(). The other gpmc_*() functions will soon be made private and moved out of arch/mach-omap2/ CC: Felipe Balbi ba...@ti.com Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/usb-tusb6010.c | 94

[PATCH 31/36] ARM: OMAP2: usb-tusb6010: Use gpmc_generic_init()

2014-06-11 Thread Roger Quadros
Don't access any GPMC registers here. Use gpmc_generic_init() to pass GPMC Chip Select settings, platform device and platform data to the GPMC driver. CC: Felipe Balbi ba...@ti.com Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/usb-tusb6010.c | 78

[PATCH 14/36] ARM: OMAP2+: gpmc: Allow drivers to reconfigure GPMC settings timings

2014-06-11 Thread Roger Quadros
Some devices (e.g. TUSB6010, omap-onenand) need to reconfigure the GPMC timings in order to operate with different peripheral clock frequencies. Introduce omap_gpmc_retime() to allow them to do that. The driver needs to pass the chips select number, GPMC settings and Device timings to

[PATCH 16/36] mtd: onenand: omap: Remove regulator management code

2014-06-11 Thread Roger Quadros
None of the OMAP platforms are suppying the regulator_can_sleep parameter via platform data. Regulator management is generic enough to be done in onenand_base driver if required. Mark the regulator_can_sleep platform data parameter as deprecated. Signed-off-by: Roger Quadros rog...@ti.com ---

[PATCH 15/36] ARM: OMAP2+: gpmc: Allow drivers to query GPMC_CLK period

2014-06-11 Thread Roger Quadros
GPMC_CLK is the external clock output pin that is used for syncronous accesses. Device drivers need to know the fastest possible GPMC_CLK period in order to calculate the most optimal device timings. Add the function omap_gpmc_get_clk_period() to allow drivers to get the nearset possible (equal

[PATCH 11/36] mtd: nand: omap: Update DT binding documentation

2014-06-11 Thread Roger Quadros
Add compatible id, interrupts and update reg property description. As the NAND controller needs access to GPMC register space, we need to pass a second memory resource to the NAND controller node. Due to the wierd way the reg property has been implemented (i.e. CS number required in 1st number of

[PATCH 12/36] ARM: dts: omap3-beagle: Add NAND device

2014-06-11 Thread Roger Quadros
The beagle board contains a 16-bit NAND device connected to chip select 0 of the GPMC controller. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/boot/dts/omap3-beagle.dts | 53 ++ 1 file changed, 53 insertions(+) diff --git

[PATCH 13/36] ARM: OMAP2+: gpmc.c: sanity check bank-width DT property

2014-06-11 Thread Roger Quadros
Make sure bank-width property provided via DT is sane. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c index c713616..70cb6b0

[PATCH 07/36] mtd: nand: omap: Move NAND write protect code from GPMC to NAND driver

2014-06-11 Thread Roger Quadros
The write protect (WP) pin is only used for NAND devices. So move the code into the NAND driver. Get rid of gpmc_configure() as it is no longer used. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc-nand.c | 4 arch/arm/mach-omap2/gpmc.c

[PATCH 09/36] mtd: nand: omap: Clean up device tree support

2014-06-11 Thread Roger Quadros
Move NAND specific device tree parsing to NAND driver. The NAND controller node must have a compatible id, register space resource and interrupt resource. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc-nand.c | 5 +- arch/arm/mach-omap2/gpmc.c

[PATCH 10/36] ARM: dts: OMAP2+: Fix NAND device nodes

2014-06-11 Thread Roger Quadros
Add compatible id, GPMC register resource and interrupt resource to NAND controller nodes. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/boot/dts/am335x-evm.dts | 8 ++-- arch/arm/boot/dts/am335x-igep0033.dtsi | 8 ++-- arch/arm/boot/dts/am43x-epos-evm.dts | 8

[PATCH 04/36] ARM: OMAP2+: gpmc: Add gpmc timings and settings to platform data

2014-06-11 Thread Roger Quadros
Add device_timings, gpmc_timings and gpmc_setting to gpmc platform data. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.h | 134 -- include/linux/platform_data/gpmc-omap.h | 139 2 files changed,

[PATCH 03/36] ARM: OMAP2+: gpmc: Add platform data

2014-06-11 Thread Roger Quadros
Add a platform data structure for GPMC. It contains all the necessary platform information that needs to be passed from platform init code to GPMC driver. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/mach-omap2/gpmc.h | 4 +--- include/linux/platform_data/gpmc-omap.h |

[PATCH 08/36] mtd: nand: omap: Copy platform data parameters to omap_nand_info data

2014-06-11 Thread Roger Quadros
Copy all the platform data parameters to the driver's local data structure 'omap_nand_info' and use it in the entire driver. This will make it easer for device tree migration. Signed-off-by: Roger Quadros rog...@ti.com --- drivers/mtd/nand/omap2.c | 27 ++- 1 file

[PATCH 06/36] mtd: nand: omap: Move gpmc_update_nand_reg to nand driver

2014-06-11 Thread Roger Quadros
GPMC and NAND drivers share the same register space but never use the same registers. As there is no clear address seperation between the registers for GPMC and NAND, we can't easily split it up into 2 regions i.e. one for GPMC and other for NAND. Instead, we simply remap the entire register space

[PATCH 05/36] mtd: nand: omap: Move IRQ handling from GPMC to NAND driver

2014-06-11 Thread Roger Quadros
Since the Interrupt Events are used only by the NAND driver, there is no point in managing the Interrupt registers in the GPMC driver and complicating it with irqchip modeling. Let's manage the interrupt registers directly in the NAND driver and get rid of irqchip model from GPMC driver. Get rid

[PATCH 02/36] ARM: dts: OMAP2+: Fix GPMC register space size

2014-06-11 Thread Roger Quadros
Use actual register space size from Reference Manual. Signed-off-by: Roger Quadros rog...@ti.com --- arch/arm/boot/dts/am33xx.dtsi | 2 +- arch/arm/boot/dts/am4372.dtsi | 2 +- arch/arm/boot/dts/omap2420.dtsi | 2 +- arch/arm/boot/dts/omap2430.dtsi | 2 +- arch/arm/boot/dts/omap3.dtsi| 2

[PATCH 00/36] OMAP: GPMC: Restructure and move OMAP GPMC driver out of mach-omap2

2014-06-11 Thread Roger Quadros
Hi, This is a complete functional set to get the gpmc driver out of mach-omap2 and into drivers/memory. The DT binding remains the same except for the following minor changes - compatible property is required for NAND OneNAND nodes - Second register space and interrupts properties are required

[resend][PATCH 35/36] ARM: OMAP2+: gpmc: move GPMC driver into drivers/memory

2014-06-11 Thread Roger Quadros
Resending with rename detection option to git-format-patch for easier review. From: Roger Quadros rog...@ti.com Move the GPMC driver out of mach-omap2. We leave behind only the mach-omap2 specific bits in mach-omap2/gpmc_legacy.c i.e. gpmc_generic_init() for use by board files to register the

Re: [PATCH 00/36] OMAP: GPMC: Restructure and move OMAP GPMC driver out of mach-omap2

2014-06-11 Thread Roger Quadros
Hi Javier, On 06/11/2014 02:52 PM, Javier Martinez Canillas wrote: Hello Roger, What a great series!! Thanks :) On Wed, Jun 11, 2014 at 10:56 AM, Roger Quadros rog...@ti.com wrote: Hi, This is a complete functional set to get the gpmc driver out of mach-omap2 and into drivers/memory.

Re: [PATCH 00/36] OMAP: GPMC: Restructure and move OMAP GPMC driver out of mach-omap2

2014-06-11 Thread Javier Martinez Canillas
Hello Roger, What a great series!! On Wed, Jun 11, 2014 at 10:56 AM, Roger Quadros rog...@ti.com wrote: Hi, This is a complete functional set to get the gpmc driver out of mach-omap2 and into drivers/memory. The DT binding remains the same except for the following minor changes I probably

[PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Arnd Bergmann
The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the camera driver to be built-in. This can be solved by turning the option into tristate, which unfortunately causes another problem, because the driver incorrectly

Re: [PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Tony Lindgren
* Arnd Bergmann a...@arndb.de [140611 07:37]: The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the camera driver to be built-in. That's good news, but let's not fix it this way. This can be solved by turning

Re: [PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Arnd Bergmann
On Wednesday 11 June 2014 09:42:04 Nishanth Menon wrote: On 06/11/2014 09:35 AM, Arnd Bergmann wrote: The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the camera driver to be built-in. This can be

Re: [PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Nishanth Menon
On 06/11/2014 09:49 AM, Arnd Bergmann wrote: On Wednesday 11 June 2014 09:42:04 Nishanth Menon wrote: On 06/11/2014 09:35 AM, Arnd Bergmann wrote: The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the camera

Re: [PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Nishanth Menon
On 06/11/2014 09:35 AM, Arnd Bergmann wrote: The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the camera driver to be built-in. This can be solved by turning the option into tristate, which unfortunately

Re: [PATCH] [media] staging: allow omap4iss to be modular

2014-06-11 Thread Tony Lindgren
* Arnd Bergmann a...@arndb.de [140611 07:51]: On Wednesday 11 June 2014 09:42:04 Nishanth Menon wrote: On 06/11/2014 09:35 AM, Arnd Bergmann wrote: The OMAP4 camera support depends on I2C and VIDEO_V4L2, both of which can be loadable modules. This causes build failures if we want the

[PATCH 0/5] Handle non-secure L2C initialization on Exynos4

2014-06-11 Thread Tomasz Figa
This series intends to add support for L2 cache on Exynos4 SoCs on boards running under secure firmware, which requires certain initialization steps to be done with help of firmware, as selected registers are writable only from secure mode. First three patches extend existing support for secure

[PATCH 1/5] ARM: mm: cache-l2x0: Add base address argument to write_sec callback

2014-06-11 Thread Tomasz Figa
For certain platforms (e.g. Exynos) it is necessary to read back some values from registers before they can be written (i.e. SMC calls that set multiple registers per call), so base address of L2C controller is needed for .write_sec operation. This patch adds base argument to .write_sec callback

[PATCH 5/5] ARM: dts: exynos4: Add nodes for L2 cache controller

2014-06-11 Thread Tomasz Figa
This patch adds device tree nodes for L2 cache controller present on Exynos4 SoCs. Signed-off-by: Tomasz Figa t.f...@samsung.com --- arch/arm/boot/dts/exynos4210.dtsi | 9 + arch/arm/boot/dts/exynos4x12.dtsi | 9 + 2 files changed, 18 insertions(+) diff --git

Re: [RFC] irqchip: gic: always mask interrupts during suspend

2014-06-11 Thread Stephen Warren
On 06/10/2014 05:48 PM, Brian Norris wrote: On Wed, Jun 11, 2014 at 01:34:39AM +0200, Thomas Gleixner wrote: On Tue, 10 Jun 2014, Brian Norris wrote: Other random thought: it seems like any irqchip driver which does lazy IRQ masking ought to use IRQCHIP_MASK_ON_SUSPEND. So maybe the IRQ core

[PATCH 3/5] ARM: mm: cache-l2x0: Use l2c_write_sec() for LATENCY_CTRL registers

2014-06-11 Thread Tomasz Figa
According to the documentation, TAG_LATENCY_CTRL and DATA_LATENCY_CTRL registers of L2C-310 can be written only in secure mode, so l2c_write_sec() should be used to change them, instead of plain writel_relaxed(). Signed-off-by: Tomasz Figa t.f...@samsung.com --- arch/arm/mm/cache-l2x0.c | 8

[PATCH 2/5] ARM: Get outer cache .write_sec callback from mach_desc only if not NULL

2014-06-11 Thread Tomasz Figa
Certain platforms (i.e. Exynos) might need to set .write_sec callback from firmware initialization which is happenning in .init_early callback of machine descriptor. However current code will overwrite the pointer with whatever is present in machine descriptor, even though it can be already set

[PATCH 4/5] ARM: EXYNOS: Add .write_sec outer cache callback for L2C-310

2014-06-11 Thread Tomasz Figa
Exynos4 SoCs equipped with an L2C-310 cache controller and running under secure firmware require certain registers of aforementioned IP to be accessed only from secure mode. This means that SMC calls are required for certain register writes. To handle this, an implementation of .write_sec callback

Re: [PATCH 1/5] ARM: mm: cache-l2x0: Add base address argument to write_sec callback

2014-06-11 Thread Jon Loeliger
diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h index 060a75e..ddaebcd 100644 --- a/arch/arm/include/asm/mach/arch.h +++ b/arch/arm/include/asm/mach/arch.h @@ -46,7 +46,8 @@ struct machine_desc { enum reboot_modereboot_mode;/* default

Re: [PATCH 1/5] ARM: mm: cache-l2x0: Add base address argument to write_sec callback

2014-06-11 Thread Tomasz Figa
On 11.06.2014 18:00, Jon Loeliger wrote: diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h index 060a75e..ddaebcd 100644 --- a/arch/arm/include/asm/mach/arch.h +++ b/arch/arm/include/asm/mach/arch.h @@ -46,7 +46,8 @@ struct machine_desc { enum

[PATCH] iio: ti_am335x_adc: Use same step id at FIFOs both ends

2014-06-11 Thread Jan Kardell
Since AI lines could be selected at will (linux-3.11) the sending and receiving ends of the FIFO does not agree about what step is used for a line. It only works if the last lines are used, like 5,6,7, and fails if ie 2,4,6 is selected in DT. Signed-off-by: Jan Kardell jan.kard...@telliq.com ---

Re: [GIT PULL] mfd: Immutable branch between MFD and OMAP, due for v3.16

2014-06-11 Thread Tony Lindgren
* Lee Jones lee.jo...@linaro.org [140603 01:08]: On Mon, 02 Jun 2014, Tony Lindgren wrote: * Tony Lindgren t...@atomide.com [140528 11:11]: * Lee Jones lee.jo...@linaro.org [140528 00:14]: Thanks Tony, here's the pull-request: The following changes since commit