platform/kernel/linux-stable.git
9 years agoARM: shmobile: r8a7791: add audio clock on DTSI
Kuninori Morimoto [Thu, 12 Jun 2014 04:44:04 +0000 (21:44 -0700)]
ARM: shmobile: r8a7791: add audio clock on DTSI

audio_clk_a/b/c are required from sound driver

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 0d3dbde84a45977cdd7d85115cd5ea1b4ede312e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7790: add R-Car sound support on DTSI
Kuninori Morimoto [Wed, 11 Jun 2014 06:53:54 +0000 (23:53 -0700)]
ARM: shmobile: r8a7790: add R-Car sound support on DTSI

This patch support PIO transfer only at this point

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7df2fd572b9f159657a145f3fdd700d3e00760d9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7790: add MSTP10 support on DTSI
Kuninori Morimoto [Wed, 11 Jun 2014 06:53:27 +0000 (23:53 -0700)]
ARM: shmobile: r8a7790: add MSTP10 support on DTSI

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit bcde37225438687231bb9510c07e60dcb8db1988)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: henninger: add I2C2 DT support
Sergei Shtylyov [Tue, 10 Jun 2014 22:45:21 +0000 (02:45 +0400)]
ARM: shmobile: henninger: add I2C2 DT support

Define the Henninger board dependent part of the I2C2 device node.

Based on the Koelsch I2C2 device tree patch by Wolfram Sang.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 29a647c396a054b087b124372ffb261f40ee9856)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: koelsch: Remove duplicate i2c6 nodes
Simon Horman [Mon, 9 Jun 2014 08:50:28 +0000 (17:50 +0900)]
ARM: shmobile: koelsch: Remove duplicate i2c6 nodes

A second i2c6 node was a added by
05e234a187058ee ("ARM: shmobile: koelsch dts: Add VDD MPU regulator for
DVFS"). Merge this into the existing node.

Also shuffle i2c nodes so they are all together.

Cc: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 897dfdbc14603d764637dea92696fef4fc66ea3e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager: Remove duplicate i2c3 nodes
Simon Horman [Mon, 9 Jun 2014 02:09:44 +0000 (11:09 +0900)]
ARM: shmobile: lager: Remove duplicate i2c3 nodes

Due to an error when merging df40f256b18300e1 ("ARM: shmobile:
lager: add i2c1, i2c2 pins") a duplicate i2c3 node.

This patch moves the duplicate and moves to old node to
be closer to the other new i2c nodes.

Cc: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit aca4ec446c646d8794fdbf617d187423a227305d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Lager memory map update
Magnus Damm [Fri, 6 Jun 2014 06:40:26 +0000 (15:40 +0900)]
ARM: shmobile: Lager memory map update

Update the Lager DTS to make use of the new unified legacy
memory map where the legacy window on Lager and Koelsch
have the same size.

With this change in place the code gets aligned with the
documentation.

After update the Lager board has the following map:
Bank0: 1GiB RAM (Legacy 32-bit: 0x40000000->0x7fffffff)
Bank1: 3GiB RAM (LPAE area: 0x140000000->0x1ffffffff)

Before the update the old map looked like this:
Bank0: 2GiB RAM (Legacy 32-bit: 0x40000000->0xbfffffff)
Bank1: 2GiB RAM (LPAE area: 0x180000000->0x1ffffffff)

Tested with and without LPAE on r8a7790 Lager.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7b16c61a86ce41edd5c42a87f22a0a146968b62f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager: Move i2c[12]_pins nodes to pfc node
Simon Horman [Fri, 6 Jun 2014 07:11:00 +0000 (16:11 +0900)]
ARM: shmobile: lager: Move i2c[12]_pins nodes to pfc node

Due to an error when resolving conflicts df40f256b18300e1 ("ARM: shmobile:
lager: add i2c1, i2c2 pins") added the i2c[12]_pins nodes to the wrong
node.

This patch moves them to their correct location in the pfc node.

Cc: Ben Dooks <ben.dooks@codethink.co.uk>
Reported-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d90bf60ceaf453b59c8cd5dbfa59538e27255706)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager: add i2c1, i2c2 pins
Ben Dooks [Wed, 12 Feb 2014 17:04:34 +0000 (17:04 +0000)]
ARM: shmobile: lager: add i2c1, i2c2 pins

Add pinctrl definitions for i2c1 and i2c2 busses on the Lager board
to ensure these are setup correctly at initialisation time. The i2c0
and i2c3 busses are connected to single function pins.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
[horms+renesas@verge.net.au: Added shmobile to patch title]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e1a2c4eb132018ce5b988c9ff5ba7a01e5494af5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager: enable i2c devices
Ben Dooks [Wed, 12 Feb 2014 17:04:33 +0000 (17:04 +0000)]
ARM: shmobile: lager: enable i2c devices

Add i2c0, i2c1, i2c2 and i2c3 nodes to the Lager reference device tree as
these busses all have devices on them that can be probed even if they
are no drivers yet.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
[horms+renesas@verge.net.au: Added shmobile to title]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit e489c2a9bc82713167d9f721ca764f4b0d37e543)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7791/koelsch dts: Add DVFS parameters into cpu0 node for r8a7791
Gaku Inami [Tue, 3 Jun 2014 12:03:10 +0000 (21:03 +0900)]
ARM: shmobile: r8a7791/koelsch dts: Add DVFS parameters into cpu0 node for r8a7791

Add needed information inside CPU0 for the generic cpufreq-cpu0 driver.

- voltage-tolerance = 1%
  It reflects the tolerance for the CPU voltage defined inside the OPP
  table. Due to the lack of proper OPP definition, use an arbitrary safe
  value.
- clock-latency = 300 us
  Approximate worst-case latency to do a full DVFS transition for every
  OPPs. Due to the lack of HW information, use an arbitrary safe value.
  Note: The term transition-latency will be more accurate to define this
  value since the clock transition latency is not the only parameter that
  will define the overall DVFS transition.
- operating-points = < kHz - uV >
  List of 6 operating points. All of them are using the same voltage
  since DVS is not supported in R-CAR Gen2.
- clocks
  phandle to the CPU clock source. This clock source is used for all the
  2 CortexA15 located inside the same cluster.

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a57004eca542428a444025847098b2af4e52a81c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: koelsch dts: Add VDD MPU regulator for DVFS
Gaku Inami [Tue, 3 Jun 2014 12:02:59 +0000 (21:02 +0900)]
ARM: shmobile: koelsch dts: Add VDD MPU regulator for DVFS

The CA15 cluster is capable of voltage scaling. Add the regulator
in the i2c6 node, to allow the generic CPUFreq driver to use it.

Enable the i2c6 pin mux and the device node as well since the
da9210 is connected to that bus.

Note: In R-CAR Gen2, each frequency is using the same voltage,
and DVS control is not used. Therefore, this patch set the
voltage(Vmin/Vmax) to 1000mv.

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1d41f36a68c0f4e9b01d563ce33bab5201858b54)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7790/lager dts: Add DVFS parameters into cpu0 node for r8a7790
Benoit Cousson [Tue, 3 Jun 2014 12:02:24 +0000 (21:02 +0900)]
ARM: shmobile: r8a7790/lager dts: Add DVFS parameters into cpu0 node for r8a7790

