aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c
Commit message (Collapse)AuthorAge
* USB: Gadget driver for Samsung HS/OtG blockBen Dooks2009-06-16
| | | | | | | | | | | | | Driver support for the new high-speed/OtG block that is in the newer line of Samsung SoC devices such as the S3C64XX series. This driver does not currntly have DMA support enabled due to issues with buffer alignment which need to be sorted out. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Merge branch for-rmk-devel of git://aeryn.fluff.org.uk/bjdooks/linux into develRussell King2009-06-10
|\
| * [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] 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] 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] 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 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] 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] 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] S3C64XX: Add IRQ PM codeBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C64XX: Add generic s3c64xx sys device.Ben Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C64XX: Add s3c6410_sysclass exportBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C64XX: Initial support for PM (suspend to RAM)Ben Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | [ARM] S3C: PM save UART UDIVSLOT if doing PMBen Dooks2009-05-07
| | | | | | | | | | | | | | | | | | | | | 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>
| * | [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] S3C: Do not set clk->owner field if unsetBen Dooks2009-05-15
|/ | | | | | | | | | | | | | | | The s3c24xx_register_clock() function has been doing a test on clk->owner to see if it is NULL, and then setting itself as the owner if clk->owner == NULL. This is not needed, arch/arm/plat-s3c/clock.c cannot be compiled as a module, and even if it was, it should not be playing with this field if it being registered from somewhere else. The best course of action is to remove this bit of code completely. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Fix sparse warning from missing 's3c_device_hwmon'Ben Dooks2009-04-17
| | | | | | | | | | Fix the following sparse warning due to s3c_device_hwmon being missing from <plat/devs.h> devs.c:380:24: warning: symbol 's3c_device_hwmon' 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] S3C: Export s3c_gpio_cfgpin and s3c_gpio_setpull for modulesBen Dooks2009-04-16
| | | | | | | | | Add an export of the two GPIO configuration calls s3c_gpio_cfgpin and s3c_gpio_setpull to allow modules to use them (such as ASoC drivers) Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* i2c-s3c2410: Simplify bus frequency calculationDaniel Silverstone2009-04-07
| | | | | | | | | | | | | | | | | The platform data for the i2c-s3c2410 driver used to allow a min, max and desired frequency for the I2C bus. This patch reduces it to simply a desired frequency ceiling and corrects all the uses of the platform data appropriately. This means, for example, that on a system with a 66MHz fclk, a request for 100KHz will achieve 65KHz which is safe and acceptable, rather than 378KHz which it would have achieved without this change. Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Daniel Silverstone <dsilvers@simtec.co.uk> [ben-linux@fluff.org: tidy subject and description] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* i2c-s3c2410: sda_delay should be in ns, not clock ticksBen Dooks2009-04-07
| | | | | | | The sda_delay field should be specified in ns, not in clock ticks as when using cpufreq we could be changing the bus rate. Signed-off-by: Ben Dooks <ben@simtec.co.uk>
* Merge branch 'origin' into develRussell King2009-03-28
|\ | | | | | | | | Conflicts: sound/soc/pxa/pxa2xx-i2s.c
| * Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2009-03-26
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (97 commits) USB: qcserial: add device id for HP devices USB: isp1760: Add a delay before reading the SKIPMAP registers in isp1760-hcd.c USB: allow malformed LANGID descriptors USB: pxa27x_udc: typo fixes and code cleanups USB: gadget: gadget zero uses new suspend/resume hooks USB: gadget: composite device-level suspend/resume hooks USB: r8a66597-hcd: suspend/resume support USB: more u32 conversion after transfer_buffer_length and actual_length USB: Fix cp2101 USB serial device driver termios functions for console use USB: CP2101 New Device ID USB: ipaq: handle 4 endpoint devices USB: S3C: Move usb-control.h to platform include USB: ohci-hcd: Add ARCH_S3C24XX to the ohci-s3c2410.c glue USB: pedantic: spelling correction in comment for ch9.h USB: host: fix sparse warning: Using plain integer as NULL pointer USB: ohci-s3c2410: fix name of bus clock USB: ohci-s3c2410: remove <mach/hardware.h> include USB: serial: rename cp2101 driver to cp210x USB: CP2101 Reduce Error Logging USB: CP2101 Support AN205 baud rates ...
| | * USB: S3C: Move usb-control.h to platform includeBen Dooks2009-03-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The usb-control.h is needed by ohci-s3c2410.c for both S3C24XX and S3C64XX architectures, so move it to <plat/usb-control.h> Signed-off-by: Ben Dooks <ben@simtec.co.uk> Cc: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | ASoC: Fix Samsung S3C2412_IISMOD_SDF_{MSB,LSB} definitionsBen Dooks2009-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | The definitions of S3C2412_IISMOD_SDF_MSB and S3C2412_IISMOD_SDF_LSB are incorrect, being the same S3C2412_IISMOD_SDF_IIS which is the only correct one in this series. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | ASoC: Add s3c64xx-i2s supportBen Dooks2009-03-06
| | | | | | | | | | | | | | | | | | | | | | | | Add the initial code to support the S3C64XX I2S hardware using the s3c-i2s-v2 core code. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| * | S3C: Move <mach/audio.h> to <plat/audio.h>Ben Dooks2009-03-05
| | | | | | | | | | | | | | | | | | | | | | | | The <mach/audio.h> file needs to be common to both ARCH_S3C2410 and ARCH_S3C64XX as they share common driver code, so move it to <plat/audio.h>. Signed-off-by: Ben Dooks <ben@simtec.co.uk> 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: Do not kmalloc/kfree during inner suspend code.Ben Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PM CRC checking code kmallocs an area to save a set of CRC values during suspend. This triggers a warning due to the call of a function that might sleep whilst the system is not in a valid state to do so. Move the allocation and free to points in the suspend and resume process where they can call a function that might-sleep. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * | [ARM] S3C: Avoid checking the task stackpage in pm-checkBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | When doing the CRC check of the memory, avoid checking the page that our stack is residing in as this changes during the execution of the suspend and resume. 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] S3C: Fix warnings in the PM memory CRC codeBen Dooks2009-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Fix warnings from struct resource being bigger than unsigned long by forcing the type. We are only a 32bit platform so no physical memory addresses will be too big to fit in this. 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] 5376/1: S3C24XX: Fix sparse errors in platform uncompress.hDaniel Silverstone2009-02-19
|/ | | | | | | | | Ensure __iomem attribute is __force 'd off in the minimal __raw_writel() implementation. Signed-off-by: Simtec Linux Team <linux@simtec.co.uk> Signed-off-by: Ben Dooks <ben@simtec.co.uk> 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] s3c: S3C options should depend on PLAT_S3CRussell King2008-12-21
| | | | | | | This avoids non-Samsung builds being asked about Samsung specific configuration options. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* [ARM] s3c: define __io using the typesafe versionRussell King2008-12-18
| | | | | | as per 0560cf5aa51216b06874333a2fa26ca034d97bdb Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>