summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c64xx
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] S3C64XX: add AHB_CON and SPCON register address definitionsBen Dooks2009-03-101-0/+4
| | | | | | | Add the address definitions for S3C64XX_AHB_CONx and SPCON registers for use in the PM code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add definitions for the GPIO memory port configurationsBen Dooks2009-03-101-0/+25
| | | | | | | Add defines for the registers that control the GPIO pins that are run the memory interface. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: SYSCON power and sleep control register definesBen Dooks2009-03-101-0/+116
| | | | | | | Add the register defines for the sleep and power control functions in the S3C64XX SYSCON register block. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add S3C64XX_SPCON register bit definitionsBen Dooks2009-03-101-0/+81
| | | | | | | Add the definitions for the SPCON register in the GPIO block. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add GPIO SPCONSLP and SLPEN register definitionsBen Dooks2009-03-101-0/+27
| | | | | | | Add GPIO register definitions for SPCONSLP and SLPEN for controlling the state of the pins over sleep. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add EINT group regs and move IRQ_EINT to regs-gpio.hBen Dooks2009-03-102-31/+61
| | | | | | | | Add definitions for the EINT group registers and move the EINT IRQ register definitions out of arch/arm/plat-s3c64xx/irq-eint.c so that they are available for re-use with PM and the other code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add modem registers and a virtual mapBen Dooks2009-03-102-0/+36
| | | | | | | | | Add the modem registers and a virtual mapping for the modem block. This is is required as there are registers that control the LCD block that need to be saved over suspend as well as interrupt controls. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* Merge branch 'master' of ↵Ben Dooks2009-03-061-1/+1
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes
| * [ARM] 5411/1: S3C64XX: Fix EINT unmaskMark Brown2009-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | Currently the unmask function for EINT interrupts was setting the mask bit rather than clearing it. This was also previously reported and fixed by Kyungmin Park <kyungmin.park@samsung.com> and others. Acked-By: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | [ARM] S3C64XX: Fix s3c64xx_setrate_clksrcWerner Almesberger2009-02-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | Some of the rate selection logic in s3c64xx_setrate_clksrc uses what appears to be parent clock selection logic. This patch corrects it. I also added a check for overly large dividers to prevent them from changing unrelated clocks. Signed-off-by: Werner Almesberger <werner@openmoko.org> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.cBen Dooks2009-02-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix the following sparse warnings in arch/arm/plat-s3c64xx/irq.c arch/arm/plat-s3c64xx/irq.c:210:23: warning: incorrect type in initializer (different address spaces) arch/arm/plat-s3c64xx/irq.c:210:23: expected void *reg_base arch/arm/plat-s3c64xx/irq.c:210:23: got void [noderef] <asn:2>*regs arch/arm/plat-s3c64xx/irq.c:215:2: warning: incorrect type in argument 1 (different address spaces) arch/arm/plat-s3c64xx/irq.c:215:2: expected void const volatile [noderef] <asn:2>*<noident> arch/arm/plat-s3c64xx/irq.c:215:2: got void * Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.cBen Dooks2009-02-271-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the following sparse warnings in s3c6400-clock.c: 39:12: warning: symbol 'clk_ext_xtal_mux' was not declared. Should it be static? 66:12: warning: symbol 'clk_fout_apll' was not declared. Should it be static? 81:19: warning: symbol 'clk_mout_apll' was not declared. Should it be static? 91:12: warning: symbol 'clk_fout_epll' was not declared. Should it be static? 106:19: warning: symbol 'clk_mout_epll' was not declared. Should it be static? 126:19: warning: symbol 'clk_mout_mpll' was not declared. Should it be static? 148:12: warning: symbol 'clk_dout_mpll' was not declared. Should it be static? Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Fix USB host clock mux listBen Dooks2009-02-261-1/+1
| | | | | | | | | | | | | | | | The clock list for the USB host bus clock was in the wrong order, move clk_48m to position 0. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Fix name of USB host clock.Ben Dooks2009-02-261-1/+1
| | | | | | | | | | | | | | The usb-host-bus clock should be named usb-bus-host. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBHBen Dooks2009-02-261-1/+1
| | | | | | | | | | | | | | | | The USB OHCI host device expects the IRQ definition to be named IRQ_USBH, so rename the S3C64XX IRQ header to match. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Do gpiolib configuration earlierMark Brown2009-02-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arch_initcall() runs after the machine init function which means that any configuration of GPIO pins must currently be done later on, for example in callbacks from drivers. Move the initialisation earlier in order to allow machines to configure GPIOs directly in their init functions rather than having to have a callback invoked later on. Some other ARM platforms use this method. Other solutions for this include providing a special interface for setting up GPIOs en masse, adding callbacks to do the GPIO configuration from devices and doing the GPIO configuration implicitly. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()Mark Brown2009-02-261-1/+1
| | | | | | | | | | | | | | It's an initcall and does not need to be exported. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks()Mark Brown2009-02-261-1/+1
| | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Set GPIO pin when select IRQ_EINT typeBen Dooks2009-02-261-0/+13
|/ | | | | | | Set the GPIO pin mode to external interrupt when configuring an IRQ_EINT's IRQ type. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Fix EINT group macro definitionMatt Hsu2009-01-081-1/+1
| | | | | | | | | Fix IRQ_EINT_GROUP which has an extra _ in it and an error in the IRQ offset. Signed-off-by: Matt Hsu <matt_hsu@openmoko.org> [ben-linux@fluff.org: rewrite description] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Ensure CPU_V6 is selectedBen Dooks2008-12-181-1/+2
| | | | | | Select CPU_V6 with the S3C64XX series. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Remove unnecessary <linux/delay.h> includesBen Dooks2008-12-182-2/+0
| | | | | | | | 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>
* Merge branch 'next-s3c64xx-device' into next-mergedBen Dooks2008-12-1822-0/+1347
|\ | | | | | | | | | | Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c
| * [ARM] S3C64XX: Add standard S3C64XX 24BPP LCD GPIO setupBen Dooks2008-12-153-0/+43
| | | | | | | | | | | | | | Add a standard helper to configure the LCD output pins for a 24BPP display with VSYNC/HSYNC/VDEN. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C: Add i2c1 device definitionBen Dooks2008-12-151-0/+5
| | | | | | | | | | | | | | | | Add device definition and support functions for the second i2c device (i2c1). If this is selected, the first i2c bus will become index 0 instead of index -1. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: Setup functions for i2c bus 1.Ben Dooks2008-12-153-0/+37
| | | | | | | | | | | | | | Add common gpio setup for i2c bus 1 on all current S3C64XX architectures. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: Add i2c device setup for I2C device 0Ben Dooks2008-12-153-0/+46
| | | | | | | | | | | | | | Add the necessary device initialisation information for I2C device 0. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: GPIO definitions for BANKS N,O,P,QBen Dooks2008-12-154-0/+239
| | | | | | | | | | | | | | GPIO register and configuration definitions for GPIO banks N, O, P and Q. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: GPIO definitions for BANKS G,H,I,JBen Dooks2008-12-154-0/+192
| | | | | | | | | | | | | | GPIO register and configuration definitions for GPIO banks G, H, I and J. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: GPIO definitions for BANKS D,E,FBen Dooks2008-12-153-0/+164
| | | | | | | | | | | | | | GPIO register and configuration definitions for GPIO banks D, E and F. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: GPIO definitions for BANKS A,B,CBen Dooks2008-12-153-0/+161
| | | | | | | | | | | | | | GPIO register and configuration definitions for GPIO banks A, B and C. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C: Add new GPIO configuration callsBen Dooks2008-12-152-1/+77
| | | | | | | | | | | | | | Add new GPIO configuration calls that mesh with the new gpiolib support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C64XX: GPIO library supportBen Dooks2008-12-153-0/+383
| | | | | | | | | | | | | | Add gpiolib registration for the GPIOs available on the S3C64XX platform Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| * [ARM] S3C: Add GPIO chip trackingBen Dooks2008-12-151-0/+1
| | | | | | | | | | | | | | | | | | The gpiolib driver keeps its chip array to itself and having a separate array for s3c-only gpios stops any non-s3c gpio being used in one of the s3c specific configuration calls. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Correct the EINT IRQ type configurationMatt Hsu2008-12-161-1/+1
| | | | | | | | | | | | | | | | | | Select the correct EINT configuration register when configuring the external interrupt level/edge type. Signed-off-by: Matt Hsu <matt_hsu@openmoko.org> [ben-linux@fluff.org: description improvement] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Mask the pll values correctlyKyungmin Park2008-12-161-3/+3
| | | | | | | | | | | | | | | | | | Correct the PLL field masks to ensure the PLL functions return the right value. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> [ben-linux@fluff.org: improve the description text] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C: Update time initialisation to fix S3C64XX time problemsBen Dooks2008-12-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The S3C64XX timer is running at the wrong rate due to the assumptions made in the timer initialisation about the way the pwm dividers work. This means that time on the S3C64XX runs twice as fast as it should. Fix the problem by moving to using the clk framework to setup the pwm timer clock muxes, as the pwm-clock code has all the necessary knowledge of how the timer clock inputs are routed. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C64XX: Fix MMC0 clock source register maskBen Dooks2008-12-151-2/+2
| | | | | | | | | | | | | | Fix the definition of the MMC0 register shift and mask in the CLKSRC register. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C6XX: Add enable for clk_48Ben Dooks2008-12-152-0/+46
| | | | | | | | | | | | Add apropriate enable call for clk_48m. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* | [ARM] S3C6400: Register clk_fout_epllBen Dooks2008-12-151-0/+1
|/ | | | | | | | The clk_fout_epll clock wasn't registered as part of the initial clock work, which can cause problems if it is used by one of the hardware blocks. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add external interrupt group definitionsBen Dooks2008-12-151-3/+37
| | | | | | | Add definitions for the external interrupt groups which accompany the original IRQ_EINT from the s3c24xx series. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Fix warnings from map_io initilaisersBen Dooks2008-12-151-5/+5
| | | | | | | | | | | Discard the 'void *' from the pointers used for the virtual addresses when setting up the .virtual fields of the io map to avoid implicit cast warnings Signed-off-by: Ben Dooks <ben-linux@fluff.org> Index: linux.git/arch/arm/plat-s3c64xx/cpu.c ===================================================================
* [ARM] S3C64XX: Reduce some output from INFO to DEBUGBen Dooks2008-12-152-5/+5
| | | | | | | | | Some of the startup output can be reduced to KERN_DEBUG from KERN_INFO as it is only really useful when trying to debug kernel initialisation problems. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add IRQ_EINT supportBen Dooks2008-12-153-1/+205
| | | | | | | | | | | Add the necessary code to support IRQ_EINT(x) on the S3C64XX series of CPUs. Note, since there is no GPIO configuration support in the kernel, the irq set_type method does not configure the relevant pin to interrupt. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Map GPIO blockBen Dooks2008-12-151-0/+5
| | | | | | Add mapping for GPIO block in the static mappings. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Demux UART interruptsBen Dooks2008-12-151-1/+139
| | | | | | | | Add demux handling for the UART interrupts generated by the VIC into their seperate IRQs that the serial driver can register. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Clock support for S3C6400/S3C6410Ben Dooks2008-12-156-2/+758
| | | | | | | | Add the PLL clock initialisation and clock registration and include the clocks sourced via CLKDIVx for most of the on-chip peripherals. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add initial clock frameworkBen Dooks2008-12-152-0/+259
| | | | | | | | Add the initial clocks definitions for the s3c6400 and s3c6410. Move the epll and ext clock from the s3c2443 support into the common code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add PLL definitionsBen Dooks2008-12-151-0/+74
| | | | | | | Add definitions for the s3c6400 epll and main pll as well as functions to decode the rate. Add Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Common init code for S3C6400 and S3C6410Ben Dooks2008-12-153-0/+39
| | | | | | | Add the common initialisation code for both the S3C6400 and S3C6410, the UART registration. Signed-off-by: Ben Dooks <ben-linux@fluff.org>