Add needed information inside CPU0 for the generic cpufreq-cpu0 driver.

- voltage-tolerance = 1%
  It reflects the tolerance for the CPU voltage defined inside the OPP
  table. Due to the lack of proper OPP definition, use an arbitrary safe
  value.
- clock-latency = 300 us
  Approximate worst-case latency to do a full DVFS transition for every
  OPPs. Due to the lack of HW information, use an arbitrary safe value.
  Note: The term transition-latency will be more accurate to define this
  value since the clock transition latency is not the only parameter that
  will define the overall DVFS transition.
- operating-points = < kHz - uV >
  List of 6 operating points. All of them are using the same voltage
  since the valid Vmin voltage is not documented in the HW spec.
- clocks
  phandle to the CPU clock source. This clock source is used for all the
  4 CortexA15 located inside the same cluster.

Signed-off-by: Benoit Cousson <bcousson+renesas@baylibre.com>
[gaku.inami.xw@bp.renesas.com: Change the setting of OPPs for ES2.0]
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b989e1386385466761f703b8a91e00468bb5ca2a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager: Add VDD MPU regulator for DVFS
Benoit Cousson [Tue, 3 Jun 2014 12:02:12 +0000 (21:02 +0900)]
ARM: shmobile: lager: Add VDD MPU regulator for DVFS

The CA15 cluster is capable of voltage scaling. Add the regulator
in the i2c3 node, to allow the generic CPUFreq driver to use it.

Enable the i2c3 pin mux and the device node as well since the
da9210 is connected to that bus.

Note: In R-CAR Gen2, each frequency is using the same voltage,
and DVS control is not used. Therefore, this patch set the
voltage(Vmin/Vmax) to 1000mv.

Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
[gaku.inami.xw@bp.renesas.com: Changes Vmin for disabling DVS]
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 05f72e03b7553958609d1475c79491f90e6b50d3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7791 dtsi: add SYS-DMAC clocks
Geert Uytterhoeven [Mon, 2 Jun 2014 13:42:07 +0000 (15:42 +0200)]
ARM: shmobile: r8a7791 dtsi: add SYS-DMAC clocks

Add clocks for the SYS-DMAC0 and SYS-DMAC1 hardware blocks.

Cfr. the r8a7790 version by Ben Dooks.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 4e074bc8114f0ba8a2e0a69fb459564814c9e966)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7791: add USB3.0 clocks to device tree
Yoshihiro Shimoda [Tue, 3 Jun 2014 06:57:05 +0000 (15:57 +0900)]
ARM: shmobile: r8a7791: add USB3.0 clocks to device tree

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 308f306283894a0d3eeee7d1030289e4e668d49d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7790: add USB3.0 clocks to device tree
Yoshihiro Shimoda [Tue, 3 Jun 2014 06:54:19 +0000 (15:54 +0900)]
ARM: shmobile: r8a7790: add USB3.0 clocks to device tree

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 35b5da7b0abfda695924bef011995031f4f3dcfe)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen: Do not use workaround for scif devices
Simon Horman [Thu, 15 May 2014 11:39:33 +0000 (20:39 +0900)]
ARM: shmobile: marzen: Do not use workaround for scif devices

Now that SCIF devices are initialised using DT it should
not be necessary to use the work around to provide clocks any more.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit c1a0f9932b66b2298163c31f8ac3f2844476e1c2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen: Initialise SCIF devices using DT
Simon Horman [Thu, 15 May 2014 11:39:32 +0000 (20:39 +0900)]
ARM: shmobile: marzen: Initialise SCIF devices using DT

Initialise SCIF devices using DT when booting marzen
using multiplatform.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6d4abd79c80742629477479b01077bb92eccdd53)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Add scif nodes to dtsi
Simon Horman [Thu, 15 May 2014 11:39:30 +0000 (20:39 +0900)]
ARM: shmobile: r8a7779: Add scif nodes to dtsi

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit fd953b89f44e541bc584a65ba046d1b4cf77840f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779 dtsi: Correct #address-cells/#size-cells for clocks
Geert Uytterhoeven [Fri, 23 May 2014 07:46:19 +0000 (09:46 +0200)]
ARM: shmobile: r8a7779 dtsi: Correct #address-cells/#size-cells for clocks

Warning (ranges_format): /clocks has empty "ranges" property but its #address-cells (2) differs from / (1)
Warning (ranges_format): /clocks has empty "ranges" property but its #size-cells (2) differs from / (1)

As r8a7779 doesn't support LPAE, change #address-cells and #size-cells from
"<2>" to "<1>", and update the affected "reg" properties to fix this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5cc8afcbc47c5f33732fb1a4b37a35841e7494e8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779 dtsi: Update unit-addresses for clocks
Geert Uytterhoeven [Fri, 23 May 2014 07:46:20 +0000 (09:46 +0200)]
ARM: shmobile: r8a7779 dtsi: Update unit-addresses for clocks

  - Correct the unit-address for the "cpg_clocks" node,
  - Add missing unit-addresses for the "mstp*_clks" nodes,
  - Rename "cpg_clocks" and "mstp*_clks" nodes to the more generic
    "clocks".

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 2909b8746d6f5534aa7714d2df110b3633a59556)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Remove unused r8a7779_init_delay()
Simon Horman [Fri, 16 May 2014 04:43:01 +0000 (13:43 +0900)]
ARM: shmobile: r8a7779: Remove unused r8a7779_init_delay()

Remove the now unused r8a7779_init_delay() function.

Based on work for the r8a7740 SoC by Magnus Damm.

Cc: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit daab540e3a2afeb8c087a67dfaee5aa50a29e844)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen-reference: Use DT CPU Frequency
Simon Horman [Fri, 16 May 2014 04:43:00 +0000 (13:43 +0900)]
ARM: shmobile: marzen-reference: Use DT CPU Frequency

Convert the Marzen DT reference board support to use shmobile_init_delay()
to be able to migrate away from per-SoC delay setup functions.

Based on work for the Armadillo800 EVA board by Magnus Damm.

Cc: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 17ed9efd8afdd8c38f19ff72f08e71c1fd2376e3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Use DT CPU Frequency in common case
Simon Horman [Fri, 16 May 2014 04:42:59 +0000 (13:42 +0900)]
ARM: shmobile: r8a7779: Use DT CPU Frequency in common case

Convert the common C-code-less r8a7779 DT board support
to use shmobile_init_delay() to be able to migrate away
from per-SoC delay setup functions.

