summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh4a
Commit message (Collapse)AuthorAgeFilesLines
...
| * sh: clkfwk branch compile fix for clock-sh7722Magnus Damm2009-05-221-1/+1
| | | | | | | | | | | | | | Fix clkfwk branch compile error in clock-sh7722.c. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: clkfwk: Add MSTP bits to SH7785 clock framework.Paul Mundt2009-05-142-6/+75
| | | | | | | | | | | | | | This plugs in all of the MSTP functions in to the clock framework, and hands them off to the platform devices that want them. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: clkfwk: rate table construction and rounding for SH7785.Paul Mundt2009-05-131-13/+96
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for constructing a rate table by looking at potential divisors for a specified clock. Each FQRMR clock is given its own table. Presently each table is rebuilt when the parent propagates down a new rate, so some more logic needs to be added to do this more intelligently. Additionally, a fairly generic round_rate() implementation is then layered on top of it, which subsequently provides us with cpufreq support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: clkfwk: Update SH7785 for refactored clock framework.Paul Mundt2009-05-131-101/+102
| | | | | | | | | | | | | | | | | | This updates the SH7785 CPU code as well as the SH7785LCR board support code for making use of the newly refactored clock framework. Support for the legacy CPG clocks is dropped at this point, with the extal frequency fed in from the board code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: clkfwk: Rework legacy CPG clock handling.Paul Mundt2009-05-136-5/+22
| | | | | | | | | | | | | | | | | | This moves out the old legacy CPG clocks to their own file, and converts over the existing users. With these clocks going away and each CPU dealing with them on their own, CPUs can gradually move over to the new interface. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: clkfwk: module_clk -> peripheral_clk rename.Paul Mundt2009-05-136-45/+45
| | | | | | | | | | | | | | For consistenct naming, and to allow us to fix up some confusion in the SH-Mobile clock framework, amongst other places. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * Merge branch 'master' into sh/clkfwkPaul Mundt2009-05-125-0/+895
| |\
| * | sh: clkfwk: Use arch_clk_init() for on-chip clock registration.Paul Mundt2009-05-125-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPUs registering on-chip clocks should be using arch_clk_init() with the new scheme so that the CPUs have the opportunity to establish the topology prior to the initial root clock rate propagation. This ensures that CPUs with on-chip clocks that use CLK_ENABLE_ON_INIT are properly enabled at the initial propagation time, without having to further poke the root clocks. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Kill off clk_recalc_rate().Paul Mundt2009-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The only user for this is the SH-Mobile r_clk, which is now added as a root clock and can be kicked via propagate_rate() as usual. Given that, there is no longer any need for the special clk_recalc_rate(), so we kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Tidy up on-chip clock registration and rate propagation.Paul Mundt2009-05-125-64/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tidies up the set_rate hack that the on-chip clocks were abusing to trigger rate propagation, which is now handled generically. Additionally, now that CLK_ENABLE_ON_INIT is wired up where it needs to be for these clocks, the clk_enable() can go away. In some cases this was bumping up the refcount higher than it should have been. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Fix up the clk_enable() error path.Paul Mundt2009-05-121-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of instances where a clk_enable() can fail, which the SH-Mobile code presently handles, but doesn't get reported all the way back up. This fixes up the return type so the errors make it all the way down to the drivers. Additionally, we now also error out properly if the parent enable fails. Prep work for aggressively turning off unused clocks on boot. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Convert SH-Mobile CPUs to use CLK_ENABLE_ON_INIT.Paul Mundt2009-05-126-209/+183
| | | | | | | | | | | | | | | | | | | | | Kill off all of the clk_always_enabled leftovers and use the new flag directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Consolidate the ALWAYS_ENABLED / NEEDS_INIT mess.Paul Mundt2009-05-125-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no real distinction here in behaviour, either a clock needs to be enabled on initialiation or not. The ALWAYS_ENABLED flag was always intended to only apply to clocks that were physically always on and could simply not be disabled at all from software. Unfortunately over time this was abused and the meaning became a bit blurry. So, we kill off both of all of those paths now, as well as the newer NEEDS_INIT flag, and consolidate on a CLK_ENABLE_ON_INIT. Clocks that need to be enabled on initialization can set this, and it will purposely enable them and bump the refcount up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: refactor rate propagation.Paul Mundt2009-05-121-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This resyncs the rate propagation strategy with the scheme used by the OMAP clock framework. Child clocks are tracked on a list under each parent and propagation happens there specifically rather than constantly iterating over the global clock list. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Add a followparent_recalc() helper.Paul Mundt2009-05-122-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | This adds a followparent_recalc() helper for clocks that just follow the parent's rate. Switch over the few CPUs that use this scheme for some of their clocks. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Make recalc return an unsigned long.Paul Mundt2009-05-127-70/+65
| | | | | | | | | | | | | | | | | | | | | This is prep work for cleaning up some of the rate propagation bits. Trivial conversion. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: intc tables for sh7770Magnus Damm2009-05-141-0/+246
| |/ |/| | | | | | | | | | | | | This patch adds INTC tables for sh7770, thanks goes to Paul for the first prototype version. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: TMU platform data for sh7724Magnus Damm2009-05-121-0/+195
| | | | | | | | | | | | | | | | This patch adds TMU platform data for sh7724. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: TMU platform data for sh7366Magnus Damm2009-05-121-0/+98
| | | | | | | | | | | | | | | | This patch adds TMU platform data for sh7366. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: TMU platform data for sh7343Magnus Damm2009-05-121-0/+98
| | | | | | | | | | | | | | | | This patch adds TMU platform data for sh7343. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: TMU platform data for sh7770Magnus Damm2009-05-121-0/+300
| | | | | | | | | | | | | | | | This patch adds TMU platform data for sh7770. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: TMU platform data for sh7763Magnus Damm2009-05-121-0/+204
|/ | | | | | | | This patch adds TMU platform data for sh7763. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7780Magnus Damm2009-05-111-0/+204
| | | | | | | | This patch adds TMU platform data for sh7780. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add clock id to sh-sci platform data on SH-Mobile CPUs.Paul Mundt2009-05-085-0/+20
| | | | | | | This adds the clock specifier to all of the SH-Mobile sh-sci ports. Impacted CPUs are SH7343/SH7366/SH7722/SH7723/SH7724. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for SH-X3 proto CPU.Paul Mundt2009-05-081-2/+207
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for SH7786.Paul Mundt2009-05-081-0/+393
| | | | | | | Wires up all 12 TMU channels, with TMU0 and 1 used as clockevent and clocksource respectively. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7723Magnus Damm2009-05-081-1/+195
| | | | | | | | | This patch adds TMU platform data for sh7723. Both clockevent and clocksource support is enabled. While at it, adjust the CMT clocksource rating to prioritize the TMU. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: enable TMU clocksource on sh7722Magnus Damm2009-05-081-2/+2
| | | | | | | | | This patch enables the TMU clocksource on sh7722. To prioritize TMU over CMT we also adjust the CMT clock source rating. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7785Magnus Damm2009-05-081-0/+204
| | | | | | | | This patch adds TMU platform data for sh7785. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate MTU2/CMT/TMU timer platform data.Paul Mundt2009-05-035-14/+13
| | | | | | | | | All of the SH timers use a roughly identical structure for platform data, which presently is broken out for each block. Consolidate all of these definitions, as there is no reason for them to be broken out in the first place. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7722Magnus Damm2009-05-031-0/+99
| | | | | | | | | This patch adds TMU platform data for sh7722. Only clockevent mode is enabled for now, clocksource requires this patch: "clocksource: setup mult_orig in clocksource_enable()" Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7724: Register CMT as an early platform device here too.Paul Mundt2009-04-191-0/+10
| | | | | | Follows the SH7722/SH7723 changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7724: Don't default enable the RTC clock.Paul Mundt2009-04-191-1/+0
| | | | | | rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
*-. Merge branches 'sh/earlytimer' and 'sh/shmobile-r2r-staging'Paul Mundt2009-04-198-12/+2920
|\ \
| | * sh: sh7724: Add CMT clockevents support.Paul Mundt2009-04-161-0/+33
| | | | | | | | | | | | | | | | | | This enables support for the CMT clockevents driver on SH7724. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: sh7724: Add VEU support.Kuninori Morimoto2009-04-161-0/+64
| | | | | | | | | | | | | | | | | | | | | This adds uio_pdrv_genirq support for the VEU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: sh7724: Add VPU support.Kuninori Morimoto2009-04-161-0/+33
| | | | | | | | | | | | | | | | | | | | | This adds uio_pdrv_genirq support for the VPU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: sh7724: Add I2C support.Kuninori Morimoto2009-04-161-0/+46
| | | | | | | | | | | | | | | | | | | | | This adds support for the SH-Mobile I2C controller on the SH7724. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.Kuninori Morimoto2009-04-164-12/+2704
| | | | | | | | | | | | | | | | | | | | | | | | This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Early Platform Data for SuperH MobileMagnus Damm2009-04-194-0/+40
| |/ | | | | | | | | | | | | | | Use plat_early_device_setup() to register Early Platform Data for SuperH Mobile processors. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7723: Don't default enable the RTC clock.Paul Mundt2009-04-161-1/+0
| | | | | | | | | | | | rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7722: Don't default enable the RTC clock.Paul Mundt2009-04-161-1/+0
|/ | | | | | rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7786: modify usb setup timeout judgment bug.Kuninori Morimoto2009-04-141-7/+7
| | | | | | | | | | | | | | | This corrects a race with the PHY RST bit not being set properly if the PLL status changes right before timeout. This resulted in it potentially failing even if the device came up in time. Special thanks to Mr. Juha Leppanen and Iwamatsu-san for reporting this out and reviewing it. Reported-by: Juha Leppanen <juha_motorsportcom@luukku.com> Reviewed-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Tested-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Tidy up sh7786 pinmux table.Kuninori Morimoto2009-03-311-145/+39
| | | | | | | Formatting and typo fix. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Remove buggy definition from SH7786 pinmux_data[]Kuninori Morimoto2009-03-311-1/+0
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate SH-Mobile CPU code in arch/sh/kernel/cpu/shmobile/.Paul Mundt2009-03-163-221/+0
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: SuperH Mobile suspend supportMagnus Damm2009-03-163-0/+221
| | | | | | | | | | | | | | This patch contains CONFIG_SUSPEND support to the SuperH architecture. If enabled, SuperH Mobile processors will register their suspend callbacks during boot. To suspend, use "echo mem > /sys/power/state". To allow wakeup, make sure "/sys/device/platform/../power/wakeup" contains "enabled". Additional per-device driver patches are most likely needed. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add OHCI USB support for SH7786Kuninori Morimoto2009-03-161-0/+83
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Restore RTC IRQ setting for SH7763 setup.Nobuhiro Iwamatsu2009-03-061-0/+1
| | | | | | | This was accidentally dropped in the multiple vectors per irq conversion. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7763Nobuhiro Iwamatsu2009-03-061-76/+37
| | | | | | | | | | | | Update intc tables and platform data to use one linux irq per maskable interrupt source instead of keeping the one-to-one mapping between vectors and linux irqs. This fixes potential irq masking issues for sh7763 hardware blocks such as RTC/SCIF/DMAC/GETHER/PCIC5/MMCIF/SIM/GPIO/USBF. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud