Commit Graph

125 Commits

Author SHA1 Message Date
Ben Dooks
fa7a7883fe [ARM] S3C64XX: DMA support
Add support for the DMA blocks in the S3C64XX series of CPUS,
which are based on the ARM PL080 PrimeCell system.

Unfortunately, these DMA controllers diverge from the PL080
design by adding another DMA controller register and
configuration for OneNAND.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-18 16:29:21 +01:00
Ben Dooks
543899f610 [ARM] S3C64XX: Use common watchdog reset for system reset.
Use the newly moved <plat/watchdog-reset.h> to perform the
arch_reset() call which has been unimplemented for a while.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-17 23:40:30 +01:00
Marek Szyprowski
beb9f4ed22 [ARM] S3C64XX: fix GPIO debug
Fix compilation bug when debug was enabled

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:18 +01:00
Marek Szyprowski
f36dd6e7c0 [ARM] S3C64XX: GPIO include cleanup
Cleanup arm/plat-s3c64xx/include/plat/gpio-bank-h.h include file.
Using shift-left operation with value >32 is a bad habit.

Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-15 15:13:06 +01:00
Ben Dooks
496a3f0927 [ARM] S3C64XX: Add ARM clock
Add ARM clock to provide 'arm' from the APLL to the ARM core.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:46:41 +01:00
Mark Brown
8f1ecf1d96 [ARM] S3C64XX: Configure clocks for DMA controller
Add missing DMA controller block clocks.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:14:27 +01:00
Werner Almesberger
a03f7daf6d [ARM] S3C64XX: Add HCLKx2
Add doubled HCLK to S3C64xx.

Signed-off-by: Werner Almesberger <werner@openmoko.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:14:27 +01:00
Werner Almesberger
e2c977dca2 [ARM] S3C6410: Add CAMIF clock
Add camera interface clock to S3C6410.

Signed-off-by: Werner Almesberger <werner@openmoko.org>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:14:27 +01:00
Ben Dooks
4faf686763 [ARM] S3C64XX: Add S3C6400 SDHCI setup support
Add support for S3C6400 SDHCI channels 0 and 1, making
the GPIO code common to both S3C6400 and S3C6410.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:58 +01:00
Ben Dooks
e074f98032 [ARM] S3C64XX: Add S3C6400 CPU detection.
Add detection support for the S3C6400 SoC which has it's
id register in a different place to the S3C6410.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:57 +01:00
Ben Dooks
a6925c1c51 [ARM] S3C6400: Core support for S3C6400 SoC
Add the core support files for the Samsung S3C6400 SoC.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:57 +01:00
Ben Dooks
c07f87f22e [ARM] VIC: Add power management device
Add power management support to the VIC by registering
each VIC as a system device to get suspend/resume
events going.

Since the VIC registeration is done early, we need to
record the VICs in a static array which is used to add
the system devices later once the initcalls are run. This
means there is now a configuration value for the number
of VICs in the system.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:57 +01:00
Ben Dooks
d87964c460 [ARM] S3C: GPIO PM core GPIOlib integration
Move the GPIO suspend/resume support inline with the gpiolib support
so that it will work with both the S3C24XX and S3C64XX series.

The s3c_gpio_chip is extended to have a pm callback and a save block
to keep the state of the GPIO over suspend, and the code from the
s3c24xx implementation is added to a new common file.

The suspend process now uses the list of registered chips to go through
saving and restoring each one as appropriate, using the pm callback to
select the appropriate routine depending on the type of control register
present.

This change also means that any additional GPIO added should not require
changes to the PM.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:56 +01:00
Ben Dooks
966bcc1438 [ARM] S3C64XX: Add IRQ PM code
Add support for saving the state of the IRQ registers over suspend.

This requires moving the S3C64XX UART registers into <plat/regs-serial.h>
and adding irq-pm.c which saves the state of all the IRQ registers.

The irq-pm.c saves all the IRQ registers, including the IRQ_EINT and
IRQ_EINT_GROUP registers as it was easier than adding three different
files. Also ensuring that all the registers are restored to the same
state as before suspend is considered to be the best thing to do.