Based on work by Magnus dam for the r8a7740 SoC.

Cc: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 0157b62674aa3db1fc574bb65e6b0e30bb0683d7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Add Maximum CPU Frequency to DTS
Simon Horman [Fri, 16 May 2014 04:42:58 +0000 (13:42 +0900)]
ARM: shmobile: r8a7779: Add Maximum CPU Frequency to DTS

Add 1GHz to the r8a7779 DTS to describe the maximum CPU frequency.

Based on work by Magnus dam for the r8a7740 SoC.

Cc: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6b060f93fe7dedbeb067feacbc8c4780c59f5df4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen-reference: Remove legacy clock support
Simon Horman [Thu, 15 May 2014 11:32:12 +0000 (20:32 +0900)]
ARM: shmobile: marzen-reference: Remove legacy clock support

Marzen DT reference is now only built for multiplatform
which means that CCF comes with the package. Remove unused legacy
code ifdefs to clean up the code.

Based on similar work for the Koelsch board by Magnus Damm.

Cc: Magnus Damm <damm@opensource.se>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f0b78f8b63fe92242232b7a3e4aa951983ee1f45)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Remove Marzen reference DTS
Simon Horman [Thu, 15 May 2014 11:32:11 +0000 (20:32 +0900)]
ARM: shmobile: Remove Marzen reference DTS

Now that the DTS file r8a7779-marzen.dts can be used with
board-marzen.c and board-marzen-reference.c, proceed with removing
r8a7779-marzen-reference.dts.

Based on work for the Koelsch board by Laurent Pinchart.

Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 47ad265dd443802ead3d7e1aa3ef60ff1a8da952)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Let Marzen multiplatform boot with Marzen DTB
Simon Horman [Thu, 15 May 2014 11:32:10 +0000 (20:32 +0900)]
ARM: shmobile: Let Marzen multiplatform boot with Marzen DTB

Let the multiplatform Marzen support boot with the legacy DTS for
Marzen as well as the Marzen reference DTS.

Based on work for the Koelsch board by Laurent Pinchart.

Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 04d3e8a0b150f1931d48ed9168672a971fc4c761)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Remove non-multiplatform Marzen reference support
Simon Horman [Thu, 15 May 2014 11:32:09 +0000 (20:32 +0900)]
ARM: shmobile: Remove non-multiplatform Marzen reference support

Now that r8a7779 has CCF support remove the legacy Marzen reference
Kconfig bits CONFIG_MACH_MARZEN_REFERENCE for the non-multiplatform
case.

Starting from this commit Marzen board support is always enabled via
CONFIG_MACH_MARZEN, and CONFIG_ARCH_MULTIPLATFORM is used to select
between board-marzen.c and board-marzen-reference.c

The file board-marzen-reference.c can no longer be used together with
the legacy sh-clk clock framework, instead CCF is used.

Based on work for the Koelsch board by Laurent Pinchart.

Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1ece7f7bb014485b13faf9504b238ff891a9088a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen-reference: Instantiate clkdevs for SCIF and TMU
Simon Horman [Thu, 15 May 2014 11:32:07 +0000 (20:32 +0900)]
ARM: shmobile: marzen-reference: Instantiate clkdevs for SCIF and TMU

Now that the common clock framework is supported, the clock lookup
entries in clock-r8a7779.c are not registered anymore. Devices must
instead reference their clocks in the device tree. However, SCIF and CMT
devices are still instantiated through platform code, and thus need a
clock lookup entry.

Retrieve the SCIF and CMT clock entries by name and register clkdevs for
the corresponding devices. This will be removed when the SCIF and CMT
devices will be instantiated from the device tree.

Based on work for the Koelsch board by Laurent Pinchart.

Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 2b2084e8d4ae9265a3240722cb8adce06c0f393f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen-reference: Initialize CPG device
Simon Horman [Thu, 15 May 2014 11:32:06 +0000 (20:32 +0900)]
ARM: shmobile: marzen-reference: Initialize CPG device

On multiplatform kernels clocks are handled by the CCF CPG driver. It
must be explicitly initialized by a call to r8a7779_clocks_init() with
the value of the boot mode pins.

Based on similar work for the Koelsch board by Laurent Pinchart.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a92fbd077bbfbe98e4dee84081d84c44ae99538b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Initial multiplatform support
Simon Horman [Thu, 15 May 2014 11:32:05 +0000 (20:32 +0900)]
ARM: shmobile: r8a7779: Initial multiplatform support

Add Marzen and r8a7779 to CONFIG_SHMOBILE_MULTI. At this
point CCF is not yet supported so you cannot run this code
yet. For CCF support to happen several different components
are needed, and this is one simple portion that moves us
forward. Other patches need to build on top of this one.

Marzen board support exists in 3 flavours:
1) SHMOBILE_MULTI, MACH_MARZEN - board-marzen-reference.c (CCF + DT)
2) SHMOBILE, MACH_MARZEN_REFERENCE - board-marzen-reference.c (DT)
3) SHMOBILE, MACH_MARZEN - board-marzen.c (legacy C code)

When CCF is done then 2) will be removed. When 1) includes same features
as 3) then 3) will be removed.

Based on work for the Koelsch and r8a7791 by Magnus Damm.

Cc: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5016c81bf92eb01741fc71ce7fb8380183a6f66a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen-reference: Move clock and OF device initialisation into board...
Simon Horman [Thu, 15 May 2014 11:32:03 +0000 (20:32 +0900)]
ARM: shmobile: marzen-reference: Move clock and OF device initialisation into board code

Move the clock initialisation and OF device population from
SoC to board code. This is in keeping with the pattern used by Lager.
And the clock portion is part of decoupling clock initialisation
from SoC code in preparation for moving to the common clock framework.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f8fba0ce6628109bac9d33f65b637a87a2f3be24)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Move r8a7779_earlytimer_init to clock-r8a7779.c
Simon Horman [Thu, 15 May 2014 11:32:02 +0000 (20:32 +0900)]
ARM: shmobile: r8a7779: Move r8a7779_earlytimer_init to clock-r8a7779.c

r8a7779_earlytimer_init() calls r8a7779_clock_init() and
r8a7779_clock_init() is defined in clock-r8a7779.c.

If both CONFIG_COMMON_CLK and CONFIG_ARCH_R8A7779 are enabled,
as will be the case when marzen-reference moves to use
the common clock framework, then setup-r8a7779.c is compiled
but clock-r8a7779.c is not.

As r8a7779_earlytimer_init() is not used by marzen-reference
simply move it to clock-r8a7779.c.

[horms+renesas@verge.net.au: rebase]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f48039a3da40f0c193122c83ad582913f2daf29d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Add helper to read mode pins
Simon Horman [Thu, 15 May 2014 11:32:01 +0000 (20:32 +0900)]
ARM: shmobile: r8a7779: Add helper to read mode pins

