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 [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: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 [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>
Ben Dooks [Tue, 21 Oct 2008 13:06:53 +0000 (14:06 +0100)]
[ARM] S3C: Move time.c to arch/arm/plat-s3c
Move time.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:47 +0000 (14:06 +0100)]
[ARM] S3C: Move S3C2410_EXTINT to common regs-irqtype.h header
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:43 +0000 (14:06 +0100)]
[ARM] S3C24XX: Move headers from plat-s3c24xx to plat-s3c
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:38 +0000 (14:06 +0100)]
[ARM] S3C24XX: Update clock data on resume
Update the clock settings on resume for suspend/resume
support so that if the boot loader changes anything or
the system's PLL is reset then we return with the correct
settings.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:37 +0000 (14:06 +0100)]
[ARM] S3C24XX: Change clock locking to use spinlocks.
We cannot sleep if we have cpufreq pm enabled during some
of the clock operations, so change to use a spinlock to
protect the clock system.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:36 +0000 (14:06 +0100)]
[ARM] CPUFREQ: S3C24XX serial CPU frequency scaling support.
Add support for CPU frequency scalling to the S3C24XX serial
driver.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:34 +0000 (14:06 +0100)]
[ARM] S3C24XX: Split pll code out of regs-clock.h
Move the PLL calculation code into it's own header
file for re-use with the other plat-s3c24xx based
systems such as the S3C24A0.
Note, we change the name of s3c2410_get_pll to the
more generically named s3c24xx_get_pll as well as
the related defintions.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:33 +0000 (14:06 +0100)]
[ARM] S3C24XX: Split DCLK/CLKOUT definitions out of clock.c
Only certain boards need these clocks, and they are not
available on some CPUs (such as the S3C24A0) so remove
them from arch/arm/plat-s3c24xx/clock.c and into their
own file with appropriate Kconfig entries.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:31 +0000 (14:06 +0100)]
[ARM] S3C24XX: Move initialisation code to arch/arm/plat-s3c
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:29 +0000 (14:06 +0100)]
[ARM] S3C24XX: Add default <mach/io.h> header
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:28 +0000 (14:06 +0100)]
[ARM] S3C24XX: Move vmalloc.h to plat-s3c
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>
Ben Dooks [Tue, 21 Oct 2008 13:06:27 +0000 (14:06 +0100)]
[ARM] S3C: Make <mach/timex.h> common
Move <mach/timex.h> to arch/arm/plat-s3c/include/mach/timex.h
so it can be the default for all S3C based architectures.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:22 +0000 (14:06 +0100)]
[ARM] S3C2410: Move base clock code to plat-s3c24xx
Move the S3C2410 base clock list to arch/arm/plat-s3c24xx
as this code is common to the S3C2410, S3C2440 and S3C2442
cpus.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:21 +0000 (14:06 +0100)]
[ARM] S3C: Add <plat/cpu-freq.h> for initial cpufreq definitions
This is the header file that defines the basic cpu frequency
scalling support for the Samsung S3C series of SoC.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 21 Oct 2008 13:06:20 +0000 (14:06 +0100)]
[ARM] S3C24XX: Default SPI pin configuration for SPI
Add a set of default pin configuration routines for
setting up the SPI gpio configuration when using the
hardware SPI driver.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Russell King [Sat, 13 Dec 2008 09:12:51 +0000 (09:12 +0000)]
Merge git://git.marvell.com/orion into devel
Russell King [Thu, 11 Dec 2008 17:20:44 +0000 (17:20 +0000)]
[ARM] fix xm_x2xx_defconfig build errors
drivers/built-in.o: In function `pci_set_consistent_dma_mask':
hid-quirks.c:(.text+0x2664): multiple definition of `pci_set_consistent_dma_mask'
drivers/built-in.o: In function `pci_set_dma_mask':
hid-quirks.c:(.text+0x42c4): multiple definition of `pci_set_dma_mask'
because drivers/pci/pci.c was not seeing the definition disabling these
functions.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hartley Sweeten [Wed, 10 Dec 2008 22:39:54 +0000 (23:39 +0100)]
[ARM] 5343/1: ep93xx: include linux/i2c.h
Include <linux/i2c.h> in all ep93xx platforms.
Patch "5311/1: add core support for built in i2c bus" will cause build errors due to the following in
arch/arm/mach-ep93xx/include/mach/platform.h:
+void ep93xx_register_i2c(struct i2c_board_info *devices, int num);
The i2c.h header needs to be included in order to define struct i2c_board_info.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Hartley Sweeten [Mon, 8 Dec 2008 16:57:22 +0000 (17:57 +0100)]
[ARM] 5342/1: ep93xx: platform init cleanup
Use EP93XX_*_PHYS_BASE and SZ_* defines in ep93xx platform inits.
The following patch changes the flash memory hard-coded resource
addresses and MACHINE_START boot_params to EP93XX_*_PHYS_BASE and
SZ_* defines to improve readability. Also some minor whitespace
cleanup resulting from previous patches.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jaya Kumar [Sat, 29 Nov 2008 21:23:13 +0000 (22:23 +0100)]
[ARM] 5337/1: gumstix: move am200 specific gpio pins into am200epd.
The gpio setup for AM200 specific GPIO pins should be done in the AM200
code rather than in generic gumstix code.
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Mon, 20 Oct 2008 10:18:40 +0000 (11:18 +0100)]
[ARM] dma: correct dma_supported() implementation
dma_supported() is supposed to indicate whether the system can support
the DMA mask it was passed, which depends on the maximal address which
can be returned for DMA allocations. If the mask is smaller than that,
we are unable to guarantee that the driver can reliably obtain suitable
memory.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Sat, 6 Dec 2008 08:25:16 +0000 (08:25 +0000)]
[ARM] netwinder: clean up GPIO naming
Netwinder was using gpio_xxx names which could clash with the GPIO
layer. Add a 'nw_' prefix to ensure that these remain separate.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Thu, 4 Dec 2008 05:22:11 +0000 (00:22 -0500)]
[ARM] Kirkwood: update defconfig
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Nicolas Pitre [Thu, 4 Dec 2008 06:03:57 +0000 (01:03 -0500)]
[ARM] Feroceon: pass proper -mtune argument to gcc
Compilation for the Feroceon core should use -mtune=marvell-f. This is
available in Code Sourcery's 2008Q3 release at the moment. Otherwise
fall back to -mtune-=xscale.
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Ronen Shitrit [Sun, 19 Oct 2008 21:19:07 +0000 (23:19 +0200)]
[ARM] Kirkwood: properly handle the WAN port on newer RD88F6281 boards
On newer versions of the RD88F6281 board, the WAN port is connected to
its own ethernet port on the CPU, via a separate PHY, whereas on older
versions of the board, it is connected to one of the PHYs in the
ethernet switch. In the RD8F6281 setup code, detect which version of
the board we are running on, and instantiate the ethernet ports and
switch driver accordingly.
Signed-off-by: Ronen Shitrit <rshitrit@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Ronen Shitrit [Sun, 19 Oct 2008 21:10:14 +0000 (23:10 +0200)]
[ARM] Kirkwood: allow instantiating the second ethernet port
The 88f6192 and 88f6281 Kirkwood SoCs support two ethernet ports.
Add the platform glue that will allow board support files to
instantiate the second ethernet port.
Signed-off-by: Ronen Shitrit <rshitrit@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Matt Palmer [Wed, 22 Oct 2008 08:16:36 +0000 (10:16 +0200)]
[ARM] DNS323: Initialise 88F5182 correctly
The 88F5182 found in the DNS-323 rev B1 (and some other devices, such
as the CH3SNAS) require different initialisation of the SATA
controller and MPP registers.
Tested on a DNS-323 rev B1.
Signed-off-by: Matt Palmer <mpalmer@hezmatt.org>
Matt Palmer [Sat, 18 Oct 2008 21:15:09 +0000 (08:15 +1100)]
[ARM] DNS323: Read MAC address from flash
Based on similar code from the tsx09 series of machines, just rips the MAC
address out of flash and stuffs it into the NIC. Tested on a DNS323 rev B1.
It's possible (though unlikely) that an A1 will have the MAC in a different
location in flash.
Signed-off-by: Matt Palmer <mpalmer@hezmatt.org>
Ronen Shitrit [Wed, 17 Sep 2008 07:08:05 +0000 (10:08 +0300)]
[ARM] Orion: add the option to support different ehci phy initialization
The Orion ehci driver serves the Orion, kirkwood and DD Soc families.
Since each of those integrate a different USB phy we should have the
ability to use few initialization sequences or to leave the boot loader
phy settings as is.
Signed-off-by: Ronen Shitrit <rshitrit@marvell.com>
wanzongshun [Wed, 3 Dec 2008 02:55:38 +0000 (03:55 +0100)]
[ARM] 5338/1: Add Nuvoton W90P910 Platform support
Add Nuvoton W90X900 ARM9 plat support to linux arm tree,
Now, this patch include only W90P910 EVB of W90P910 CPU,
Its driver is nothing.
Signed-off-by: Wan ZongShun <mcuos.com@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Tue, 2 Dec 2008 22:07:40 +0000 (22:07 +0000)]
Merge branch 'for-rmk' of git://git./linux/kernel/git/ycmiao/pxa-linux-2.6 into devel
Conflicts:
arch/arm/mach-pxa/pxa25x.c
Anton Vorontsov [Thu, 23 Oct 2008 19:06:56 +0000 (21:06 +0200)]
[ARM] pxa: add basic support for HP iPAQ h5000
This patch adds HP iPAQ h5000's (h5400, h5500) basic definitions.
Kernel will able to boot, work via serial console, mount filesystems
placed on flashes and run USB gadgets (g_ether by default).
Other device drivers (frame buffer, LCD, touchscreen, backlight,
bluetooth, w1/battery, ...) are depend on SAMCOP and MediaQ
SoCs/MFDs, drivers to which will be submitted too, after massive
cleanups.
This machine will be used as "real user" for these new drivers.
This is an updated version of the patch, which contains fixes proposed on
linux-arm-kernel mailing list.
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
Signed-off-by: Milan Plzik <milan.plzik@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:30 +0000 (00:57 +0300)]
[ARM] pxa/poodle: add physmap mapping for ROM
Add mapping for system ROM using physmap-flash mapping.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:29 +0000 (00:57 +0300)]
[ARM] pxa/corgi: add physmap mapping for ROM
Add mapping for system ROM using physmap-flash mapping.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:28 +0000 (00:57 +0300)]
[ARM] pxa/spitz: add physmap mapping for ROM
Add mapping for system ROM using physmap-flash mapping.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Mon, 24 Nov 2008 21:57:27 +0000 (00:57 +0300)]
[ARM] pxa/tosa: add physmap mapping for ROM
Add mapping for system ROM using physmap-flash mapping.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Wed, 26 Nov 2008 22:25:09 +0000 (01:25 +0300)]
[ARM] pxa/tosa: fix building w/o TC6393XB driver
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Dmitry Baryshkov [Tue, 28 Oct 2008 15:40:37 +0000 (18:40 +0300)]
[ARM] pxa/tosa: support tc6393xb/tmiofb.
Add platform data necessary to support tmiofb on tosa.
Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Sat, 15 Nov 2008 15:09:59 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: improve power supply sources
Take advantage of the newly created wm97xx battery driver
and remove useless code in mioa701 board code. Add also the
ac connection detect capability after the matching gpio was
discovered.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Tue, 18 Nov 2008 19:23:32 +0000 (20:23 +0100)]
[ARM] pxa/MioA701: discovered new gpio definitions.
The charger enable gpio is straight (1 means draw from USB
Vbus, 0 mean do not draw). The USB Vbus sensing is inverted
(1 means no Vbus voltage sensed, 0 means Vbus voltage
present).
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Sat, 15 Nov 2008 15:09:58 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: change reset function to preserve RTC.
Change the halt and reboot method from gpio based to "jump
to ROM IPL beginning". This gives control back to IPL, which
without PowerOn key pressed, will put the device into deep
sleep until PowerOn is pressed for 1 second.
But this has the benefit of keeping the RTC registers across
reboots, which is good for OS change.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Sat, 15 Nov 2008 15:09:54 +0000 (16:09 +0100)]
[ARM] pxa/MioA701: add camera support for Mio A701 board.
Add GPIO configuration and platform specific declarations
to make Mitac Mio A701 camera chip work. The chip is a
Micron MT9M111 CMOS sensor, based on PXA QIF interface and
I2C bus for sensor control.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Fri, 28 Nov 2008 19:08:19 +0000 (20:08 +0100)]
[ARM] pxa/MioA701: remove KConfig leds driver requirement
Since mioa701 board has migrated to the mfp architecture,
low power gpio setup is now correctly handled even when gpio
led driver is not loaded, and leds and vibrator don't stay
activated in suspend mode (especially vibrator).
Remove the not needed anymore dependency.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Robert Jarzmik [Thu, 13 Nov 2008 22:50:56 +0000 (23:50 +0100)]
[ARM] pxa: add resources for incoming rtc-pxa driver
Add IO memory and IRQ ressources for pxa based SoC to be
able to use the new rtc-pxa driver.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Philipp Zabel [Sun, 29 Jun 2008 14:53:34 +0000 (16:53 +0200)]
[ARM] pxa: cpufreq-pxa2xx: sdram_rows detection support
This patch implements Eric Miao's idea to detect the correct value of
sdram_rows by inspecting the MDCNFG register settings.
It is only tested on two pxa27x devices with 64MB RAM (magician and
hx4700) so far.
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Marc Zyngier [Tue, 4 Nov 2008 12:33:25 +0000 (13:33 +0100)]
[ARM] pxa: cpufreq-pxa2xx: allow frequency table selection
Following the removal of the "->policy" usage for PXA255 in patch
459fc208abd1b365fa013c17d433dfb5b4bc1e3a (cpufreq: remove
policy->governor setting in drivers initialization), this patch
introduces an option (called "pxa255_turbo_table") to select either
the "run" or "turbo" frequency table.
It also cures the runtime warning that was printed each time the
frequency was changed.
Got rid of all references to CPUFREQ_POLICY_* for pxa255, and sticked
with the run/turbo thing.
Tested on an Arcom/Eurotech Viper.
Signed-off-by: Marc Zyngier <maz@misterjones.org>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Eric Miao [Tue, 11 Nov 2008 13:50:39 +0000 (21:50 +0800)]
[ARM] pxafb: make {backlight,lcd}_power() members of struct pxafb_info
instead of holding them as static pointers.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Eric Miao [Mon, 1 Dec 2008 03:41:19 +0000 (11:41 +0800)]
[ARM] locomo: export locomo_frontlight_set()
This symbol is required by locomo backlight driver, exporting this
allows the driver to be built as a module.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Eric Miao [Sat, 22 Nov 2008 13:40:50 +0000 (21:40 +0800)]
[ARM] pxa: add missing GPIOs definitions
GPIO3/GPIO4 are a bit special on pxa27x, since it depends on PCFR/PI2C_EN
bit, add their definitions here with comments.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org>