Minor changes for 1080p output unscaled
current .config for rk3066
Modified board file for TPS65910 PMU, backported previous 3.0.36 rfkill

The struct pmu_info filled from init values in previous kernel 3.0.36
for RK3066
Testing mach-rk3188 clock_data into mach-rk30

Since clock_data is missing in mach-rk30 (even though we have
clock_data.uu from previous rk30 kernels) and given that rk31's
clock_data.c mentions rk30 compatibility:

This commit is for copying into mach-rk30 the files:
mach-rk3188/clock_data.c
mach-rk3188/include/mach/cru-rk3188.c

(rename your mach-rk30/clock_data.uu and .o for changes to take effect)
Changes to rk31's clock_data.c to compile kernel for rk30

Compilation works, but kernel hungs on startup
gpio-rk30 useful comment

Comment explaining the reason for a bizarre assignment in this file.
Useful for future GPIO modifications
Bugfix sram_gpio_init for RK3066 when called for RK30_PIN6_*

sram_gpio_init is called from mach-rk30/board-pmu-tps65910.c with
PMU_POWER_SLEEP (RK30_PIN6_PB1) as first argument. The return is -EINVAL
even though it's a valid pin.

This is caused, in rk3066, by the bad way in which sram_gpio_init checks
against the gpio_base array, taking into account that for RK3066 this
array is missing one element (RK30_GPIO5_BASE, which is ok). This makes
it give wrong results for any pin on GPIO6_BASE, because of this
comparison:
       if(index/NUM_GROUP >= ARRAY_SIZE(gpio_base))

For example:
PMU_POWER_SLEEP = RK30_PIN6_PB1 = 361

Taking the previous line's index calc: index = gpio - PIN_BASE;
Knowing that:
- #define PIN_BASE         NR_GIC_IRQS
- #define NR_GIC_IRQS      (5 * 32)

index = gpio - PIN_BASE = 361 - 5*32 = 201

and then in the if we have:
-  index/NUM_GROUP = 201 / 32 = 6.2 ... = 6
-  ARRAY_SIZE(gpio_base) = 6

which is == to ARRAY_SIZE so RK30_PIN6_* fail here
due to using array_size without a RK30_GPIO5_BASE

Solution entails failing on pins in GPIO5_BASE, but allowing them in
GPIO6, and then pressing the right base into data->base by using index 5
for GPIO6, as expected.
Mali related Kconfig fix

Compiling with MALI throws this new error:
drivers/gpu/mali/mali/common/mali_kernel_core.c:1084:4: error: implicit
declaration of function 'sync_fence_cancel_async'

That function, which is called because in this new kernel CONFIG_SYNC is
forced by PLAT_RK, should be implemented in /drivers/base/sync.c (see http://lists.linaro.org/pipermail/linaro-
mm-sig/2012-June/002050.html) but it's missing in that file in current
kernel.

Since the Mali driver is the only one that uses CONFIG_SYNC, SW_SYNC*
and it has always worked without them, I'm removing the new dependences.
Added Omegamoon's CPU gov. and IO sched.

Optional extra I/O schedulers:
- Simple IO scheduler
- V(R) IO scheduler

Optional CPU freq. governors:
- smartassV2
- savagedzen
- interactiveX
Remove files from previous attempt at using RK31 clock_data.c for RK30
Omegamoon's ddr.c with omitted failing functions and prev clock_data.uu
Added missing vpu_service files
Added a ton of wireless drivers from prev. kernel
Added rk29-ipp staging driver required for MALI 3D support
Added MALI drivers
Working .config and board-rk30-box.c

Works on Measy U2C RK3066 stick loading Picuntu with following items:
- 1080p kernel
- Extra low power 126 MHz frequency added
- No console log while booting (redirected to HW serial console)
- No RK1000 support yet (i.e. A/V-jack output)
- No 3D acceleration yet
- remotectl temporarily disabled
- No internal Wifi *YET* (MTK5931)
- No integrated webcam support

NOTE: this commit is not the complete working source, it's missing the backporting of drivers/video to rk3x kernel (which require changes to display-sys.h and rk_fb.h), watch out for next commits for this.
Remove automatically generated files

These shouldn't have been included in the first place, since they are
bound to change and are generated automatically from others.
MALI related changes

last missing bits for MALI support for RK30, haven't tested for RK31

Pending another update with more rk_fb.c changes and updated rk30_lcdc.c
to enable booting this kernel in rk3066 sticks
Minor debug changes and probable bugfix to rk30_lcdc.c

- Probable bugfix in win2_open that was a half-baked copy of win1_open
and indeed altered still some win1 var. Also the call to:
 lcdc_writel(lcdc_dev, REG_CFG_DONE, 0x01);
is updated with its substitute: lcdc_cfg_done(lcdc_dev);

- The extra lcdc_cfg_done(lcdc_dev) added can only improve the code
since they serve only to make sure the previous reg changes take effect
and the addition of these lines is homogeneous with other parts of same
file where the same regs are altered

- Apart from that a division by zero situation is avoided so that fps is
shown as -1 in the kernel log, instead of creating a kernel crash on
boot
Fixes to allow booting kernel in RK3066 (rk30_lcdc vs rk_fb)

This fixes affect rk_fb.c that is shared with RK3188, as such the
changes have been surrounded with "if defined(CONFIG_ARCH_RK30)" to make
sure they don't affect the working RK3188.

Reason for the fixes:
When one compares rk_fb.c and rk30_lcdc.c from this kernel (Linux3188
repo) and old kernel (rk3x_kernel_3.0.36), the code that dissappears in
the new rk_fb.c appears now in the new rk30_lcdc.c.
Those are the changes creating the boot fail for RK3066 devices.

Boot fail means stick reboots upon:
[    0.517494] tps65910_rtc_probe:ok
[    0.517574] Switching to clocksource timer1
[    0.517809] lcdc0:reg_phy_base = 0x1010c000,reg_vir_base:0xf70a0000
[    0.517881] fb0:win1
[    0.517886] fb1:win0
[    0.517891] fb2:win2
[    0.517999] rk30 lcdc0 clk enable...
[    0.518158] rk30 lcdc0 clk disable...
[    0.518655] Switched to NOHz mode on CPU #0
[    0.519271] Switched to NOHz mode on CPU #1
[    0.555981] fb0:phy:95800000>>vir:f8000000>>len:0x1000000
[    0.556304] rk30 lcdc0 clk enable...
[    0.556331] lcdc0: dclk:148500000>>fps:60 rk30_load_screen for lcdc0
o
DDR Version 1.00 20121017