Add and use helper to read mode pins.
This will be re-used when moving marzen-reference to
the common clock framework.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3e05f24aa95bb043f1103b41392b61ce83d2675e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Remove unused r8a7790_init_early()
Magnus Damm [Mon, 19 May 2014 23:37:42 +0000 (08:37 +0900)]
ARM: shmobile: Remove unused r8a7790_init_early()

Remove the now unused r8a7790_init_early() function.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d83fa4c9c27c4d8612e39e99506b5420fa05b58b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use r8a7790 DT CPU Frequency for Lager
Magnus Damm [Mon, 19 May 2014 23:37:33 +0000 (08:37 +0900)]
ARM: shmobile: Use r8a7790 DT CPU Frequency for Lager

Convert the Lager board support to use shmobile_init_delay()
to be able to migrate away from per-SoC delay setup functions.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit a5d626813fc13f80b6ab80de1fe303ce5cdd8c54)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use r8a7790 DT CPU Frequency in common case
Magnus Damm [Mon, 19 May 2014 23:37:24 +0000 (08:37 +0900)]
ARM: shmobile: Use r8a7790 DT CPU Frequency in common case

Convert the common C-code-less r8a7790 DT board support
to use shmobile_init_delay() to be able to migrate away
from per-SoC delay setup functions.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ed06ecbcc66f6224a908c8abfe940b00540f0aa8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use shmobile_init_delay() on r7s72100
Magnus Damm [Fri, 6 Jun 2014 05:29:04 +0000 (14:29 +0900)]
ARM: shmobile: Use shmobile_init_delay() on r7s72100

Adjust the r7s72100 SoC support code to use shmobile_init_delay()
together with CPU Frequency settings from the DTS. Get rid of the
C code version.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b42a6f7e8f22552aad0d8e595cd83f36316e312b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use shmobile_init_delay() on Genmai boards
Magnus Damm [Fri, 6 Jun 2014 05:28:56 +0000 (14:28 +0900)]
ARM: shmobile: Use shmobile_init_delay() on Genmai boards

Adjust Genmai board support to use shmobile_init_delay() together
with r7s72100 CPU Frequency settings from the DTS.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 4387ac5282616ff14edc733aca79fe046ddb45f5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Update r7s72100 DTS to include CPU frequency
Magnus Damm [Fri, 6 Jun 2014 05:28:49 +0000 (14:28 +0900)]
ARM: shmobile: Update r7s72100 DTS to include CPU frequency

Add CPU Frequency information to the r7s72100 DTS file. This
will allow us to use the shared C code on r7s72100 and Genmai
which reads out the clock frequency from DT and calculates the
delay settings from there.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 005407fdf1c65a06fc0a9c588408f57e2eacef7c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Get rid of redundant EMEV2 mach callbacks
Magnus Damm [Thu, 5 Jun 2014 05:32:12 +0000 (14:32 +0900)]
ARM: shmobile: Get rid of redundant EMEV2 mach callbacks

Update the EMEV2 specific SoC callbacks to get rid
of the calls to of_clk_init() and of_platform_populate().
Those calls are by default executed by the functions in
the shared ARM code in case the SoC specific mach
callbacks are NULL.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit af164ca33dcb3c1e6a2e723f24542d1278a8bef8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Enable R-Car Gen2 CMA code in board files
Magnus Damm [Mon, 9 Jun 2014 12:38:53 +0000 (21:38 +0900)]
ARM: shmobile: Enable R-Car Gen2 CMA code in board files

Hook in the R-Car Gen2 CMA reservation code in the board
files for Lager and Koelsch. Both the DT-reference code
and the legacy code is modified.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5f65c5bd58bf027eb2bacc2294a98e7aea81c630)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: armadillo800eva reference: Spelling s/ED/LED/
Geert Uytterhoeven [Wed, 14 May 2014 14:51:20 +0000 (16:51 +0200)]
ARM: shmobile: armadillo800eva reference: Spelling s/ED/LED/

And add missing spaces before opening parentheses

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 8a0d1a2fcfd019adf9893076f6c65a9a05712853)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: armadillo800eva legacy: Add LED support
Geert Uytterhoeven [Wed, 14 May 2014 14:51:21 +0000 (16:51 +0200)]
ARM: shmobile: armadillo800eva legacy: Add LED support

Cfr. r8a7740-armadillo800eva-reference.dts

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 111bcc1360235ad1cdab4bc27f5ccca943ca8af5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: lager-reference: Remove workarounds for core clock issues
Geert Uytterhoeven [Wed, 14 May 2014 14:47:46 +0000 (16:47 +0200)]
ARM: shmobile: lager-reference: Remove workarounds for core clock issues

