summaryrefslogtreecommitdiff
path: root/arch/arm/mach-shmobile/include
AgeCommit message (Collapse)Author
2013-04-02ARM: shmobile: sh7372: move global functions to sh7372.hKuninori Morimoto
There is no reason each CPU's own function has to exist in common.h. sh7372_xxx() go to sh7372.h Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-04-02ARM: shmobile: add struct clk_ratio and fixed ratio clock macroKuninori Morimoto
Renesas chip has many clocks inside, and some of them are using fixed ratio via parent clock. Current shmobile clock code is using own divX_recalc function and divX_clk_ops. This patch can reduce these code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-04-02ARM: shmobile: add R8A7778 basis supportKuninori Morimoto
Add initial support for the R8A7778 R-Car M1A SoC. No static virtual mappings are used, all the components make use of ioremap(). DT_MACHINE_START is still wrapped in CONFIG_USE_OF to match other mach-shmobile code. It is based on v1.0 datasheet Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-04-02ARM: shmobile: r8a73a4 PFC supportMagnus Damm
Add a platform device for the r8a73a4 PFC. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-04-02ARM: shmobile: Initial r8a73a4 SoC support V3Magnus Damm
V3 of initial support for the r8a73a4 SoC including: - Single Cortex-A15 CPU Core - GIC - Architecture timer No static virtual mappings are used, all the components make use of ioremap(). DT_MACHINE_START is still wrapped in CONFIG_USE_OF to match other mach-shmobile code. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-18ARM: shmobile: INTC External IRQ pin driver on r8a7779Magnus Damm
Update the r8a7779 IRQ code to make use of the INTC External IRQ pin driver for external interrupt pins IRQ0 -> IRQ3. The r8a7779 SoC can like older SH SoCs configure to use the IRQ0 -> IRQ3 signals as individual interrupts or a combined IRL mode. Without this patch the r8a7779 SoC code does not fully support external IRQ pins in individual IRQ mode. The r8a7779 PFC code does not yet have gpio_to_irq() support so no need to update such code. At this point the DT reference implementations are not covered. In the future such code shall tie in the INTC External IRQ pin driver via DT, so this kind of verbose code is not needed for the long term DT case. Signed-off-by: Magnus Damm <damm@opensource.se> Tested-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-18ARM: shmobile: irq_pin() for static IRQ pin assignmentMagnus Damm
Add the macro irq_pin() to let board-specific code using platform devices tie in external IRQn pins in a common way. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-15ARM: shmobile: r8a7779: Remove INTC function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove LBSC function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove USB function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove HSPI function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove SCIF function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove SDHI and MMCIF function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove DU function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7779: Remove DU1_DOTCLKOUT1 GPIOLaurent Pinchart
The function is not documented in the r8a7779 datasheet. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7740: Remove SDHI and MMCIF function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: r8a7740: Remove LCD0 and LCD1 function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove IrDA function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove USB function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove BSC function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove KEYSC function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove pull-up function GPIOSLaurent Pinchart
Those GPIOs have been deprecated by the pinconf API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove FSI function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove I2C function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove SCIFA and SCIFB function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh7372: Remove SDHI and MMCIF function GPIOsLaurent Pinchart
Those GPIOs have been deprecated by the pinctrl API. They are unused and unneeded, remove them. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2013-03-15ARM: shmobile: sh73a0: Support sparse GPIO numbersGuennadi Liakhovetski
The SH73A0 SoC has sparse GPIO numbers. Declare the pin numbers ranges in the PFC SoC data and use the pin numbers in the GPIO API. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Linus Walleij <linus.walleij@linaro.org>
2013-03-13ARM: shmobile: tidyup chip series definition order for r8a7740/r8a7779Kuninori Morimoto
move r8a7740_meram_workaround() to r8a7740 area from r8a7779 area Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: add gic_iid macro for ICCIAR / interrupt IDKuninori Morimoto
R-Car H1 datasheet GIC number is indicating GIC ICCIAR / interrupt ID number, not SPI number, but current marzen board code is using gic_spi() with un-understandable calculation. This patch adds new gic_iid() macro which means ICCIAR / interrupt ID, and used the number currently written on datasheet. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> [ horms+renesas@verge.net.au: Split board-marzen.c portion into a separate patch ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: Remove unused hotplug.cMagnus Damm
Each CPU Hotplug implementation for mach-shmobile is now self-contained, so this change removes unused helper code in hotplug.c. The two CPU Hotplug capable SoCs sh73a0 and r8a7779 remain unchanged. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: r8a7779: Do not use early devices with DT referenceSimon Horman
Do not initialise any early devices when using the minimal DT reference code. Only the delay needs to be initialised. Cc: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: sh73a0: Do not use early devices with DT referenceSimon Horman
Do not initialise any early devices when using the minimal DT reference code. Only the delay needs to be initialised. Cc: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: Common shmobile_scu_base in headsmp-scu.SMagnus Damm
Update the code in headsmp-scu.S to use a global shmobile_scu_base variable both for convenient SCU base address storage and for the early SCU setup code in shmobile_secondary_vector_scu. With this patch applied r8a7779, sh73a0 and EMEV2 all make use of the global shmobile_scu_base variable. However only sh73a0 makes use of the SCU bring up code in shmobile_secondary_vector_scu. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: shmobile: Move headsmp-sh73a0.S to headsmp-scu.SMagnus Damm
Rename headsmp-sh73a0.S into headsmp-scu.S and introduce shmobile_secondary_vector_scu(). The goal is to be able to share the function above between all mach-shmobile SoCs that use SCU for SMP. So far only sh73a0 use this. At this time the SCU base address is still hard coded in headsmp-scu.S to 0xf0000000, but this will be changed in the future. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: mach-shmobile: r8a7779: Minimal setup using DTSimon Horman
Allow a minimal setup of the r8a7779 SoC using a flattened device tree. In particular, configure the i2c and ethernet controllers using a flattened device tree. SCI serial controller and TMU clock source, whose drivers do not yet support configuration using a flattened device tree, are still configured using C code in order to allow booting of a board with this SoC. The ethernet controller also requires a regulator which is a board property. A sample snippet DT for the marzen board is as follows: /dts-v1/; /include/ "r8a7779.dtsi" / { fixedregulator3v3: fixedregulator@0 { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; }; &lan0 { vddvario-supply = <&fixedregulator3v3>; vdd33a-supply = <&fixedregulator3v3>; }; Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-03-13ARM: mach-shmobile: r8a7779: Allow initialisation of GIC by DTSimon Horman
This allows the GIC interrupt controller of the r8a7779 SoC to be initialised using a flattened device tree blob. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> --- v3 * Fix copy-paste error and use unique reg values for each CPU v2 As suggested by Mark Rutland * Add reg and device_type to cpus * Remove #address-cells from gic
2013-02-21Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds
Pull ARM SoC-specific updates from Arnd Bergmann: "This is a larger set of new functionality for the existing SoC families, including: - vt8500 gains support for new CPU cores, notably the Cortex-A9 based wm8850 - prima2 gains support for the "marco" SoC family, its SMP based cousin - tegra gains support for the new Tegra4 (Tegra114) family - socfpga now supports a newer version of the hardware including SMP - i.mx31 and bcm2835 are now using DT probing for their clocks - lots of updates for sh-mobile - OMAP updates for clocks, power management and USB - i.mx6q and tegra now support cpuidle - kirkwood now supports PCIe hot plugging - tegra clock support is updated - tegra USB PHY probing gets implemented diffently" * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (148 commits) ARM: prima2: remove duplicate v7_invalidate_l1 ARM: shmobile: r8a7779: Correct TMU clock support again ARM: prima2: fix __init section for cpu hotplug ARM: OMAP: Consolidate OMAP USB-HS platform data (part 3/3) ARM: OMAP: Consolidate OMAP USB-HS platform data (part 1/3) arm: socfpga: Add SMP support for actual socfpga harware arm: Add v7_invalidate_l1 to cache-v7.S arm: socfpga: Add entries to enable make dtbs socfpga arm: socfpga: Add new device tree source for actual socfpga HW ARM: tegra: sort Kconfig selects for Tegra114 ARM: tegra: enable ARCH_REQUIRE_GPIOLIB for Tegra114 ARM: tegra: Fix build error w/ ARCH_TEGRA_114_SOC w/o ARCH_TEGRA_3x_SOC ARM: tegra: Fix build error for gic update ARM: tegra: remove empty tegra_smp_init_cpus() ARM: shmobile: Register ARM architected timer ARM: MARCO: fix the build issue due to gic-vic-to-irqchip move ARM: shmobile: r8a7779: Correct TMU clock support ARM: mxs_defconfig: Select CONFIG_DEVTMPFS_MOUNT ARM: mxs: decrease mxs_clockevent_device.min_delta_ns to 2 clock cycles ARM: mxs: use apbx bus clock to drive the timers on timrotv2 ...
2013-02-05Merge tag 'cleanup-decompwdog-3.9' of ↵Olof Johansson
git://git.linaro.org/people/shawnguo/linux-2.6 into next/cleanup From Shawn Guo: The series cleans up ARCH_HAS_DECOMP_WDOG and arch_decomp_wdog which are unused on ARM architecure. Samsung has some code setting up wdog in arch_decomp_wdog(). But since CONFIG_S3C_BOOT_WATCHDOG is defined nowhere, it will not run. Otherwise, system can not boot at all when wdog is set up but no one pats it. * tag 'cleanup-decompwdog-3.9' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: samsung: remove unused arch_decomp_wdog() code ARM: remove unused arch_decomp_wdog() ARM: decompress: remove unused ARCH_HAS_DECOMP_WDOG Signed-off-by: Olof Johansson <olof@lixom.net>
2013-01-30ARM: mach-shmobile: add shmobile_cpu_disable_any()Ulrich Hecht
Method to disable any core to be used on platforms where CPU0 does not need special treatment. Signed-off-by: Ulrich Hecht <ulrich.hecht@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-25ARM: mach-shmobile: sh73a0: Minimal setup using DTSimon Horman
Allow a minimal setup of the sh73a0 SoC using a flattened device tree. In particular, Configure the i2c controllers using a flattened device tree. SCI serial controller and CMT clock source, whose drivers do not yet support configuration using a flattened device tree, are still configured using C code in order to allow booting of a board with this SoC. *** Please note that the clock initialisation scheme used in this patch does not currently work with SMP as there is a yet to be resolved lock-up in workqueue initialisation. CONFIG_SMP must be disabled when using this code. *** Includes update from Thierry Reding to no longer use gic_handle_irq() Cc: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au> fix
2013-01-25ARM: mach-shmobile: sh73a0: Allow initialisation of GIC by DTSimon Horman
This allows the GIC interrupt controller of the sh73a0 SoC to be initialised using a flattened device tree blob. It does not allow the INTC interrupt controller which is also present on the sh73a0 SoC to be enabled via device tree. Nor does it handle sharing of interrupts between the GIC and INTC interrupt controllers. This limits the usefulness of this code to applications which only wish to access devices which use interrupts that can be handled by the GIC interrupt controller. Other applications should, for now, continue using non-device tree initialisation of the sh72a0 interrupt controllers. Includes update to use irqchip_init() by Thierry Reding Cc: Thierry Reding <thierry.reding@avionic-design.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-25ARM: SH-Mobile: sh73a0: Secondary CPUs handle own SCU flagsBastian Hecht
When booting secondary CPUs we have used the main CPU to set up the Snoop Control Unit flags of these CPUs. It is a cleaner approach if every CPU takes care of its own flags. We avoid the need for locking and the program logic is more concise. With this patch the file headsmp-sh73a0.S is added that contains a startup vector for secondary CPUs that sets up its own SCU flags. Further in sh73a0_smp_prepare_cpus() we can rely on the generic ARM helper scu_power_mode(). This is possible as we don't cross borders anymore (every CPU handles its own flags) and need no locking. So we can throw out the needless function modify_scu_cpu_psr(). Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-25ARM: shmobile: r8a7740: Add CPU sleep suspendBastian Hecht
Add the lighest possible sleep mode on Cortex-A9 cores: CPU sleep. It is entered by a simple dsb and wfi instruction via cpu_do_idle(). As just clocks are stopped there is no need to save or restore any state of the system. Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com> Acked-by: Magnus Damm <damm@opensource.se> [ horms@verge.net.au: Added missing includes ] Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-25ARM: shmobile: sh73a0: Add CPU sleep suspendBastian Hecht
Add the lighest possible sleep mode on Cortex-A9 cores: CPU sleep. It is entered by a simple dsb and wfi instruction via cpu_do_idle(). As just clocks are stopped there is no need to save or restore any state of the system. Signed-off-by: Bastian Hecht <hechtb+renesas@gmail.com> Acked-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2013-01-25ARM: shmobile: add function declarations for sh7372 DT helper functionsGuennadi Liakhovetski
sh7372_add_early_devices_dt() and sh7372_add_standard_devices_dt() are defined as global functions in arch/arm/mach-shmobile/setup-sh7372.c, but their declarations are missing. Add them to common.h, where similar functions for this and other SoC types are already declared. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Simon Horman <horms@verge.net.au>
2013-01-11ARM: remove unused arch_decomp_wdog()Shawn Guo
With ARCH_HAS_DECOMP_WDOG removed from arch/arm/boot/compressed/decompress.c, all the arch_decomp_wdog() definition at platform level is unneeded. Remmove it. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Nicolas Pitre <nico@linaro.org> Acked-by: Jason Cooper <jason@lakedaemon.net>
2012-12-24ARM: delete struct sys_timerStephen Warren
Now that the only field in struct sys_timer is .init, delete the struct, and replace the machine descriptor .timer field with the initialization function itself. This will enable moving timer drivers into drivers/clocksource without having to place a public prototype of each struct sys_timer object into include/linux; the intent is to create a single of_clocksource_init() function that determines which timer driver to initialize by scanning the device dtree, much like the proposed irqchip_init() at: http://www.spinics.net/lists/arm-kernel/msg203686.html Includes mach-omap2 fixes from Igor Grinberg. Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Stephen Warren <swarren@nvidia.com>
2012-11-08ARM: shmobile: sh7372: sh7372_fsiXck_clk become non-globalKuninori Morimoto
FSI's external clock is controled by FSI driver. Global sh7372_fsiXck_clk is no-longer needed now. But it needs to set external clock rate by platform, so, this patch supports clk_get() interface. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>
2012-11-08ARM: shmobile: sh7372: sh7372_fsidivX_clk become non-globalKuninori Morimoto
Not only sh7372 but also many Renesas chip has FSI-DIV clock, and we can share its sh_clk_ops. To support common FSI-DIV clock, sh7372_fsidivX_clk becomes non-global by this patch. This is preparation for FSI DT support. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms@verge.net.au>