aboutsummaryrefslogtreecommitdiffstats
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: Change usb-simtec.c to use gpiolib.Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | Make arch/arm/mach-s3c2410/usb-simtec.c use gpiolib to manage gpio access. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * [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: Add S3C64XX style GPIO numberingBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [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: GPIO: Clean out unused definitions in <mach/regs-gpio.h>Ben Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * [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] S3C64XX: Lower severity of DMA loggingMark Brown2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [ARM] S3C64XX: DMA supportBen Dooks2009-05-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [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: dma.h should not include <mach/hardware.h>Ben Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [ARM] S3C: Make common <plat/dma.h> headerBen Dooks2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [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] S3C64XX: Use common watchdog reset for system reset.Ben Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | [ARM] S3C: Move watchdog system reset to own file.Ben Dooks2009-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | [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: ADC: Fix lines with more than 80 chars in adc.hNelson Castillo2009-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | [ARM] SMDK6410: Add USB high-speed/OtG gadget deviceBen Dooks2009-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | [ARM] S3C: Add USB high-speed/OtG device definitionsBen Dooks2009-05-16
| | |/ | |/| | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C64XX: Add ARM clockBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | Add ARM clock to provide 'arm' from the APLL to the ARM core. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C64XX: Configure clocks for DMA controllerMark Brown2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add missing DMA controller block clocks. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C64XX: Add HCLKx2Werner Almesberger2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add doubled HCLK to S3C64xx. Signed-off-by: Werner Almesberger <werner@openmoko.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C6410: Add CAMIF clockWerner Almesberger2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add camera interface clock to S3C6410. Signed-off-by: Werner Almesberger <werner@openmoko.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] Merge next-s3c-s3c6410 into for-rmk-develBen Dooks2009-05-07
| |\ \ | | | | | | | | | | | | Merge branch 'next-s3c-s3c6410' into for-rmk-devel
| | * | [ARM] SMDK6410: Hook regulator control of VDDARM up for WM1190-EV1Mark Brown2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | [PATCH] S3C64XX: Basic A&W6410 board support patch V2Kwangwoo Lee2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A&W6410 board uses Samsung S3C6410 SoC and it is registered with 2183. Framebuffer and ethernet devices are supported currently. Unnecessary header file is removed. Fix to use __raw_writel() and __raw_readl() for accessing mapped address. Thank you for your comments. Signed-off-by: Kwangwoo Lee <kwangwoo.lee@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] SMDK6410: Mark all supplies as always_onMark Brown2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since no consumers are currently configured for the SMDK6410 mark all the supplies on the board as being always_on, ensuring interoperability with future regulator API changes to disable unused regulators. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] SMDK6410: Use active high IRQ for the WM8350 on the WM1190-EV1Mark Brown2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using an active high IRQ ensures that the WM8350 interrupt handling does not spin when used with a SMDK6410 which has not had R20 removed and R21 fitted to connect EINT12 to the PMIC module rather thant the fixed regulators on the CPU module. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] S3C6410: Basic support for NCP board (v2)Kyungmin Park2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a basic support for NCP board based on s3c6410. Only enables the serial. also remove empty i2c device. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] SMDK6410: Support WM1190-EV1 PMIC boardMark Brown2009-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SMDK6410 supports pluggable PMIC boards. One such board is the Wolfson Microelectronics 1190-EV1 for the WM8350 PMICs. This patch introduces initial support for this module. Further patches will add additional integration with the system as support for the S3C6410 and other devices on the system improves. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] SMDK6410: Add support for SMSC9115 ethernet controllerMark Brown2009-05-01
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| | * | [ARM] SMDK6410: Ensure LCD settings are setupBen Dooks2009-05-01
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Ensure that the LCD output type is RGB and that the modem interface is not bypassing the LCD block. This ensures the LCD interface output gets to the pins in the correct format. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] SMDK6400: Fix WM8753 i2c board definitionBen Dooks2009-05-07
| | | | | | | | | | | | Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C64XX: Add S3C6400 SDHCI setup supportBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C64XX: Add S3C6400 CPU detection.Ben Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C6400: Core support for S3C6400 SoCBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | Add the core support files for the Samsung S3C6400 SoC. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] SMDK6400: Initial machine support for SMDK6400Ben Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | Add minimial support for the SMDK6400 board to test the S3C6400 support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] VIC: Add power management deviceBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [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>