Note, we do not suspend the VIC here, this is done by the VIC driver
itself.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:56 +01:00
Ben Dooks
1deb507dc7 [ARM] S3C64XX: Add generic s3c64xx sys device.
Add an s3c64xx_sysclass and device for items that currently
want to bind to any s3c64xx processor. The first user of this
will be parts of the s3c64xx suspend support which need to
save device state over suspend/resume.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:56 +01:00
Ben Dooks
bd117bd161 [ARM] S3C64XX: Initial support for PM (suspend to RAM)
Add the initial support for the S3C64XX based systems to use
suspend-to-RAM to sleep.

Includes basic debugging for use with the SMDK6410 usign the
LEDs on the baseboard.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:55 +01:00
Ben Dooks
67b3e542ab [ARM] S3C64XX: Add USB OHCI support
Add USB OHCI host definitions.

Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-05-07 11:04:55 +01:00
Ben Dooks
1288b670e6 [ARM] S3C64XX: add AHB_CON and SPCON register address definitions
Add the address definitions for S3C64XX_AHB_CONx and
SPCON registers for use in the PM code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:33:42 +00:00
Ben Dooks
36d543a3b5 [ARM] S3C64XX: Add definitions for the GPIO memory port configurations
Add defines for the registers that control the GPIO pins that are
run the memory interface.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:33:26 +00:00
Ben Dooks
2ae0b117a6 [ARM] S3C64XX: SYSCON power and sleep control register defines
Add the register defines for the sleep and power control
functions in the S3C64XX SYSCON register block.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:33:08 +00:00
Ben Dooks
2454e524bc [ARM] S3C64XX: Add S3C64XX_SPCON register bit definitions
Add the definitions for the SPCON register in the
GPIO block.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:30:44 +00:00
Ben Dooks
e383707131 [ARM] S3C64XX: Add GPIO SPCONSLP and SLPEN register definitions
Add GPIO register definitions for SPCONSLP and SLPEN
for controlling the state of the pins over sleep.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:30:27 +00:00
Ben Dooks
333053733f [ARM] S3C64XX: Add EINT group regs and move IRQ_EINT to regs-gpio.h
Add definitions for the EINT group registers and move the EINT IRQ
register definitions out of arch/arm/plat-s3c64xx/irq-eint.c so that
they are available for re-use with PM and the other code.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:29:11 +00:00
Ben Dooks
5b3d515fcf [ARM] S3C64XX: Add modem registers and a virtual map
Add the modem registers and a virtual mapping for the
modem block. This is is required as there are registers
that control the LCD block that need to be saved over
suspend as well as interrupt controls.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-03-10 16:26:52 +00:00
Ben Dooks
1264fa6f8c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c-fixes 2009-03-06 17:13:52 +00:00
Werner Almesberger
efeff56867 [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc
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 11:34:01 +00:00
Ben Dooks
fdca9bf2da [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c
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 11:29:23 +00:00
Ben Dooks
3782d36055 [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c
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-27 11:25:37 +00:00
Ben Dooks
41ba41d7c7 [ARM] S3C64XX: Fix USB host clock mux list
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 23:25:51 +00:00
Ben Dooks
19c5957081 [ARM] S3C64XX: Fix name of USB host clock.
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 23:25:51 +00:00
Ben Dooks
4271c3bd46 [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH
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 23:25:51 +00:00
Mark Brown
24d4076734 [ARM] S3C64XX: Do gpiolib configuration earlier
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 23:21:50 +00:00
Mark Brown
8bd8dbdf37 [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint()
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 23:21:50 +00:00
Mark Brown
789b4ad36c [ARM] S3C64XX: Fix section mismatch for s3c64xx_register_clocks()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2009-02-26 23:16:38 +00:00
Ben Dooks
28fd2d397b [ARM] S3C64XX: Set GPIO pin when select IRQ_EINT type
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-26 23:08:59 +00:00
Mark Brown
c8532db7f2 [ARM] 5411/1: S3C64XX: Fix EINT unmask
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-02-24 19:12:31 +00:00
Matt Hsu
43a55cdffc [ARM] S3C64XX: Fix EINT group macro definition
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>
2009-01-08 16:25:24 +00:00
Ben Dooks
7bb56d01f1 [ARM] S3C64XX: Ensure CPU_V6 is selected
Select CPU_V6 with the S3C64XX series.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-18 22:06:42 +00:00
Ben Dooks
6a148eaa20 [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>
2008-12-18 16:36:02 +00:00
Ben Dooks
56c035c9ce Merge branch 'next-s3c64xx-device' into next-merged
Conflicts:

	arch/arm/mach-s3c2440/mach-at2440evb.c
2008-12-18 16:17:37 +00:00
Matt Hsu
a9c5d23ac7 [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>
2008-12-16 10:19:26 +00:00
Kyungmin Park
11e3bd0923 [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>
2008-12-16 10:19:13 +00:00
Ben Dooks
9d325f2341 [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>
2008-12-16 10:13:02 +00:00
Ben Dooks
c7a0401e61 [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>
2008-12-15 23:57:19 +00:00
Ben Dooks
1aba834da1 [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>
2008-12-15 23:56:41 +00:00
Ben Dooks
44539a7112 [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>
2008-12-15 23:50:22 +00:00
Ben Dooks
f9e2f3453c [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>
2008-12-15 23:43:29 +00:00
Ben Dooks
55132b8b46 [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>
2008-12-15 23:42:21 +00:00
Ben Dooks
26da1bfc56 [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>
2008-12-15 23:41:50 +00:00
Ben Dooks
4162d7e363 [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>
2008-12-15 23:41:17 +00:00
Ben Dooks
b9f2d172f2 [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>
2008-12-15 23:41:10 +00:00
Ben Dooks
995deb638d [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>
2008-12-15 23:40:56 +00:00
Ben Dooks
3627379fc6 [ARM] S3C6XX: Add enable for clk_48
Add apropriate enable call for clk_48m.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:36:29 +00:00
Ben Dooks
1451325ced [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>
2008-12-15 23:36:22 +00:00
Ben Dooks
21b23664b9 [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>
2008-12-15 23:34:15 +00:00
Ben Dooks
89d043c3db [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>
2008-12-15 23:33:59 +00:00
Ben Dooks
8a53bdb907 [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>
2008-12-15 23:33:42 +00:00
Ben Dooks
8cdf47cb4b [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>
2008-12-15 23:19:49 +00:00
Ben Dooks
f945ee13cf [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
===================================================================
2008-12-15 23:19:35 +00:00
Ben Dooks
39669f594e [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>
2008-12-15 23:18:21 +00:00
Ben Dooks
80789e7915 [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>
2008-12-15 23:15:46 +00:00
Ben Dooks
94df868b88 [ARM] S3C64XX: Map GPIO block
Add mapping for GPIO block in the static mappings.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 23:03:41 +00:00
Ben Dooks
3e694d4bc6 [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>
2008-12-15 23:02:58 +00:00
Ben Dooks
cf18acf0e0 [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>
2008-12-15 21:54:36 +00:00
Ben Dooks
4b31d8b225 [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>
2008-12-15 21:53:58 +00:00
Ben Dooks
952b564b4d [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>
2008-12-15 21:53:38 +00:00
Ben Dooks
aa64ea3f78 [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>
2008-12-15 21:53:14 +00:00
Ben Dooks
f982dc5321 [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>
2008-12-15 21:52:51 +00:00
Ben Dooks
d9b79fb568 [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>
2008-12-15 21:51:22 +00:00
Ben Dooks
beda30f6a9 [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>
2008-12-15 21:50:31 +00:00
Ben Dooks
c142f173cd [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>
2008-12-15 21:50:06 +00:00
Ben Dooks
0241cbb9d6 [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>
2008-12-15 21:49:46 +00:00
Ben Dooks
0660fed465 [ARM] S3C64XX: Add <plat/regs-clock.h>
Initial clock register defines.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:49:11 +00:00
Ben Dooks
d521f87e9c [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>
2008-12-15 21:47:27 +00:00
Ben Dooks
a08ab63761 [ARM] S3C64XX: Initial arch directory
Add the initial PLAT_S3C64XX support files
and directory structure.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-12-15 21:47:24 +00:00