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
Minor oops fix for prev commit

the required defines to activate changes were inside an ifdef
moved them out of it so they are always active
Minor fix for MALI to rk_fb and working .config for RK3066

3D may still not work, it's work in progress
.config to enable Linux text console start on HDMI screen

With this, the HW serial console stops getting data early after gpio is
init, and the screen attached to the HDMI connector gets the usual Linux
text boot console instead.

This is useful/necessary for installing Picuntu (the 1st installation
starts at the console, where picuntu-da-server.sh is started) and for
any non-GUI Linux action
RK1000 audio codec fix

There is a kernel oops due to a strcmp right after loading i2c-core for
RK1000 in function soc_bind_dai_link (soc-core.c)

The CODEC_NAME_CMP related define/ifdefs are the only change here with
respect to previous working kernel, so I'm commenting the define.

Boot process goes on now.
Fixes for RK31 and non-MALI config compatibility

Minor "defines" refinement to allow RK3188 kernel config without MALI
configured in