Now the core clock issues have been fixed by commit
3c90c55dcde745bed81f6447f24ba96bda43d984 ("drivers: sh: compile
drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI"), revert the following
2 commits:
  - f98b55d730492e664fb2649bd7054fec0fe81acd ("ARM: shmobile: Add Lager
    clock workarounds for SDHI and MMCIF"),
  - aa5de826afe747c353162bbc116c63ab5335f91c ("ARM: shmobile:
    lager-reference: Work around core clock issues").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f47b9e1ec3a1d694f07fcc0d5ba0c2582acce099)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: koelsch-reference: Remove workarounds for core clock issues
Geert Uytterhoeven [Wed, 14 May 2014 14:47:45 +0000 (16:47 +0200)]
ARM: shmobile: koelsch-reference: Remove workarounds for core clock issues

Now the core clock issues have been fixed by commit
3c90c55dcde745bed81f6447f24ba96bda43d984 ("drivers: sh: compile
drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI"), revert the following
3 commits:
  - 4dcb4c80380dfa482874b931e308fd382597feab ("ARM: shmobile: Add Koelsch
    clock workarounds for SDHI"),
  - 8e4f394b20a0fe474dd88204d76978191566decf ("ARM: shmobile:
    koelsch-reference: Annotate clk_enables as __initconst"),
  - 3d75d9ea74fee6f5a4bdcbbdf2d577661d047eef ("ARM: shmobile:
    koelsch-reference: Work around core clock issues").

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d37e9b0b20dd7670946ad6034b4aa93b7e7048aa)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: rcar-gen2: correct return value of shmobile_smp_apmu_suspend_init
Simon Horman [Mon, 16 Jun 2014 11:21:13 +0000 (20:21 +0900)]
ARM: shmobile: rcar-gen2: correct return value of shmobile_smp_apmu_suspend_init

The dummy shmobile_smp_apmu_suspend_init() function provided when
CPU_IDLE is not set should not return a value as per the signature
of the function.

This problem appears to have been introduced by
867ba81f728f1daa ("ARM: shmobile: APMU: Add Core-Standby-state for Suspend
to RAM").

Cc: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ecdaca48629bd99609fdc612685363330967dce2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: rcar-gen2: Remove useless copied section for LongTrail
Geert Uytterhoeven [Thu, 12 Jun 2014 08:42:24 +0000 (10:42 +0200)]
ARM: shmobile: rcar-gen2: Remove useless copied section for LongTrail

Open Firmware in the CHRP LongTrail does not support plugging in ARM CPUs
in its PPC 603e/604e-compatible CPU socket ;-)

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ea2a0d581a3e742c2fb2bc520c8c8887fe1dafa6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: rcar-gen2: Use "1ULL" instead of "(u64)1"
Geert Uytterhoeven [Thu, 12 Jun 2014 08:42:23 +0000 (10:42 +0200)]
ARM: shmobile: rcar-gen2: Use "1ULL" instead of "(u64)1"

Casts are evil

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b69f47c00f2eff19b532cf0142d81b993e587bf0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: rcar-gen2: Update for of_get_flat_dt_prop() update
Geert Uytterhoeven [Thu, 12 Jun 2014 08:42:22 +0000 (10:42 +0200)]
ARM: shmobile: rcar-gen2: Update for of_get_flat_dt_prop() update

Commit 9d0c4dfedd96ee54fc075b16d02f82499c8cc3a6 ("of/fdt: update
of_get_flat_dt_prop in prep for libfdt") changed the function prototypes
of of_get_flat_dt_prop():
  - The return type was made const,
  - The last parameter was changed from "unsigned long *" to "int *".
and dt_mem_next_cell():
  - The second parameter was made const.

This causes the following compiler warnings:

arch/arm/mach-shmobile/setup-rcar-gen2.c: In function 'rcar_gen2_scan_mem':
arch/arm/mach-shmobile/setup-rcar-gen2.c:125:15: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
arch/arm/mach-shmobile/setup-rcar-gen2.c:142:2: warning: passing argument 3 of 'of_get_flat_dt_prop' from incompatible pointer type [enabled by default]
include/linux/of_fdt.h:53:20: note: expected 'int *' but argument is of type 'long unsigned int *'
arch/arm/mach-shmobile/setup-rcar-gen2.c:142:6: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
arch/arm/mach-shmobile/setup-rcar-gen2.c:144:3: warning: passing argument 3 of 'of_get_flat_dt_prop' from incompatible pointer type [enabled by default]
include/linux/of_fdt.h:53:20: note: expected 'int *' but argument is of type 'long unsigned int *'
arch/arm/mach-shmobile/setup-rcar-gen2.c:144:7: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
arch/arm/mach-shmobile/setup-rcar-gen2.c:152:3: warning: passing argument 2 of 'dt_mem_next_cell' from incompatible pointer type [enabled by default]
include/linux/of_fdt.h:69:12: note: expected 'const __be32 **' but argument is of type '__be32 **'
arch/arm/mach-shmobile/setup-rcar-gen2.c:153:3: warning: passing argument 2 of 'dt_mem_next_cell' from incompatible pointer type [enabled by default]
include/linux/of_fdt.h:69:12: note: expected 'const __be32 **' but argument is of type '__be32 **'

Update the variable types in rcar_gen2_scan_mem() to fix this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
[horms+renesas@verge.net.au: rebased]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 83850b04ae7744f51681533fb7afb645e66ce8fe)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Add shared R-Car Gen2 CMA reservation code
Magnus Damm [Mon, 9 Jun 2014 12:38:45 +0000 (21:38 +0900)]
ARM: shmobile: Add shared R-Car Gen2 CMA reservation code

Add R-Car Gen2 CMA memory reservation code that can be
shared between multiple SoCs and boards. At this point
r8a7790 and r8a7791 are supported.

The top 256MiB of the legacy 32-bit physical memory space
is assigned to a separate CMA area that may be assigned
to various devices later on.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
[horms+renesas@verge.net.au: rebased]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit f8e819352d12f1b7d109d846e9bf1c07e006469a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use shmobile_init_late() on r8a7791 DT-only
Magnus Damm [Fri, 6 Jun 2014 06:15:23 +0000 (15:15 +0900)]
ARM: shmobile: Use shmobile_init_late() on r8a7791 DT-only

Tie in shmobile_init_late for the DT-only r8a7791 SoC
Multiplatform support code. This will make sure that
Suspend-to-RAM, CPUIdle and CPUFreq get initialized.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3d65226bc925f4749c2b2ab0ea3f4d274e194688)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use shmobile_init_late() on r8a7790 DT-only
Magnus Damm [Fri, 6 Jun 2014 06:13:47 +0000 (15:13 +0900)]
ARM: shmobile: Use shmobile_init_late() on r8a7790 DT-only

Tie in shmobile_init_late for the DT-only r8a7790 SoC
Multiplatform support code. This will make sure that
Suspend-to-RAM, CPUIdle and CPUFreq get initialized.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7d95b9ddfb933f94354fa2ff9b1bfccdd6c54653)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable
Benoit Cousson [Thu, 5 Jun 2014 03:49:44 +0000 (12:49 +0900)]
ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable

Mark all SoCs in shmobile as CPUFreq capable
on multiplatform build only.

Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
[gaku.inami.xw@bp.renesas.com: Move the definition of cpufreq capable]
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6596e97e054647fecb016ecb7e1935aa2b7db954)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7791: Support Core-Standby for Suspend to RAM
keita kobayashi [Thu, 29 May 2014 07:24:52 +0000 (16:24 +0900)]
ARM: shmobile: r8a7791: Support Core-Standby for Suspend to RAM

Add r8a7791 Core-Standby state for Suspend to RAM support.

Signed-off-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7f6234013a835476f1503be2c9287f1fe3497457)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7790: Support Core-Standby for Suspend to RAM
keita kobayashi [Thu, 29 May 2014 07:24:39 +0000 (16:24 +0900)]
ARM: shmobile: r8a7790: Support Core-Standby for Suspend to RAM

Add r8a7790 Core-Standby state for Suspend to RAM support.

Signed-off-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ce508d1b13d1008db570ac58e775ce36bd9c5112)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: APMU: Add Core-Standby-state for Suspend to RAM
keita kobayashi [Thu, 29 May 2014 07:24:27 +0000 (16:24 +0900)]
ARM: shmobile: APMU: Add Core-Standby-state for Suspend to RAM

This patch add Core-Standby-state for Suspend to RAM.

Signed-off-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
[horms+renesas@verge.net.au: rebase]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit d6d757c9a4e06e118fa5158fa74e03c514d862d2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7791 SYSC setup code
keita kobayashi [Fri, 30 May 2014 05:18:48 +0000 (14:18 +0900)]
ARM: shmobile: r8a7791 SYSC setup code

Add r8a7791 SYSC power management support.

Signed-off-by: Keita Kobayashi <keita.kobayashi.ym@renesas.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
[horms+renesas@verge.net.au: rebased]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 5f6108bb9643949bf5ec0bc9f5cbde588c542c7f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Reference clocks
Simon Horman [Thu, 15 May 2014 11:32:00 +0000 (20:32 +0900)]
ARM: shmobile: r8a7779: Reference clocks

Reference clocks using a "clocks" property in all nodes corresponding to
devices that require a clock.

Based on work by Laurent Pinchart for the r8a7790 and r8a7791 SoC.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 3325cbe8ab74731c88e70d172ffef74cbca13f18)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen: Specify external clock frequency in DT
Simon Horman [Thu, 15 May 2014 11:31:59 +0000 (20:31 +0900)]
ARM: shmobile: marzen: Specify external clock frequency in DT

