power: Fake Samsung DVFS interfaces

To make Samsung DVFS App happy!

Signed-off-by: cocafe <cocafehj@gmail.com>
mach-ux500: add dvfs-dbg module

Signed-off-by: cocafe <cocafehj@gmail.com>

Conflicts:
	arch/arm/configs/cyanogenmod_janice_defconfig
	arch/arm/mach-ux500/Kconfig
	arch/arm/mach-ux500/Makefile
dvfs-dbg: update module
Signed-off-by: cocafe <cocafehj@gmail.com>
dvfs-dbg: Free the code

To debug the prcmu QoS requirements with new cpufreq table.

Signed-off-by: cocafe <cocafehj@gmail.com>
mach-ux500: add janice gpio debug driver
gpio-dbg: rename kobject folder
gpio-dbg: update driver

Signed-off-by: cocafe <cocafehj@gmail.com>
mach-ux500: add prcmu clock sysfs module

Conflicts:
	arch/arm/mach-ux500/Kconfig
	arch/arm/mach-ux500/Makefile
mach-ux500: update prcmu clock control module

Update to new source's

Conflicts:
	arch/arm/mach-ux500/Kconfig
	arch/arm/mach-ux500/Makefile
ondemandq: Remove CPU idle detection

Signed-off-by: cocafe <cocafehj@gmail.com>
pegasusq: Decrease default scaling up threshold

To make it more sensitive.
ondemand: Decrese up threshold 95 -> 75

With DVFS disabled, freq scaling depends on the governor we use.
I don't want to enable touch booster, so I decide to modify governors.
Up threshold @75 is nice.
ondemandq: Decrease up threshold 95 -> 75

Signed-off-by: cocafe <cocafehj@gmail.com>
pegasusq: Decrease up threshold 80 -> 75
power/main: Optimize maximum frequency reset

Signed-off-by: cocafe <cocafehj@gmail.com>
ARM: ux500: Add LiveOPP(OC/UC/OV/UV) supports

As I have said hundreds of times, modifying these useless numbers in frequency table
do not have any effect on overclocking. Run benchmarks will provide that clearly.

It goes: set arm_clk -> db8500 driver find matched frequency -> get matched frequency index ->
get matched ARM OPP -> set ARM OPP (An OPP contains Varm/PLLARM/ArmFixMGT etc etc)

We lack of proper document which explains PRCMU and AB8500 Regulator registers.
We guessed the meanings of these registers by searching the code and endless experiments.
So we can not make everything absolutely right.
But it is actually overclocked. Benchmarks spoke.

This patch is made for PRCMU Project U8500 MBL (Samsung Janice has) which has ARM MaxOPP.
For the deivces which do not have MaxOPP(1000MHz) by default, change ARM_MAX_OPP to ARM_100_OPP
in LiveOPP ARM table. 1000MHz for these devices is stable, and the higher frequencies may be unstable.
Thanks Robert Rozic@github for testing on Codina on the fly.

How to set ARMPLL has been explained in code.

All available overclocked frequencies are stable for Janice, 1228MHz is the maximum stable frequency.
1267MHz will cause Apps FC and reboot.

Signed-off-by: cocafe <cocafehj@gmail.com>
Enable OC on defconfig
ARM: ux500: Enable 100MHz for SD/SDIO/MMC devices

From: https://git.kernel.org/cgit/linux/kernel/git/linusw/linux-stericsson.git/commit/arch/arm/mach-ux500/board-mop500-sdi.c?id=b6ff56a4acdc16c626f713bbad0528984234e550

MMCI fmax is 515633

Signed-off-by: cocafe <cocafehj@gmail.com>
mmc/mmci: Fix warning
cpufreq: Add InteractiveQ governor

A *MODIFIED* Interactive governor with earlysuspend hotplug function.

Conflicts:
	drivers/cpufreq/Kconfig
	drivers/cpufreq/Makefile