linux/drivers
Heiko Stübner 34ee550752 [CPUFREQ] Add S3C2416/S3C2450 cpufreq driver
The S3C2416/S3C2450 SoCs support two sources for the armclk.

The first source is the so called armdiv which divides the msysclk down
to provide necessary cpu rates. In this mode the core voltage must be
always at 1.3V. The frequency from the armdiv is not allowed to be
lower than the hclk frequency.

In the second mode the armclk can be sourced directly from the hclk in
the so called "dynamic voltags scaling" (dvs) mode. Here the armdiv
isn't used at all. Also in this mode the core voltage may be lowered.
Existing hardware and tests with it suggest 1.0V as sufficient.

When changing the clock source to the armdiv from the hclk, the SoC
shows stability issues if the new frequency is higher than the current
hclk frequency. Hence the driver always forces the armdiv to the hclk
frequency before the source change and lets the cpufreq issue another
set_target call for higher frequencies.

To mark the hclk frequency as lower as the corresponding armdiv
frequency it is set 1MHz below the real frequency. This lets the cpufreq
framework change between 133MHz based on hclk and 133MHz based on armdiv
at will.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Andrey Gusakov <dron0gus@gmail.com>
Signed-off-by: Dave Jones <davej@redhat.com>
2012-02-29 22:24:39 -05:00
..
accessibility
acpi ACPI: remove duplicated lines of merging problems with acpi_processor_add 2012-02-08 15:07:03 -08:00
amba
ata pata/at91: use newly introduced SMC accessors 2012-02-13 18:31:37 +01:00
atm drivers/atm/solos-pci.c: exchange pci_iounmaps 2012-02-19 18:57:51 -05:00
auxdisplay
base Fixes a bootstrapping issue for some registers when a less commonly used 2012-02-18 15:37:25 -08:00
bcma bcma: don't fail for bad SPROM CRC 2012-02-06 14:37:52 -05:00
block asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
bluetooth Bluetooth: btusb: Add vendor specific ID (0a5c 21f3) for BCM20702A0 2012-02-15 13:09:26 +02:00
cdrom cdrom: move shared static to cdrom_device_info 2012-02-08 20:03:14 +01:00
char agp: fix scratch page cleanup 2012-01-26 18:36:48 +00:00
clk
clocksource
connector
cpufreq [CPUFREQ] Add S3C2416/S3C2450 cpufreq driver 2012-02-29 22:24:39 -05:00
cpuidle cpuidle: Default y on powerpc pSeries 2012-02-22 16:48:51 +11:00
crypto
dca
devfreq
dio
dma i.MX SDMA: Fix burstsize settings 2012-02-02 14:00:43 +05:30
edac asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
eisa
firewire firewire: ohci: disable MSI on Ricoh controllers 2012-01-30 21:33:34 +01:00
firmware
gpio gpio: Add missing spin_lock_init in gpio-ml-ioh driver 2012-02-01 21:59:37 -07:00
gpu drm/radeon/kms/atom: dpms bios scratch reg updates 2012-02-22 10:30:06 +00:00
hid HID: wiimote: fix invalid power_supply_powers call 2012-02-07 13:40:56 +01:00
hv
hwmon hwmon: (max34440) Fix resetting temperature history 2012-02-24 08:06:15 -08:00
hwspinlock
i2c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/olof/tegra into fixes 2012-02-13 05:40:38 +00:00
ide ARM: at91: drop ide driver in favor of the pata one 2012-02-13 18:31:37 +01:00
idle ACPI processor hotplug: Delay acpi_processor_start() call for hotplugged cores 2012-01-19 21:26:32 -05:00
ieee802154
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-10 14:18:46 -08:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-02-04 10:57:42 -08:00
iommu ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp 2012-02-27 14:18:42 +01:00
isdn isdn: type bug in isdn_net_header() 2012-02-09 15:41:29 -05:00
leds drivers/leds/leds-lm3530.c: fix setting pltfm->als_vmax 2012-02-08 19:03:51 -08:00
lguest
macintosh powerpc/adb: Use set_current_state() 2012-02-16 16:15:12 +11:00
mca
md Some simple md-related fixes. 2012-02-08 19:06:30 -08:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media 2012-02-24 12:32:51 -08:00
memstick
message
mfd Merge branch 'omap-fixes-warnings' of git://git.linaro.org/people/rmk/linux-arm 2012-02-13 14:16:07 -08:00
misc Minor char-misc fixes for 3.3-rc3 2012-02-09 13:51:13 -08:00
mmc mmc: dw_mmc: Fix PIO mode with support of highmem 2012-02-13 20:39:05 -05:00
mtd - Fix a regression in 16-bit Atmel NAND flash which was introduced in 3.1 2012-02-04 07:17:47 -08:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-26 12:47:17 -08:00
nfc
nubus
of
oprofile
parisc
parport
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-02-18 15:26:11 -08:00
pcmcia pcmcia: fix socket refcount decrementing on each resume 2012-02-08 19:03:51 -08:00
pinctrl pinctrl: restore pin naming 2012-02-01 19:35:21 +01:00
platform asm-generic: architecture independent readq/writeq for 32bit environment 2012-02-21 16:47:28 -08:00
pnp
power lp8727_charger: Add terminating entry for i2c_device_id table 2012-02-01 21:34:26 +04:00
pps
ps3
ptp
rapidio
regulator regulator: Fix getting voltage in max8649_enable_time() 2012-02-10 11:20:55 +00:00
rtc ARM: at91:rtc/rtc-at91sam9: ioremap register bank 2012-02-13 18:31:36 +01:00
s390 compat: fix compile breakage on s390 2012-02-27 07:54:27 -08:00
sbus
scsi SCSI fixes on 20120224 2012-02-24 16:08:51 -08:00
sfi
sh sh: clkfwk: bugfix: use clk_reparent() for div6 clocks 2012-01-24 10:44:49 +09:00
sn
spi spi-topcliff-pch: rename pch_spi_pcidev to pch_spi_pcidev_driver 2012-02-05 23:24:17 -07:00
ssb ssb: fix cardbus slot in hostmode 2012-02-01 15:26:00 -05:00
staging staging: pohmelfs: remove drivers/staging/pohmelfs 2012-02-08 16:19:06 -08:00
target target: Fix unsupported WRITE_SAME sense payload 2012-02-07 06:48:58 +00:00
tc
telephony
thermal thermal: Rename generate_netlink_event 2012-01-23 03:15:25 -05:00
tty tty: serial: omap-serial: wakeup latency constraint is in microseconds, not milliseconds 2012-02-09 10:48:36 -08:00
uio
usb USB: Added Kamstrup VID/PIDs to cp210x serial driver. 2012-02-21 16:29:15 -08:00
uwb
vhost
video SuperH fixes for 3.3-rc5 2012-02-24 08:56:51 -08:00
virt
virtio virtio: correct the memory barrier in virtqueue_kick_prepare() 2012-01-28 08:10:23 +10:30
vlynq
w1
watchdog watchdog: iTCO_wdt: add Intel Lynx Point DeviceIDs 2012-01-27 10:01:16 +01:00
xen xenbus_dev: add missing error check to watch handling 2012-02-03 16:07:05 -05:00
zorro
Kconfig
Makefile