The external crystal frequency is 31.25 on the Marzen board.
Specify it in the device tree.

Based on work for the Lager board by Laurent Pinchart.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 954e42cf541b3cbb8dd07ba29f5974f91cb8c248)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Sync Marzen DTS with Marzen reference DTS
Simon Horman [Thu, 15 May 2014 11:31:58 +0000 (20:31 +0900)]
ARM: shmobile: Sync Marzen DTS with Marzen reference DTS

Copy the device nodes from Marzen reference into the Marzen device tree
file. This will allow us to use a single DTS file regardless of kernel
configuration. In case of legacy C board code the device nodes may or
may not be used, but in the multiplatform case all the DT device nodes
will be used.

Based on a similar change for the Lager board by Laurent Pinchart.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit bedd672409d68c98e717ac79f58b0ba155879275)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: r8a7779: Add clocks
Simon Horman [Thu, 15 May 2014 11:31:57 +0000 (20:31 +0900)]
ARM: shmobile: r8a7779: Add clocks

Declare all core and MSTP clocks currently used by r8a7779-based boards.

Based on work by Laurent Pinchart for the r8a7790 and r8a7791 SoCs.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 1e8515384bfa5efa5803a38c5ba7fecd6514c527)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Use shmobile_init_delay() on EMEV2
Magnus Damm [Thu, 5 Jun 2014 05:32:04 +0000 (14:32 +0900)]
ARM: shmobile: Use shmobile_init_delay() on EMEV2

Adjust EMEV2 to use shmobile_init_delay() together with
CPU Frequency settings from the DTS.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ef9026e6879da358376b58fc63fe7a82f07404ad)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Update EMEV2 DTS to include CPU frequency
Magnus Damm [Thu, 5 Jun 2014 05:31:56 +0000 (14:31 +0900)]
ARM: shmobile: Update EMEV2 DTS to include CPU frequency

Add CPU Frequency information to the EMEV2 DTS file. This
will allow us to use the shared C code to on EMEV2 which
reads out the clock frequency from DT and calculates the
delay settings from there.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 11f1ca10b668995a031aade5c2728f0a251aaec7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move rcar-gen2.h, cleanup r8a7790 case
Magnus Damm [Tue, 17 Jun 2014 07:48:01 +0000 (16:48 +0900)]
ARM: shmobile: Move rcar-gen2.h, cleanup r8a7790 case

Change location of rcar-gen2.h so it can be used as #include "rcar-gen2.h"
instead of the old style #include <mach/rcar-gen2.h>. Also clean up
the r8a7790 case to follow the same style as r8a7791.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 62872989bdbf1245d7239b9f4c05a8ee7c775ed5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move pm-rcar.h, cleanup r8a7779 case
Magnus Damm [Tue, 17 Jun 2014 07:47:53 +0000 (16:47 +0900)]
ARM: shmobile: Move pm-rcar.h, cleanup r8a7779 case

Change location of pm-rcar.h so it can be used as #include "pm-rcar.h"
instead of the old style #include <mach/pm-rcar.h>. Also clean up
the r8a7779 case to move some unused header file cruft into a C
file.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 585c09df3738d4f72cee36eb0b975351fd9a339a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move pm-rmobile.h, cleanup sh73xx.h
Magnus Damm [Tue, 17 Jun 2014 07:47:45 +0000 (16:47 +0900)]
ARM: shmobile: Move pm-rmobile.h, cleanup sh73xx.h

Change location of pm-rmobile.h so it can be used as #include "pm-rmobile.h"
instead of the old style #include <mach/pm-rmobile.h>. Also clean up
the sh7372 and sh73a0 header files to get rid of unused include files.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6b8b0cb477b3e77721982effae3415f3c5f58fee)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move common.h
Magnus Damm [Tue, 17 Jun 2014 07:47:37 +0000 (16:47 +0900)]
ARM: shmobile: Move common.h

Change location for common.h so it can be used as #include "common.h"
instead of the old style #include <mach/common.h>.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit fd44aa5e570d1d8c7d361dcbf94c2b8cd25cfe92)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move most of irqs.h, keep some for pinctl
Magnus Damm [Tue, 17 Jun 2014 07:47:29 +0000 (16:47 +0900)]
ARM: shmobile: Move most of irqs.h, keep some for pinctl

Move most of irqs.h so it can be used as #include "irqs.h"
instead of the old style #include <mach/irqs.h>.

Legacy code in drivers/pinctrl needs more work to get rid
of the "mach" portion of the include path, so some part
is left in the original location.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
[horms+renesas@verge.net.au: Do not add trailing blank line to irqs.h]
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b6bab1263c61e39cfc3427f54baff6f683f54298)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move clock.h
Magnus Damm [Tue, 17 Jun 2014 07:47:21 +0000 (16:47 +0900)]
ARM: shmobile: Move clock.h

Change location of clock.h so it can be used as #include "clock.h"
instead of the old style #include <mach/clock.h>.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit ad6ffa0b59dc2c81474d7642fa2188e25cce99d6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move dma-register.h
Magnus Damm [Tue, 17 Jun 2014 07:47:13 +0000 (16:47 +0900)]
ARM: shmobile: Move dma-register.h

Change location of dma-register.h so it can be used as #include
"dma-register.h" instead of the old style #include <mach/dma-register.h>.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 74ac0de8b7ee41246b8d6aae1df0618a64451435)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Move intc.h, cleanup sh_intc.h usage
Magnus Damm [Tue, 17 Jun 2014 07:47:05 +0000 (16:47 +0900)]
ARM: shmobile: Move intc.h, cleanup sh_intc.h usage

Change location of intc.h so it can be used as #include "intc.h"
instead of the old style #include <mach/intc.h>. Also clean up
some code to get rid of redundant #include <linux/sh_intc.h>.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6200e2c1847b2282db13877b2398a5bee9e42254)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Fix device node reference leakage in shmobile_init_delay
Laurent Pinchart [Wed, 21 May 2014 13:31:05 +0000 (15:31 +0200)]
ARM: shmobile: Fix device node reference leakage in shmobile_init_delay

