summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu
Commit message (Collapse)AuthorAgeFilesLines
...
* sh: Finish the sh64 migration off of ARCH_USES_GETTIMEOFFSET.Paul Mundt2009-05-081-0/+118
| | | | | | | | This adds sh_tmu support to the SH-5 subtypes, which subsequently allows us to kill off time_64.c and use the now generic time_32.c. As a bonus, SH-5 now supports highres timers and tickless for the first time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move out rtc-sh registration from time_64.c to setup-sh5.cPaul Mundt2009-05-081-0/+31
| | | | | | | Now that the onchip_remap() mess is sorted out, the rtc-sh support code for SH-5 can follow the same approach as the other CPUs. 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: call clock framework init() callback onceMagnus Damm2009-05-081-3/+6
| | | | | | | | | Make sure that clk->ops->init() only gets called once in the case of CLK_ALWAYS_ENABLED. Without this patch the init() callback may be called multiple times. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off unused SH-5 irq_describe cruft.Paul Mundt2009-05-071-22/+0
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Integrate the SH-5 onchip_remap() more coherently.Paul Mundt2009-05-075-6/+55
| | | | | | | | | | | Presently this is special-cased for early initialization. While there are situations where these static early initializations are still necessary, with minor changes it is possible to use this for the regular ioremap implementation as well. This allows us to kill off the special-casing for the remap completely and to start tidying up all of the SH-5 special-casing in drivers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate MTU2/CMT/TMU timer platform data.Paul Mundt2009-05-0310-38/+35
| | | | | | | | | 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: sh2a MTU2 platform dataMagnus Damm2009-05-034-1/+400
| | | | | | | | | | | This patch adds MTU2 platform data for the following cpus: - sh7201 (3/5 channels) - sh7203/sh7263 (2/4 channels) - sh7206 (3/5 channels) - MXG (3/5 channels) Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove obsolete hw_interrupt_typeThomas Gleixner2009-05-032-2/+2
| | | | | | | | | | Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'timers/clocksource' of ↵Paul Mundt2009-05-031-2/+3
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
| * sh: Use __INIT macro instead of .text.init.Tim Abbott2009-04-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The sh architecture has some code in the .text.init section, but it does not reference that section in its linker scripts. This change moves this code from the .text.init section to the .init.text section, which is presumably where it belongs. Signed-off-by: Tim Abbott <tabbott@mit.edu> Acked-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | sh: sh2/sh2a 16-bit CMT platform dataMagnus Damm2009-04-303-0/+252
| | | | | | | | | | | | | | | | | | | | This patch adds 16-bit cmt platform data for the following cpus: - sh7619 (2 channels) - sh7203/sh7263 (2 channels) - sh7206 (2 channels) 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-199-12/+2926
|\ \ \ | |_|/ |/| |
| | * 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-165-12/+2710
| | | | | | | | | | | | | | | | | | | | | | | | 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: Fix up DSP context save/restore.Michael Trimarchi2009-04-041-79/+6
| | | | | | | | | | | | | | | | There were a number of issues with the DSP context save/restore code, mostly left-over relics from when it was introduced on SH3-DSP with little follow-up testing, resulting in things like task_pt_dspregs() referencing incorrect state on the stack. This follows the MIPS convention of tracking the DSP state in the thread_struct and handling the state save/restore in switch_to() and finish_arch_switch() respectively. The regset interface is also updated, which allows us to finally be rid of task_pt_dspregs() and the special cased task_pt_regs(). Signed-off-by: Michael Trimarchi <michael@evidence.eu.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off broken direct-mapped cache mode.Paul Mundt2009-04-021-5/+0
| | | | | | | | | | Forcing direct-mapped worked on certain older 2-way set associative parts, but was always error prone on 4-way parts. As these are the norm these days, there is not much point in continuing to support this mode. Most of the folks that used direct-mapped mode generally just wanted writethrough caching in the first place.. 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: Support for extended ASIDs on PTEAEX-capable SH-X3 cores.Paul Mundt2009-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | This adds support for extended ASIDs (up to 16-bits) on newer SH-X3 cores that implement the PTAEX register and respective functionality. Presently only the 65nm SH7786 (90nm only supports legacy 8-bit ASIDs). The main change is in how the PTE is written out when loading the entry in to the TLB, as well as in how the TLB entry is selectively flushed. While SH-X2 extended mode splits out the memory-mapped U and I-TLB data arrays for extra bits, extended ASID mode splits out the address arrays. While we don't use the memory-mapped data array access, the address array accesses are necessary for selective TLB flushes, so these are implemented newly and replace the generic SH-4 implementation. With this, TLB flushes in switch_mm() are almost non-existent on newer parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clkfwk: Safer resume from hibernation.Francesco VIRLINZI2009-03-161-1/+3
| | | | | | | | | | This patch fixes a possible problem in the resume from hibenration. It temporaneally saves the clk->rate on the stack to avoid any possible change during the clk->set_parent(..) call. Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.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-165-4/+7
| | | | 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: Fix compile error by operands(mov.l) in sh3/entry.SNobuhiro Iwamatsu2009-03-161-1/+1
| | | | | | | | | | | -- log -- arch/sh/kernel/cpu/sh4/../sh3/entry.S:365: Error: invalid operands for opcode make[4]: *** [arch/sh/kernel/cpu/sh4/../sh3/entry.o] Error 1 make[3]: *** [arch/sh/kernel/cpu/sh4] Error 2 -- log -- Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> 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: clkfwk: Add resume from hibernation support.Francesco VIRLINZI2009-03-111-0/+64
| | | | | | | | This patch adds PM support to the clock framework. With this, resume from hibernation is properly supported. Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clkfwk: add clk_set_parent/clk_get_parentFrancesco VIRLINZI2009-03-111-0/+29
| | | | | | | | This patch adds the clk_set_parent/clk_get_parent routines to the sh clock framework. Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: hibernation supportMagnus Damm2009-03-104-5/+167
| | | | | | | | | | | | | | | | | Add Suspend-to-disk / swsusp / CONFIG_HIBERNATION support to the SuperH architecture. To suspend, use "swapon /dev/sda2; echo disk > /sys/power/state" To resume, pass "resume=/dev/sda2" on the kernel command line. The patch "pm: rework includes, remove arch ifdefs V2" is needed to allow the generic swsusp code to build properly. Hibernation is not enabled with this patch though, a patch setting ARCH_HIBERNATION_POSSIBLE will be submitted later. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7720.Paul Mundt2009-03-061-45/+23
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7710.Paul Mundt2009-03-061-48/+21
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7705.Paul Mundt2009-03-061-42/+19
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh770x.Paul Mundt2009-03-061-47/+21
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - mxg.Paul Mundt2009-03-061-42/+23
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7619.Paul Mundt2009-03-061-22/+12
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7206.Paul Mundt2009-03-061-96/+58
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7201.Paul Mundt2009-03-061-144/+80
| | | | | | Follow the conversions as per the other subtypes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7263.Paul Mundt2009-03-061-19/+10
| | | | | | Convert over the SH7263 IRQ groups as well. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: multiple vectors per irq - sh7203.Paul Mundt2009-03-061-140/+73
| | | | | | Follow the conversions as per the other subtypes. 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