summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ARM] S3C64XX: Update TCFG for new timer divider settings.Ben Dooks2008-12-164-29/+129
| | | | | | | | | | | | 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>
* [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] S3C64XX: Fix missing definition of s3c64xx_init_io()Ben Dooks2008-12-152-2/+1
| | | | | | | | | | 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>
* [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-153-6/+6
| | | | | | | | | 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 s3c6400_defconfigBen Dooks2008-12-151-0/+733
| | | | | | Add a basic defconfig for s3c6400 series machines. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] SMDK6410: Initial machine supportBen Dooks2008-12-153-0/+99
| | | | | | Initial machine support for the Samsung SMDK6410. 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-152-0/+9
| | | | | | Add mapping for GPIO block in the static mappings. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] VIC: Update asm/hardware/vic.h with PL192 informationBen Dooks2008-12-152-8/+10
| | | | | | | | | | | | The original arch/arm/include/asm/hardware/vic.h was written for the PL190 ARM VIC implementation, and as such does not have any information about the PL192 version. Add details about the PL192 and PL190 specific registers and any changes between the two units. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Demux UART interruptsBen Dooks2008-12-152-1/+147
| | | | | | | | 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] S3C: Update serial driver IRQ handlingBen Dooks2008-12-152-19/+29
| | | | | | | | The S3C64XX code changes the order of the serial interrupts, so change the registration process to pickup the extra IRQ resources. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCsBen Dooks2008-12-158-4/+178
| | | | | | | Add support to the Samsung serial driver for the S3C6400 and S3C6410 serial ports. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Clock support for S3C6400/S3C6410Ben Dooks2008-12-159-2/+765
| | | | | | | | 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] S3C: Add TICK_MAX for timer codeBen Dooks2008-12-152-2/+8
| | | | | | | | 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>
* [ARM] S3C64XX: Add initial clock frameworkBen Dooks2008-12-157-20/+279
| | | | | | | | 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-154-0/+40
| | | | | | | Add the common initialisation code for both the S3C6400 and S3C6410, the UART registration. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Map timer memory and interruptsBen Dooks2008-12-154-9/+107
| | | | | | | 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>
* [ARM] S3C: Fix PWM build on S3C6400Ben Dooks2008-12-151-3/+1
| | | | | | | | | | | 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>
* [ARM] S3C6400: Add <mach/tick.h>Ben Dooks2008-12-151-0/+27
| | | | | | | Add the necessary support for the timer on the S3C6400 and S3C6410 by adding <mach/tick.h> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add VIC0 and VIC1 sourced interriptsBen Dooks2008-12-157-0/+47
| | | | | | | Add and initialise the two VIC (PL192) found on the S3C64XX series CPUs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C6410: Initial CPU support codeBen Dooks2008-12-154-1/+104
| | | | | | Initial support for the Samsung S3C6410 SoC. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Basic CPU detection and map initialisationBen Dooks2008-12-155-0/+169
| | | | | | | | | 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>
* [ARM] S3C64XX: Add IRQ definitions for VIC0 and VIC1Ben Dooks2008-12-151-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>
* [ARM] S3C64XX: Add UARTdevice definitionsBen Dooks2008-12-154-1/+213
| | | | | | | Add resources and information for the UART deviecs on the S3C64XX CPUs. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add system boot-time supportBen Dooks2008-12-154-1/+29
| | | | | | | 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>
* [ARM] S3C64XX: Add <plat/regs-clock.h>Ben Dooks2008-12-151-0/+131
| | | | | | Initial clock register defines. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add <mach/debug-macro.S>Ben Dooks2008-12-153-0/+95
| | | | | | | Add the necessary support for the kernel low-level debug macros via <mach/debug-macro.S> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Add <mach/entry-macro.S>Ben Dooks2008-12-151-0/+44
| | | | | | | | Add the include for the interrupt entry macros needed to be included by <mach/entry-macro.S> for the kernel interrupt handler. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C64XX: Initial arch header filesBen Dooks2008-12-156-0/+140
| | | | | | | | | | 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>
* [ARM] S3C64XX: Initial arch directoryBen Dooks2008-12-1510-1/+106
| | | | | | | Add the initial PLAT_S3C64XX support files and directory structure. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C24XX: Split timer pending code outBen Dooks2008-12-153-5/+32
| | | | | | | | | 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>
* [ARM] S3C24A0: Initial architecture support filesBen Dooks2008-12-157-8/+85
| | | | | | | | | | 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>
* [ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410Ben Dooks2008-12-155-81/+111
| | | | | | | | | | | | 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>
* [ARM] S3C24A0: Serial port definitions and driver support.Sandeep Patil2008-12-155-2/+134
| | | | | | | | | | 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>
* [ARM] S3C24A0: Debug macro definitionsBen Dooks2008-12-152-1/+29
| | | | | | | | 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>
* [ARM] S3C24A0: Correct S3C2410_PA_GPIO in S3C24XX_VA_GPIOSandeep Patil2008-12-151-1/+1
| | | | | | | | The definition of S3C24XX_VA_GPIO used S3C2410_PA_GPIO where it should have read S3C24XX_PA_GPIO. Signed-off-by: Sandeep Patil <sandeep.patil@azingo.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C24A0: arch/arm/mach-s3c24a0/include/mach header filesSandeep Patil2008-12-155-0/+325
| | | | | | | | Add initial arch/arm/mach-s3c24a0/include/mach header files for supporting Samsung S3C24A0 SoC. Signed-off-by: Sandeep Patil <sandeep.patil@azingo.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Fix scaler1 clock rate informationBen Dooks2008-12-151-2/+4
| | | | | | | | | | | | | 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>
* [ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clockBen Dooks2008-12-151-4/+47
| | | | | | | 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>
* [ARM] S3C24XX: Reduce code lineage of gpiolib.cBen Dooks2008-12-151-27/+22
| | | | | | | | | | | | | All the s3c24xx gpiolib chips share the same get/set calls and all but one bank shares the same calls for .direction_input and .direction_output methods. Change the initialisation process to use an new call to register the chips that fills in any blank calls with the default values to avoid having to fill them in the structure initialisers. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: BUG_ON() if clock has already been registeredBen Dooks2008-12-151-0/+3
| | | | | | | | | | | 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>
* [ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3cBen Dooks2008-12-153-2/+2
| | | | | | | 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>
* [ARM] S3C: Move core clock support to plat-s3cBen Dooks2008-12-153-314/+357
| | | | | | | | 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>
* [ARM] S3C: Move time.c to arch/arm/plat-s3cBen Dooks2008-12-153-5/+5
| | | | | | | Move time.c to arch/arm/plat-s3c to be shared with the S3C64XX implementations. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
* [ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h headerBen Dooks2008-12-153-7/+22
| | | | | | | 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>
OpenPOWER on IntegriCloud