summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-iop32x
Commit message (Collapse)AuthorAgeFilesLines
* iop3xx: ATU and PCI memory configuration correctedAaro Koskinen2009-08-181-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | There are two 64 MB outbound memory windows at bus addresses 0x80000000..0x83ffffff and 0x84000000..0x87ffffff for PCI memory. Currently, on iop32x, only the lower window is available for allocations, limiting the available space to 64 MB. On iop33x the full 128 MB can be allocated, but the translation value is wrong for the upper window. The patch enables the full 128 MB space on iop32x and corrects the initialization of OMWTVR1. Redundant definitions are deleted. Tested using a Thecus N2100 board with a graphics adapter in the expansion slot. Both windows are in use: 00:05.0 VGA compatible controller: XGI Technology Inc. (eXtreme Graphics Innovation) Volari Z7 (prog-if 00 [VGA controller]) [...] Region 0: Memory at 80000000 (32-bit, prefetchable) [size=64M] Region 1: Memory at 84080000 (32-bit, non-prefetchable) [size=256K] Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Lennert Buytenhek <kernel@wantstofly.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* [ARM] pass reboot command line to arch_reset()Russell King2009-03-191-1/+1
| | | | | | | | | | | | | | | OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). This patch fixes things to pass this string to arch_reset(). This means that we keep the reboot mode limited to telling the kernel _how_ to perform the reboot which should be independent of what we request the boot loader to do. Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Hide ISA DMA API when ISA_DMA_API is unsetRussell King2008-11-291-9/+0
| | | | | | | | | | | | | When ISA_DMA_API is unset, we're not implementing the ISA DMA API, so there's no point in publishing the prototypes via asm/dma.h, nor including the machine dependent parts of that API. This allows us to remove a lot of mach/dma.h files which don't contain any useful code. Unfortunately though, some platforms put their own private non-ISA definitions into mach/dma.h, so we leave these behind and fix the appropriate #include statments. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] iop3xx: avoid polluting the kernel's namespaceRussell King2008-11-284-7/+3
| | | | | | | | Avoid unnecessarily pollution of the kernel's namespace by avoiding mach/hardware.h in mach/io.h, mach/memory.h and mach/timex.h. Include this header file where necessary. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] remove a common set of __virt_to_bus definitionsNicolas Pitre2008-11-281-11/+0
| | | | | | | | | | | | | | | | Let's provide an overridable default instead of having every machine class define __virt_to_bus and __bus_to_virt to the same thing. What most platforms are using is bus_addr == phys_addr so such is the default. One exception is ebsa110 which has no DMA what so ever, so the actual definition is not important except only for proper compilation. Also added a comment about the special footbridge bus translation. Let's also remove comments alluding to set_dma_addr which is not (and should not) be commonly used. Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Convert asm/io.h to linux/io.hRussell King2008-09-064-4/+4
| | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] cputype: separate definitions, use themRussell King2008-09-011-2/+2
| | | | | | | | Add asm/cputype.h, moving functions and definitions from asm/system.h there. Convert all users of 'processor_id' to the more efficient read_cpuid_id() function. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2008-08-0725-11/+427
| | | | | | This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove asm/hardware.h, use asm/arch/hardware.h insteadRussell King2008-08-076-6/+6
| | | | | | | | | Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* leds: Add pca9532 platform data for Thecus N2100Riku Voipio2008-07-231-0/+52
| | | | | | | | | | | | | Thecus N2100 has leds and a buzzer attached to a pca9532 controller. Attach the driver to the i2c bus and define the pca9532 pin coniguration for this platform in n2100_leds. With this patch, support for N2100 should be complete in mainline Linux. Signed-off-by: Riku Voipio <riku.voipio@iki.fi> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* i2c: Convert most new-style drivers to use module aliasingJean Delvare2008-04-293-8/+3
| | | | | | | | | | | | | | Based on earlier work by Jon Smirl and Jochen Friedrich. Update most new-style i2c drivers to use standard module aliasing instead of the old driver_name/type driver matching scheme. I've left the video drivers apart (except for SoC camera drivers) as they're a bit more diffcult to deal with, they'll have their own patch later. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Jon Smirl <jonsmirl@gmail.com> Cc: Jochen Friedrich <jochen@scram.de>
* iop: unconditionally initialize the ATU on platforms known to be 'hosts'Dan Williams2008-03-263-16/+5
| | | | | | | Platforms like iq80321 and iq80331 which may be host-bus-adapters require 'iop3xx_init_atu=y' to be specified on the kernel command line. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* [ARM] 4865/1: Register the F75375 device in the GLAN Tank platform codeGordon Farquharson2008-03-201-0/+12
| | | | | | | | | This patch adds the code required to register the F75375 device on the GLAN Tank. Signed-off-by: Gordon Farquharson <gordonfarquharson@gmail.com> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width fieldGordon Farquharson2008-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is required, in conjunction with the patch submitted to linux-mtd [1], to access the flash memory device in the GLAN Tank. Without the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 ... physmap-flash physmap-flash.0: map_probe failed whereas with the patches, the boot log shows physmap platform flash device: 00080000 at f0000000 Found: ST M29W400DB physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank number of JEDEC chips: 1 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. ... cmdlinepart partition parsing not available Searching for RedBoot partition table in physmap-flash.0 at offset 0x70000 No RedBoot partition table detected in physmap-flash.0 The change made by this patch is required because the ST M29W400DB flash memory chip in the GLAN Tank is used in 16 bit bus mode (~BYTE pin is high when the board is powered on). [1] http://lists.infradead.org/pipermail/linux-mtd/2008-January/020291.html Signed-off-by: Gordon Farquharson <gordonfarquharson@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c deviceMartin Michlmayr2008-01-261-1/+12
| | | | | | | | | | Use the new i2c framework to load rtc-rs5c372 for the GLAN Tank. Tested-by: Gordon Farquharson <gordonfarquharson@gmail.com> Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* hwmon: (f75375s) On n2100 systems, set fans to full speed on bootRiku Voipio2007-11-081-0/+11
| | | | | | | | | On thecus n2100, the bootloader does not setup fans to run. In order to protect the user from frying their gear, start up fans on boot. Signed-off-by: Riku Voipio <riku.voipio@movial.fi> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* [ARM] 4491/1: em7210 rtc clockArnaud Patard2007-07-201-0/+13
| | | | | | | | | | The commit d815461c7a73903d0a926b3cace6f69e144c54a3 in linus tree converts the rtc-rs5c372 driver to a "new style" i2c driver. Like commit c00593f6f816e5cfa6d193a2561ca77541f71424, this patch register the rtc i2c device for the em7210 board. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4476/1: EM7210/SS4000E supportArnaud Patard2007-07-204-1/+212
| | | | | | | | This patch adds the basic support for the em7210 board. It is similar to the iq31244 board and can be found on Intel "Baxter Creek" ss4000e nas. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* Thecus N2100: register rtc-rs5c372 i2c deviceMartin Michlmayr2007-07-171-0/+10
| | | | | | | | | | | | | Use the new i2c framework to load rtc-rs5c372 for the Thecus N2100. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Tested-by: Voipio Riku <Riku.Voipio@movial.fi> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Lennert Buytenhek <buytenh@wantstofly.org> Cc: Jean Delvare <khali@linux-fr.org> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* iop3xx: surface the iop3xx DMA and AAU units to the iop-adma driverDan Williams2007-07-134-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the platform device definitions and the architecture specific support routines (i.e. register initialization and descriptor formats) for the iop-adma driver. Changelog: * add support for > 1k zero sum buffer sizes * added dma/aau platform devices to iq80321 and iq80332 setup * fixed the calculation in iop_desc_is_aligned * support xor buffer sizes larger than 16MB * fix places where software descriptors are assumed to be contiguous, only hardware descriptors are contiguous for up to a PAGE_SIZE buffer size * convert to async_tx * add interrupt support * add platform devices for 80219 boards * do not call platform register macros in driver code * remove switch() statements for compatible register offsets/layouts * change over to bitmap based capabilities * remove unnecessary ARM assembly statement * checkpatch.pl fixes * gpl v2 only correction * phys move to dma_async_tx_descriptor Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
* [ARM] 4383/1: iop: fix usage of '__init' and 'inline' in iop filesDan Williams2007-05-165-7/+7
| | | | | | | | | | | | | | | WARNING: arch/arm/mach-iop13xx/built-in.o - Section mismatch: reference to .init.text:iop13xx_pcie_map_irq from .text between 'iop13xx_pci_setup' (at offset 0x7fc) and 'iop13xx_map_pci_memory' While fixing this warning I also recalled Adrian Bunk's recommendation to not use inline in .c files, as 'iop13xx_map_pci_memory' is needlessly inlined. Removing 'inline' uncovered some dead code so that is cleaned up as well. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4348/4: iop3xx: Give Linux control over PCI initializationDan Williams2007-05-033-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Currently the iop3xx platform support code assumes that RedBoot is the bootloader and has already initialized the ATU. Linux should handle this initialization for three reasons: 1/ The memory map that RedBoot sets up is not optimal (page_to_dma and virt_to_phys return different addresses). The effect of this is that using the dma mapping API for the internal bus dma units generates pci bus addresses that are incorrect for the internal bus. 2/ Not all iop platforms use RedBoot 3/ If the ATU is already initialized it indicates that the iop is an add-in card in another host, it does not own the PCI bus, and should not be re-initialized. Changelog: * rather than change nr_controllers to zero, simply do not call pci_common_init Cc: Lennert Buytenhek <kernel@wantstofly.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 4271/1: iop32x: fix ep80219 detection (support iq80219 platforms)Dan Williams2007-03-172-8/+55
| | | | | | | | | | | | | An iq80219 is a board with an iq31244 layout and an 80219 processor. It breaks the current assumption that all 80219 processors run on ep80219 platforms. This patch adds the "force_ep80219" option to the kernel to override boot loaders that have passed in the iq31244 id, and adds the MACHINE_START definition for ep80219. [ patch assumes that EP80219 has been added to mach-types ] Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Merge remaining IOP codeRussell King2007-02-205-14/+13
|\ | | | | | | | | | | | | Conflicts: include/asm-arm/arch-at91rm9200/entry-macro.S Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4187/1: iop: unify time implementation across iop32x, iop33x, and iop13xxDan Williams2007-02-174-10/+13
| | | | | | | | | | | | | | | | | | | | * architecture specific details are handled in asm/arch/time.h * ARCH_IOP13XX now selects PLAT_IOP * as suggested by Lennert use ifdef CONFIG_XSCALE to skip the cp_wait on XSC3 Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * [ARM] 4186/1: iop: remove cp6_enable/disable routinesDan Williams2007-02-171-4/+0
| | | | | | | | | | | | | | This functionality is replaced by cp6_trap Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | Merge the easy part of the IOP branchRussell King2007-02-181-0/+2
|\|
| * [ARM] 4184/1: iop: cp6 access handler (undef_hook)Dan Williams2007-02-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable svc access to cp6 via an undefined instruction hook. Do not enable access for usr code. This patch also makes iop13xx select PLAT_IOP, this requires a small change to drivers/i2c/busses/i2c-iop3xx.c. Per Lennert Buytenhek's note, the cp6 trap routine is moved to arch/arm/plat-iop Per Nicolas Pitre's note, the cp_wait is skipped since the latency to return to the faulting function is longer than cp_wait. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] 4058/2: iop32x: set ->broken_parity_status on n2100 onboard r8169 portsLennert Buytenhek2007-02-181-0/+14
|/ | | | | | | | | On the n2100, both onboard r8169 ports exhibit PCI parity problems. Set the ->broken_parity_status flag for both ports so that the r8169 drivers knows it should ignore error interrupts. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] Remove compatibility layer for ARM irqsRussell King2006-11-301-1/+1
| | | | | | | | | | | | set_irq_chipdata -> set_irq_chip_data get_irq_chipdata -> get_irq_chip_data do_level_IRQ -> handle_level_irq do_edge_IRQ -> handle_edge_irq do_simple_IRQ -> handle_simple_irq irqdesc -> irq_desc irqchip -> irq_chip Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3913/1: n2100: fix IRQ routing for second ethernet portLennert Buytenhek2006-10-291-1/+1
| | | | | | | | | The second ethernet port on the Thecus n2100 was incorrectly assigned to XINT1 instead of the correct XINT3 (PCI INTB instead of INTD), which caused that port to be non-functional. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3851/1: iop3xx: add io-data glantank supportLennert Buytenhek2006-09-254-1/+205
| | | | | | | | Add support for the IO-Data GLAN Tank, from Martin Michlmayr. Signed-off-by: Martin Michlmayr <tbm@cyrius.com> Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3850/1: iop3xx: add thecus n2100 supportLennert Buytenhek2006-09-254-1/+260
| | | | | | | Add support for the Thecus n2100 (80219-based.) Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3832/1: iop3xx: coding style cleanupLennert Buytenhek2006-09-254-54/+45
| | | | | | | | | Since the iop32x code isn't iop321-specific, and the iop33x code isn't iop331-specfic, do a s/iop321/iop32x/ and s/iop331/iop33x/, and tidy up the code to conform to the coding style guidelines somewhat better. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3830/1: iop3xx: board support file cleanupLennert Buytenhek2006-09-2510-454/+489
| | | | | | | | | | | Revamp the iop3xx board support: move the support code for each iop board type into its own file, start using platform serial and platform physmap flash devices, switch to a per-board time tick rate, and get rid of the ARCH_EP80219 and STEPD config options by doing the relevant checks at run time. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3826/1: iop3xx: remove IOP3??_IRQ_OFS irq offsetLennert Buytenhek2006-09-251-3/+3
| | | | | | | | Get rid of the unused IOP3??_IRQ_OFS irq offset define, start IRQ numbering from zero. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3825/1: iop3xx: use cp6 enable/disable macrosLennert Buytenhek2006-09-251-18/+5
| | | | | | | | | | Add CP6 enable/disable sequences to the timekeeping code and the IRQ code. As a result, we can't depend on CP6 access being enabled when we enter get_irqnr_and_base anymore, so switch the latter over to using memory-mapped accesses for now. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3823/1: iop3xx: switch iop32x/iop33x over to shared time codeLennert Buytenhek2006-09-253-113/+12
| | | | | | | | Switch the iop32x and iop33x code over to the common time implementation, and remove the (nearly identical) iop32x and iop33x time implementations. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3821/1: iop3xx: switch iop32x/iop33x over to shared pci codeLennert Buytenhek2006-09-256-312/+8
| | | | | | | | Switch the iop32x and iop33x code over to the common PCI implementation, and remove the (nearly identical) iop32x and iop33x PCI implementations. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3819/1: iop3xx: factor out shared i2c codeLennert Buytenhek2006-09-252-58/+12
| | | | | | | | Move the i2c bits shared between iop32x and iop33x to plat-iop/i2c.c and include/asm-arm/hardware/iop3xx.h. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3818/1: iop3xx: introduce arch/arm/plat-iop for shared iop32x/iop33x codeLennert Buytenhek2006-09-253-24/+4
| | | | | | | | Introduce the arch/arm/plat-iop directory, for code shared between the iop32x and iop33x, and move the common memory map setup bits there. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] 3817/1: iop3xx: split the iop3xx mach into iop32x and iop33xLennert Buytenhek2006-09-2512-0/+1054
Split the iop3xx mach type into iop32x and iop33x -- split the config symbols, and move the code in the mach-iop3xx directory to the mach-iop32x and mach-iop33x directories. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>