2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-26 14:14:01 +08:00
linux-next/arch/arm/mach-s5pv210
MyungJoo Ham 154d62e4cd ARM: S5PV210: Correct clock register properties
1. Corrected shift values of I2S and UART clocks (CLK_GATE_IP3), which were
defined incorrectly.

2. Corrected shift values of sclk_audio, uclk1, sclk_fimd, sclk_mmc,
sclk_spi, sclk_pwm, which had duplicated .enable/.ctrlbit with their
twins defined in struct clk init_clocks_disable[] and struct clk
init_clocks[]. We've changed their .enable/.ctrlbit to use CLK_SRC_MASK
register to avoid the duplicated clock problem described below.

NOTE: Duplicated Clock Problem
Please note that each clock definition should access different control
register; otherwise, the system may suffer lockups. For example, if we
have two clock definitions "a" and "b" which access the same register
(and the shift value). Then, when we do:

	module A
	clk = clk_get("a");
	clk->clk_enable(clk);

	module B (context switch)
	clk = clk_get("b");
	clk->clk_enable(clk);
	do something with clk.
	clk->clk_disable(clk);

	module A (context switch)
	do something with clk
	* At this point, the system may hang.

Therefore, there should be no clock definitions with the same contol
register/shift. If we need to create "aliases", then, creating child
clocks sharing the clock should be fine.

3. Corrected other sclk_* shift values and access registers.

Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[kgene.kim@samsung.com: minor title and message fix]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2010-07-05 16:01:04 +09:00
..
include/mach ARM: S5P: Fix the platform external interrupt issues. 2010-05-26 19:09:50 +09:00
clock.c ARM: S5PV210: Correct clock register properties 2010-07-05 16:01:04 +09:00
cpu.c ARM: S5PV210: Fixup ADC device change 2010-05-20 20:51:03 +09:00
dev-audio.c ARM: S5PV210: Add audio platform devices 2010-05-18 19:09:49 +09:00
dev-onenand.c ARM: SAMSUNG: Add platform support code for OneNAND controller 2010-05-20 17:48:36 +09:00
dev-spi.c ARM: S5PV210: Define SPI platform devices 2010-05-20 19:31:10 +09:00
dma.c S5PV210: DMA: Add platform devices for PL330 DMACs 2010-05-18 18:00:13 +09:00
gpiolib.c ARM: S5PV210: Add GPIOlib support 2010-05-19 18:03:47 +09:00
init.c ARM: S5PV210: Add Samsung S5PV210 CPU support 2010-02-24 22:47:21 +00:00
Kconfig ARM: Merge for-2635-4/onenand 2010-05-20 20:25:59 +09:00
mach-aquila.c ARM: S5PV210: add support for s3c-fb driver on Aquila machine 2010-05-20 15:09:38 +09:00
mach-goni.c ARM: S5PV210: Add GONI board support 2010-05-20 18:47:34 +09:00
mach-smdkc110.c ARM: S5PV210: Add Watchdog support for S5PV210 2010-05-20 19:47:32 +09:00
mach-smdkv210.c ARM: Merge for-2635-4/watchdog 2010-05-20 19:51:40 +09:00
Makefile ARM: Merge for-2635-4/onenand 2010-05-20 20:25:59 +09:00
Makefile.boot ARM: S5PV210: Add Samsung S5PV210 CPU support 2010-02-24 22:47:21 +00:00
setup-fb-24bpp.c ARM: S5PV210: add framebuffer platform helpers for s5pv210 based machines 2010-05-20 18:14:52 +09:00
setup-i2c0.c ARM: S5PV210: add common I2C device helpers 2010-05-20 18:21:34 +09:00
setup-i2c1.c ARM: S5PV210: add common I2C device helpers 2010-05-20 18:21:34 +09:00
setup-i2c2.c ARM: S5PV210: add common I2C device helpers 2010-05-20 18:21:34 +09:00
setup-sdhci-gpio.c ARM: S5PV210: add common HSMMC device helpers 2010-05-20 18:24:03 +09:00
setup-sdhci.c ARM: S5PV210: add common HSMMC device helpers 2010-05-20 18:24:03 +09:00