aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c64xx (follow)
AgeCommit message (Collapse)AuthorFilesLines
2009-03-06Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixesBen Dooks1-1/+1
2009-02-27[ARM] S3C64XX: Fix s3c64xx_setrate_clksrcWerner Almesberger1-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>
2009-02-27[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.cBen Dooks1-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>
2009-02-27[ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.cBen Dooks1-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>
2009-02-26[ARM] S3C64XX: Fix USB host clock mux listBen Dooks1-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>
2009-02-26[ARM] S3C64XX: Fix name of USB host clock.Ben Dooks1-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>
2009-02-26[ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBHBen Dooks1-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>
2009-02-26[ARM] S3C64XX: Do gpiolib configuration earlierMark Brown1-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>
2009-02-26[ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()Mark Brown1-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>
2009-02-26[ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks()Mark Brown1-1/+1
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-02-26[ARM] S3C64XX: Set GPIO pin when select IRQ_EINT typeBen Dooks1-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>
2009-02-24[ARM] 5411/1: S3C64XX: Fix EINT unmaskMark Brown1-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>
2009-01-08[ARM] S3C64XX: Fix EINT group macro definitionMatt Hsu1-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>
2008-12-18[ARM] S3C64XX: Ensure CPU_V6 is selectedBen Dooks1-1/+2
Select CPU_V6 with the S3C64XX series. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18[ARM] S3C: Remove unnecessary <linux/delay.h> includesBen Dooks2-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>
2008-12-18Merge branch 'next-s3c64xx-device' into next-mergedBen Dooks22-0/+1347
Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c
2008-12-16[ARM] S3C64XX: Correct the EINT IRQ type configurationMatt Hsu1-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>
2008-12-16[ARM] S3C64XX: Mask the pll values correctlyKyungmin Park1-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>
2008-12-16[ARM] S3C: Update time initialisation to fix S3C64XX time problemsBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Add standard S3C64XX 24BPP LCD GPIO setupBen Dooks3-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>
2008-12-15[ARM] S3C: Add i2c1 device definitionBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Fix MMC0 clock source register maskBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Setup functions for i2c bus 1.Ben Dooks3-0/+37
Add common gpio setup for i2c bus 1 on all current S3C64XX architectures. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add i2c device setup for I2C device 0Ben Dooks3-0/+46
Add the necessary device initialisation information for I2C device 0. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: GPIO definitions for BANKS N,O,P,QBen Dooks4-0/+239
GPIO register and configuration definitions for GPIO banks N, O, P and Q. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: GPIO definitions for BANKS G,H,I,JBen Dooks4-0/+192
GPIO register and configuration definitions for GPIO banks G, H, I and J. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: GPIO definitions for BANKS D,E,FBen Dooks3-0/+164
GPIO register and configuration definitions for GPIO banks D, E and F. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: GPIO definitions for BANKS A,B,CBen Dooks3-0/+161
GPIO register and configuration definitions for GPIO banks A, B and C. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C6XX: Add enable for clk_48Ben Dooks2-0/+46
Add apropriate enable call for clk_48m. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C6400: Register clk_fout_epllBen Dooks1-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>
2008-12-15[ARM] S3C: Add new GPIO configuration callsBen Dooks2-1/+77
Add new GPIO configuration calls that mesh with the new gpiolib support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: GPIO library supportBen Dooks3-0/+383
Add gpiolib registration for the GPIOs available on the S3C64XX platform Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add GPIO chip trackingBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Add external interrupt group definitionsBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Fix warnings from map_io initilaisersBen Dooks1-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 ===================================================================
2008-12-15[ARM] S3C64XX: Reduce some output from INFO to DEBUGBen Dooks2-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>
2008-12-15[ARM] S3C64XX: Add IRQ_EINT supportBen Dooks3-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>
2008-12-15[ARM] S3C64XX: Map GPIO blockBen Dooks1-0/+5
Add mapping for GPIO block in the static mappings. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Demux UART interruptsBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Clock support for S3C6400/S3C6410Ben Dooks6-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>
2008-12-15[ARM] S3C64XX: Add initial clock frameworkBen Dooks2-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>
2008-12-15[ARM] S3C64XX: Add PLL definitionsBen Dooks1-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>
2008-12-15[ARM] S3C64XX: Common init code for S3C6400 and S3C6410Ben Dooks3-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>
2008-12-15[ARM] S3C64XX: Map timer memory and interruptsBen Dooks3-8/+105
Add the physical to virtual memory mapping and the necessary interrupt demuxing for the PWM timer blocks. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add VIC0 and VIC1 sourced interriptsBen Dooks5-0/+40
Add and initialise the two VIC (PL192) found on the S3C64XX series CPUs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Basic CPU detection and map initialisationBen Dooks4-0/+168
Initialise the basic physical to virtual mappings and then detect the CPU that the system is being run on so that the cpu code code can call the correct initialisation code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add IRQ definitions for VIC0 and VIC1Ben Dooks1-0/+79
Add IRQ definitions for the VIC0 and VIC1 interrupts on the S3C6400 and S3C6410 SoCs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add UARTdevice definitionsBen Dooks3-1/+212
Add resources and information for the UART deviecs on the S3C64XX CPUs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add <plat/regs-clock.h>Ben Dooks1-0/+131
Initial clock register defines. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Initial arch header filesBen Dooks1-0/+38
Add the initial header files for the S3C64XX support to satisfy the minimal requirements to build a kernel. Some definitions will therefore be placeholders or empty functions that will ensure that the system can build and have base functionality. These will be filled in at a later date. Signed-off-by: Ben Dooks <ben-linux@fluff.org>