aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2009-05-21[ARM] S3C24XX: Merge devel-gpioBen Dooks
Merge branch 'devel-gpio' into for-rmk-devel
2009-05-18[ARM] S3C24XX: GPIO: Change usb-simtec.c to use gpiolib.Ben Dooks
Make arch/arm/mach-s3c2410/usb-simtec.c use gpiolib to manage gpio access. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Fix missing GPIOs in gpiolibBen Dooks
The GPG bank has 16 IOs, not 10. Add the missing GPH bank. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Move gpiolib initialisation earlierBen Dooks
The arch_initcall() is too late for board initialisation to use gpiolib when doing their machine specific initilisation via the .init_machine callback. Bring the file into line with the s3c64xx implementation and use the core_initcall() to register the GPIO chips. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Fix error returns from gpio functionsBen Dooks
Several GPIO functions have been returning -1 to indicate an error instead of returning a proper error code. Change to return -EINVAL for invalid argument(s). Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C: Merge next-s3c64xx-dma2 into for-rmk-develBen Dooks
Merge branch 'next-s3c64xx-dma2' into for-rmk-devel Conflicts: arch/arm/plat-s3c64xx/Makefile
2009-05-18[ARM] S3C64XX: Lower severity of DMA loggingMark Brown
The message was missing a severity macro so pick pr_debug(). Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C64XX: DMA supportBen Dooks
Add support for the DMA blocks in the S3C64XX series of CPUS, which are based on the ARM PL080 PrimeCell system. Unfortunately, these DMA controllers diverge from the PL080 design by adding another DMA controller register and configuration for OneNAND. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Change to macros for GPIO numberingBen Dooks
Prepare to remove the large number of S3C2410_GPxn defines by moving to S3C2410_GPx(n) in arch/arm. The following perl was used to change the files: perl -pi~ -e 's/S3C2410_GP([A-Z])([0-9]+)([^_^0-9])/S3C2410_GP\1\(\2\)\3/g' Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Add S3C64XX style GPIO numberingBen Dooks
Move the new style of GPIO numbering by using a single macro for each GPIO bank. This means S3C2410_GPA0 becomes S3C2410_GPA(0), and so on. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Start removal of S3C24XX_GPIO_BASEBen Dooks
The S3C24XX_GPIO_BASE makes it difficult to compress the GPIO number space, and is only used in a few places of which everything outside arch/arm/plat-s3c24xx/gpiolib.c will be removed as soon as possible. Change gpiolib.c to use the S3C2410_GPxCON register addresses as the base for each bank, thus eliminating S3C24XX_GPIO_BASE. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Clean out unused definitions in <mach/regs-gpio.h>Ben Dooks
The <mach/regs-gpio.h> really does not need the input and output pin configurations as these are standard and have a generic representation (plus the s3c24xx gpio specific code is going to be phased out soon). The following sed was applied to remove the lines: sed -i~ -e '/S3C2410_GP[A-Z][0-9]*_\INP/d' \ -e '/S3C2410_GP[A-Z][0-9]*_\OUTP/d' \ -e '/S3C2410_GPA[0-9]*_OUT/d' to remove these. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: Fix missing <linux/sysdev.h>Ben Dooks
In our recent changes, arch/arm/plat-s3c24xx/gpiolib.c needs to have <linux/sysdev.h> included for it to build. This fixes the following error/warnings: arch/arm/plat-s3c/include/plat/pm.h:104: error: expected declaration specifiers or '...' before 'pm_message_t' arch/arm/plat-s3c/include/plat/pm.h:104: warning: 'struct sys_device' declared inside parameter list arch/arm/plat-s3c/include/plat/pm.h:104: warning: its scope is only this definition or declaration, which is probably not what you want arch/arm/plat-s3c/include/plat/pm.h:105: warning: 'struct sys_device' declared inside parameter list Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18[ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h>Ben Dooks
Move all the gpio functions out of <mach/hardware.h> as this file is for defining the generic IO base addresses for the kernel IO calls. Make a new header <mach/gpio-fns.h> to take this and include it via the chain from <linux/gpio.h> which is what most of these files should be using (and will be changed as soon as possible). Note, this does make minor changes to some drivers but should not mess up any pending merges. CC: Richard Purdie <rpurdie@rpsys.net> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> CC: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-17[ARM] S3C64XX: Use common watchdog reset for system reset.Ben Dooks
Use the newly moved <plat/watchdog-reset.h> to perform the arch_reset() call which has been unimplemented for a while. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-17[ARM] S3C: Move watchdog system reset to own file.Ben Dooks
Move the watchdog reset code from <mach/system-reset.h> to a new file <plat/watchdog-reset.h> as this code is needed by both s3c2410, s3c64xx and soon-to-be added s3c24a0. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-17[ARM] S3C24XX: GPIO: Remove pin specific input and output definesBen Dooks
The use of S3C2410_GP[A-Z]x_INP and S3C2410_GP[A-Z]x_OUTP are very rare and are taking up large amounts of space in the regs-gpio.h header. The GPIO layer has had generic input and out defines called S3C2410_GPIO_INPUT and S3C2410_GPIO_OUTPUT for a while which work for all S3C24XX GPIOs. Do the following replacements: S3C2410_GP[A-Z][0-9]*_\OUTP => S3C2410_GPIO_OUTPUT S3C2410_GP[A-Z][0-9]*_\INP => /S3C2410_GPIO_INPUT S3C2410_GPA[0-9]*_OUT => S3C2410_GPIO_OUTPUT to remove any usages of these and prepare the header for the removal of these. The following command was used to acheive this: find . -type f -writable ! -name regs-gpio.h ! -name "*~" | xargs sed -i~ -e 's/S3C2410_GP[A-Z][0-9]*_\OUTP/S3C2410_GPIO_OUTPUT/g' -e 's/S3C2410_GP[A-Z][0-9]*_\INP/S3C2410_GPIO_INPUT/g' -e 's/S3C2410_GPA[0-9]*_OUT/S3C2410_GPIO_OUTPUT/g' Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-17[ARM] S3C24XX: GPIO: Remove s3c2410_gpio_irq2pin() callBen Dooks
Remove the s3c2410_gpio_irq2pin() function as it is not being used in any in kernel driver and the function is probably not being used anywhere else. This is also part of the effort to remove any of the s3c24xx gpio specific code that cannot be recreated by using the gpiolib framework now in the kernel. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-16[ARM] S3C: ADC: Expose number of remaining conversions toNelson Castillo
convert callback This patch allow us to efficiently modify the number of remaining conversions from the client side. This us useful when we do not know in advance how many conversions we will need or when we need to cancel pending conversions. This change is simple enough to be compatible with existing code that can just define the new pointer in the callback and ignore it. Sample usage: http://tinyurl.com/s3c2410-ts-c (function stylus_adc_action). Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-16[ARM] S3C: ADC: Fix lines with more than 80 chars in adc.hNelson Castillo
Small cleanup. Signed-off-by: Nelson Castillo <arhuaco@freaks-unidos.net> [ben-linux@fluff.org: rewrote subject] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-16[ARM] SMDK6410: Add USB high-speed/OtG gadget deviceBen Dooks
Add the USB gadget support to the SMDK6410. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-16[ARM] S3C: Add USB high-speed/OtG device definitionsBen Dooks
Add platform device definitions for the high-speed and OtG capable device block on the newer Samsung parts. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add ARM clockBen Dooks
Add ARM clock to provide 'arm' from the APLL to the ARM core. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Configure clocks for DMA controllerMark Brown
Add missing DMA controller block clocks. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add HCLKx2Werner Almesberger
Add doubled HCLK to S3C64xx. Signed-off-by: Werner Almesberger <werner@openmoko.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C6410: Add CAMIF clockWerner Almesberger
Add camera interface clock to S3C6410. Signed-off-by: Werner Almesberger <werner@openmoko.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] Merge next-s3c-s3c6410 into for-rmk-develBen Dooks
Merge branch 'next-s3c-s3c6410' into for-rmk-devel
2009-05-07[ARM] SMDK6400: Fix WM8753 i2c board definitionBen Dooks
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add S3C6400 SDHCI setup supportBen Dooks
Add support for S3C6400 SDHCI channels 0 and 1, making the GPIO code common to both S3C6400 and S3C6410. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add S3C6400 CPU detection.Ben Dooks
Add detection support for the S3C6400 SoC which has it's id register in a different place to the S3C6410. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C6400: Core support for S3C6400 SoCBen Dooks
Add the core support files for the Samsung S3C6400 SoC. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] SMDK6400: Initial machine support for SMDK6400Ben Dooks
Add minimial support for the SMDK6400 board to test the S3C6400 support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] VIC: Add power management deviceBen Dooks
Add power management support to the VIC by registering each VIC as a system device to get suspend/resume events going. Since the VIC registeration is done early, we need to record the VICs in a static array which is used to add the system devices later once the initcalls are run. This means there is now a configuration value for the number of VICs in the system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C: GPIO PM core GPIOlib integrationBen Dooks
Move the GPIO suspend/resume support inline with the gpiolib support so that it will work with both the S3C24XX and S3C64XX series. The s3c_gpio_chip is extended to have a pm callback and a save block to keep the state of the GPIO over suspend, and the code from the s3c24xx implementation is added to a new common file. The suspend process now uses the list of registered chips to go through saving and restoring each one as appropriate, using the pm callback to select the appropriate routine depending on the type of control register present. This change also means that any additional GPIO added should not require changes to the PM. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add IRQ PM codeBen Dooks
Add support for saving the state of the IRQ registers over suspend. This requires moving the S3C64XX UART registers into <plat/regs-serial.h> and adding irq-pm.c which saves the state of all the IRQ registers. The irq-pm.c saves all the IRQ registers, including the IRQ_EINT and IRQ_EINT_GROUP registers as it was easier than adding three different files. Also ensuring that all the registers are restored to the same state as before suspend is considered to be the best thing to do. Note, we do not suspend the VIC here, this is done by the VIC driver itself. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add generic s3c64xx sys device.Ben Dooks
Add an s3c64xx_sysclass and device for items that currently want to bind to any s3c64xx processor. The first user of this will be parts of the s3c64xx suspend support which need to save device state over suspend/resume. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add s3c6410_sysclass exportBen Dooks
Add definition for s3c6410_sysclass which was missing from arch/arm/plat-s3c/include/plat/cpu.h. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Initial support for PM (suspend to RAM)Ben Dooks
Add the initial support for the S3C64XX based systems to use suspend-to-RAM to sleep. Includes basic debugging for use with the SMDK6410 usign the LEDs on the baseboard. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C: PM save UART UDIVSLOT if doing PMBen Dooks
Add the facility to save the UART UDIVSLOT register if the UART state is being saved over suspend. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C: Add debug to UART save and a per-arch callback pre-restoreBen Dooks
Add a simple debug message on saving the UART state and add a per-arch pre-restore function to be used by the s3c64xx restore code to ensure the UARTs control registers do not go through any illegal state changes. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C64XX: Add USB OHCI supportBen Dooks
Add USB OHCI host definitions. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C: Rename S3C24XX_PA_USBHOST to S3C_PA_USBHOSTBen Dooks
The USB host base address is available on both the S3C24XX and S3C64XX ranges. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] SMDK6410: Add USB OHCI hostBen Dooks
Add USB OHCI host capability to the SMDK6410 for either USB OtG or a single/double USB host port. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07[ARM] S3C: Add common USB OHCI device definitionBen Dooks
Add common definition for USB OHCI platform device, add a Kconfig to selectively compile it and add update all the users. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] SMDK6410: Hook regulator control of VDDARM up for WM1190-EV1Mark Brown
This allows the S3C CPUfreq driver to do DVFS. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] S3C: Move DMA channel management code to plat-s3cBen Dooks
Change the name of S3C2410_DMA_CHANNELS to S3C_DMA_CHANNELS in the process. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] S3C24XX: dma.h should not include <mach/hardware.h>Ben Dooks
The dma.h header does not need to include <mach/hardware.h> as there is nothing it depends on. Remove the include and fixup the couple of places where <mach/map.h> was not explicitly included (dragged in via <mach/hardware.h>) Note, we have to fix arch/arm/plat-s3c24xx/pm.c which seems to rely on having <mach/hardware.h> included by this method. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] S3C: Make common <plat/dma.h> headerBen Dooks
Move the common information from the <mach/dma.h> header into a new shareable <plat/dma.h> header for re-use on the s3c64xx. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] S3C24XX: Fix indentation in <plat/dma-regs.h>Ben Dooks
The <plat/dma-regs.h> pre-date the invention of the TAB character, so fix the indentation of the register defines. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-01[ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h>Ben Dooks
The <mach/dma.h> is for the driver API for the DMA system and should not have anything relying on the CPU specific registers. Remove the registers to <plat/dma-regs.h> for the code that really needs to know about them. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>