The of_find_compatible_node() function returns a new reference to the
found node. Instead of just adding of_node_put() calls, simplify the
code by moving the CPU identification logic inside the loop over cpu
nodes, in order to lower complexity from O(n) to O(1) by replacing
of_find_compatible_node() calls with of_device_is_compatible().

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Magnus Damm <damm+renesas@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit edc8fb1d6ebdfc4efa009073586d3567c3368475)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: add cpufreq-cpu0 driver for common SH-Mobile
Gaku Inami [Tue, 3 Jun 2014 12:02:45 +0000 (21:02 +0900)]
ARM: shmobile: add cpufreq-cpu0 driver for common SH-Mobile

I add a new file(cpufreq.c) for the following reasons.
- Registration of platform_device must be unified in SH-Mobile.
- We can't create a node of cpufreq drivers into device tree.
  (Because cpufreq driver is virtual device.)

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 06e32c91dbce3c24ccbe84e3af2a35199662bca0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Enable CPUFREQ configuration
Gaku Inami [Tue, 3 Jun 2014 12:03:34 +0000 (21:03 +0900)]
ARM: shmobile: Enable CPUFREQ configuration

This changes of configuration is multiplatform build only for r8a7790/r8a7791.

Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 468c570ed078f0326745bfe85868adb925659502)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: Enable PM_RUNTIME in defconfig
Simon Horman [Fri, 16 May 2014 00:04:42 +0000 (09:04 +0900)]
ARM: shmobile: Enable PM_RUNTIME in defconfig

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 6e2776388a85e6b41e8cc816ece318d944fc3388)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen: Add to shmobile defconfig
Simon Horman [Fri, 16 May 2014 00:04:13 +0000 (09:04 +0900)]
ARM: shmobile: marzen: Add to shmobile defconfig

Add marzen to shmobile defconfig now that it supports multiplatform
Also enable SH_HSPI which is used by marzen.

Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit b2bfcdc2f28b045cf01f63d0949f7eb9bd597405)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: armadillo800eva defconfig: Enable REGULATOR_GPIO and LEDS_GPIO
Geert Uytterhoeven [Wed, 14 May 2014 14:51:22 +0000 (16:51 +0200)]
ARM: shmobile: armadillo800eva defconfig: Enable REGULATOR_GPIO and LEDS_GPIO

Enable missing options for devices in platform data and/or DT:
  - REGULATOR_GPIO
  - LEDS_GPIO (and its dependencies)

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 65b590adb672cbe91624f9bd7a80d5ef8919db48)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: marzen: Remove early_printk from command line
Simon Horman [Thu, 15 May 2014 11:39:31 +0000 (20:39 +0900)]
ARM: shmobile: marzen: Remove early_printk from command line

As early printk support is not enabled in the kernel in the
shmobile defconfig it does not make much sense to provide for
it in the default command line.

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 7432695daeebffa39bae94d8f15ffe96ede3e581)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoARM: shmobile: armadillo800eva reference dts: Add matching LED labels
Geert Uytterhoeven [Wed, 14 May 2014 14:51:19 +0000 (16:51 +0200)]
ARM: shmobile: armadillo800eva reference dts: Add matching LED labels

And make the node name numbering match the label numbering.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: devicetree@vger.kernel.org
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit 0ba06992e8919128d0547066247de9e54a8bb992)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: enable Mute control on DVC
Kuninori Morimoto [Fri, 1 Aug 2014 10:10:55 +0000 (03:10 -0700)]
ASoC: rsnd: enable Mute control on DVC

DVC can control Mute.
This patch supports it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit cd2b65741e72da64508957cd1cde85116102d8dd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: tidyup DVC control method
Kuninori Morimoto [Fri, 1 Aug 2014 10:10:47 +0000 (03:10 -0700)]
ASoC: rsnd: tidyup DVC control method

DVC can use Volume and Mute control,
and these control methods doesn't have much difference.
This patch cleanup current method,
and it will be used for Mute control.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 486b09c750e58777976ad74a37de7b4252630332)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: fixup SND_SOC_DAIFMT_xB_xF behavior
Kuninori Morimoto [Fri, 1 Aug 2014 01:08:18 +0000 (18:08 -0700)]
ASoC: rsnd: fixup SND_SOC_DAIFMT_xB_xF behavior

In current R-Car rsnd driver,
the SND_SOC_DAIFMT_xB_xF flags are used to HW default behavior,
but, it should be used to specific format.
The waveforms of LEFT_J/RIGHT_J format with
SND_SOC_DAIFMT_NB_NF flag will be
started from "falling edge" without this patch.
But, it should be started from "rising edge".

Reported-by: Jun Watanabe <jun.watanabe.ue@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 1a7889ca8aba333d7c74fad543d692c31bc7f280)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: fixup pcm_new callback method
Kuninori Morimoto [Thu, 31 Jul 2014 06:53:03 +0000 (23:53 -0700)]
ASoC: rsnd: fixup pcm_new callback method

bff58ea4f43d9b4a9fd6fb05fabc8f50f68131f5
(ASoC: rsnd: add DVC support) added DVC support,
and it added pcm_new callback feature for it.
Then it called all DAI's pcm_new callback, and it was wrong.
This patch fixup it and call correct callback.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 7c63f3c02f5a998621758239abed43c5bd454b70)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: add missing dev_dbg() in rsnd_bset()
Kuninori Morimoto [Thu, 31 Jul 2014 06:52:50 +0000 (23:52 -0700)]
ASoC: rsnd: add missing dev_dbg() in rsnd_bset()

b8c637864a6904a9ba8e0df556d5bdf9f26b2c54
(ASoC: rsnd: use regmap_mmio instead of original regmap bus)
used regmap_mmio and modified dev_dbg() for rsnd_read/write().
But rsnd_bset() is missing it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 4f8f86aa41232cc4595136f18013324482fdf749)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: care audio local bus data format consistency
Kuninori Morimoto [Thu, 31 Jul 2014 06:52:26 +0000 (23:52 -0700)]
ASoC: rsnd: care audio local bus data format consistency

R-Car sound uses Audio Local Bus which uses Lch/Rch format.
This bus is used if driver uses BUSIF.
But sound data is written as Rch/Lch format in register.
This means Rch <-> Lch will be inverted.
SSIU :: BUSIF_DALIGN is used to controlling data format.

Reported-by: Jun Watanabe <jun.watanabe.ue@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 1cc7195929501b96fccce42646f1ad0ffe2598a6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: care detail of SRC_BSDSR
Kuninori Morimoto [Thu, 31 Jul 2014 06:52:04 +0000 (23:52 -0700)]
ASoC: rsnd: care detail of SRC_BSDSR

Driver should care more detail of SRC_BSDSR settings.
The sound includes noise without this patch
if it used SRC.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 054cd7f4b986a941b56372b743602f7df6569c98)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: use regmap_mmio instead of original regmap bus
Kuninori Morimoto [Tue, 29 Jul 2014 07:37:31 +0000 (00:37 -0700)]
ASoC: rsnd: use regmap_mmio instead of original regmap bus

