sunxi: prevent mali drivers from building every time

This patch was suggested to prevent the mali drivers from rebuild
every time the modules are built.  It simply creates symlinks to
sources used by both ump.ko and mali.ko so that their objects are built
in separate directories; otherwise, there is a ping-pong effect between
the ump.ko objects and mali.ko objects overwriting each other.

Signed-off-by: Patrick Wood <patrickhwood@gmail.com>
sunxi-hdmi: Add 2 pixelclock overrides for 1280x800 hdmi projectors

The sunxi video PLL-s can unfortunately not make any random clock encountered
in EDID info. So hdmi_edid.c has a table to override the pixelclocks in some
EDID provided modes to a value which the PLL-s can actually make close to the
real value.

This commit adds the preferred EDID mode from 2 hdmi projectors to this
table, so that sunxi-hdmi will work properly with these projectors.

Reported-by: Jonathan Liu <net147@gmail.com>
Tested-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Unify sunxi SPI driver a little more

Currently the unification happened by merging spi_sun4i and spi_sun5i
but the KConfig's remained split. This merges the KConfig's to SPI_SUNXI
and adjusts the spi driver likewise. Integration with spi for sun7i
should be easier now.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
sun7i_defconfig: resync

Signed-off-by: Alejandro Mery <amery@geeks.cl>
spi:sunxi: set to default y

Signed-off-by: Alejandro Mery <amery@geeks.cl>
sun7i_deconfig enable option for usable kernel

Enable in sun7i_deconfig option for an usable kernel
I add nand,emac,ir,gpio,mmc

Signed-off-by: Gerardo Di Iorio <arete74@gmail.com>
sun7i:standby: use const char for the hexa digits string

arch/arm/mach-sun7i/pm/standby/mem_printk.c used non-const char arrays. However
gcc 4.6.3 likes to replace these by calls to memcpy. memcpy doesn't exist in
the kernel. Having it non-const char arrays is useless anyway in this
case. Therefore add "const" (for digit_string).
sunxi:sun7i_defconfig: savedefconfig

Signed-off-by: Alejandro Mery <amery@geeks.cl>
sunxi-hdmiaudio: Enable 32-bit audio

The original modifications for this patch originate from some custom
changes made to the 3.3 Android kernel by huangxin at allwinnertech.com.

The A10/A20 DMA engine for HDMI audio only supports 16 or 32-bit
transfers. The documentation says 16, 20, and 24 bits, but I have not
been able to get 24-bit audio, ether 3-bytes (PCM_FMTBIT_24_3LE) or
4-bytes (PCM_FMTBIT_24_LE) to work.

This patch removes the non-working PCM formats, PCM_FMTBIT_S18_3LE
and PCM_FMTBIT_S20_3LE, and PCM_FMTBIT_S24_LE and adds suppor for
32-bit HDMI audio (PCM_FMTBIT_S32_LE).  It's possible that other 32-bit
formats, like PCM_FMTBIT_U32_LE or PCM_FMTBIT_FLOAT_LE might work, but
couldn't be tested.

This patch was tested with 24-bit and 32-bit .wav files and the ALSA
"plughw" plugin (for upconverting the 24-bit audio files to 23-bits)
with aplay -v to verify that the target format was S32_LE.

Signed-off-by: Patrick Wood <patrickhwood@gmail.com>
Add mmc support for sun4i
sunxi:axp20x: Enable internal thermal monitoring

Enable the internal thermal monitoring support of AXP20X chips

Cherry-picked from:

https://github.com/cubieboard/linux-sunxi/commit/e4144b3ce62b1d7014fee36b84bc65c812469822

Creates the sysfs file temp1_input in the sunxi-i2c tree that reports the
AXP's temperature in degrees C.

According to the AXP202's datasheet, this port outputs a 12-bit value
where 0x000 == -144.7C and 0xfff == 264.8C in 0.1 degree C increments.

Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Patrick Wood <patrickhwood@gmail.com>
arm:sunxi:defconfig: enable HWMON

Signed-off-by: Alejandro Mery <amery@geeks.cl>
sun7i: enable performance counters

The PMUs on sun7i use the undocumented IRQs 152 and 153 for core 0 and 1
respectively.

Signed-off-by: Mans Rullgard <mans@mansr.com>
input: touchscreen: Add support for GOODiX GT801 2+1

Based on
    https://raw.github.com/zhangdaiyan/my-allwinner-ics_linux-3.0/099851438f0a51f30bc2df153ea236b56a79a59b/drivers/input/touchscreen/gt801_2plus1.h
    https://raw.github.com/zhangdaiyan/my-allwinner-ics_linux-3.0/099851438f0a51f30bc2df153ea236b56a79a59b/drivers/input/touchscreen/gt801_2plus1.c

And fixed up by me to read the fex correctly and do the right wakeup/enable
pin dance for this touchscreen.

Signed-off-by: Emilio López <turl@linux-sunxi.org>
ARM: sunxi: enable KEYBOARD_SUN4I_KEYBOARD_FEX

This lets us specify keybindings on the fex using a [tabletkeys_para]
section.

Signed-off-by: Emilio López <turl@linux-sunxi.org>
ARM: sunxi: enable TOUCHSCREEN_GT801_2PLUS1_TS

Signed-off-by: Emilio López <turl@linux-sunxi.org>
media: video: sun4i_csi: Fix build failure on mt9m112

The -Warray-bounds flag was triggering a build failure. Fix it.

Signed-off-by: Emilio López <turl@linux-sunxi.org>
sunxi:nand: add support for samsung K9GBG08U0M

This data was taken from a newer version of libnand, which is only
available as a binary blob. The flags gave me a bit of trouble, but
i verified that all of the ones in the current libnand are still
being used the same way in the new libnand.

Works as well as could be expected :)

Signed-off-by: Luc Verhaegen <libv@skynet.be>