summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c
AgeCommit message (Collapse)Author
2008-12-18[ARM] S3C24XX: Add fourth UART definition for S3C2443Ben Dooks
Add the fourth UART definition for the S3C2443, and at the same time fixup the problems caused by the enlarging of the UART array in the previous commits. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18[ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handlingBen Dooks
Fix the usage of CONFIG_SERIAL_SAMSUNG_UARTS in several places in the kernel where it had been missed. This finishes fixing a long standing issue where S3C2443 and S3C64XX could not use the 4th UART 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-18Merge branch 'next-s3c64xx' into next-mergedBen Dooks
2008-12-18[ARM] S3C24XX: ADC driver coreBen Dooks
A common core driver for the S3C24XX ADC block so that the touchscreen, hwmon and any other drivers can share the resource. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-16[ARM] S3C: Add UART FIFO selection during arch decompressionBen Dooks
Add a configuration option to start the UART FIFOs during the decompressions sequence to improve boot time when the bootloader fails to enable the UART FIFOs. For example, the SMDK6410 UBoot 1.1.6 leaves the FIFOs off. 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-16[ARM] S3C64XX: Update TCFG for new timer divider settings.Ben Dooks
The S3C64XX series has a new TCFG divider setting to allow the clock directly through, which means that we need to update the pwm-clock code to cope with this. Add <mach/pwm-clock.h> containing the specific code to deal with the TCFG divider settings and provide any other per-arch data that the pwm-clock driver needs to function. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add new FB device definitionBen Dooks
Add a device definition for the new S3C framebuffer driver. 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] S3C: Add register defines for new style framebufferBen Dooks
Provide the initial register definitions for the newer style of framebuffer cores found in the Samsung SoCs such as S3C2450, S3C64XX. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Fix SDHCI setup compilationBen Dooks
Fix the compilation of the SDHCI configuration/setup functions to depend on their respective configuration variables. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C6410: Fix gpio configuration for channel 1.Ben Dooks
Select the correct GPIO configuration function for channel 1 Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Fix missing definition of s3c64xx_init_io()Ben Dooks
The function s3c64xx_init_io was missing from <plat/cpu.h> and was masked by the SMDK6410 having an local definition. Fix by removing the SMDK6410 variant and adding it to the relevant <plat/cpu.h> file. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add header for initial i2c device core setup.Ben Dooks
Add a header to define setup functions for the i2c devices. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Make i2c device definition common to plat-s3cBen Dooks
Make the device i2c0 common to plat-s3c and move the definitions from arch/arm/plat-s3c24xx/devs.c Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add SDHCI (HSMMC) channel 1 device definitionBen Dooks
Add device definition and support code for the Samsung HSMMC channel 1 device. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C6410: Add helper for setting SDHCI device informationBen Dooks
Add the necessary helper functions for setting up the SDHCI device information. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add Samsung SDHCI register definitionsBen Dooks
Add the specific register definitions for the Samsung SDHCI (HSMMC) block for the S3C2443 and S3C64XX series. 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] 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] S3C: Move common GPIO code from plat-s3c24xxBen Dooks
Move the common parts of the GPIO code into plat-s3c for use with both the s3c24xx and s3c64xx systems. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Add gpio bank numberingBen Dooks
Define the gpio numbers for the S3C64XX GPIO banks available on the S3C6400 and S3C6410. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Move HSMMC device definition to plat-s3ecBen Dooks
Move the definition for the hsmmc device to plat-s3c to be shared between the s3c24xx and s3c64xx platforms. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCsBen Dooks
Add support to the Samsung serial driver for the S3C6400 and S3C6410 serial ports. 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] S3C: Add TICK_MAX for timer codeBen Dooks
Add TICK_MAX definition for the timer code as the S3C64XX series have 32bit capable PWM timers. 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: 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] S3C: Fix PWM build on S3C6400Ben Dooks
The pwm-clock.c needs <mach/map.h> which is included via other means on S3C24XX systems, so ensure it is explicitly included. Remove the includes of regs-clock.h and regs-gpio.h as these are not needed by the build. 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: 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 system boot-time supportBen Dooks
Add the necessary defines for <mach/uncompress.h> to function and build an working header code block. Signed-off-by: Ben Doioks <ben-linux@fluff.org>
2008-12-15[ARM] S3C64XX: Initial arch directoryBen Dooks
Add the initial PLAT_S3C64XX support files and directory structure. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Split timer pending code outBen Dooks
Split the timer pending code out to a seperate per-machine header so that when compiling for mach-s3c2410 or mach-s3c24a0 we can use the right timer code without having to #ifdef the timer driver. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24A0: Initial architecture support filesBen Dooks
Initial architecture support for the S3C24A0 ARCH_S3C24A0. We don't yet add an kconfig entry in the main arch/arm/Kconfig file as the series is not complete, so that is left until enough support is in to be useful. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410Ben Dooks
Split the map.h definitions into common S3C24XX code by adding arch/arm/plat-s3c24xx/include/plat/map.h and altering the machine specific header for the S3C24A0. As we add a new <plat/map.h> we move the original one in arch/arm/plat-s3c include directory to be called map-base.h to distinguish the two files. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24A0: Serial port definitions and driver support.Sandeep Patil
Add serial support for S3C24A0, based on current S3C2410 UART driver. It adds necessary new defines in regs-serial.h for S3C24A0 and the code to support this device in drivers/serial/s3c24a0.c Signed-off-by: Sandeep Patil <sandeep.patil@azingo.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24A0: Debug macro definitionsBen Dooks
Add the necessary debug macros for the S3C24A0 to enable kernel debugging, and fix a bug with selecting the wrong default debug implementation from the base include. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Fix scaler1 clock rate informationBen Dooks
The pwm-scaler0 and pwm-scaler1 clocks have their .id field set to -1 as they are not referenced to any specific device. However, parts of the pwm-clock code used the .id field to identify which scaler clock was being used. Fix the problem by comparing against the pointer to the clock to identify the scalers. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clockBen Dooks
Add the set_rate and round_rate methods for the pwm-scaler clock for use with the time code. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: BUG_ON() if clock has already been registeredBen Dooks
Add a simple check when registering a clock on whether the clock has already been added to the list. Any attempt to re-register a clock will cause the clock list to be come looped and thus produces silent failures when looking up clocks. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3cBen Dooks
Move pwm-clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Move core clock support to plat-s3cBen Dooks
Move the core clock registration and definitions in arch/arm/plat-s3c24xx/clock.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Move time.c to arch/arm/plat-s3cBen Dooks
Move time.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h headerBen Dooks
Add a common include file (regs-irqtype.h) for the IRQ trigger control register values S3C2410_EXTINT*. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Move headers from plat-s3c24xx to plat-s3cBen Dooks
Move clock.h, cpu.h and devs.h to plat-s3c for use with the s3c64xx support. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Move initialisation code to arch/arm/plat-s3cBen Dooks
We need to add plat-s3c to the build to get the headers that will go in here once moved from include/asm-arm so we may as well put some useful common s3c code in here to stop the errors generated form having nothing built. The cpu setup is now passed the cpu idcode and the table of supported cpus to s3c_init_cpu() to abstract the cpu identification out of the initial io setup. As well as moving the cpu initialisation code, we move the map of the board specific items up to the calling code as none of the map_io() functions actually do anything other than pass this to iotable_init(). This patch does not rename any of the init functions that will be common to s3c24xx and any other s3c architectures as this can be done at a later date as it will touch all the board support files which use functions such as s3c24xx_init_clocks() and s3c24xx_init_uarts(). Note, the header arch/arm/plat-s3c24xx/include/plat/cpu.h still has functions that are used by both the cpu and board initialisation functions. This means that each board has definitions specific to the cpu support included and the vice-versa. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Add default <mach/io.h> headerBen Dooks
Add a default header for <mach/io.h> for systems such as the S3C24A0 which do not need any of the complex code that the S3C2410 uses. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15[ARM] S3C24XX: Move vmalloc.h to plat-s3cBen Dooks
vmalloc.h is common across all the current s3c platforms, so move it to arch/arm/plat-s3c/include/mach to be used for all the targets. Signed-off-by: Ben Dooks <ben-linux@fluff.org>