aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-01-29sh: support PCI domains.Paul Mundt1-2/+15
Newer SH parts are now commonly shipping with multiple controllers, so we wire up PCI domain support to deal with them. Shamelessly cloned from the MIPS implementation. Signed-off-by: Paul Mundt <[email protected]>
2010-01-29sh: Bail out early on PCI resource conflicts.Paul Mundt1-13/+9
Presently we just call in to request_resource() for the ioport and iomem resources without checking for errors. This has already hidden a couple of bugs, so add some error handling in for good measure. Signed-off-by: Paul Mundt <[email protected]>
2010-01-29sh: Reworked SH7780 PCI initialization.Paul Mundt5-145/+102
This consolidates the PCI initialization code for all of the pci-sh7780 users, and sets up the memory window dynamically as opposed to using hardcoded window positions. A number of bugs were fixed at the same time, including the PIO handling and master abort timeout settings being incorrect. Signed-off-by: Paul Mundt <[email protected]>
2010-01-28sh: Fix up read-only variable assignment in pcibios_align_resource().Paul Mundt1-3/+1
arch/sh/drivers/pci/pci.c:167: error: assignment of read-only location '*res' Signed-off-by: Paul Mundt <[email protected]>
2010-01-26sh: Mass ctrl_in/outX to __raw_read/writeX conversion.Paul Mundt8-49/+49
The old ctrl in/out routines are non-portable and unsuitable for cross-platform use. While drivers/sh has already been sanitized, there is still quite a lot of code that is not. This converts the arch/sh/ bits over, which permits us to flag the routines as deprecated whilst still building with -Werror for the architecture code, and to ensure that future users are not added. Signed-off-by: Paul Mundt <[email protected]>
2010-01-15sh: Generalize SH7786 PCIe support.Paul Mundt1-2/+1
Previously this was only built in for Urquell boards, but the same approach can be used on SDK7786 now that the mode pin reading is supported, so make it generic to SH7786. Signed-off-by: Paul Mundt <[email protected]>
2010-01-15sh: heartbeat: Support access size specification via resource flags.Paul Mundt1-5/+17
This permits the resource access size to be handed off through the resource flags, which saves platforms from having to establish platform data only to specify the register width. Signed-off-by: Paul Mundt <[email protected]>
2009-12-12sh: move machtypes.h to include/generatedSam Ravnborg1-1/+1
Signed-off-by: Sam Ravnborg <[email protected]> Cc: Paul Mundt <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Michal Marek <[email protected]>
2009-11-13sh: dma: Kill off bogus dma_sysclass symbol export.Paul Mundt1-2/+0
This is a static symbol, so the export is wholly superfluous. Recent kbuild updates flagged this as an error, resulting in build failure, so this tidies that up. Signed-off-by: Paul Mundt <[email protected]>
2009-10-27sh: Kill off superfluous arch/sh/drivers/pci/Kconfig.Paul Mundt1-7/+0
Now that this contains a grand total of 1 Kconfig option, it's hardly worth keeping split out. Roll CONFIG_PCI back in to the top-level architecture Kconfig, along with the other bus types. Signed-off-by: Paul Mundt <[email protected]>
2009-10-27sh: Revamp PCI DMA coherence Kconfig bits.Paul Mundt1-12/+0
Leaving this configurable caused more trouble than it was ever worth, so just make it explicit. Boards that are verified one way or the other can fix up their selects accordingly. We presently default to non-coherent for most platforms. Signed-off-by: Paul Mundt <[email protected]>
2009-09-23Merge branch 'next' of ↵NeilBrown2-5/+10
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx into for-linus
2009-09-08dmaengine: sh: Add Support SuperH DMA Engine driverNobuhiro Iwamatsu2-5/+10
This supported all DMA channels, and it was tested in SH7722, SH7780, SH7785 and SH7763. This can not use with SH DMA API. Signed-off-by: Nobuhiro Iwamatsu <[email protected]> Reviewed-by: Matt Fleming <[email protected]> Acked-by: Maciej Sosnowski <[email protected]> Acked-by: Paul Mundt <[email protected]> Signed-off-by: Dan Williams <[email protected]>
2009-08-24sh: Allow use of GENERIC_IOMAPDavid McKay1-0/+4
The synopsys PCI cell used in the later STMicro chips requires code to be run in order to do IO cycles, rather than just memory mapping the IO space. Rather than extending the existing SH infrastructure to allow this, use the GENERIC_IOMAP implmentation to save re-inventing the wheel. This set of changes allows the SH to be built with GENERIC_IOMAP enabled, it just ifdef's out the functions provided by the GENERIC_IOMAP implementation, and provides a few required missing functions. Signed-off-by: David McKay <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-08-19sh: Add SH7724 support to NR_ONCHIP_DMA_CHANNELSKuninori Morimoto1-3/+3
This patch also update help comment Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-08-18sh: Prevent heartbeat from scribbling over non-LED bits.Kuninori Morimoto1-0/+10
While most platforms implement LED banks in sets of 8/16/32, some use different configurations. This adds a LED mask to the heartbeat platform data to allow platforms to constrain the bitmap, which is otherwise derived from the register size. Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-06-17sh: pci: Initial PCI-Express support for SH7786 Urquell board.Paul Mundt2-0/+356
This adds initial support for the PCI-Express module in the SH7786, particularly as it relates to the urquell platform. Presently it is only supported in root complex mode, with endpoint mode still requiring more debugging. 29/32-bit mode and lane configurations are selectable via board mode pins, and are otherwise fixed. Only 4x and 1x PCI channels are presently handled, the PCI bridge still requires additional debugging and stabilization in hardware. Signed-off-by: Paul Mundt <[email protected]>
2009-06-16sh: pci: SH7786 PCI ops.Paul Mundt3-0/+724
This adds in preliminary support for the SH7786 PCIe module PCI ops, and the corresponding module definitions. Signed-off-by: Paul Mundt <[email protected]>
2009-06-16sh: pci: Allow register_pci_controller() to handle overlapping regions.Paul Mundt1-12/+2
Some host controllers (such as SH7786) have overlapping regions that are fixed in hardware. The resource allocator does the right thing in managing this space already, so the conflict case is non-fatal. Signed-off-by: Paul Mundt <[email protected]>
2009-06-14sh: pci: remove duplicated #include'sHuang Weiyi1-1/+0
Signed-off-by: Huang Weiyi <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-05-27sh: pci-sh7780: Fix up for PCI_DISABLE_MWI changes.Paul Mundt1-6/+1
This fixes a build error where references to pci_cache_line_size are undefined, as this ceases to be exported when PCI_DISABLE_MWI is enabled, as is now the default. Signed-off-by: Paul Mundt <[email protected]>
2009-05-26sh: pci-sh7751: Initialize io_map_base in controller definition.Paul Mundt1-3/+2
As there is only a single controller and remapping has no impact for the address range in question, just initialize it directly in the controller definition. This fixes up boot time warnings about not having the field initialized. Signed-off-by: Paul Mundt <[email protected]>
2009-05-11sh: multiple vectors per irq - sh7760Magnus Damm1-1/+2
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 sh7760 hardware blocks such as DMAC/TMU2/REF. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-05-07sh: Integrate the SH-5 onchip_remap() more coherently.Paul Mundt1-2/+2
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 <[email protected]>
2009-04-20sh: pci: Rename pci-new.c to pci.c.Paul Mundt3-5/+1
pci-new.c is now in a state to replace the old pci.c, rename it accordingly. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Roll pci-lib in to pci-new.Paul Mundt3-225/+221
Now that the pci-auto cruft is gone, pci-lib can go away. Roll it back in to pci-new.c where it originally split off from. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off the last remnants of the now unused pci-auto code.Paul Mundt4-640/+0
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/.Paul Mundt2-0/+112
The se7751 was still doing the PCI fixups in its own board directory, so we move it over to arch/sh/drivers/pci/ with the rest of the board fixups. It has bitrotted significantly over the years, so will still likely need a bit of work to bring back up to date. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Convert dreamcast to new-style interface.Paul Mundt3-20/+14
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate lboxre2 and r2d IRQ fixups.Paul Mundt4-57/+26
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Rename SH7751 platform ops files to fixups.Paul Mundt5-4/+4
None of these contain pci_ops, only IRQ routing bits, rename them accordingly. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Rewrite SH7751 PCI support to follow SH7780.Paul Mundt10-305/+76
This follows the similar sort of scheme that the refactored SH7780 code uses, using a 64MB CS3 mapping to handle the window0 case, and simply discarding window1. This vastly simplifies the code, and allows most of the board-specific setup to go die. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Rename ops-cayman -> fixups-cayman.Paul Mundt2-1/+1
Now that ops-cayman.c only contains IRQ routing fixups, rename it. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Convert the SH-5 code over to the new interface.Paul Mundt4-52/+23
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Tidy up the dreamcast PCI support.Paul Mundt3-89/+117
Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off legacy ide quirks.Paul Mundt2-42/+0
These fixups seem to have bitrotted a bit since their introduction in the 2.4 days. As we never had much use for them in the first place, and nothing is using them any more, kill them off the rest of the way. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate pcibios_setup() in pci-lib.Paul Mundt4-35/+16
This wasn't really being used for anything useful, so just stub it in pci-lib. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED.Paul Mundt1-0/+7
This isn't a real BAR, so prevent any attempts to move it, as we don't wish to encourage a bus luck by overzealous PCI initialization code. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off superfluous lboxre2 pci fixups.Paul Mundt2-43/+1
This is a verbatim copy of the r2d one, use that instead. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off the now unused hose->io_base.Paul Mundt2-9/+0
Nothing is using this any more, so kill it off. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate the remaining common bits.Paul Mundt3-116/+64
This moves the remaining common bits in to pci-lib. Thereby reducing pci.c/pci-new.c to simple bus fixups and controller registration. As more platforms are moved over, the old code will disappear completely and the pci-new bits will be rolled in to pci-lib, eventually replacing pci.c completely. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate bus<->resource mapping in pci-lib.Paul Mundt3-45/+31
Now that the io and mem offsets are tracked accordingly, the pci-new version of the bus<->resource mappers can be used generically. This moves them in to pci-lib. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Track io and mem_offset per-channel.Paul Mundt2-9/+11
This implements a per-hose offset for I/O and mem resources. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: New-style controller registration.Paul Mundt2-72/+112
This moves off of the board_pci_channels[] approach for bus registration and over to a cleaner register_pci_controller(), all derived from the MIPS code. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate pci_iomap() and use the generic I/O base.Paul Mundt3-70/+51
This consolidates the pci_iomap() definitions and reworks how the I/O port base is handled. PCI channels can register their own I/O map base, or if none is provided, the system-wide generic I/O base is used instead. Functionally nothing changes, while this allows us to kill off lots of I/O address special casing and lookups. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Kill off unused pcibios_fixup().Paul Mundt1-5/+0
This is left over cruft that hasn't been used by anything in a long time, kill off bits that weren't purged previously. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Consolidate pcibios_align_resource() definitions.Paul Mundt3-46/+42
This introduces a saner pcibios_align_resource() that can be used regardless of whether pci-auto or pci-new are being used, and consolidates it in pci-lib.c. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: HAVE_PCI_MMAP support.Paul Mundt2-3/+29
Derived from the MIPS version, now uses pgprot_noncached(). Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Split out new-style PCI core.Paul Mundt3-4/+258
This splits off a 'pci-new.c' which is aimed at gradually replacing the pci-auto backend and the arch/sh/drivers/pci/pci.c core respectively. Signed-off-by: Paul Mundt <[email protected]>
2009-04-20sh: pci: Drop asm-generic/pci.h, so we can use our own fixups.Paul Mundt1-0/+14
The new PCI code wants its own bus<->resource mappings instead of the generic equivalents, so drop the asm-generic include in preparation. Signed-off-by: Paul Mundt <[email protected]>