Kuninori Morimoto [Tue, 24 Dec 2013 04:44:15 +0000 (20:44 -0800)]
ARM: shmobile: bockw: use SSI DMAEngine for sound
R-Car sound driver is supporting Mem <-> SSI
direct transfer via DMAEngine.
Current HPB-DMA is using double plane transfer,
but the sound may have noise since SSI doesn't have FIFO.
This patch supports it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
6d0ef79743abd39c1867a7fb9eaccdda0b2136db)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Sergei Shtylyov [Thu, 19 Dec 2013 23:20:54 +0000 (02:20 +0300)]
ARM: shmobile: Lager: conditionally select CONFIG_MICREL_PHY
Now that support for KSZ8041RNLI is added to the Micrel PHY driver and we intend
to support PHY IRQs on the Lager board, we have to enable the Micrel driver.
Do this by selecting CONFIG_MICREL_PHY for Lager if CONFIG_SH_ETH is enabled.
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
a2a4759b5262979cbe4bc1f681ec5a6ab064fce3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 21 Jan 2014 12:48:39 +0000 (13:48 +0100)]
ARM: shmobile: r8a7790: Replace IRQ type numerical values with macros
Replace the hardcoded value 4 with IRQ_TYPE_LEVEL_HIGH.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
1f4c745b2c5a083c49dc11d2f0827d9a381f1ee1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 21 Jan 2014 12:48:38 +0000 (13:48 +0100)]
ARM: shmobile: r8a7790: Fix serial ports DT compatible strings
Remove the -generic suffix that has been added by mistake from the
serial port compatible strings.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
59d2b5173bbe8dbc324e34263ceae4d6131058f2)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Valentine Barshak [Tue, 14 Jan 2014 17:05:31 +0000 (21:05 +0400)]
ARM: shmobile: lager: Enable SATA1 in r8a7790-lager.dts
This enables SATA1 in Lager device tree.
SATA0 is not available on Lager since its
pinmux is fixed to USB3.0.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
c6181b9f06b0821e8d34e47174e044801f03edce)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Valentine Barshak [Tue, 14 Jan 2014 17:05:30 +0000 (21:05 +0400)]
ARM: shmobile: r8a7790: Add SATA nodes to r8a7790.dtsi
This adds SATA[01] device nodes to r8a7790.dtsi
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
cde630f763b07ff5d8ff7d34969f9dd05a2a4001)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Valentine Barshak [Tue, 14 Jan 2014 17:05:41 +0000 (21:05 +0400)]
ARM: shmobile: koelsch: Enable SATA0 in r8a7791-koelsch.dts
This enables SATA0 in Koelsch device tree.
SATA1 is not available on Koelsch since
its pinmux configuration is fixed to PCIe.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
760c277b23973a3db181b2ae98d9a87f6e8f843e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Valentine Barshak [Tue, 14 Jan 2014 17:05:40 +0000 (21:05 +0400)]
ARM: shmobile: r8a7791: Add SATA nodes to r8a7791.dtsi
This adds SATA[01] device nodes to r8a7791.dtsi.
Signed-off-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
b8532c699a163702bfcadaaa4c23c4ff71b67eec)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 7 Jan 2014 08:22:56 +0000 (09:22 +0100)]
ARM: shmobile: r8a7791: Add SATA clocks to device tree
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
65f05c38749f393f775c360b9b247fa4d63b72de)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 7 Jan 2014 08:22:55 +0000 (09:22 +0100)]
ARM: shmobile: r8a7790: Add SATA clocks to device tree
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Valentine Barshak <valentine.barshak@cogentembedded.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
bccccc3d861567876a87441bc92f2e3b46cb38a9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 7 Jan 2014 08:22:54 +0000 (09:22 +0100)]
ARM: shmobile: r8a7791: Add VIN clocks to device tree
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
09c983463dd576d005c95dfdc0997f064629d321)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 7 Jan 2014 08:22:53 +0000 (09:22 +0100)]
ARM: shmobile: r8a7790: Add VIN clocks to device tree
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
3f2beaa9f2d7229c041975e40868dee2e3c4a598)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Tue, 29 Oct 2013 15:23:12 +0000 (16:23 +0100)]
ARM: shmobile: r8a7790: Add serial ports to the device tree
The platform code serial port instantiation mechanism is kept for the
non-DT platforms only.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
597af20fa8f810a26c84179a8ac58cb3fce6c102)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Wed, 11 Dec 2013 13:14:22 +0000 (14:14 +0100)]
ARM: shmobile: r8a7791: Add serial ports to the device tree
Add all serial ports marked as disabled.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
9640cf259c9496d56bf44df8ae86f00f7b417ecc)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 7 Jan 2014 18:57:14 +0000 (19:57 +0100)]
ARM: shmobile: r8a7790: Add thermal clock in device tree
Add the missing thermal MSTP clock to the thermal device node.
Signed-off-by: Geert Uytterhoeven <geert+renesas@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
d3a439dbe3ff1610156c39cdffcc2c3257fadd62)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 7 Jan 2014 18:57:13 +0000 (19:57 +0100)]
ARM: shmobile: r8a7791: Add thermal clock in device tree
Add the missing thermal MSTP clock to the thermal device node.
Signed-off-by: Geert Uytterhoeven <geert+renesas@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
563bc8eb0243783afd7a71204ad696e8bdf44391)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Takashi Yoshii [Sun, 22 Dec 2013 09:27:23 +0000 (18:27 +0900)]
ARM: shmobile: koelsch: (1+1)GiB memory in DT
Fix dts to have memory 1GiB @ 0_4000_0000 + 1GiB @ 2_0000_0000
according to Koelsch's hardware manual.
Signed-off-by: Takashi Yoshii <takasi-y@ops.dti.ne.jp>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
4cd1bad45182c7f1426353d73a481e0260d236b1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Thu, 19 Dec 2013 15:28:42 +0000 (16:28 +0100)]
ARM: shmobile: Add GPIO keys to Koelsch DTS
The Koelsh reference device tree is going away, copy the missing GPIO
keys device node to the Koeslch device tree file.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
aff5274fdc5b53a44d906c39a834efa6ba9c30ef)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Sun, 29 Dec 2013 21:41:56 +0000 (22:41 +0100)]
ARM: shmobile: dts: Remove r8a7791-koelsch-reference.dts
The dts file has been superseded by r8a7791-koelsch.dts and been removed
from the ARCH_SHMOBILE_LEGACY dtb target. Remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
52e62f7f4b25d4f087395f805768e985e9d91bd0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 09:59:11 +0000 (10:59 +0100)]
spi: sh-msiof: Convert to spi core auto_runtime_pm framework
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
e2a0ba547ba31cd7b217cc948d93e4edc78cbcb1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 09:43:26 +0000 (10:43 +0100)]
spi: sh-msiof: Remove "renesas,msiof-sh7724" from bindings
It's not implemented in the driver, so it's a bad example.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
f9ee821ebc5e58ff5da08d625ea4e2d74b221317)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Axel Lin [Sun, 2 Mar 2014 14:30:32 +0000 (22:30 +0800)]
spi: sh-msiof: Kill sh_msiof_spi_bits and sh_msiof_spi_hz functions
In the implementation of __spi_validate(), spi core will set transfer
bits_per_word and max speed as spi device default if it is not set for
this transfer. So we can remove the same implementation in this driver.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
b14158603288b9d898716b41f2f0acb7d49dad2c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:13 +0000 (11:21 +0100)]
spi: sh-msiof: Use core message handling instead of spi-bitbang
The only remaining feature of spi-bitbang used by this driver is the
chipselect() callback, which just does conditional GPIO.
This is handled fine by the SPI core's spi_set_cs(), hence switch the
driver to use the core message handling through our own transfer_one()
method.
As the (optional) GPIO CS is no longer deasserted at spi_master.setup()
time (through spi_bitbang_setup() and the spi_bitbang.chipselect()
callback), we now have to take care of that ourselves.
Remove the call to spi_master_put() in sh_msiof_spi_remove(), as our SPI
master is now registered using devm_spi_register_master()
(spi_bitbang_start() uses the non-managed version).
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
1bd6363bc0c69ff6120b53daa35cf9459c3628ad)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:12 +0000 (11:21 +0100)]
spi: sh-msiof: Convert to let spi core validate xfer->bits_per_word
Set bits_per_word_mask so the spi core will reject transfers that attempt
to use an unsupported bits_per_word value.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
2416289c714343ea855e725d59d42668a9ab3cf6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:11 +0000 (11:21 +0100)]
spi: sh-msiof: Move clock management to (un)prepare_message()
Move clock management and pin configuration from the bitbang chipselect()
method to the SPI core prepare_message() and unprepare_message() methods.
As spi_master.{,un}prepare_message() is guaranteed to be called in
matching pairs, the clock management synchronization is no longer needed.
As sh_msiof_spi_set_pin_regs() is no longer called at spi_master.setup()
time (through spi_bitbang_setup() and the spi_bitbang.chipselect()
callback), we now have to take care of that ourselves.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
c833ff7304511805ce5a3378d1637e39e00e00ea)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:10 +0000 (11:21 +0100)]
spi: sh-msiof: Add support for R-Car H2 and M2
Add support for the MSIOF variant in the R-Car H2 (r8a7790) and M2
(r8a7791) SoCs.
Binding documentation:
- Add future-proof "renesas,msiof-<soctype>" compatible values,
- The default for "renesas,rx-fifo-size" is 256 on R-Car H2 and M2,
- "renesas,tx-fifo-size" and "renesas,rx-fifo-size" are deprecated for
soctype-specific bindings,
- Add example bindings.
Implementation:
- MSIOF on R-Car H2 and M2 requires the transmission of dummy data if
data is being received only (cfr. "Set SICTR.TSCKE to 1" and "Write
dummy transmission data to SITFDR" in paragraph "Transmit and Receive
Procedures" of the Hardware User's Manual).
- As RX depends on TX, MSIOF on R-Car H2 and M2 also lacks the RSCR
register (Receive Clock Select Register), and some bits in the RMDR1
(Receive Mode Register 1) and TMDR2 (Transmit Mode Register 2)
registers.
- Use the recently introduced SPI_MASTER_MUST_TX flag to enable support
for dummy transmission in the SPI core, and to differentiate from other
MSIOF implementations in code paths that need this.
- New DT compatible values ("renesas,msiof-r8a7790" and
"renesas,msiof-r8a7791") are added, as well as new platform device
names ("spi_r8a7790_msiof" and "spi_r8a7791_msiof").
- The default RX FIFO size is 256 words on R-Car H2 and M2.
This is loosely based on a set of patches from Takashi Yoshii
<takasi-y@ops.dti.ne.jp>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
beb74bb0875579c409778d853b8a050c124b3c79)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:09 +0000 (11:21 +0100)]
spi: sh-msiof: Move default FIFO sizes to device ID data
As different variants of MSIOF have different FIFO sizes, move the default
FIFO sizes to a new struct sh_msiof_chipdata, pointed to from the device
ID data.
[Moved ifdef to fix build -- broonie]
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
50a7e23f53677918bf521b09ce9bb20fb87cd175)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 25 Feb 2014 10:21:08 +0000 (11:21 +0100)]
spi: sh-msiof: Improve bindings
Documentation:
- Add missing "interrupt-parent", "#address-cells", "#size-cells", and
"clocks" properties,
- Add missing default values for "num-cs", "renesas,tx-fifo-size" and
"renesas,rx-fifo-size",
- Add a reference to the pinctrl documentation.
Implementation:
- As "num-cs" is marked optional, provide a sensible default.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
32d3b2d1ddeafe105ab6f738fba427242141194e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 14:43:04 +0000 (15:43 +0100)]
spi: sh-msiof: Use the core cs_gpio field, and make it optional
In current implementation, CS is controlled by GPIO, which is passed
through spi->controller_data. However, the MSIOF HW module has a function
to output CS by itself, which is already enabled and actual switch will be
done by pinmux.
Store the GPIO number in the core cs_gpio field, and ignore it if it is
an invalid (negative) GPIO number.
Loosely based on a patch from Takashi Yoshii <takasi-y@ops.dti.ne.jp>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
8d19534a8d539bb2e598e56e017a423f205e909e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 14:43:03 +0000 (15:43 +0100)]
spi: sh-msiof: Add more register documentation
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
01cfef57efe9c8ef445d4a5ad3bf26770fd5942a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 14:43:02 +0000 (15:43 +0100)]
spi: sh-msiof: Change hz from unsigned long to u32
Both spi_transfer.speed_hz and spi_master.max_speed_hz are u32
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6a85fc5af1f09982e50abe56efc70eda9ad24632)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 14:43:01 +0000 (15:43 +0100)]
spi: sh-msiof: Typo in comment s/tx/rx/
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
a669c11a0df07477afbfeb53bc9d8fc989d1ed59)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 14:43:00 +0000 (15:43 +0100)]
spi: sh-msiof: Fix SPI bus population from DT
DT doesn't instantiate SPI children if spi_master.dev.of_node is not set up
properly.
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
f7c05e837df794d2aaf19174269a270c93a52eca)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Paul Gortmaker [Tue, 21 Jan 2014 21:22:47 +0000 (16:22 -0500)]
spi: delete non-required instances of include <linux/init.h>
None of these files are actually using any __init type directives
and hence don't need to include <linux/init.h>. Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
3a44623d5e1404b29786f1afd225d1aa04a4ae90)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Thu, 20 Mar 2014 10:49:55 +0000 (11:49 +0100)]
ASoC: simple-card: Handle many DAI links
Some simple audio cards may have many DAI links.
This patch extends the simple-card driver for handling such cards.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6a91a17bd7b92b2d2aa9ece85457f52a62fd7708)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Thu, 20 Mar 2014 10:04:16 +0000 (11:04 +0100)]
ASoC: simple-card: Add DT documentation for multi-DAI links
Many couples of CPU/CODEC DAI links may be described in the DT
thanks to 'simple-audio-card,dai-link' containers.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
015f630de86c8a79df45c475c34087d3e96b882a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Thu, 20 Mar 2014 09:52:41 +0000 (10:52 +0100)]
ASoC: simple-card: dynamically allocate the DAI link and properties
The DAI link array and the properties (fmt, sysclk slots) are
hard-coded for a single CPU / CODEC link.
This patch dynamically allocates the DAI link array and the
properties with the aim of supporting many DAI links.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
cf7dc23cbfd5c4c5ab2136f19522d9b3b41acf99)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Nicolin Chen [Wed, 12 Mar 2014 03:02:11 +0000 (11:02 +0800)]
ASoC: simple-card: overwrite cpu_dai->fmt with codec_dai->fmt
The current simple-card driver separates the daimft for cpu_dai and codec_dai.
So we might get different values for them (0x4003 and 0x1003 for example):
asoc-simple-card sound-cs42888.12: cpu : 2024000.esai / 4003 /
132000000
asoc-simple-card sound-cs42888.12: codec : cs42888 / 1003 /
24576000
asoc-simple-card sound-cs42888.12: cs42888 <-> 2024000.esai mapping ok
This is not allowed at all as we need to keep the DAIFMT settings identical
for both the ends of the link.
Thus this patch fixes it by overwriting the cpu_dai->fmt with codec_dai->fmt
since we defined the DAIFMT_MASTER basing on CODEC at the first place while
the other bits are same.
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
46c39cae292fd691f32e573e6c2c854e36614c93)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Sat, 15 Mar 2014 10:32:42 +0000 (11:32 +0100)]
ASoC: simple-card: Simplify code
The global DAI format is used only in the function
asoc_simple_card_parse_of(). So, move it from the private data
to the stack.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Reviewed-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
c56c4d74c6f96d0ff605d8948e127099cf5e6681)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Tue, 11 Mar 2014 09:03:40 +0000 (10:03 +0100)]
ASoC: simple-card: Fix the reference count of device nodes
The reference count of some device nodes is not correctly reset
at end of card probe.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
e512e001dafa54e5ac7244416e340750a4356b41)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Mon, 10 Mar 2014 02:37:56 +0000 (19:37 -0700)]
ASoC: simple-card: card name can be option
snd_card.name is now option on DT case.
non-DT case can follow same style,
and it is understandable from platform point of view.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
12ffa6fc1958879a81b6af1624c1a2edd83ec04a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Mon, 3 Mar 2014 04:32:43 +0000 (20:32 -0800)]
ASoC: simple-card: tidyup cpu/codec dai_fmt settings for non-DT
30d0341e7da0c012f64fb290dd1153360fb49a8d
(ASoC: simple-card: simplify the daifmt code)
simplify cpu/codec dai_fmt which consists from
dai specific format + common format.
But, it didn't care about non-DT case.
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
81985bd63f6f1711035aa8d97caf2fb203250a95)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Fri, 28 Feb 2014 02:25:24 +0000 (18:25 -0800)]
ASoC: simple-card: cpu_dai_name creates confusion when DT case
Basically, soc_bind_dai_link() checks
cpu_dai->dev->of_node and dai_link->cpu_of_node in DT case.
But after that it will check
cpu_dai->name and dai_link->cpu_dai_name too.
On the other hand, snd_soc_dai :: name is created by
fmt_single_name() or fmt_multiple_name().
There is no confusion if dai name is created by fmt_multiple_name(),
since cpu_dai->name is same as dai_link->cpu_dai_name.
but, if dai name is created by fmt_single_name(), CPU DAI never match.
Thus, simple-card not set dai_link->cpu_dai_name if DT case
to skip naming match on soc_bind_dai_link()
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
f687d900d30a61dda38db2a99239f5284a86a309)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Fri, 14 Feb 2014 01:34:36 +0000 (09:34 +0800)]
ASoC: simple-card: add slot information parsing supports
For some CPU/CODEC DAI devices the slot information maybe needed. This
patch adds the slot information parsing for simple-card driver.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6ff62eedce4f7756b092d276165d8e11edab9f28)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Sat, 8 Feb 2014 07:59:55 +0000 (15:59 +0800)]
ASoC: simple-card: for new properties documenting and usage
This add the following three new properties documenting and usage
for simple card:
"simple-audio-card,name",
"simple-audio-card,widgets",
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
66841345073b049c0c194486bac4d7f07266a57e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Sat, 8 Feb 2014 07:59:53 +0000 (15:59 +0800)]
ASoC: simple-card: add off-codec widgets supports.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
9d681f5bfc85515a7b4a4af09337ed5e74f39ad9)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Fri, 24 Jan 2014 07:43:02 +0000 (15:43 +0800)]
ASoC: simple-card: Add snd_card's name parsing from DT node support
If the DT is used and the CPU DAI device has only one DAI, the card
name will be like :
ALSA device list:
0:
40031000.sai-sgtl5000
And this name maybe a little ugly to some customers, so here the
card name parsing from DT node is supported.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
2772555b6c5ba79783c04ea6c60549530d737e2e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Fri, 24 Jan 2014 07:43:01 +0000 (15:43 +0800)]
ASoC: simple-card: simplify the daifmt code
In the asoc_simple_card_parse_of() will parse the device node's CPU/CODEC
DAI commone fmts, and then in asoc_simple_card_sub_parse_of() will parse
the CPU/CODEC DAI's sub-node fmts, so we can combine the info->daifmt and
info->set.fmt in asoc_simple_card_sub_parse_of() not while just before
_set_fmt().
And this will be more easy to add new functions, such as supporting
_set_tdm_slot(), etc.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
30d0341e7da0c012f64fb290dd1153360fb49a8d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Fri, 24 Jan 2014 07:43:00 +0000 (15:43 +0800)]
ASoC: simple-card: fix __asoc_simple_card_dai_init
If the CPU/CODEC DAI set_sysclk() is not support, the -ENOTSUPP will returnd.
Here do the check like set_fmt().
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
4763ebe226156db985fe75bfe930c4069d1f4207)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:52:00 +0000 (16:52 +0100)]
ASoC: simple-card: simplify code
Rename the pointer to the private data structure to 'priv' to avoid confusion with the platform data pointer.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
b367a3252b365fd545fc589a40cad3976e73d7d7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:56 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
The platform data structure contains information which is used only by
the driver, and the driver allocates platform information fields which
are of no use.
Move the driver specific data to a new private structure and cleanup
the platform data structure.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
45fce59496cbabd46761e6980c05c82d94d08eaa)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:52 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
In the non-DT sequence, the platform data is copied as a whole to the
dynamic card info and the same pointer 'cinfo' is used to copy the
platform information to the card.
Use 'priv' as the pointer to the dynamic card info and copy only the
useful information from the platform data.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
ca65b492c7a265b220f763fd68bf87391213248f)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:48 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
The CPU and CODEC DAI names are still copied to the user info structure.
Put them directly in the DAI links.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
520084729267ac8df1651ad2f118a1d4a631a10a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:45 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
Have a cleaner code using a DAI link pointer.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
5ca8ba4180a6f629d51dba699b4a6428cc5eeba7)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:41 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
The OF pointers are put in the stack and then copied to the card
descriptor.
Put them directly at their right place.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
201a0eac7fe5e7a8fa33f0742304f885bc344d0d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:37 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
The DT values are copied to the non-DT structure before being moved to
the card structure.
Set directly the DT values in the card and move the non-DT copy to the
non-DT sequence.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
2bee991460a838ee3c8064a6d880c4e7bc41717a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jean-Francois Moine [Wed, 15 Jan 2014 15:51:33 +0000 (16:51 +0100)]
ASoC: simple-card: simplify code
The check of the mandatory fields is done for DT in its specific sequence.
Move the global check to the non-DT sequence.
Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
7722f830a45f7fbb8f2f7b23265793980bdf3397)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Heiko Stuebner [Thu, 13 Feb 2014 15:34:32 +0000 (16:34 +0100)]
regulator: gpio-regulator: fix forgotten gpios-states reading
Commit
934624d6e9f0 ("regulator: gpio-regulator: do not open-code counting
and access of dt array elements") forgot to convert the recently added
gpios-states property using the same pattern.
Convert this instance to use the of-helpers too, resolving the build error.
Signed-off-by: Heiko Stuebner <heiko.stuebner@bqreaders.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
1f5a9623eb4300a722eab2f6c6a31a194c804cec)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Heiko Stuebner [Wed, 12 Feb 2014 00:01:08 +0000 (01:01 +0100)]
regulator: gpio-regulator: do not open-code counting and access of dt array elements
Open coding the counting of elements in a dt-property is abstracted by the newly
introduced of_property_count_uXX_elems functions. Additionally the raw iteration
over the states element exposes the endian conversion and dtb-format details,
which according to Mark Rutland "would be nice to limit [...] to of_ helper
functions".
Thus change gpio-regulator to use the helper for element counting and
of_property_read_u32_index for retrieval of individual values.
This makes it possible to remove the raw access to the states property entirely.
Signed-off-by: Heiko Stuebner <heiko.stuebner@bqreaders.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
934624d6e9f0b3d41557c4105c286e8daeaadb4e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Wed, 12 Feb 2014 01:27:27 +0000 (17:27 -0800)]
regulator: gpio: explain detail of gpios-states
gpios-states is array, and default is 0
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
907339818ecd66c20f57bbf53d1160c3dc9d34a8)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Wed, 12 Feb 2014 01:27:08 +0000 (17:27 -0800)]
regulator: gpio: print warning if gpios <-> gpios-states mismatch on DT
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
5676ddc5c62861467582b10b88aadb25ea9c3b52)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Mark Brown [Thu, 5 Dec 2013 19:08:55 +0000 (19:08 +0000)]
regulator: gpio: Document regulator-type property
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
7f196ec938967af7c3aa2506b8edcd7da5f5ebc6)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Fri, 31 Jan 2014 05:25:14 +0000 (21:25 -0800)]
regulator: gpio: add gpios-status for DT
config->gpios[x].flags indicates initial pin status,
and it will be used for drvdata->state
on gpio_regulator_probe().
But, current of_get_gpio_regulator_config() doesn't care
about this flags.
This patch adds new gpios-status property in order to
care about initial pin status.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
0094050d783bbadffe83effef11a0bda901153ce)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Fabio Estevam [Fri, 24 Jan 2014 17:48:18 +0000 (15:48 -0200)]
regulator: gpio-regulator: Remove unneeded OOM error message
There is no need to print an OOM message after devm_kzalloc, since there is
a generic OOM message in place.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
9c25960cbba1fb452adf6a7b9d740fc4358f7d92)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Mar 2014 14:05:50 +0000 (15:05 +0100)]
clocksource: CMT, MTU2, TMU and STI should depend on GENERIC_CLOCKEVENTS
If GENERIC_CLOCKEVENTS=n:
drivers/clocksource/sh_cmt.c:54:28: error: field 'ced' has incomplete type
drivers/clocksource/sh_cmt.c: In function 'sh_cmt_interrupt':
drivers/clocksource/sh_cmt.c:407:23: error: 'CLOCK_EVT_MODE_ONESHOT' undeclared (first use in this function)
drivers/clocksource/sh_mtu2.c:44:28: error: field 'ced' has incomplete type
drivers/clocksource/sh_mtu2.c: In function 'ced_to_sh_mtu2':
drivers/clocksource/sh_mtu2.c:184:70: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/sh_mtu2.c: At top level:
drivers/clocksource/sh_mtu2.c:188:16: warning: 'enum clock_event_mode' declared inside parameter list [enabled by default]
drivers/clocksource/sh_tmu.c:45:28: error: field 'ced' has incomplete type
drivers/clocksource/sh_tmu.c: In function 'sh_tmu_interrupt':
drivers/clocksource/sh_tmu.c:207:21: error: 'CLOCK_EVT_MODE_ONESHOT' undeclared (first use in this function)
drivers/clocksource/em_sti.c:44:28: error: field 'ced' has incomplete type
drivers/clocksource/em_sti.c: In function 'ced_to_em_sti':
drivers/clocksource/em_sti.c:251:69: warning: initialization from incompatible pointer type [enabled by default]
drivers/clocksource/em_sti.c: At top level:
drivers/clocksource/em_sti.c:255:16: warning: 'enum clock_event_mode' declared inside parameter list [enabled by default]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Magnus Damm <damm@opensource.se>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: http://lkml.kernel.org/r/1395324352-9146-1-git-send-email-geert@linux-m68k.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
(cherry picked from commit
87291a9267ecc0a8efceb4d9cbd4da870f958fc1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Thu, 20 Feb 2014 11:54:45 +0000 (12:54 +0100)]
clocksource: Add Kconfig entries for CMT, MTU2, TMU and STI
Add Kconfig entries for CMT, MTU2, TMU and STI to
drivers/clocksource/Kconfig. This will allow us to
get rid of duplicated entires in architecture code
such as arch/sh and arch/arm/mach-shmobile.
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
(cherry picked from commit
fd3f1270d237d1afb344ee6bfd0e50c488c29e34)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Fri, 14 Feb 2014 01:34:35 +0000 (09:34 +0800)]
ASoC: core: add TDM slot parsing from DT supports
For some CPU/CODEC DAI devices the TDM slot infomation maybe needed. This
patch adds the slot parsing from DT supports.
TDM slot properties:
dai-tdm-slot-num : Number of slots in use.
dai-tdm-slot-width : Width in bits for each slot.
For instance:
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <8>;
And for each spcified driver, there could be one .of_xlate_tdm_slot_mask()
to specify a explicit mapping of the channels and the slots. If it's absent
the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the
tx and rx masks.
For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit
for an active slot as default, and the default active bits are at the LSB of
the masks.
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
89c6785715592a6b082b3f9f28c27bb14b041c7d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Xiubo Li [Sat, 8 Feb 2014 07:59:52 +0000 (15:59 +0800)]
ASoC: add snd_soc_of_parse_audio_simple_widgets for DT
This patch adds snd_soc_of_parse_audio_simple_widgets() and supports
below style of widgets name on DT:
"template-wname", "user supplied wname"
For instance:
simple-audio-widgets =
"Microphone", "Microphone Jack",
"Line", "Line In Jack",
"Line", "Line Out Jack",
"Headphone", "Headphone Jack",
"Speaker", "Speaker External";
The "template-wname" currently includes: "Microphone", "Line", "Headphone"
and "Speaker".
Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
9a6d48605e632e84db2895cf752c65b3c908cd09)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Heiko Stuebner [Wed, 12 Feb 2014 00:00:34 +0000 (01:00 +0100)]
of: add functions to count number of elements in a property
The need to know the number of array elements in a property is
a common pattern. To prevent duplication of open-coded implementations
add a helper static function that also centralises strict sanity
checking and DTB format details, as well as a set of wrapper functions
for u8, u16, u32 and u64.
Suggested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Heiko Stuebner <heiko.stuebner@bqreaders.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Grant Likely <grant.likely@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
ad54a0cfbeb4bd4033d09017557ccbc423f9d5ff)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Tue, 11 Mar 2014 01:11:50 +0000 (18:11 -0700)]
shdma: add R-Car Audio DMAC peri peri driver
Add support Audio DMAC peri peri driver
for Renesas R-Car Gen2 SoC, using 'shdma-base'
DMA driver framework.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
[fixed checkpatch error]
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit
e43a34e3ec5d1b14a11c3220f5a12aa797d73cd1)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Wed, 11 Dec 2013 14:29:15 +0000 (15:29 +0100)]
DMA: shdma: 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: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Cc: Vinod Koul <vinod.koul@intel.com>
Cc: dmaengine@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
(cherry picked from commit
42e4a12a0d92d09de66d8b5b2c85855b8051c15e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Bjorn Andersson [Wed, 5 Feb 2014 20:30:26 +0000 (12:30 -0800)]
regulator: core: Allow regulator_set_voltage for fixed regulators
Make it okay to call regulator_set_voltage on regulators with fixed
voltage if the requested range overlaps the current/configured voltage.
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
c00dc359e5e0b10de993651d8e73e60c41bf29cd)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
(cherry picked from commit
d5c3595331d512c6af6b636cef687421c2ba11e3)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Mark Brown [Sun, 2 Feb 2014 13:47:47 +0000 (13:47 +0000)]
spi: Make core DMA mapping functions generate scatterlists
We cannot unconditionally use dma_map_single() to map data for use with
SPI since transfers may exceed a page and virtual addresses may not be
provided with physically contiguous pages. Further, addresses allocated
using vmalloc() need to be mapped differently to other addresses.
Currently only the MXS driver handles all this, a few drivers do handle
the possibility that buffers may not be physically contiguous which is
the main potential problem but many don't even do that. Factoring this
out into the core will make it easier for drivers to do a good job so if
the driver is using the core DMA code then generate a scatterlist
instead of mapping to a single address so do that.
This code is mainly based on a combination of the existing code in the MXS
and PXA2xx drivers. In future we should be able to extend it to allow the
core to concatenate adjacent transfers if they are compatible, improving
performance.
Currently for simplicity clients are not allowed to use the scatterlist
when they do DMA mapping, in the future the existing single address
mappings will be replaced with use of the scatterlist most likely as
part of pre-verifying transfers.
This change makes it mandatory to use scatterlists when using the core DMA
mapping so update the s3c64xx driver to do this when used with dmaengine.
Doing so makes the code more ugly but it is expected that the old s3c-dma
code can be removed very soon.
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6ad45a27cbe343ec8d7888e5edf6335499a4b555)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Mon, 26 May 2014 12:05:25 +0000 (14:05 +0200)]
spi: core: Ignore unsupported spi-[tr]x-bus-width property values
Rejecting unsupported values of spi-tx-bus-width and spi-rx-bus-width
may break compatibility with future DTs. Just ignore them, falling back
to Single SPI Transfers.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
80874d8c9e9cbfa195572dfea46f2314098b3869)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Mark Brown [Tue, 28 Jan 2014 20:17:03 +0000 (20:17 +0000)]
spi: Provide core support for full duplex devices
It is fairly common for SPI devices to require that one or both transfer
directions is always active. Currently drivers open code this in various
ways with varying degrees of efficiency. Start factoring this out by
providing flags SPI_MASTER_MUST_TX and SPI_MASTER_MUST_RX. These will cause
the core to provide buffers for the requested direction if none are
specified in the underlying transfer.
Currently this is fairly inefficient since we actually allocate a data
buffer which may get large, support for mapping transfers using a
scatterlist will allow us to avoid this for DMA based transfers.
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
3a2eba9bd0a6447dfbc01635e4cd0689f5f2bdad)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Mark Brown [Thu, 16 Jan 2014 12:22:43 +0000 (12:22 +0000)]
spi: Provide core support for DMA mapping transfers
The process of DMA mapping buffers for SPI transfers does not vary between
devices so in order to save duplication of code in drivers this can be
factored out into the core, allowing it to be integrated with the work that
is being done on factoring out the common elements from the data path
including more sharing of dmaengine code.
In order to use this masters need to provide a can_dma() operation and while
the hardware is prepared they should ensure that DMA channels are provided
in tx_dma and rx_dma. The core will then ensure that the buffers are mapped
for DMA prior to calling transfer_one_message().
Currently the cleanup on error is not complete, this needs to be improved.
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
99adef310f682d6343cb40c1f6c9c25a4b3a450d)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Sachin Kamat [Thu, 20 Feb 2014 08:53:02 +0000 (14:23 +0530)]
regulator: da9210: Remove redundant error message
kzalloc prints its own OOM message upon failure.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
(cherry picked from commit
6c48acfb2affa8b2aed810bb67888e0d1720a884)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Wolfram Sang [Mon, 10 Feb 2014 10:04:06 +0000 (11:04 +0100)]
i2c: i2c-rcar: deprecate class based instantiation
Warn users that class based instantiation is going away soon in favour
of more robust probing and faster bootup times.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit
96c4b6bb5ddb03881dfc1c91410548432138d4ba)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Wolfram Sang [Thu, 20 Feb 2014 08:03:20 +0000 (09:03 +0100)]
i2c: rcar: add compatible entry for r8a7791
While we are here, also brush up the devicetree binding documentation.
The example was an inappropriate copy from the sh_mobile driver.
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit
e89364556824cc7a947f99173af842217074c099)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Wolfram Sang [Mon, 10 Feb 2014 10:03:56 +0000 (11:03 +0100)]
i2c: add deprecation warning for class based instantiation
Class based instantiation can cause noticeable delays when booting. This
mechanism is used when it is not possible to describe slaves on I2C
busses. As we do have other mechanisms, most embedded I2C will not need
classes and for embedded it is explicitly not recommended to use them. Add
a deprecation warning for drivers which want to disable class based
instantiation in the near future to gain boot-up time, so users relying
on this technique can switch to something better. They really should.
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit
0c176170089c3a7f2a891f9860f5cdc5f481ff78)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Phil Edworthy [Tue, 25 Feb 2014 09:10:27 +0000 (06:10 -0300)]
media: soc_camera: rcar_vin: Add support for 10-bit YUV cameras
Add support for MBUS YUV10 BT656 and BT601 formats at rcar driver.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
(cherry picked from commit
cbe504d4d4d88375ef912975f816d1e3c3f14194)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Viresh Kumar [Wed, 19 Mar 2014 05:54:58 +0000 (11:24 +0530)]
cpufreq: remove unused notifier: CPUFREQ_{SUSPENDCHANGE|RESUMECHANGE}
Two cpufreq notifiers CPUFREQ_RESUMECHANGE and CPUFREQ_SUSPENDCHANGE have
not been used for some time, so remove them to clean up code a bit.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
[rjw: Changelog]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit
0b443ead714f0cba797a7f2476dd756f22b5421e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Joe Perches [Tue, 11 Mar 2014 17:10:46 +0000 (10:10 -0700)]
serial: sh-sci: Neaten dev_<level> uses
Add missing newlines and coalesce formats.
Realign arguments.
Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
9b971cd206c019fc6aeeb7e04136a49f9312df4a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 10:11:20 +0000 (11:11 +0100)]
serial: sh-sci: Replace hardcoded 3 by UART_PM_STATE_OFF
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
d3dfe5d9b4c8b3156b28f99f7a4a59ad8be09b15)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 10:11:19 +0000 (11:11 +0100)]
serial: sh-sci: Add more register documentation
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
26de4f1b2fb45e53a9e8f4f913b9cdf6c294070b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 10:11:18 +0000 (11:11 +0100)]
serial: sh-sci: Remove useless casts
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
ff43da00e0d407cd8e7faaf2ac150001d29827e4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Tue, 11 Mar 2014 10:11:17 +0000 (11:11 +0100)]
serial: sh-sci: Replace printk() by pr_*()
Make banner const while we're at it
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Simon Horman <horms@verge.net.au>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
6c13d5d27c5ecd7a2ce7c104c7726b0d7aa7d7b5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Fri, 28 Feb 2014 13:21:33 +0000 (14:21 +0100)]
serial: sh-sci: Add missing call to uart_remove_one_port() in failure path
If cpufreq_register_notifier() fails, we have to remove the port added by
sci_probe_single(), which is not done by sci_cleanup_single().
Else the serial port stays active from the point of view of the serial
subsystem, and it may crash when userspace getty is started, or when the
loadable driver module is unloaded.
This was introduced by commit
6dae14216c85eea13db7b12c469475c5d30e5499
("serial: sh-sci: Fix probe error paths").
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
bf13c9a894162a91c8bb7d9555933e9fc3ff7d0e)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Laurent Pinchart [Thu, 6 Feb 2014 06:47:40 +0000 (15:47 +0900)]
serial: sh-sci: Fix compatible string in DT bindings example
Remove the -generic suffix from the compatible string in the serial port
DT bindings example.
Cc: devicetree@vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
25eb50b97b61a237168137411550aa792bb27c00)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Jingoo Han [Wed, 5 Feb 2014 00:56:37 +0000 (09:56 +0900)]
serial: sh-sci: Fix cast warning
Fix the following compile warning about cast to pointer from
integer of different size.
drivers/tty/serial/sh-sci.c:2021:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit
3af4e960b8a12b3f07033f1c12504305e6d4df1a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Phil Edworthy [Tue, 22 Apr 2014 16:38:05 +0000 (17:38 +0100)]
sh-pfc: r8a7791: Fix definition of MOD_SEL3
There is a missing 0 entry from the MOD_SEL3 table.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
0c66c5628bbb5e96360032440f53a6cb6f8973d0)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Guido Piasenza [Tue, 22 Apr 2014 15:28:03 +0000 (16:28 +0100)]
sh-pfc: r8a7790: Fix definition of IPSR5
The extra entry in the table makes SCIFA0_B, and all
peripherals after it, fail.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
34ce57e9df7d14b52c7613bb2c190e411ca99186)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Wed, 26 Feb 2014 09:16:57 +0000 (10:16 +0100)]
pinctrl: sh-pfc: r8a7791: Add alternative MSIOF pin groups
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
e6fae2d03dc4f9172db88ad18a577c2a45b9e8ac)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Thu, 20 Feb 2014 19:53:40 +0000 (20:53 +0100)]
pinctrl: sh-pfc: r8a7790: Add alternative MSIOF pin groups
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
7033168da51e43ebba7870f089d275b4589df0c5)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Wolfram Sang [Sun, 23 Feb 2014 12:38:12 +0000 (13:38 +0100)]
pinctrl: pfc: r8a7791: add mux data for IIC(B) cores
Signed-off-by: Wolfram Sang <wsa@sang-engineering.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
6787141361dc77b5d55bf58760029f846244ba3a)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Mon, 10 Feb 2014 13:00:57 +0000 (14:00 +0100)]
pinctrl: sh-pfc: r8a7790: Add QSPI pin groups
A QSPI function set consists of 3 groups:
- qspi_ctrl (2 control wires)
- qspi_data2 (2 data wires, for Single/Dual SPI)
- qspi_data4 (4 data wires, for Quad SPI)
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
202909cdf117743bdbf8abc0f817950c8955c8cf)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Magnus Damm [Wed, 29 Jan 2014 23:10:19 +0000 (08:10 +0900)]
pinctrl: sh-pfc: r8a7790: Break out USB0 OVC/VBUS
Create a new group for the USB0 OVC/VBUS pin by itself. This
allows us to monitor PWEN as GPIO on the Lager board.
Signed-off-by: Magnus Damm <damm@opensource.se>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
(cherry picked from commit
97e00faaf16a0642cac47937e26f437651a6b4a4)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Geert Uytterhoeven [Sun, 12 Jan 2014 11:00:30 +0000 (12:00 +0100)]
pinctrl: sh-pfc: r8a7791: Add QSPI pin groups
A QSPI function set consists of 3 groups:
- qspi_ctrl (2 control wires)
- qspi_data2 (2 data wires, for Single/Dual SPI)
- qspi_data4 (4 data wires, for Quad SPI)
Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
(cherry picked from commit
2d0c386f135e41865f15e467fa1c6c0ec93d4a60)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Fri, 21 Feb 2014 00:55:40 +0000 (16:55 -0800)]
mmc: sdhi: update sh_mobile_sdhi_of_data for r8a7791
This patch adds DT support for r8a7791.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Chris Ball <chris@printf.net>
(cherry picked from commit
81918d25a7ae2a7eada4237d00b8d6dbecffda6c)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Kuninori Morimoto [Fri, 21 Feb 2014 00:55:27 +0000 (16:55 -0800)]
mmc: sdhi: update sh_mobile_sdhi_of_data for r8a7790
This patch updates r8a7790 DT data to have SoC specific settings.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Chris Ball <chris@printf.net>
(cherry picked from commit
423f6c2e977de73b8723e73d8cc585de40893f5b)
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>