aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/plat-s3c64xx
AgeCommit message (Collapse)Author
2009-03-06Merge branch 'master' of ↵Ben Dooks
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes
2009-02-27[ARM] S3C64XX: Fix s3c64xx_setrate_clksrcWerner Almesberger
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Brown
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 Brown
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 Brown
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 Dooks
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 Brown
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 Hsu
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 Dooks
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 Dooks
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 Dooks
Conflicts: arch/arm/mach-s3c2440/mach-at2440evb.c
2008-12-16[ARM] S3C64XX: Correct the EINT IRQ type configurationMatt Hsu
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 Park
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
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 Dooks
Initial clock register defines. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Initial arch header filesBen Dooks
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>