Ben Dooks [Sun, 14 Dec 2008 22:33:02 +0000 (22:33 +0000)]
[ARM] S3C: Remove unnecessary <linux/delay.h> includes
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>
Ben Dooks [Sun, 14 Dec 2008 22:50:26 +0000 (22:50 +0000)]
[ARM] S3C24A0: Remove duplicate <mach/io.h> file
The commit
39263db7986bf15c753f6847699107bdf5a2e318 added
a default <mach/io.h> implementation which is shared if
needed between all the s3c implementations. Remove the
s3c24a0 version which is the same as this.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Sun, 14 Dec 2008 23:11:02 +0000 (23:11 +0000)]
[ARM] S3C: Remove cpufreq warnings for unset serial information
As noted by Russell King, do not print any warnings if the
uinfo or tty fields are not set when a CPU frequency change
is sent.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Sun, 14 Dec 2008 23:14:07 +0000 (23:14 +0000)]
[ARM] S3C64XX: Remove __virt_to_bus/__bus_to_virt macros
The changes for ARM highmem support have removed the need
for the __virt_to_bus and __bus_to_virt macros, so remove them
from this build.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 4 Nov 2008 15:29:09 +0000 (15:29 +0000)]
[ARM] S3C24XX: Add fourth UART definition for S3C2443
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>
Ben Dooks [Mon, 3 Nov 2008 19:51:42 +0000 (19:51 +0000)]
[ARM] S3C: Update CONFIG_SERIAL_SAMSUNG_UARTS handling
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>
Ben Dooks [Mon, 3 Nov 2008 09:21:23 +0000 (09:21 +0000)]
[ARM] S3C: Update number of serial ports
Update the serial driver to handle the 4 ports of the
S3C2443 and S364XX series.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Thu, 18 Dec 2008 16:17:37 +0000 (16:17 +0000)]
Merge branch 'next-s3c64xx-device' into next-merged
Conflicts:
arch/arm/mach-s3c2440/mach-at2440evb.c
Ben Dooks [Thu, 18 Dec 2008 14:52:04 +0000 (14:52 +0000)]
Merge branch 'next-s3c64xx' into next-merged
Ben Dooks [Thu, 18 Dec 2008 14:52:00 +0000 (14:52 +0000)]
Merge branch 'next-s3c24xx' into next-merged
Ben Dooks [Mon, 10 Nov 2008 10:59:29 +0000 (10:59 +0000)]
[ARM] AT2440EVB: LCD frame buffer support.
Add LCD frame buffer support for AT2440EVB board.
Signed-off-by: Ramax Lo <ramaxlo@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 10 Nov 2008 10:59:28 +0000 (10:59 +0000)]
[ARM] S3C24XX: AT2440EVB MMC
Add SD/MMC support for AT2440EVB board.
Signed-off-by: Ramax Lo <ramaxlo@gmail.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 10 Nov 2008 10:59:31 +0000 (10:59 +0000)]
[ARM] ANUBIS: Add SM501 GPIO and update I2C setup
Add GPIO support to the SM501 on the Simtec Anubis,
and then add the necessary updates for allowing the
two gpio I2C busses to be used.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 10 Nov 2008 10:59:32 +0000 (10:59 +0000)]
[ARM] S3C24XX: Add extra GPIOs via Kconfig
Add Kconfig entries to allow more GPIO space to
be specified depending on the machine(s) selected.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 10 Nov 2008 10:59:33 +0000 (10:59 +0000)]
[ARM] JIVE: fix spi gpio implementation
Fix the name of the driver, as well as the fact we are not
passing the number of chipselects to the driver.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Thu, 18 Dec 2008 14:20:04 +0000 (14:20 +0000)]
[ARM] S3C24XX: ADC driver core
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>
Ben Dooks [Tue, 2 Dec 2008 19:34:52 +0000 (19:34 +0000)]
[ARM] S3C: Add UART FIFO selection during arch decompression
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>
Matt Hsu [Tue, 2 Dec 2008 19:03:28 +0000 (19:03 +0000)]
[ARM] S3C64XX: Correct the EINT IRQ type configuration
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>
Kyungmin Park [Tue, 25 Nov 2008 08:05:22 +0000 (17:05 +0900)]
[ARM] S3C64XX: Mask the pll values correctly
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>
Kyungmin Park [Tue, 25 Nov 2008 07:59:54 +0000 (16:59 +0900)]
[ARM] S3C64XX: Show uncompress messages
Fix the initialisation of the fifo data in the uncompression serial
routines to ensure that if the FIFO is enabled, that the serial output
is not corrupted.
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[ben-linux@fluff.org: edit description to add more detail]
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 21 Nov 2008 10:36:05 +0000 (10:36 +0000)]
[ARM] S3C: Update time initialisation to fix S3C64XX time problems
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>
Ben Dooks [Fri, 21 Nov 2008 10:36:03 +0000 (10:36 +0000)]
[ARM] S3C64XX: Update TCFG for new timer divider settings.
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>
Ben Dooks [Wed, 19 Nov 2008 15:41:34 +0000 (15:41 +0000)]
[ARM] SMDK6410: Add LCD (LCD48WVGA) definitions
Add support for the LCD 48WVGA module attached to the
SMDK6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Wed, 19 Nov 2008 15:41:33 +0000 (15:41 +0000)]
[ARM] S3C64XX: Add standard S3C64XX 24BPP LCD GPIO setup
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>
Ben Dooks [Wed, 19 Nov 2008 15:41:31 +0000 (15:41 +0000)]
[ARM] S3C: Add new FB device definition
Add a device definition for the new S3C framebuffer
driver.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:55 +0000 (16:14 +0000)]
[ARM] S3C: Add i2c1 device definition
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>
Ben Dooks [Wed, 19 Nov 2008 15:41:30 +0000 (15:41 +0000)]
[ARM] S3C: Add register defines for new style framebuffer
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>
Ben Dooks [Fri, 31 Oct 2008 16:29:19 +0000 (16:29 +0000)]
[ARM] S3C: Fix SDHCI setup compilation
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>
Ben Dooks [Mon, 3 Nov 2008 20:14:57 +0000 (20:14 +0000)]
[ARM] S3C6410: Fix gpio configuration for channel 1.
Select the correct GPIO configuration function for channel 1
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 3 Nov 2008 20:14:56 +0000 (20:14 +0000)]
[ARM] s3c6400_defconfig: Add SDHCI driver
Add the Samsung SDHCI driver to the build.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 3 Nov 2008 20:14:55 +0000 (20:14 +0000)]
[ARM] s3c6400_defconfig: Add I2C driver and devices
Add the new I2C driver and the EEPROM devices to
the system, as well as update to the latest kernel.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 3 Nov 2008 20:14:53 +0000 (20:14 +0000)]
[ARM] SMDK6410: Add availability of second hsmmc channel
Add SDHCI channel 1.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Mon, 3 Nov 2008 14:56:25 +0000 (14:56 +0000)]
[ARM] S3C64XX: Fix MMC0 clock source register mask
Fix the definition of the MMC0 register shift and mask in the
CLKSRC register.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:15:01 +0000 (16:15 +0000)]
[ARM] S3C64XX: Fix missing definition of s3c64xx_init_io()
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>
Ben Dooks [Fri, 31 Oct 2008 16:15:00 +0000 (16:15 +0000)]
[ARM] S3C: Add header for initial i2c device core setup.
Add a header to define setup functions for the i2c
devices.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:59 +0000 (16:14 +0000)]
[ARM] SMDK6410: Add I2C device board information
Add the I2C devices on the SMDK6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:57 +0000 (16:14 +0000)]
[ARM] SMDK6410: Add second I2C channel.
Add the second I2C channel on the SMDK6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:56 +0000 (16:14 +0000)]
[ARM] S3C64XX: Setup functions for i2c bus 1.
Add common gpio setup for i2c bus 1 on all current
S3C64XX architectures.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:52 +0000 (16:14 +0000)]
[ARM] SMDK6410: Add i2c device
Add i2c bus 0 to the configuration
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:51 +0000 (16:14 +0000)]
[ARM] S3C64XX: Add i2c device setup for I2C device 0
Add the necessary device initialisation information
for I2C device 0.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:50 +0000 (16:14 +0000)]
[ARM] S3C64XX: GPIO definitions for BANKS N,O,P,Q
GPIO register and configuration definitions for GPIO
banks N, O, P and Q.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:49 +0000 (16:14 +0000)]
[ARM] S3C64XX: GPIO definitions for BANKS G,H,I,J
GPIO register and configuration definitions for GPIO
banks G, H, I and J.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:48 +0000 (16:14 +0000)]
[ARM] S3C64XX: GPIO definitions for BANKS D,E,F
GPIO register and configuration definitions for GPIO
banks D, E and F.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:47 +0000 (16:14 +0000)]
[ARM] S3C64XX: GPIO definitions for BANKS A,B,C
GPIO register and configuration definitions for GPIO
banks A, B and C.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:40 +0000 (16:14 +0000)]
[ARM] S3C: Make i2c device definition common to plat-s3c
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:39 +0000 (16:14 +0000)]
[ARM] S3C: Add SDHCI (HSMMC) channel 1 device definition
Add device definition and support code for the Samsung
HSMMC channel 1 device.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:38 +0000 (16:14 +0000)]
[ARM] S3C6410: Add helper for setting SDHCI device information
Add the necessary helper functions for setting up the SDHCI
device information.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:37 +0000 (16:14 +0000)]
[ARM] S3C: Add Samsung SDHCI register definitions
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:36 +0000 (16:14 +0000)]
[ARM] S3C6XX: Add enable for clk_48
Add apropriate enable call for clk_48m.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:35 +0000 (16:14 +0000)]
[ARM] S3C6400: Register clk_fout_epll
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:34 +0000 (16:14 +0000)]
[ARM] S3C: Add new GPIO configuration calls
Add new GPIO configuration calls that mesh with the
new gpiolib support.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:33 +0000 (16:14 +0000)]
[ARM] S3C64XX: GPIO library support
Add gpiolib registration for the GPIOs available on the
S3C64XX platform
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:32 +0000 (16:14 +0000)]
[ARM] S3C: Add GPIO chip tracking
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:31 +0000 (16:14 +0000)]
[ARM] S3C: Move common GPIO code from plat-s3c24xx
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:30 +0000 (16:14 +0000)]
[ARM] S3C64XX: Add gpio bank numbering
Define the gpio numbers for the S3C64XX GPIO banks
available on the S3C6400 and S3C6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:29 +0000 (16:14 +0000)]
[ARM] SMDK6410: Add HSMMC0 device
Add HSMMC0 device to SMDK6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Fri, 31 Oct 2008 16:14:28 +0000 (16:14 +0000)]
[ARM] S3C: Move HSMMC device definition to plat-s3ec
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:14 +0000 (14:07 +0100)]
[ARM] S3C64XX: Add external interrupt group definitions
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:13 +0000 (14:07 +0100)]
[ARM] S3C64XX: Fix warnings from map_io initilaisers
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
===================================================================
Ben Dooks [Tue, 21 Oct 2008 13:07:12 +0000 (14:07 +0100)]
[ARM] S3C64XX: Reduce some output from INFO to DEBUG
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:11 +0000 (14:07 +0100)]
[ARM] S3C64XX: Add s3c6400_defconfig
Add a basic defconfig for s3c6400 series machines.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:07:09 +0000 (14:07 +0100)]
[ARM] SMDK6410: Initial machine support
Initial machine support for the Samsung SMDK6410.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:07:08 +0000 (14:07 +0100)]
[ARM] S3C64XX: Add IRQ_EINT support
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:07 +0000 (14:07 +0100)]
[ARM] S3C64XX: Map GPIO block
Add mapping for GPIO block in the static mappings.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:07:06 +0000 (14:07 +0100)]
[ARM] VIC: Update asm/hardware/vic.h with PL192 information
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:05 +0000 (14:07 +0100)]
[ARM] S3C64XX: Demux UART interrupts
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:04 +0000 (14:07 +0100)]
[ARM] S3C: Update serial driver IRQ handling
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:03 +0000 (14:07 +0100)]
[ARM] S3C6400: serial support for S3C6400 and S3C6410 SoCs
Add support to the Samsung serial driver for the S3C6400
and S3C6410 serial ports.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:07:02 +0000 (14:07 +0100)]
[ARM] S3C64XX: Clock support for S3C6400/S3C6410
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:01 +0000 (14:07 +0100)]
[ARM] S3C: Add TICK_MAX for timer code
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:00 +0000 (14:07 +0100)]
[ARM] S3C64XX: Add initial clock framework
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:59 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add PLL definitions
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:58 +0000 (14:06 +0100)]
[ARM] S3C64XX: Common init code for S3C6400 and S3C6410
Add the common initialisation code for both the
S3C6400 and S3C6410, the UART registration.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:57 +0000 (14:06 +0100)]
[ARM] S3C64XX: Map timer memory and interrupts
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:56 +0000 (14:06 +0100)]
[ARM] S3C: Fix PWM build on S3C6400
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:52 +0000 (14:06 +0100)]
[ARM] S3C6400: Add <mach/tick.h>
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:51 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add VIC0 and VIC1 sourced interripts
Add and initialise the two VIC (PL192) found on
the S3C64XX series CPUs.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:50 +0000 (14:06 +0100)]
[ARM] S3C6410: Initial CPU support code
Initial support for the Samsung S3C6410 SoC.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:49 +0000 (14:06 +0100)]
[ARM] S3C64XX: Basic CPU detection and map initialisation
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:48 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add IRQ definitions for VIC0 and VIC1
Add IRQ definitions for the VIC0 and VIC1 interrupts
on the S3C6400 and S3C6410 SoCs.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:46 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add UARTdevice definitions
Add resources and information for the UART deviecs
on the S3C64XX CPUs.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:45 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add system boot-time support
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:44 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add <plat/regs-clock.h>
Initial clock register defines.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:42 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add <mach/debug-macro.S>
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:41 +0000 (14:06 +0100)]
[ARM] S3C64XX: Add <mach/entry-macro.S>
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:40 +0000 (14:06 +0100)]
[ARM] S3C64XX: Initial arch header files
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:39 +0000 (14:06 +0100)]
[ARM] S3C64XX: Initial arch directory
Add the initial PLAT_S3C64XX support files
and directory structure.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:35 +0000 (14:06 +0100)]
[ARM] S3C24XX: Split timer pending code out
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:32 +0000 (14:06 +0100)]
[ARM] S3C24A0: Initial architecture support files
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:26 +0000 (14:06 +0100)]
[ARM] S3C24XX: Split map.h into plat-s3c24xx and mach-s3c2410
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>
Sandeep Patil [Tue, 21 Oct 2008 13:06:30 +0000 (14:06 +0100)]
[ARM] S3C24A0: Serial port definitions and driver support.
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:25 +0000 (14:06 +0100)]
[ARM] S3C24A0: Debug macro definitions
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>
Sandeep Patil [Tue, 21 Oct 2008 13:06:24 +0000 (14:06 +0100)]
[ARM] S3C24A0: Correct S3C2410_PA_GPIO in S3C24XX_VA_GPIO
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>
Sandeep Patil [Tue, 21 Oct 2008 13:06:23 +0000 (14:06 +0100)]
[ARM] S3C24A0: arch/arm/mach-s3c24a0/include/mach header files
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>
Ben Dooks [Fri, 21 Nov 2008 10:36:06 +0000 (10:36 +0000)]
[ARM] S3C: Fix scaler1 clock rate information
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>
Ben Dooks [Fri, 21 Nov 2008 10:36:04 +0000 (10:36 +0000)]
[ARM] S3C: Add set_rate/round_rate methods for pwm-scaler clock
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>
Ben Dooks [Fri, 31 Oct 2008 16:14:27 +0000 (16:14 +0000)]
[ARM] S3C24XX: Reduce code lineage of gpiolib.c
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>
Ben Dooks [Tue, 21 Oct 2008 13:07:10 +0000 (14:07 +0100)]
[ARM] S3C: BUG_ON() if clock has already been registered
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:55 +0000 (14:06 +0100)]
[ARM] S3C: Move pwm-clock.c to arch/arm/plat-s3c
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:54 +0000 (14:06 +0100)]
[ARM] S3C: Move core clock support to plat-s3c
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>