Current rsnd driver is using regmap and regmap_field.
It used original regmap bus which is
single regmap instance for multi register mapping.
This patch modifies it to use regmap_mmio bus,
and tidyuped probe method

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit b8c637864a6904a9ba8e0df556d5bdf9f26b2c54)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: fixup dai remove callback operation
Kuninori Morimoto [Thu, 24 Jul 2014 08:51:31 +0000 (01:51 -0700)]
ASoC: rsnd: fixup dai remove callback operation

rsnd driver is using SSI/SRC/DVC which are
using "mod" base operation.
These "mod" are supporting "probe" and "remove" callbacks.

Current rsnd_probe should call "remove" if "probe" was failed,
since "probe" might be having DMAEngine handle.
Some mod's "remove" callback might be called without calling
"probe", but it is no problem. because "remove" do nothing
in such case.

So, all mod's "remove" should be called when error case
of rsnd_probe() and rsnd_remove().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d62a3dcd4d75b1713d12697afdbffaf9a9da8f43)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: add missing src/dst_addr_width for DMAEngine
Kuninori Morimoto [Thu, 17 Jul 2014 06:18:44 +0000 (23:18 -0700)]
ASoC: rsnd: add missing src/dst_addr_width for DMAEngine

Renesas new DMAEngine driver requests src/dst_addr_width

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 2bf865ba30405056e7922b960a1687bb4d5a4999)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: add DT support to DVC
Kuninori Morimoto [Mon, 23 Jun 2014 00:59:28 +0000 (17:59 -0700)]
ASoC: rsnd: add DT support to DVC

Now, DVC can use DT

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 34cb6123f90d264d63bdcd3ee0df0d2cb4b36aab)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: DMA start address is properly used for each DMAC
Kuninori Morimoto [Mon, 23 Jun 2014 00:59:02 +0000 (17:59 -0700)]
ASoC: rsnd: DMA start address is properly used for each DMAC

R-Car sound uses Audio DMAC and Audio DMAC peri peri.
Audio DMAC peri peri transfers data inside circuit.

DMA transfer needs source / destination address,
and destination address can be set via dmaengine_slave_config().
The source address can be set when starting DMAEngine.
Because Audio DMAC peri peri always ignores its value,
current driver always used same source address for
Audio DMAC / Audio DMAC peri peri
(Audio DMAC peri peri source / destination address
is always fixed value)
But, This is not good match for DT booting.
This patch properly uses DMA start address
for Audio DMAC / Audio DMAC peri peri.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 340371005d399b595f4044fc5e336f4a66ead101)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: DMA cleanup for flexible SSI/SRC selection
Kuninori Morimoto [Mon, 23 Jun 2014 00:58:26 +0000 (17:58 -0700)]
ASoC: rsnd: DMA cleanup for flexible SSI/SRC selection

Current R-Car sound SSI/SRC/DVC selection has feature limit.
(It is assuming that SSI/SRC are using same index number)

So that enabling SSI/SRC flexible selection,
this patch modifies DMA settings.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 37523034851d6a4b1dc951e24bf2f11bc28fe58d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: enable DVC when capture
Kuninori Morimoto [Mon, 23 Jun 2014 00:57:04 +0000 (17:57 -0700)]
ASoC: rsnd: enable DVC when capture

Current DVC can be enabled only when playback,
but, this came from misunderstanding.
It is not correct.

DVC <-> DMA relationship is...

Playback: MEM -> DMAC  -> SRC -> DVC -> DMACp -> SSI
Capture:  SSI -> DMACp -> SRC -> DVC -> DMAC  -> MEM

DVC can be used for both Playback/Capture

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit 65f459923b7926f6a7f156970d83360bd80cb169)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: use dmaengine_prep_dma_cyclic() instead of original method
Kuninori Morimoto [Mon, 23 Jun 2014 00:56:41 +0000 (17:56 -0700)]
ASoC: rsnd: use dmaengine_prep_dma_cyclic() instead of original method

Current R-Car sound driver is using DMAEngine directly,
but, ASoC is requesting to use common DMA transfer method,
like snd_dmaengine_pcm_trigger() or dmaengine_pcm_ops.
It is difficult to switch at this point, since Renesas
driver is also supporting PIO transfer.
This patch uses dmaengine_prep_dma_cyclic() instead
of dmaengine_prep_slave_single().
It is used in requested method,
and is good first step to switch over.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit ccd01559ead29b59918458e9b412ff18b88fc6cf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: SSI + DMA can select BUSIF
Kuninori Morimoto [Mon, 23 Jun 2014 00:56:23 +0000 (17:56 -0700)]
ASoC: rsnd: SSI + DMA can select BUSIF

Sound data needs to be sent to R-Car sound SSI when playback.
But, there are 2 interfaces for it.
1st is SSITDR/SSIRDR which are mapped on SSI.
2nd is SSIn_BUSIF which are mapped on SSIU.

2nd SSIn_BUSIF is used when DMA transfer,
and it is always used if sound data came from via SRC.
But, we can use it when SSI+DMA case too.
(Current driver is assuming 1st SSITDR/SSIRDR for it)

2nd SSIn_BUSIF can be used as FIFO.
This is very helpful/useful for SSI+DMA.

But DMA address / DMA ID are not same between 1st/2nd cases.
This patch care about these settings.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit d9288d0ba12de1b5efb830b9128e4cc6877318fc)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rcar: Fix dma direction type
Lars-Peter Clausen [Thu, 19 Jun 2014 07:40:30 +0000 (09:40 +0200)]
ASoC: rcar: Fix dma direction type

dmaengine_prep_slave_single() expects a enum dma_transfer_direction and not a
enum dma_data_direction. Since the integer representations of both DMA_TO_DEVICE
and DMA_MEM_TO_DEV aswell as DMA_FROM_DEVICE and DMA_DEV_TO_MEM have the same
value the code worked fine even though it was using the wrong type.

Fixes the following warning from sparse:
sound/soc/sh/rcar/core.c:227:49: warning: mixing different enum types
sound/soc/sh/rcar/core.c:227:49:     int enum dma_data_direction  versus
sound/soc/sh/rcar/core.c:227:49:     int enum dma_transfer_direction

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit cd7bcc6000165f6215d15e2e32b58a646e5de5ec)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
9 years agoASoC: rsnd: fixup loop exit timing of dma name search
Kuninori Morimoto [Wed, 18 Jun 2014 08:55:09 +0000 (17:55 +0900)]
ASoC: rsnd: fixup loop exit timing of dma name search

Current dma name search loop didn't care about SSI index
This patch fixes it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit c08c3b088053cec1465051258844e7934d3e3e37)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>