aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* sh: pass through ioremap() for non-mmu processors.Magnus Damm2009-04-29
| | | | | | | | | | | | | | All 32-bit SuperH processors currently go through __ioremap_mode() and check for IO_TRAPPED and directly mapped segments. With this patch we simplify the MMU less case with a pass through version of __ioremap_mode() which just returns the physical address. The effects of this is change are: - fix non-MMU ioremap() of high address hardware blocks (sh7203 CMT) - make sure IO_TRAPPED is not selected Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: register the rtc-generic platform device properly.Paul Mundt2009-04-28
| | | | | | | | The device registration was accidentally omitted, add it back in. Do some basic device probing as well, so this doesn't show up for platforms that tie in to the RTC interface properly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: setup timers in late_time_init()Magnus Damm2009-04-28
| | | | | | | | | | | | | | This patch moves the SuperH timer setup code from time_init() to late_time_init(). Good things about this change: - interrupts: they are enabled at late_time_init() - mm: regular kmalloc() can be used at late_time_init() Together with moving to late_time_init() this patch changes the sh_cmt driver to always allocate with kmalloc(). This simplifies the code a bit and also fixes section mismatches. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* clocksource: improve sh_cmt clocksource overflow handlingMagnus Damm2009-04-28
| | | | | | | | | | | | This patch improves the sh_cmt clocksource handling. Currently the counter value is ignored in the case of overflow. With this patch the overflow flag is read before and after reading the counter, removing any counter value and overflow flag mismatch issues. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: mach-r2d: add physmap-flash support for R2D+ boards.Jean-Christophe PLAGNIOL-VILLARD2009-04-27
| | | | | | | | | | | The RTS7751R2D_1 boards only support 1MB of socket-mounted MBM29F040 flash, which we just leave alone as it's not terribly interesting. This adds support for the s29gl256p on the r2d+ boards that makes a bit more sense to expose to the user. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: rtc-generic support.Paul Mundt2009-04-27
| | | | | | This adds rtc-generic support for SUPERH32. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: select GENERIC_TIME for new CMT driver.Paul Mundt2009-04-27
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: update defconfigs for PCI changes.Paul Mundt2009-04-27
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
*-. Merge branches 'sh/stable-updates' and 'sh/pci-rework'Paul Mundt2009-04-26
|\ \
| | * sh: pci: Fix up the build for CONFIG_PCI=n.Paul Mundt2009-04-24
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Rename pci-new.c to pci.c.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | pci-new.c is now in a state to replace the old pci.c, rename it accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Roll pci-lib in to pci-new.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Kill off the last remnants of the now unused pci-auto code.Paul Mundt2009-04-20
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Move the se7751 fixups in to arch/sh/drivers/pci/.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Convert dreamcast to new-style interface.Paul Mundt2009-04-20
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Consolidate lboxre2 and r2d IRQ fixups.Paul Mundt2009-04-20
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Rename SH7751 platform ops files to fixups.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | None of these contain pci_ops, only IRQ routing bits, rename them accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Rewrite SH7751 PCI support to follow SH7780.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Rename ops-cayman -> fixups-cayman.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | Now that ops-cayman.c only contains IRQ routing fixups, rename it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Convert the SH-5 code over to the new interface.Paul Mundt2009-04-20
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Tidy up the dreamcast PCI support.Paul Mundt2009-04-20
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Kill off legacy ide quirks.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Consolidate pcibios_setup() in pci-lib.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | This wasn't really being used for anything useful, so just stub it in pci-lib. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Kill off dead references to is_pci_ioaddr and friends.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | Some old boards are still using this in their I/O routines, kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Flag the dreamcast BBA as IORESOURCE_PCI_FIXED.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Kill off superfluous lboxre2 pci fixups.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | This is a verbatim copy of the r2d one, use that instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Kill off the now unused hose->io_base.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | Nothing is using this any more, so kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Consolidate the remaining common bits.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Consolidate bus<->resource mapping in pci-lib.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Track io and mem_offset per-channel.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | This implements a per-hose offset for I/O and mem resources. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: New-style controller registration.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Rework fixed region checks in ioremap().Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | Not all PCI channels have non-translatable memory windows, this is a special property of the on-chip PCIC with its 0xfd00... mapping, handle this explicitly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Consolidate pci_iomap() and use the generic I/O base.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Kill off unused pcibios_fixup().Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Consolidate pcibios_align_resource() definitions.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: HAVE_PCI_MMAP support.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | Derived from the MIPS version, now uses pgprot_noncached(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Split out new-style PCI core.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Drop asm-generic/pci.h, so we can use our own fixups.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | 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 <lethal@linux-sh.org>
| | * sh: pci: Start unifying the SH7780 PCIC initialization.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | This starts moving out the common initialization bits from the various fixup paths in to the shared init path. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Consolidate SH7780 PCIC IRQ routing.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | Now that the platform code is a bit leaner, we can start consolidating the various IRQ routing implementations. There are effectively only 2 variants, and the others can use those directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Kill off platform-specific multi-window mappings.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 68b42d1b548be1840aff7122fdebeb804daf0fa3 ("sh: sh7785lcr: Map whole PCI address space.") changed around the semantics of how various chip-selects are made accessible to PCI. Now that there is a single large mapping covering from CS0-CS6, there is no longer any need to do multi-window mapping. Subsequently, all of the differing implementations can be consolidated in to pci-sh7780. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Consolidate PCI I/O and mem window definitions for SH7780.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | This consolidates all of the PCI I/O and memory window definitions across the pci-sh7780 users in pci-sh7780 itself. No functional changes, in that every platform had exactly the same implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Set the I/O port base to the SH7780 I/O window default.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | Presently the I/O port base isn't being set anywhere, which allows things like generic_inl() to blow up. Fix this up to point at the PCI IO window. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Set pci_cache_line_size on SH7780 via the PCICLS register.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | The SH7780 PCIC contains a read-only cache line size register that we can derive pci_cache_line_size from. So, make sure that the software idea of the cache line size actually matches the host controller's idea. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Use the proper write size for class/sub-class code.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | Don't use pci_write_reg() for these, as it defaults to 32-bit. Rather than using the helper, use __raw_writeb() directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Rework SH7780 host controller detection.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reworks how the host controller is probed, and makes it a bit more verbose in the event a new type of controller is detected. Additionally, we also log the revision information. This now uses the proper access sizes for the vendor/device registers, rather than relying on a larger access that encapsulated both of them. Not all devices support 32-bit read cycles for these registers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Set class/sub-class code correctly for SH7780 PCIC.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SH7780 PCI host controller implements a configuration header that requires a fair bit of hand-holding to initialize properly. By default it appears as a pre-2.0 host controller given the zeroed out class code, so fix this up properly. Some boards that happened to be using the R7780RP version of the PCIC fixups had set this correctly, but this belongs in the standard initialization, and is by no means board specific. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Prefer P1SEG over P1SEGADDR for CONFIG_CMD.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | P1SEGADDR is obsolete and will be killed off completely in the future, so transition off of it and reference P1SEG explicitly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Move se7780 INTC fixups out of pci-sh7780.c.Paul Mundt2009-04-17
| | | | | | | | | | | | | | | | | | | | | These fixups belong in the board INTC setup code, not in the middle of pci-sh7780.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci: Kill off useless debugging printk() in pci-sh7780 init.Paul Mundt2009-04-16
| | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>