aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c24xx
Commit message (Collapse)AuthorAge
...
* Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King2009-06-10
|\
| * [ARM] S3C24XX: Merge devel-gpioBen Dooks2009-05-21
| |\ | | | | | | | | | Merge branch 'devel-gpio' into for-rmk-devel
| | * [ARM] S3C24XX: GPIO: Fix missing GPIOs in gpiolibBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | The GPG bank has 16 IOs, not 10. Add the missing GPH bank. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * [ARM] S3C24XX: GPIO: Move gpiolib initialisation earlierBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Fix error returns from gpio functionsBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Change to macros for GPIO numberingBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Start removal of S3C24XX_GPIO_BASEBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: Fix missing <linux/sysdev.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Move gpio functions out of <mach/hardware.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Remove pin specific input and output definesBen Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [ARM] S3C24XX: GPIO: Remove s3c2410_gpio_irq2pin() callBen Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: Merge next-s3c64xx-dma2 into for-rmk-develBen Dooks2009-05-18
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge branch 'next-s3c64xx-dma2' into for-rmk-devel Conflicts: arch/arm/plat-s3c64xx/Makefile
| | * | [ARM] S3C: Move DMA channel management code to plat-s3cBen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [ARM] S3C24XX: Fix indentation in <plat/dma-regs.h>Ben Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [ARM] S3C24XX: DMA: Split hardware regs out of <mach/dma.h>Ben Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [ARM] S3C24XX: Remove hardware specific registers from DMABen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls The S3C24XX DMA API channel configuration registers are being passed values comprised of register values which makes it hard to move the API to cover both the S3C24XX and S3C64XX. These values can be calculated from knowing which device the channel is connected to, so remove them from the two calls s3c2410_dma_config and s3c2410_dma_devconfig. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] S3C24XX: Move plat/dma.hBen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the platform dma.h to dma-plat.h to ensure it doen't get confused with plat/dma.h Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | | [ARM] S3C: ADC: Expose number of remaining conversions toNelson Castillo2009-05-16
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: GPIO PM core GPIOlib integrationBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: Add debug to UART save and a per-arch callback pre-restoreBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: Rename S3C24XX_PA_USBHOST to S3C_PA_USBHOSTBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: Add common USB OHCI device definitionBen Dooks2009-05-07
| |/ | | | | | | | | | | | | | | 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>
* / [ARM] S3C24XX: Fix unused code warning in arch/arm/plat-s3c24xx/dma.cBen Dooks2009-05-15
|/ | | | | | | | | | | Fix unused code warning in arch/arm/plat-s3c24xx/dma.c if there is no PM support enabled. The function to_dma_chan() should be marked inline so that the compiler will eliminate it without warning if it isn't used. arch/arm/plat-s3c24xx/dma.c:1239: warning: 'to_dma_chan' defined but not used Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C24XX: ADC: Check pending queue before freeing adc clientRamax Lo2009-04-17
| | | | | | | Check pending queue and remove the adc client being released. Signed-off-by: Ramax Lo <ramaxlo@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Fix ADC driver sparse warningBen Dooks2009-04-17
| | | | | | | | | | | | The symbol 's3c_adc_try' in arch/arm/plat-s3c24xx/adc.c does not need to be exported and thus should be static. This fixes the following sparse warning: adc.c:103:6: warning: symbol 's3c_adc_try' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C24XX: Fix sparse error in gpiolib.cBen Dooks2009-04-17
| | | | | | | | | | Fix the following sparse error generated by including <plat/gpio-core.h> instead of <mach/gpio-core.h> gpiolib.c:78:22: warning: symbol 's3c24xx_gpios' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* Merge branch 'origin' into develRussell King2009-03-28
|\ | | | | | | | | Conflicts: sound/soc/pxa/pxa2xx-i2s.c
| * [ARM] Revert futher extraneous changes from the S3C header moveMark Brown2009-03-11
| | | | | | | | | | | | Can't see any immediate need for these; build tested. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * S3C24XX: Move and update IIS headersBen Dooks2009-03-05
| | | | | | | | | | | | | | Move the IIS headers to their correct place. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | Merge branch 'next-s3c-pm' of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King2009-03-26
|\ \
| * | [ARM] S3C: Tidy sleep code path to fix call flowBen Dooks2009-03-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noted by Russell King, the sleep code path is not elegant and makes use of leaving items on the stack between calls. Change the code that does the following: if (s3c_cpu_save(regs_save) == 0) { flush_cache_all(); S3C_PMDBG("preparing to sleep\n"); pm_cpu_sleep(); } to simply call s3c_cpu_save, and let that do the necessary calls to quiesce and sleep the system. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Update UART save over PM suspend/resumeBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the way the UART state is saved over suspend to allow the s3c64xx code to modify the settings on resume to avoid any illegal state changes to the UART clocks. This will also allow us to save the UDIVSLOT register on newer SoCs. Move to using a structure for the UART use the extant Kconfig configuration specifying the number of UARTs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Rename sleep.S functions to be non-cpu specificBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Rename s3c2410_cpu_resume to s3c_cpu_resume and s3c2410_cpu_save to s3c_cpu_save to remove the CPU specific naming of these functions which are now in the generic PM code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Rename s3c2410_pm_init to s3c_pm_init.Ben Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Since we have moved a large proportion of the PM code to the common support area, remove the cpu specific name from the initialisation function. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Make IRQ_EINT sleep control commonBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move the IRQ_EINT sleep control to be available to all s3c impelmentations. Since s3c_irqext_wake is not large, place it in arch/arm/plat-s3c/pm.c as adding it to a new file would be a waste of compile time. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C24XX: Remove changelog from arch/arm/plat-s3c24xx/irq.cBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | Remove the changelog, this file is in version control. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C24XX: Split PM code from arch/arm/plat-s3c24xx/irq.cBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Split the PM code out of arch/arm/plat-s3c24xx/irq.c to remove some of the #ifdefs being used. Also fix a couple of places where the absecnce of a function was redefined to the same thing. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Move plat-s3c24xx pm.c support into plat-s3cBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | Move parts of the core and debug suspend code into the plat-s3c for use with the new s3c64xx code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Split the resume memory check code from pm.cBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Split the optional memory check code out of the pm.c file as it is quite a big #ifdef block and as-such can be moved out and simply compiled when the configuration is set. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Move PM support functions to common locationBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Start moving the PM code by moving all the common support functions to a common location in arch/arm/plat-s3c. With the move we rename the functions from s3cxxx_ to s3c_ to fit the new location. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Nove <plat/pm.h> from plat-s3c24xx to plat-s3fcBen Dooks2009-03-08
| |/ | | | | | | | | | | | | | | Move the <plat/pm.h> header to plat-s3c as preparation for moving parts of the s3c24xx pm support which are common into the plat-s3c support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* / [ARM] pass reboot command line to arch_reset()Russell King2009-03-19
|/ | | | | | | | | | | | | | | 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] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, ↵Russell King2009-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | pxa, s3c arch/arm/mach-at91/at91cap9.c:337: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91rm9200.c:301: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9260.c:351: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9261.c:287: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9263.c:312: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-at91/at91sam9rl.c:304: error: 'NR_AIC_IRQS' undeclared here (not in a function) arch/arm/mach-h720x/h7202-eval.c:38: error: implicit declaration of function 'IRQ_CHAINED_GPIOB' arch/arm/mach-ks8695/devices.c:46: error: 'KS8695_IRQ_WAN_RX_STATUS' undeclared here (not in a function) arch/arm/mach-msm/devices.c:28: error: 'INT_UART1' undeclared here (not in a function) arch/arm/mach-mx2/devices.c:233: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function) arch/arm/mach-mx3/devices.c:128: error: 'MXC_GPIO_IRQ_START' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:140: error: 'INT_730_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:165: error: 'INT_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap1/mcbsp.c:200: error: 'INT_McBSP1RX' undeclared here (not in a function) arch/arm/mach-omap2/board-apollon.c:286: error: implicit declaration of function 'omap_set_gpio_direction' arch/arm/mach-omap2/mcbsp.c:154: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function) arch/arm/mach-omap2/mcbsp.c:181: error: 'INT_24XX_MCBSP1_IRQ_RX' undeclared here (not in a function) arch/arm/mach-pxa/e350.c:36: error: 'IRQ_BOARD_START' undeclared here (not in a function) arch/arm/plat-s3c/dev-i2c0.c:32: error: 'IRQ_IIC' undeclared here (not in a function) ... Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] S3C24XX: Add gpio_to_irq implementationBen Dooks2009-01-08
| | | | | | | Add to_irq field handlers for the GPIO banks that are configurable as interripts. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Remove unnecessary <linux/delay.h> includesBen Dooks2008-12-18
| | | | | | | | As per Russell King's last review comment, find and remove all unnecessary includes of <linux/delay.h> in the files that do not need them. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C24XX: Add fourth UART definition for S3C2443Ben Dooks2008-12-18
| | | | | | | | Add the fourth UART definition for the S3C2443, and at the same time fixup the problems caused by the enlarging of the UART array in the previous commits. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* Merge branch 'next-s3c64xx-device' into next-mergedBen Dooks2008-12-18
|\ | | | | | | | | | | Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c
| * [ARM] S3C: Make i2c device definition common to plat-s3cBen Dooks2008-12-15
| | | | | | | | | | | | | | Make the device i2c0 common to plat-s3c and move the definitions from arch/arm/plat-s3c24xx/devs.c Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C: Add new GPIO configuration callsBen Dooks2008-12-15
| | | | | | | | | | | | | | Add new GPIO configuration calls that mesh with the new gpiolib support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C: Move common GPIO code from plat-s3c24xxBen Dooks2008-12-15
| | | | | | | | | | | | | | Move the common parts of the GPIO code into plat-s3c for use with both the s3c24xx and s3c64xx systems. Signed-off-by: Ben Dooks <ben-linux@fluff.org>