ODROID-X: hkdk4412: Add new hardware based on Exynos4412

The HKDK4412 is the CPU module developed by Hardkernel which is based on
Exynos 4412.  mach_hkdk4412.c is to run on ODROID-X hardware and Machine ID
(4289) is registered.

Change-Id: I3af02808c03b9acea916c310390a4904ad92d761
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ARM: EXYNOS: Enable multiple cores on Exynos4

This patch enables CPU cores on Exynos4, on Exynos4412 secondary CPU cores
are power-gated, therefore we must turn on the CPU cores on the system boot.

Shows below log message on boot.
[    0.045000] CPU: Testing write buffer coherency: ok
[    0.045000] CPU0: thread -1, cpu 0, socket 10, mpidr 80000a00
[    0.045000] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7
counters e
[    0.045000] Setting up static identity map for 0x40370790 - 0x403707e8
[    0.045000] L310 cache controller enabled
[    0.045000] l2x0: 16 ways, CACHE_ID 0x4100c4c8, AUX_CTRL 0x7e470001, Cache
sizeB
[    0.070000] CPU1: Booted secondary processor
[    0.090000] CPU1: thread -1, cpu 1, socket 10, mpidr 80000a01
[    0.090000] CPU1: Unknown IPI message 0x1
[    0.100000] CPU2: Booted secondary processor
[    0.120000] CPU2: thread -1, cpu 2, socket 10, mpidr 80000a02
[    0.120000] CPU2: Unknown IPI message 0x1
[    0.130000] CPU3: Booted secondary processor
[    0.150000] CPU3: thread -1, cpu 3, socket 10, mpidr 80000a03
[    0.150000] CPU3: Unknown IPI message 0x1
[    0.150000] Brought up 4 CPUs
[    0.150000] SMP: Total of 4 processors activated (7969.17 BogoMIPS).

Change-Id: I61615c5b719d3646698f114fc3777eb304694099
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ARM: EXYNOS: Add gpio functions for Exynos4412

GPIO functions are not registered for Exynos4412 yet,
therefore exynos4_gpiolib_init() is added to initialize Exynos4412 SoC.

Change-Id: I5945d94c6fbfc309ccf882eba067864a338c04ca
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ARM: EXYNOS: Add USB HSIC device

This patch support to control USB HSIC of EXYNOS4,
edited based on Samsung's GT-i9100 ICS Opensource Update7.

Change-Id: Ifba33c6a5166abf3644794eee6abe528bd71f521
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
USB: misc: Add USB3503 High-Speed Hub Controller

This patch adds the USB3503 High-Speed Hub Controller driver.
The driver does work properly if INT_N and HUB_CONNECT of USB3503 are tied to
HIGH, only RESET_N is handled to switch its state Hub Communication Stage and
Standby Stage. Otherwise USB3503 will not be detected or not able to scan USB
devices connected.

Change-Id: I4d057d5d1ca077ea3b2a78a0e0bc78bb20a82aa6
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ODROID-X: usb: Add USB3503 platform device

This patch adds the platform device of USB3503 and its pin configuration,
INT_N and HUB_CONNECT are tied HIGH and RESET_N is LOW to be in Standby Stage.

Change-Id: I61387906de3e7a25ee52f216c56e687f43e05ad2
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ODROID-X: lcd: ADD LG LP101WH1 LCD

LP101WH1 is 10.1″ LG LCD panel, supports 1366 X 768 resolution.

Change-Id: If7cbf956ef953d0e32ae6b25ba7a0167e81f1447
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ODROID-X: lcd: Remove vertical lines of LP101WH1

This patch to remove the vertical lines at right side of lcd panel. The lines
are drawen if the frame width is not align the sum of double-word (8 bytes)
boundary. The width of LP101WH1 is 1366 and it's not aligned with double-word
boundary, therefore we only use 1360 pixels, another 6 pixels are ignored.

Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ODROID-X: Add power-off callback

This patch enables power off from userspace.

Change-Id: I8bc9bd02507fd62a3705abba15cea0cc277226b6
Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
ODROID-X: power: Add power POWERKEY event

This patch adds POWERKEY event if power button is pressed. The power button
status passes through MAX77686's ONOB pad to GPX1(3).

Signed-off-by: Dongjin Kim <dongjin.kim@agreeyamobility.net>
Revert "PM / Domains: Allow device callbacks to be added at any time"

This reverts commit 62d4490294e3de7015f715c00af992d7b6a6e22c.

Conflicts:

	drivers/base/power/domain.c

Change-Id: I5ae562c353ea2d47b3ee6b346841407060ec845a
Revert "PM / Domains: Add device domain data reference counter"

This reverts commit 1d5fcfec22ce5f69db0d29284d2b65ff8ab1bfaa.
s5p-tv: hdmi: Hack for fixing system-hang during S2RAM

We used to get a system hang during soft-reboot and suspend to RAM.
This is a temporary work-around till the actual cause is found out.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>

Conflicts:

	drivers/media/video/s5p-tv/hdmi_drv.c

Change-Id: I4122bcd41c0ce667089b0210631557d4e171f174
media: s5p-tv: Add audio support

This patch adds audio support in HDMI driver. This work is heavily based
on commit 3e148baf464e ("drm/exynos: enable hdmi audio feature").

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
media: s5p-tv: Enable HDMI mode to support audio output

To support audio playback, we need to set HDMI mode instead of DVI mode.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
HACK: media: s5p-tv: Temporary HDMI color hack

Without this change, the HDMI display in Android had a green tint. Yet to
find the exact reason for the same.

Change-Id: I2033a1fffd204d9ee91026bc9f548afadef17b0d
Signed-off-by: Annamalai Lakshmanan <annamalai.lakshmanan@linaro.org>
s5p-tv: Fix compiler warning in mixer_video.c file

Fixes the following warning:

mixer_video.c:857:3: warning: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 5 has type ‘unsigned int’ [-Wformat]

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>

Conflicts:

	drivers/media/video/s5p-tv/mixer_video.c

Change-Id: I9b9302f3063b225cf3546fde55359e6d45677c53
media: s5p-hdmi: add support for frame buffer emulator

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
media: s5p-tv: Set 1080p output as default preset

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
media: vb2: add frame buffer emulator for video output devices

This patch adds generic frame buffer emulator for any video output device
that uses videobuf2 framework. This emulator assumes that the driver
is capable of working in single-buffering mode and use memory allocator
that allows coherent memory mapping.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>