Marek Szyprowski [Thu, 20 May 2010 06:13:07 +0000 (08:13 +0200)]
ARM: S5PV210: add common HSMMC device helpers
This patch adds sdhci platform helpers required by sdhci-s3c driver.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Thu, 20 May 2010 06:13:06 +0000 (08:13 +0200)]
ARM: S5PV210: add common I2C device helpers
This patch adds I2C platform helpers required by s3c2440-i2c driver.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Thu, 20 May 2010 06:13:04 +0000 (08:13 +0200)]
ARM: S5PV210: add framebuffer platform helpers for s5pv210 based machines
This patch adds common framebuffer device helpers and register defines
for S5PV210 based machines.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Thu, 20 May 2010 05:51:11 +0000 (07:51 +0200)]
ARM: remove obsolete plat-s5pc1xx directory
This patch removes all obsolete files from plat-s5pc1xx. This directory is
no longer needed. S5PC100 SoC is now completely supported in plat-s5p
framework.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Thu, 20 May 2010 05:51:09 +0000 (07:51 +0200)]
ARM: S5PC100: Add support for gpio interrupt
This patch moves support for gpio interrupts from plat-s5pc1xx to
mach-s5pc100 directory.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Thu, 20 May 2010 05:51:08 +0000 (07:51 +0200)]
ARM: SAMSUNG: move S5PC100 support from plat-s5pc1xx to plat-s5p framework
This patch moves S5PC100 SoC support to plat-s5p framework. Most
periperal support code has been already moved from plat-s5pc1xx to
mach-s5pc100.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:45 +0000 (12:38 +0200)]
ARM: S5PC100: Move sdhci helpers from plat-s5pc1xx to mach-s5pc100
Move sdhci helpers from plat-s5pc1xx to mach-s5pc100.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Mon, 17 May 2010 06:53:13 +0000 (08:53 +0200)]
ARM: S5PV210: add support for s3c-fb driver on Aquila machine
This patch adds required platform definitions to enable s3c-fb
driver. Two framebuffer windows in 480x800x16bpp mode are defined.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Mon, 17 May 2010 06:53:10 +0000 (08:53 +0200)]
ARM: S5PV210: add Aquila board
Add basic support for Samsung Aquila board. This board is based
on S5PC110 SoC.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Thu, 20 May 2010 05:48:40 +0000 (14:48 +0900)]
ARM: S5PV210: Remove limiting choice of machine to build
The arch/arm/mach-s5pv210/Kconfig had a choice entry
to choose which of the two machines to build, which is
silly since you can easily build more than one machine
at a time.
Remove the choice entry so that both machines and any
future additions can all build in harmony.
Marek Szyprowski [Tue, 18 May 2010 09:30:48 +0000 (11:30 +0200)]
ARM: SMDKC100: fix frame buffer definitions
The definition of the framebuffer parameters was created when s3c-fb.c
driver was patched to support setting the refresh rate directly (commit 600ce1a0faafeed1ce6bcfd421bc040b941cbbc1). That patch was completely wrong
and was reverted in commit eb29a5cc0b601c458bae9df2f what breaked the
framebuffer on s5pc100. This patch updates framebuffer definitions to
correct values.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Note: TSADC in S5PV210 support 2 touchscreen interfaces,
Only 1 is implemented as of now.
Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: minor title fix] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: minor title fix] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This patch implements generic GPIO configuration function in Samsung
touchscreen driver. And makes the touchscreen driver s3c24xx-ts.c
generic to all the Samsung SoCs.
Signed-off-by: Naveen Krishna Ch <ch.naveen@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
[ben-linux@fluff.org: fixed title ] Signed-off-by: Ben Dooks <ben-linux@fluff.org> Acked-by: Dmitry Torokhov <dtor@mail.ru>
Marek Szyprowski [Tue, 18 May 2010 10:38:44 +0000 (12:38 +0200)]
ARM: S5PC100: Move i2c helpers from plat-s5pc1xx to mach-s5pc100
Move i2c helpers from plat-s5pc1xx to mach-s5pc100.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:43 +0000 (12:38 +0200)]
ARM: S5PC100: Move frame buffer helpers from plat-s5pc1xx to mach-s5pc100
Move frame buffer helpers from plat-s5pc1xx to mach-s5pc100.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:42 +0000 (12:38 +0200)]
ARM: S5PC100: gpio.h cleanup
This patch renames gpio related registers from s5pc1xx to s5pc100 to
better match the plat-s5p framework style. GPIO_MP* defines now used
anywhere thus has been removed.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:41 +0000 (12:38 +0200)]
ARM: S5PC100: Move gpio support from plat-s5pc1xx to mach-s5pc100
Move gpio-lib support from plat-s5pc1xx to mach-s5pc100. Only basic gpio
functionality is now supported. Gpio interrupts are disabled temporarly
and will be added later.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:40 +0000 (12:38 +0200)]
ARM: S5PC100: Use common functions for gpiolib implementation
GPIOlib helpers from plat-samsung already have functions for accessing
4bit gpio banks. This patch removes the duplicated functions from
plat-s5pc1xx/gpiolib.c.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:38:39 +0000 (12:38 +0200)]
drivers: serial: S5PC100 serial driver cleanup
Remove unnecessary Kconfig entry. S5PC100 has exactly the same driver as
S3C6400/S3C6410/S5P6440.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Fri, 14 May 2010 07:27:28 +0000 (16:27 +0900)]
ARM: S5PC100: Pre-requisite clock patch for plat-s5pc1xx to plat-s5p move
This is a pre-requisite clock patch for the plat-s5pc1xx to plat-s5p
movement. The patches that perform the movement of the code from
plat-s5pc1xx to plat-s5p (and mach-s5pc100) should also enable the
build for the mach-s5pc100/clock.c code.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:23:35 +0000 (12:23 +0200)]
ARM: SAMSUNG: Copy common I2C0 device helpers to machine directories
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Tue, 18 May 2010 10:23:36 +0000 (12:23 +0200)]
ARM: SAMSUNG: move driver strength gpio configuration helper to common dir
Driver strength parameter can be changed not only on S5PC100 but also
on S5PV210/S5PC110 platforms, so move the helper functions to the common
plat-samsung directory.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Marek Szyprowski [Fri, 14 May 2010 06:18:52 +0000 (08:18 +0200)]
ARM: SAMSUNGy: fix broken timer irq base
Timer interrupts range was defined as 43-47, what overlaps with VIC0 range
(32-64). This was caused probably by a typo while the common interrupts
definition was refactored. This patch moves timer interrupt range to safe
area of 11-15 (just before uart range).
This fixes the commit 87aef30eb3c5dac0491c83fe3b90bc61f1df24ec
("ARM: S5P: Change S5P_TIMER_IRQ based to 11 for SAMSUNG S5P series.")
which meant to move these into the old (and previously reserved)
ISA space.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[ben-linux@fluff.org: update description] Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Ben Dooks [Tue, 18 May 2010 10:07:05 +0000 (19:07 +0900)]
ARM: SAMSUNG: Fix additional increment when running through gpios
The pm-gpio.c code was incrementing the gpio_nr from the nr_gpios
field and the bank-bank offset inside the loop, and also in the
for() loop with a ++.
Remove the ++, as the number is already at the next GPIO, thus
ensuring that we don't skip a gpio bank by accident.
Ben Dooks [Mon, 17 May 2010 05:28:44 +0000 (14:28 +0900)]
ARM: S3C24XX: Update missed gpio calls to use gpiolib
Update a couple of S3C24XX and S3C2412 files that are still
using the GPIO number to register mapping calls to get the
s3c_gpio_chip and use the base field from that.
Ben Dooks [Thu, 13 May 2010 05:44:50 +0000 (14:44 +0900)]
ARM: SAMSUNG: Set S3C_FB_MAX_WIN in <plat/fb.h>
Move the S3C_FB_MAX_WIN to the platform data to avoid
having to include the registers with the platform data.
Set S3C_FB_MAX_WIN to 5, which is the maximum that any
of the current hardware can do and the cost of having
it set to this for all is minimal (at least for the
platform data case), then always leave this as the maximum
for the systems supported.
Also remove the inclusion of <mach/regs-fb.h> from
the device definition in arch/arm/plat-samsung
Jassi Brar [Tue, 18 May 2010 02:59:34 +0000 (11:59 +0900)]
S5PV210: DMA: Add platform devices for PL330 DMACs
Samsung's Soc S5PV210 has three PL330 DMACs. First is dedicated for
Memory->Memory data transfer while the other two meant for data
transfer with peripherals.
Define and add latter two PL330 DMACs as platform devices on the
S5PV210 platform.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Jassi Brar [Tue, 18 May 2010 02:59:27 +0000 (11:59 +0900)]
S5P6442: DMA: Add platform devices for PL330 DMACs
Samsung's Soc S5P6442 has two PL330 DMACs. First is dedicated for
Memory->Memory data transfer while the second is meant for data
transfer with peripherals.
Define and add the peripheral PL330 DMAC as platform device on the
S5P6442 platform.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Jassi Brar [Tue, 18 May 2010 02:59:06 +0000 (11:59 +0900)]
S3C: DMA: Add api driver for PL330
Latest Samsung SoCs have one or more PL330 as their DMACs. This patch
implements the S3C DMA API for PL330 core driver.
The design has been kept as generic as possible while keeping effort to
add support for new SoCs to the minimum possible level.
Some of the salient features of this driver are:-
o Automatic scheduling of client requests onto DMAC if more than
one DMAC can reach the peripheral. Factors, such as current load
and number of exclusive but inactive peripherals that are
supported by the DMAC, are used to decide suitability of a DMAC
for a particular client.
o CIRCULAR buffer option is supported.
o The driver scales transparently with the number of DMACs and total
peripherals in the platform, since all peripherals are added to
the peripheral pool and DMACs to the controller pool.
For most conservative use of memory, smallest driver size and best
performance, we don't employ legacy data structures of the S3C DMA API.
That should not have any affect since those data structures are completely
invisible to the DMA clients.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Jassi Brar [Mon, 17 May 2010 01:35:29 +0000 (10:35 +0900)]
S3C: DMA: Change argument of s3c2410_dma_devconfig
All other functions have the channel argument of type 'unsigned int'
the s3c2410_dma_devconfig also accept the same value as argument but
treat it as type 'int'. Remove this anomaly by make it 'unsigned int'.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:39:03 +0000 (09:39 +0900)]
ARM: S5PV210: Add sclk clocks of type 'struct clksrc_clk' clock
Add sclk clocks of type 'struct clksrc_clk' clock. The 'group2' of
clock clock sources is also added. This patch also changes the the
'id' member value of the uclk1 clock for instance instance 0 since
there are 4 instances of the uclk1 clock.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:39:00 +0000 (09:39 +0900)]
ARM: S5PV210: Add sclk_audio and sclk_spdif clocks.
Add the sclk_audio(0/1/2) clocks and sclk_spdif clock of type
'struct clksrc_clk' clock. Also, add clk_pcmcdclk(0/1/2) clocks
of type 'struct clk' clock.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:57 +0000 (09:38 +0900)]
ARM: S5PV210: Add sclk_dac, sclk_mixer and sclk_hdmi clocks
Add sclk_dac, sclk_mixer and sclk_hdmi clocks. These clocks
are of type 'struct clksrc_clk' and so have a corresponding
clock list. These clocks are also added to the list of
clocks to be registered at boot time.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:52 +0000 (09:38 +0900)]
ARM: S5PV210: Add support for VPLL
This patch adds the following.
1. Adds 'clk_sclk_hdmi27m' clock to represent the HDMI 27MHz clock.
2. Adds 'clk_vpllsrc; clock of type clksrc_clk to represent the
input clock for VPLL.
3. Adds 'clk_sclk_vpll' clock of type clksrc_clk to represent the
output of the MUX_VPLL mux.
4. Add clk_sclk_hdmi27m, clk_vpllsrc and clk_sclk_vpll to the list
of clocks to be registered.
5. Adds boot time print of 'clk_sclk_vpll' clock rate.
6. Adds 'clk_fout_vpll' clock to plat-s5p such that it is reusable
on other s5p platforms.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:50 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_p66 and add clk_pclk_psys clock
The clk_p83 clock, which is the PCLK clock for PSYS domain, is of
type 'struct clk' whereas on S5PV210, this clock is suitable to be
of type clksrc_clk clock (since it has a clock divider). So this
patch replaces the 'struct clk' type clock to 'struct clksrc_clk'
type clock for the PCLK PSYS clock.
This patch modifies the following.
1. Removes definitions and usage of 'clk_p66' clock.
2. Adds 'clk_pclk_psys' clock which is of type 'struct clksrc_clk'.
3. Replaces all usage of clk_p66 with clk_pclk_psys clock.
4. Adds clk_pclk_psys into list of clocks to be registered.
5. Removes the sys_clks array since it is no longer required.
Also the registration of clocks in sys_clks is also removed.
6. Remove the 'GET_DIV' as it is no longer required.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:48 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_p83 and add clk_pclk_dsys clock\
The clk_p83 clock, which is the PCLK clock for DSYS domain, is of
type 'struct clk' whereas on S5PV210, this clock is suitable to be
of type clksrc_clk clock (since it has a clock divider). So this
patch replaces the 'struct clk' type clock to 'struct clksrc_clk'
type clock for the PCLK DSYS clock.
This patch modifies the following.
1. Remove definitions and usage of 'clk_p83' clock.
2. Adds 'clk_pclk_dsys' clock which is of type 'struct clksrc_clk'.
3. Replace all usage of clk_p83 with clk_pclk_dsys clock.
4. Adds clk_pclk_dsys into list of clocks to be registered.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:44 +0000 (09:38 +0900)]
ARM: S5PV210: Fix clk_get_rate issue with the clk_h100 clock
The clk_h100 clock represents the IMEM clock for the MSYS domain.
This clock rate of this clock is always half of the hclk_msys clock.
There is an issue when getting the clock rate of the clk_h100 clock
(clock get_rate hclk_h100 always returns clock rate that is equal to
the hclk_msys clock rate).
This patch modifies the following.
1. Moves the definition of the clk_h100 clock into the 'init_clocks'
list with the appropriate parent, ctrlbit, enable and ops fields.
2. The name of the clock is changed from 'clk_h100' to 'hclk_imem'
to represent more clearly that is represents the IMEM clock in
the MSYS domain.
3. The function to get the clock rate of the hclk_imem clock is added.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:42 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_p100 and add clk_pclk_msys clock
The clk_p100 clock, which is the PCLK clock for MSYS domain, is of
type 'struct clk' whereas on S5PV210, this clock is suitable to be
of type clksrc_clk clock (since it has a choice of clock source
and a pre-divider). So this patch replaces the 'struct clk' type
clock to 'struct clksrc_clk' type clock for the PCLK MSYS clock.
This patch modifies the following.
1. Remove definitions and usage of 'clk_p100' clock.
2. Adds 'clk_pclk_msys' clock which is of type 'struct clksrc_clk'.
3. Replace all usage of clk_p100 with clk_pclk_msys clock.
4. Adds clk_pclk_msys into list of clocks to be registered.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:40 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_h133 and add clk_hclk_psys clock
The clk_h133 clock, which is the HCLK clock for PSYS domain, is of
type 'struct clk' whereas on S5PV210, this clock is suitable to be
of type clksrc_clk clock (since it has a choice of clock source
and a pre-divider). So this patch replaces the 'struct clk' type
clock to 'struct clksrc_clk' type clock for the HCLK PSYS clock.
This patch modifies the following.
1. Remove definitions and usage of 'clk_h133' clock.
2. Adds 'clk_hclk_psys' clock which is of type 'struct clksrc_clk'.
3. Replace all usage of clk_h133 with clk_hclk_psys clock.
4. Adds clk_hclk_psys into list of clocks to be registered.
5. Removes the clock rate calculation of hclk133 and replaces
it with code that derives the HCLK PSYS clock rate from
the clk_hclk_psys clock.
6. Modify printing of the system clock rates.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:37 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_h166 and add clk_hclk_dsys clock
The clk_h166 clock, which is the HCLK clock for DSYS domain, is of
type 'struct clk' whereas on S5PV210, this clock is suitable to be
of type clksrc_clk clock (since it has a choice of clock source
and a pre-divider). So this patch replaces the 'struct clk' type
clock to 'struct clksrc_clk' type clock for the HCLK DSYS clock.
This patch modifies the following.
1. Remove definitions and usage of 'clk_h166' clock.
2. Adds 'clk_sclk_a2m' clock which is one of possible parent clock
sources for the DSYS HCLK clock.
3. Adds 'clk_hclk_dsys' clock which is of type 'struct clksrc_clk'.
4. Replace all usage of clk_h166 with clk_hclk_dsys clock.
5. Adds clk_sclk_a2m and clk_hclk_dsys into list of clocks to
be registered.
6. Removes the clock rate calculation of hclk166 and replaces
it with code that derives the HCLK DSYS clock rate from
the clk_hclk_dsys clock.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:34 +0000 (09:38 +0900)]
ARM: S5PV210: Remove usage of clk_h200 clock and add clk_hclk_msys clock
The clk_h200 represents the HCLK for the MSYS domain. This clock
is of type 'struct clk' but on V210, it is more suitable to be of
type 'struct clksrc_clk' (since it is a divided version of the
armclk). The replacement clock is renamed as clk_hclk_msys to
indicate that it represents the HCLK for MSYS domain.
This patch modifies the following.
1. Removes the usage of the clk_h200 clock.
2. Adds the new clock 'clk_hclk_msys'.
3. Adds clk_hclk_msys to the list of sysclks to be registered.
4. Modifies the hclk_msys clock rate calculation procedure to
be based on the new clk_hclk_msys clock.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:31 +0000 (09:38 +0900)]
ARM: S5PV210: Add armclk of clksrc_clk clock type
This patch modifies the following.
1. Adds arm clock 'clk_armclk' of type clksrc_clk clock type.
2. Adds arm clock to the list of system clocks 'sysclks' for
registering it along with other system clocks.
3. Modifies the armclk clock rate calculation procedure to be
based on the new clk_armclk clock.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Thomas Abraham [Mon, 17 May 2010 00:38:28 +0000 (09:38 +0900)]
ARM: S5PV210: Rearrange assignment of clock for fout apll/mpll/epll clocks
The assignment of clock rates for fout apll/mpll/epll is moved further
up in the s5pv210_setup_clocks function because the subsequent patches
require the clock rate of fout clocks to be setup.
Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2. The mout_mpll and mout_epll clocks were registered as 'struct clk'
types and then their parents were setup using the s3c_set_clksrc
function. This patch reduces the two steps into one by registering
the mout_mpll and mout_epll clocks using the s3c_register_clksrc
function.
3. As per point 2 above, the init_parents array is no longer required.
So the mout clocks are now put together in a new array named 'sysclks'.
The sysclks array will list the system level clocks and more
clocks will be added to it in the subsequent patches.
4. The clks array is left empty because of the movement of mpll and epll
clocks into the sysclks array. It is not deleted since subsequent
patches will add clocks into this array.
Signed-off-by: Thomas Abraham <thomas.ab <at> samsung.com> Signed-off-by: Kukjin Kim <kgene.kim <at> samsung.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>