summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-12-24ARM: shmobile: r8a7778: add sound SCU clock supportKuninori Morimoto1-0/+20
This is needed to use SRC (= Sampling Rate Converter) Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24Merge branch 'sh-sci' into soc3-baseSimon Horman3-192/+164
2013-12-24serial: sh-sci: Rework baud rate calculationLaurent Pinchart2-7/+32
Computing the baud rate register value requires knowledge of the hardware sampling rate. This information is currently encoded in a baud rate calculation algorithm ID passed through platform data. However, it can be derived from the port type directly in most cases. Compute the sampling rate internally in the driver if the baud rate calculation algorithm ID isn't specified, and allow platforms to override the sampling rate through platform data in special cases (this is only required for SCIFA ports on sh7723 and sh7724, the reason needs to be investigated). Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Compute overrun_bit without using baud rate algoLaurent Pinchart1-12/+14
The overrun bit index is a property of the hardware. It's currently computed based on a different and unrelated hardware property, the baud rate calculation algorithm. Compute it using hardware identification information only. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Remove unused GPIO request codeLaurent Pinchart2-79/+0
The driver requests at initialization time GPIOs passed through platform data. No platform makes use of this feature, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Move overrun_bit and error_mask fields out of pdataLaurent Pinchart3-31/+24
None of the fields is ever set by board code, and both of them are set in the driver at probe time. Move them out of struct plat_sci_port to struct sci_port. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Support resources passed through platform resourcesLaurent Pinchart2-20/+53
Memory and IRQ resources are currently passed to the driver through platform data. Support passing them through the standard platform resources mechanism instead. This deprecates platform data resources. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Don't check IRQ in verify port operationLaurent Pinchart1-4/+0
The IRQ number can't be modified by the user as the port is fixed. There's no need to check the new IRQ number as it will be ignored by the core. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Set the UPF_FIXED_PORT flagLaurent Pinchart1-1/+1
The base address, IRQ and baud rate generator parent clock rate can't be changed by userspace. Mark the port as fixed. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Remove duplicate interrupt check in verify port opLaurent Pinchart1-1/+1
The driver checks if the interrupt number is greater than nr_irqs and returns an error in that case. The same check is already performed by the caller, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Simplify baud rate calculation algorithmsLaurent Pinchart2-8/+8
Rewrite the baud rate register value calculations in easier to read forms. The computed value isn't modified. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Remove baud rate calculation algorithm 5Laurent Pinchart2-3/+0
The algorithm isn't used, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-24serial: sh-sci: Sort headers alphabeticallyLaurent Pinchart1-21/+21
This helps locating duplicates. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19arm: shmobile: clks: remove duplicated clock from r7s72100Wolfram Sang1-1/+0
Signed-off-by: Wolfram Sang <wsa@the-dreams.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19ARM: shmobile: koelsch: Conditionally select MICREL_PHYSimon Horman1-0/+1
The koelsch board uses has an SH ethernet controller which uses a Micrel phy. Select MICREL_PHY for koelsch if SH_ETH is enabled to make use of the Micrel-specific phy driver rather than relying on the generic phy driver. Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19ARM: shmobile: rcar-gen2: Initialize CCF before clock sourcesLaurent Pinchart1-1/+7
When CONFIG_COMMON_CLOCK is enabled, call rcar_gen2_clocks_init() in the timer init function to initialize the common clock framework before initializing the clock sources. This will take care of clock initialization when the r8a779[01] boards will be switched to multiplatform kernels. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19ARM: shmobile: r8a7791: Add clock index macros for DT sourcesLaurent Pinchart1-0/+105
Add macros usable by device tree sources to reference r8a7791 clocks by index. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-19ARM: shmobile: r8a7790: Add clock index macros for DT sourcesLaurent Pinchart1-0/+100
Add macros usable by device tree sources to reference r8a7790 clocks by index. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-14ARM: shmobile: Add select MIGHT_HAVE_PCI for PCI-AHB bridge codeBen Dooks1-0/+4
The PCI sub-system is not enabled by default on ARM and on certain Renesas devices the build does not select it. This means that there are configurations that do not allow the AHB-PCI bridge used for the USB sub-systems to be built. For the R8A7790, R8A7791 and EMEV-2 select MIGHT_HAVE_PCI to allow the PCI drivers to be built. Also select MIGHT_HAVE_PCI for the multi-config where there may be many Reneasas devices selected. Reviewed-by: Ian Molton <ian.molton@codethink.co.uk> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-14serial: sh-sci: Convert to clk_prepare/unprepareLaurent Pinchart1-4/+4
Turn clk_enable() and clk_disable() calls into clk_prepare_enable() and clk_disable_unprepare() to get ready for the migration to the common clock framework. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Magnus Damm <damm@opensource.se> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-14serial: sh-sci: Don't enable/disable port from within break timerLaurent Pinchart1-4/+8
The break timer accesses hardware registers and thus requires the port to be enabled. It currently ensures this by enabling the port at the beginning of the timer handler, and disabling it at the end. However, the enable/disable operations call the runtime PM sync functions, which are not allowed in atomic context. The current situation is thus broken. This change relies on non-atomic code to enable/disable the port. The break timer will only be started from the IRQ handler, which already runs with the port enabled. We just need to ensure that the port won't be disabled with the timer running, and that's easily done by just cancelling the timer in the port disable function. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Magnus Damm <damm@opensource.se> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12serial: sh-sci: Fix warnings due to improper casts and printk formatsLaurent Pinchart1-9/+10
Use the %zu and %pad printk specifiers to print size_t and dma_addr_t variables, and cast pointers to uintptr_t instead of unsigned int where applicable. This fixes warnings on platforms where pointers and/or dma_addr_t have a different size than int. Cc: linux-serial@vger.kernel.org Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: shmobile: r8a7778: add USB Func DMAEngine supportKuninori Morimoto2-0/+20
HPB-DMAC has 2 channel for USB Func (= D0/D1) D0 is used as Tx, D1 is used as Rx on this patch Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: rcar-gen2: Do not setup timer in non-secure modeBen Dooks1-5/+16
If the system has been started in non-secure mode, then the ARM generic timer is not configurable during the kernel initialisation. Currently the only thing we can check for is if the timer has been correctly configured during the boot process. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Reviewed-by: Ian Molton <ian.molton@codethink.co.uk> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: shmobile: r8a7791: add Ether clockSergei Shtylyov1-0/+3
Add support for R8A7791 Ether clock. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: shmobile: r8a7778: camera-rcar header cleanupKuninori Morimoto2-1/+1
<linux/platform_data/camera-rcar.h> is needed on BockW, not setup-r8a7778.c Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: shmobile: sh73a0: add FSI clock support for DTKuninori Morimoto1-0/+1
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-12ARM: shmobile: r8a7790: add I2C supportKuninori Morimoto2-0/+29
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-11ARM: shmobile: r8a7778: add SSIx DMAEngine supportKuninori Morimoto2-0/+69
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7779: add HSPI clock support for DTSimon Horman1-0/+3
Based on work for the r8a7778 SoC by Kuninori Morimoto. Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7740: add FSI clock support for DTKuninori Morimoto1-0/+1
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7790: add SSI MSTP clocksKuninori Morimoto1-0/+25
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7778: add HPBIFx DMAEngine supportKuninori Morimoto2-0/+69
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: Select AUTO_ZRELADDR for EMEV2Simon Horman1-0/+1
Since ("ARM: shmobile: Remove legacy KZM9D board code") It is now necessary for AUTO_ZRELADDR to be selected in order for the kernel to build with kzm9d_defconfig. Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7790: tidyup clock table orderKuninori Morimoto1-5/+8
SuperH lookups clock is using CLKDEV_CON/DEV/ICK_ID() macro for a long term. But in these days, the ICK clock is defined in random place. This patch arranges it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7790: fixup I2C clock sourceKuninori Morimoto1-4/+4
I2C clock is based on P clock, not HP clock Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7790: care EXTAL divider settingsKuninori Morimoto1-2/+2
EXTAL clock frequency needs 1/2 when (MD14, MD13, MD19) = (1, x, x). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: Add r8a7791 clocks for thermal devicesMagnus Damm1-0/+4
Add the r8a7791 thermal device as legacy clocks. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: Add r8a7791 thermal platform deviceMagnus Damm1-0/+12
Add a thermal platform device for the legacy case on the r8a7791 SoC. This keeps the r8a7791 in sync with the r8a7790 sister device. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: Add r8a7790 clocks for thermal devicesMagnus Damm1-0/+1
Add the r8a7790 DT thermal device to the legacy clocks. Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: Rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACYLaurent Pinchart15-21/+26
SH-Mobile platforms are transitioning from non-multiplatform to multiplatform kernel. A new ARCH_SHMOBILE_MULTI configuration symbol has been created to group all multiplatform-enabled SH-Mobile SoCs. The existing ARCH_SHMOBILE configuration symbol groups SoCs that haven't been converted yet. This arrangement works fine for the arch/ code, but lots of drivers needed on both ARCH_SHMOBILE and ARCH_SHMOBILE_MULTI depend on ARCH_SHMOBILE only. In order to avoid changing them, rename ARCH_SHMOBILE to ARCH_SHMOBILE_LEGACY, and create a new boolean ARCH_SHMOBILE configuration symbol that is selected by both ARCH_SHMOBILE_LEGACY and ARCH_SHMOBILE_MULTI. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-10ARM: shmobile: r8a7791: Add DU and LVDS clocksLaurent Pinchart1-1/+9
The ZX parent clock isn't implemented yet, add it as well. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Select USE_OF on EMEV2Magnus Damm2-4/+1
Now when the legacy KZM9D board code is gone, make sure USE_OF is selected in case of the EMEV2 SoC. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: r8a7778: add HSPI clock support for DTKuninori Morimoto1-0/+3
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Remove legacy platform devices from EMEV2 SoC codeMagnus Damm2-153/+0
Now when KZM9D legacy C board support code is gone then remove emev2_add_standard_devices() and all the platform devices from setup-emev2.c. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Remove legacy KZM9D board codeMagnus Damm4-100/+0
Remove the C and platform device version of KZM9D. The DT version of KZM9D board support can now instead directly be used with SoC specific code in setup-emev2.c. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Use ->init_late() in shared EMEV2 caseMagnus Damm1-0/+1
Hook up shmobile_init_late() to enable various code such as suspend-to-RAM and CPUIdle. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Add shared EMEV2 code for ->init_machine()Magnus Damm1-0/+12
Add a SoC specific function that initializes clocks and starts DT probing in case of EMEV2. This EMEV2 SoC support code may be built for either legacy SHMOBILE or SMOBILE_MULTI. The change allows us to support existing board specific KZM9D DTB with these SoC specific DT_MACHINE_START() callbacks. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: Enable MTU2 on r7s72100Magnus Damm2-0/+23
Add MTU2 as r7s72100 system timer. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-12-04ARM: shmobile: r8a7790: add QSPI supportHiep Cao Minh1-0/+3
Adds support for QSPI on the r8a7790. Signed-off-by: Hiep Cao Minh <cm-hiep@jinso.co.jp> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>