aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/drivers (follow)
AgeCommit message (Collapse)AuthorFilesLines
2007-07-24sh: Fix Dreamcast DMA issues.Adrian McMenamin1-3/+4
The current SH DMA API is somewhat broken, not correctly matching virtual channel to the correct SH DMAC. This wasn't noticeable when using g2 DMA for the sound driver - one channel 0 is as good as any other! - but caused the pvr2 driver to fail. This patch fixes the pvr2 problem and consequently fixes the sound driver to ensure it continues to function. Signed-off by: Adrian McMenamin <adrian@mcmen.demon.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: heartbeat: Shut up resource size warning.Paul Mundt1-1/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: update r2d defconfig and fix SH7751R pci compliationMagnus Damm1-0/+1
This patch updates the r2d board support in a few ways: - CPU_SUBTYPE_SH7751R is selected in the defconfig to play well with the r2d board Kconfig entry. Without this the defconfig results in no board enabled. - Enable EARLY_PRINTK. - Enable SH_STANDARD_BIOS - this works well for early printk on the r2d board. - Add "earlyprink=bios" to the cmdline for early serial port output by default. - CONFIG_SUBTYPE_SH7751R support is added to the sh-specific pci makefile. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: Make on-chip DMA channel selection explicit.Paul Mundt1-1/+1
Currently this has a prompt to allow users to change it. There's no reason to do this, and it has caused breakage and confusion in the past, so remove it entirely. We'll get rid of this when the whole driver is tidied for the driver model. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: Fix up CPU dependencies for on-chip DMAC.Paul Mundt1-0/+1
We only handle SH-3 and SH-4 at present, don't expose it to the other CPUs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: Fix up PCI section mismatch warnings.Paul Mundt3-3/+3
Flag pcibios_setup() and pcibios_fixup_bus() as __devinit. Follows the sh64 change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20sh: push-switch: Correct license string.Paul Mundt1-1/+1
This was accidentally set as "GPLv2", whereas the kernel expects v2 to be written "GPL v2", this caused complaints regarding the use of the platform device APIs when built as a module. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Kill off broken dma page ops.Paul Mundt1-17/+0
There's no point in keeping these around, they've been broken for some time, and the dmaenging/async_tx framework provides a far more reasonable interface. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-11sh: Tidy up dependencies for SH-2 build.Paul Mundt1-0/+1
SH-2 can presently get in to some pretty bogus states, so we tidy up the dependencies a bit and get it all building again. This gets us a bit closer to a functional allyesconfig and allmodconfig, though there are still a few things to fix up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-31sh: Trivial fix for dma-api compile failure.Manuel Lauss1-0/+1
Trivial fix for arch/sh/drivers/dma/dma-api.c compile failure: CC arch/sh/drivers/dma/dma-api.o a/arch/sh/drivers/dma/dma-api.c: In function 'dma_wait_for_completion': a/arch/sh/drivers/dma/dma-api.c:233: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) a/arch/sh/drivers/dma/dma-api.c:233: error: (Each undeclared identifier is reported only once a/arch/sh/drivers/dma/dma-api.c:233: error: for each function it appears in.) a/arch/sh/drivers/dma/dma-api.c:233: warning: implicit declaration of function 'schedule' Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-21spelling fixes: arch/sh/Simon Arlott7-9/+9
Spelling fixes in arch/sh/. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-09sh: SH7760 DMABRG support.Manuel Lauss4-9/+214
The DMABRG is a special DMA unit within the SH7760 which does data transfers from main memory to Audio units and USB shared memory. It has 3 IRQ lines which generate 10 events, which have to be masked unmasked and acked in a single 32bit register. It works independently from the tradition SH DMAC, but blocks usage of DMAC channel 0. This patch adds 2 functions to associate callbacks with DMABRG events and initialization. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-08header cleaning: don't include smp_lock.h when not usedRandy Dunlap1-1/+0
Remove includes of <linux/smp_lock.h> where it is not used/needed. Suggested by Al Viro. Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc, sparc64, and arm (all 59 defconfigs). Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-07sh: R7785RP board updates.Ryusuke Sakato1-11/+1
Some fixups for the R7785RP board. Gets iVDR working. Signed-off-by: Ryusuke Sakato <sakato.ryusuke@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: se7780 PCI support.Nobuhiro Iwamatsu3-0/+157
Add support for the SH7780 PCIC on the Solution Engine 7780, missing from the previous board-support patch. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: SH7780 Solution Engine board support.Nobuhiro Iwamatsu2-8/+38
This adds support for the SH7780-based Solution Engine reference board. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.zh@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: Add a dummy SH-4 PCIC fixup.Paul Mundt2-9/+12
By default we don't have anything to fix up for the SH-4 PCIC, boards can overload this as necessary. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: L-BOX RE2 support.Nobuhiro Iwamatsu4-1/+106
This adds support for the L-BOX RE2 router. http://www.nttcom.co.jp/l-box/ L-BOX RE2 is a SH7751R-based router. It has CF, Cardbus, serial, and LAN x2. This is one of the very few SH boards that a general person can obtain now. The L-BOX shipped with a 2.4.28 kernel, this is a rewritten patch adding it to current git. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: landisk updates.kogiidena1-2/+2
Updates for the landisk board: - The push_switch framework was used. - landisk_pwb.c was divided into psw.c and gio.c. - pata_platform was supported in USL-5P. - irq.c was rewritten. - io.c was replaced with generic I/O routines. Signed-off-by: kogiidena <kogiidena@eggplant.ddo.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: heartbeat double 0 fix.Takashi YOSHII1-10/+3
This implements stricter and more compliant knightrider strobing in the heartbeat handler. While there still seems to be some debate as to whether the double 0 is "more" correct or not, this updated version appears to have general consensus. Fixes a long-term "bug". Signed-off-by: Takashi YOSHII <takashi.yoshii.ze@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-07sh: Add SH7785 Highlander board support (R7785RP).Paul Mundt6-17/+55
This adds preliminary support for the SH7785-based Highlander board. Some of the Highlander support code is reordered so that most of it can be reused directly. This also plugs in missing SH7785 checks in the places that need it, as this is the first board to support the CPU. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-03-12sh: Fix PCI BAR address-space wraparound.Hideo Saito1-0/+6
When a SH7751R system includes a card that has wide range space like a graphics card, the pci-pci bridge controller can't set the correct address range. For example, when *lower_limit is 0xfd000000 and bar_size is 0x4000000, in the following code at arch/sh/drivers/pci/pci-auto.c, 0x0 is set in bar_value. pciauto_setup_bars() { ... bar_value = ((*lower_limit - 1) & ~(bar_size - 1)) + bar_size; ... *lower_limit = bar_value + bar_size; } As a result, 0x4000000 is set in *lower_limit, but this value is wrong. The following patch avoids this problem by checking the range of the value and refusing to update the BAR if the calculated value ends up being bogus. Signed-off-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-02-14sh: Kill off dead bigsur and ec3104 boards.Paul Mundt3-93/+0
Neither of these have had any maintenance in years, and there's no interest in keeping them straggling along. These have already been slated for removal some time, so finally just get rid of them. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-02-13sh: Compile fix for heartbeat consolidation.Paul Mundt1-0/+132
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-02-13sh: heartbeat consolidation for banked LEDs.Paul Mundt1-0/+1
This consolidates the various board heartbeat LED implementations, used for strobing the load average across a LED bank. Those boards not implementing a full bank can hook in via the LED class. We leave the compat hook in the machvec for now until those non-banked boards are able to migrate to the drivers/leds. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-02-13sh: SH-DMAC compile fixesManuel Lauss1-29/+16
This patch does the following: - remove the make_ipr_irq stuff from dma-sh.c and replace it with a simple channel<->irq mapping table. - add DMTEx_IRQ constants for sh4 cpus - fix sh7751 DMAE irq number The SH7780 uses the same IRQs for DMA as other SH4 types, so I put the constants on top of the dma.h file. Other CPU types need to #define their own DMTEx_IRQ contants in their appropriate header. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-12sh: push-switch fixups for work_struct API damage.Paul Mundt1-5/+8
INIT_WORK() dropped the data arg, so now we have to stash an extra pointer and backpedal instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: sh775x/titan fixes for irq header changes.Jamie Lenehan1-14/+10
The following moves the creation of IPR interupts into setup-7750.c and updates a few other things to make it all work after the "Drop CPU subtype IRQ headers" commit. It boots and runs fine on my titan board. - adds an ipr_idx to the ipr_data and uses a function in the subtype code to calculate the address of the IPR registers - adds a function to enable individual interrupt mode for externals in the subtype code and calls that from the titan board code instead of doing it directly. - I changed the shift in the ipr_data to be the actual # of bits to shift, instead of the numnber / 4 - made it easier to match with the manual. Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: dma-api channel capability extensions.Mark Glaisher1-85/+189
This extends the SH DMA API for allowing handling of DMA channels based off of their respective capabilities. A couple of functions are added to the existing API, the core bits are register_chan_caps() for registering channel capabilities, and request_dma_bycap() for fetching a channel dynamically based off of a capability set. Signed-off-by: Mark Glaisher <mark.glaisher@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: Drop name overload in dma-sh.Paul Mundt1-8/+1
Pass along the dev_id from request_dma() all the way down, rather than inserting an artificial name relating to the TEI line that we were doing before. This makes the line a bit less obvious, but dev_id is the proper behaviour for this regardless. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: Make dma-isa depend on ISA_DMA_API.Paul Mundt1-2/+2
Previously we linked in the ISA DMA wrapper unconditionally. As there are very few users of this, it's better to make it conditional. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: dma-sysfs fixes.Paul Mundt1-8/+15
Handle the case where no registered DMACs exist somewhat more gracefully. While we're at it, check for sysdev_create_file() failing. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: generic push-switch framework.Paul Mundt3-1/+148
This adds support for a generic push switch framework. Adaptable for various switches, including GPIO switches and the push switches commonly found on Renesas debug boards. This allows switch states to be trivially reported through sysfs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-12-06sh: Drop CPU subtype IRQ headers.Paul Mundt1-0/+14
This drops the various IRQ headers that were floating around and primarily providing hardcoded IRQ definitions for the various CPU subtypes. This quickly got to be an unmaintainable mess, made even more evident by the subtle breakage introduced by the SH-2 and SH-2A changes. Now that subtypes are able to register IRQ maps directly, just rip all of the headers out. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-31sh: Fix IPR-IRQ's for IRQ-chip change breakage.Jamie Lenehan1-16/+26
The conversion from IPR-IRQ to IRQ-chip resulted in the ipr data being allocated in a local variable in make_ipr_irq - breaking anything using IPR interrupts. This changes all of the callers of make_ipr_irq to allocate a static structure containing the IPR data which is then passed to make_ipr_irq. This removes the need for make_ipr_irq to allocate any additional space for the IPR information. Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-19sh: Cleanup board header directories.Paul Mundt2-15/+11
Now with the ide.h mess sorted out, most of these boards don't need their own directory. Move the headers out, and update the driver paths. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-06sh: Fix pr_debug statements for sh4Jamie Lenehan1-2/+2
Fix a problem uncovered by the recent change to always check the arguments to pr_debug. The sh7751 was using the wrong name for the PCI IO base address. Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-06sh: Updates for IRQ handler changes.Paul Mundt4-6/+6
Trivial fixes for build breakage introduced by IRQ handler changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-03fix file specification in commentsUwe Zeisberger6-6/+6
Many files include the filename at the beginning, serveral used a wrong one. Signed-off-by: Uwe Zeisberger <Uwe_Zeisberger@digi.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
2006-10-03sh: Kill off remaining config.h references.Paul Mundt4-7/+0
A few of these managed to sneak back in, get rid of them once and for all. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-10-03sh: build fixes for defconfigs.Paul Mundt2-7/+5
Get all of the defconfigs building again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: More cosmetic cleanups and trivial fixes.Paul Mundt2-4/+7
Nothing exciting here, just trivial fixes.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fixup TEI IRQ requests in request_dma().Paul Mundt1-2/+5
If a channel is not TEI capable, don't try to request_irq().. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: G2 DMA IRQ and residue sampling.Paul Mundt1-13/+41
This fixes a long-standing FIXME for G2 DMA, where we finally wire up the IRQ handler and allow for sampling remaining bytes while in-flight. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Inhibit mapping PCI apertures through page tables.Paul Mundt1-11/+9
Inhibit mapping through page tables in __ioremap() for PCI memory apertures on SH7751 and SH7780-style PCI controllers, translation is not possible for these areas. For other users that map a small window in P1/P2 space, ioremap() traps that already, and should never make it to __ioremap(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Consolidated SH7751/SH7780 PCI support.Paul Mundt20-932/+638
This cleans up quite a lot of the PCI mess that we currently have, and attempts to consolidate the duplication in the SH7780 and SH7751 PCI controllers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Add support for R7780RP and R7780MP boards.Paul Mundt9-31/+651
This adds support for the Renesas SH7780 development boards, R7780RP and R7780MP. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: ioremap() overhaul.Paul Mundt1-4/+17
ioremap() overhaul. Add support for transparent PMB mapping, get rid of p3_ioremap(), etc. Also drop ioremap() and iounmap() routines from the machvec, as everyone can use the generic ioremap() API instead. For PCI memory apertures and other special cases, use the pci_iomap() API, as boards are already required to get the mapping right there. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Titan board support.Jamie Lenehan3-12/+131
Add support for the titan board. Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Various cosmetic cleanups.Paul Mundt1-3/+2
We had quite a bit of whitespace damage, clean most of it up.. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch> Signed-off-by: Paul Mundt <lethal@linux-sh.org>