platform/kernel/linux-3.10.git
10 years ago[media] au0828: don't let the IR polling thread to run at suspend 03/25803/1
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:35:37 +0000 (07:35 -0300)]
[media] au0828: don't let the IR polling thread to run at suspend

Trying to make au0828 to suspend can do very bad things, as
the polling Kthread is not handled. We should disable it
during suspend, only re-enabling it at resume.

Still, analog and digital TV won't work, as we don't reinit
the settings at resume, but at least it won't hang.

Change-Id: I71fab1b56df5b1a32a75cda98bebf3da1dfda11b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: remove VIDEO_AU0828_RC scope around au0828_rc_* 02/25802/1
Shuah Khan [Sat, 9 Aug 2014 00:36:19 +0000 (21:36 -0300)]
[media] au0828: remove VIDEO_AU0828_RC scope around au0828_rc_*

Remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_register()
and au0828_rc_unregister() calls in au0828-core

Change-Id: I9431dffe542e5ffd625ead27fe448d6a848fd720
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: add au0828_rc_*() for VIDEO_AU0828_RC disabled 01/25801/1
Shuah Khan [Sat, 9 Aug 2014 00:36:18 +0000 (21:36 -0300)]
[media] au0828: add au0828_rc_*() for VIDEO_AU0828_RC disabled

Define au0828_rc_*() stubs to avoid compile errors when
VIDEO_AU0828_RC is disabled and avoid the need to enclose
au0828_rc_*() in ifdef CONFIG_VIDEO_AU0828_RC in .c files.

Change-Id: I0fcea137225fd6941a6e4fddcac4862a78f636ec
Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: handle IR int during suspend/resume 00/25800/1
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:28:01 +0000 (07:28 -0300)]
[media] au0828: handle IR int during suspend/resume

It doesn't make sense to handle an IR code given before
suspending after the device resume. So, turn off IR
int while suspending.

Change-Id: I2c5fa1af97e631ab5f38dd0afc8353482e0c1aa8
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years ago[media] au0828: avoid race conditions at RC stop 99/25799/1
Mauro Carvalho Chehab [Fri, 8 Aug 2014 10:27:20 +0000 (07:27 -0300)]
[media] au0828: avoid race conditions at RC stop

As the RC kthread can re-enable IR int, we should first
cancel the kthread and then disable IR int.

While here, remove a temporary debug printk.

Change-Id: I36ab0a218c0f88c39b023e7bd0eed7b7bdbc2d0c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] xc5000: Fix get_frequency() 98/25798/1
Mauro Carvalho Chehab [Mon, 21 Jul 2014 17:21:18 +0000 (14:21 -0300)]
upstream: [media] xc5000: Fix get_frequency()

The programmed frequency on xc5000 is not the middle
frequency, but the initial frequency on the bandwidth range.
However, the DVB API works with the middle frequency.

Cc: stable@vger.kernel.org
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=a3eec916cbc1
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: Ifadbdd319edb4f9189da2203547ba77456544908

10 years agoupstream: au0828-input: Be sure that IR is enabled at polling 97/25797/1
Mauro Carvalho Chehab [Thu, 7 Aug 2014 13:46:30 +0000 (10:46 -0300)]
upstream: au0828-input: Be sure that IR is enabled at polling

When the DVB code sets the frontend, it disables the IR
INT, probably due to some hardware bug, as there's no code
there at au8522 frontend that writes on register 0xe0.

Fixing it at au8522 code is hard, as it doesn't know if the
IR is enabled or disabled, and just restoring the value of
register 0xe0 could cause other nasty effects. So, better
to add a hack at au0828-input polling interval to enable int,
if disabled.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=a623ff64e71e
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: Ie75c8e04ddefb0ab5571a5721204e79ed92de1f1

10 years agoupstream: [media] au0828: Enable IR for HVR-850 96/25796/1
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:26 +0000 (13:10 -0300)]
upstream: [media] au0828: Enable IR for HVR-850

HVR-850 also has a remote. Enable it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=c87a627b4a23
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: I9aac2bb9d2e3aa12143583f2b3d13ed036817de8

10 years agoupstream: au0828: add an option to disable IR via modprobe parm 95/25795/1
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:25 +0000 (13:10 -0300)]
upstream: au0828: add an option to disable IR via modprobe parm

The IR code increases the power consumption of the device.
Allow to disable it via modprobe parameter.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=ca97cf053296
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: I4a791fd762b77947c04cbac52d7b74b67749efdb

10 years agoupstream: [media] au0828: no need to sleep at the IR code 94/25794/1
Mauro Carvalho Chehab [Thu, 7 Aug 2014 16:10:24 +0000 (13:10 -0300)]
upstream: [media] au0828: no need to sleep at the IR code

This sleep was doing some debouncing on the original driver.
This is not needed on Linux, because the RC core and the input
layer already takes care of it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=8cf3799c5c7c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Change-Id: Ic6e4a1cf2c585ed4ff551f1ed8061de23e385864

10 years agopackaging: upgrade to v3.10.52
Chanho Park [Fri, 8 Aug 2014 06:37:00 +0000 (15:37 +0900)]
packaging: upgrade to v3.10.52

Change-Id: I18d6c0b36f64ac8409d1a3eba8a0ee4b6961fa9d
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agotizen: update defconfig since upgraded to 3.10.52
Chanho Park [Thu, 7 Aug 2014 12:07:16 +0000 (21:07 +0900)]
tizen: update defconfig since upgraded to 3.10.52

Change-Id: I6c6545b239393eeeccaad3164f910f7c3fc5f85c
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoregulator: s5m8767: Fix build break
Chanwoo Choi [Thu, 7 Aug 2014 07:33:31 +0000 (16:33 +0900)]
regulator: s5m8767: Fix build break

This patch fix build break as following log:

drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_is_enabled’:
drivers/regulator/s5m8767.c:229:2: warning: passing argument 1 of ‘sec_reg_read’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:69:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:229:2: warning: passing argument 3 of ‘sec_reg_read’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:69:12: note: expected ‘u8 *’ but argument is of type ‘unsigned int *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_enable’:
drivers/regulator/s5m8767.c:246:2: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_reg_disable’:
drivers/regulator/s5m8767.c:259:2: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c: In function ‘s5m8767_pmic_probe’:
drivers/regulator/s5m8767.c:730:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:735:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:740:2: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:824:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:827:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:830:5: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:837:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:842:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:847:9: warning: passing argument 1 of ‘sec_reg_write’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:71:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:852:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:855:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:858:3: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:865:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:869:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:873:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:877:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:881:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:885:6: warning: passing argument 1 of ‘sec_reg_update’ from incompatible pointer type [enabled by default]
include/linux/mfd/samsung/core.h:73:12: note: expected ‘struct regmap *’ but argument is of type ‘struct sec_pmic_dev *’
drivers/regulator/s5m8767.c:910:24: error: ‘struct sec_pmic_dev’ has no member named ‘regmap’
make[2]: *** [drivers/regulator/s5m8767.o] Error 1

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoRevert "vb2: fix buf_init/buf_cleanup call sequences"
Chanho Park [Thu, 7 Aug 2014 06:30:49 +0000 (15:30 +0900)]
Revert "vb2: fix buf_init/buf_cleanup call sequences"

This reverts commit d872ce298fe725f050c3bbaa652a01a9b18e7a74.

10 years agopackaging: support odroid kernel build
Chanho Park [Tue, 5 Aug 2014 11:19:54 +0000 (20:19 +0900)]
packaging: support odroid kernel build

This patch supports odroid kernel build. I think we can use a single binary for
odroid and trats2(rd-pq). However, I didn't merge it at this point because I
don't want to disturb current odroid development. I'll try to merge it to single
binary later.

Change-Id: I9064affe86510107b992d9e5fbe7c77c81c0d223
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agos5p-mfc: Comment spelling and code styling fix
Kamil Debski [Mon, 4 Aug 2014 12:27:32 +0000 (14:27 +0200)]
s5p-mfc: Comment spelling and code styling fix

Fix spelling mistakes in comment blocks and correct coding style of an if
statement.

Change-Id: I28707f1942566b222eb45a7715e489650a68a9a7
Reported-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
10 years agoclk: Add of_clk_get_by_clkspec() helper
Sylwester Nawrocki [Mon, 19 May 2014 17:22:50 +0000 (19:22 +0200)]
clk: Add of_clk_get_by_clkspec() helper

This patch adds of_clk_get_by_clkspec() helper function, which does only
a struct clk lookup from the clock providers. It is used in the subsequent
patch where parsing of a clock from device tree and the lookup from
providers needed to be split.

Change-Id: I3c8fddfc7716381e63b9731b27a988c1a3e6a733
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
10 years agos5p-mfc: limit the size of the CPB
panpan liu [Mon, 14 Jul 2014 06:42:27 +0000 (14:42 +0800)]
s5p-mfc: limit the size of the CPB

The CPB size is limited by the hardware. Add this limit to the s_fmt.

Change-Id: I4ffe90ac8b4de7aed8f396b3072d5db6ead9741c
Signed-off-by: panpan liu <panpan1.liu@samsung.com>
10 years agomedia: s5p_mfc_dec: delete the redundant code
panpan liu [Fri, 1 Aug 2014 08:58:23 +0000 (16:58 +0800)]
media: s5p_mfc_dec: delete the redundant code

Because the api s5p_mfc_queue_setup has already realized the same function

Change-Id: Ieffc9cd9d7e22d95f988ec66f232951c6f4c646c
Signed-off-by: panpan liu <panpan1.liu@samsung.com>
10 years agomedia: s5p_mfc: Check the return value of allocation routine
Zhaowei Yuan [Fri, 1 Aug 2014 05:51:12 +0000 (13:51 +0800)]
media: s5p_mfc: Check the return value of allocation routine

Check the return value of allocation routine and deal with failure.

Change-Id: Ie7df5962de5928812d1a81bb648258314c0699d1
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agos5p-mfc: correct improper logs
Zhaowei Yuan [Mon, 21 Jul 2014 06:47:52 +0000 (14:47 +0800)]
s5p-mfc: correct improper logs

This patch corrects improper logs within the code init hardware.

Change-Id: Ia5380723bf9398128412e050cadfaf1cb734d17e
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
10 years agopackaging: move modules from /boot/lib/modules to /boot/modules.img
Chanho Park [Tue, 5 Aug 2014 08:12:00 +0000 (17:12 +0900)]
packaging: move modules from /boot/lib/modules to /boot/modules.img

The latest e2fsprogs have a functionality to make ext2/3/4 image from directory.
It acts like genext2fs or mkext4fs of android tools. I took some patches for it
from e2fsprogs next branch and it will be merged in next release.

A mobile device tend to locate kernel image and modules in the same partition
because it should be easily recovered when the partition was broken. Thus, I
also located the modules image in the /boot partition instead of /lib/modules
directory. This patch supports making the modules.img from obs/gbs build.

Change-Id: I480837378e07bc327ac2379211893799bb452402
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoOdroid : Set Configuration flags to get loaded Bluetooth drivers.
paraskumar [Tue, 5 Aug 2014 06:03:13 +0000 (15:03 +0900)]
Odroid : Set Configuration flags to get loaded Bluetooth drivers.

This patch enables configuration flags to load USB Bluetooth,
HCIUART, HCIBTUSB, BT_RFCOMM and few HID drivers to use Bluetooth
Mouse or Keyboard.

Change-Id: I116fab362b9e4b8561b7d507081230b4e602a835
Signed-off-by: Paras Kumar <paras.kumar@samsung.com>
10 years agoodroid: enable smack permissive mode
Chanho Park [Fri, 1 Aug 2014 01:51:46 +0000 (10:51 +0900)]
odroid: enable smack permissive mode

This patch enables smack permissive mode because the platform cannot
support smack correctly. This option will be disabled when the platform
is more stable and support smack correctly.

Change-Id: Ifeb1d2d5454f01f17d94cd02a7c5c2965a9b39f7
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agosmack: add permissive mode for debugging purpose
Chanho Park [Tue, 3 Jun 2014 10:54:53 +0000 (19:54 +0900)]
smack: add permissive mode for debugging purpose

Change-Id: I4389736181c63ae5af670695784cedd21631ba89
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agoASoC: odroidx2_max98090: Update odroidx2_audio_probe from upstream
Huang Chao [Thu, 31 Jul 2014 06:05:52 +0000 (14:05 +0800)]
ASoC: odroidx2_max98090: Update odroidx2_audio_probe from upstream

This patch mainly updates the audio probe and remove function
from the upstream driver, replace the of_parse_phandle return
pointer from the global variables to be local ones. And update
the goto error jump symbols.

Change-Id: Ie0724f1cc0709f72d4feccda4af60985cb732764
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agoASoC: max98090: Fix missing free_irq
Jarkko Nikula [Thu, 19 Jun 2014 06:32:05 +0000 (09:32 +0300)]
ASoC: max98090: Fix missing free_irq

max98090.c doesn't free the threaded interrupt it requests. This causes
an oops when doing "cat /proc/interrupts" after snd-soc-max98090.ko is
unloaded.

Fix this by requesting the interrupt by using devm_request_threaded_irq().

Change-Id: I7ca9d1085c916a2da0092feadc46277d261d98ee
Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Cc: Stable <stable@vger.kernel.org> # 3.10+
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agodrm: add checking DRM_FORMAT_NV12MT
Joonyoung Shim [Mon, 28 Jul 2014 00:31:21 +0000 (09:31 +0900)]
drm: add checking DRM_FORMAT_NV12MT

If user NV12MT uses as pixel format, the Addfb2 ioctl is failed because
of missing to check DRM_FORMAT_NV12MT. The NV12MT pixel format is
supported by exynos4 and some qualcomm chipset and it is used by exynos
drm driver.

Change-Id: I94435dc3bff96377b9dd295d469e862ac637c6bc
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agodrm/exynos: control blending of mixer graphic layer 0
Joonyoung Shim [Fri, 25 Jul 2014 10:34:21 +0000 (19:34 +0900)]
drm/exynos: control blending of mixer graphic layer 0

The mixer graphic layer 0 isn't blended as default by commit
0377f4ed9f1aed30292c4e3c87f24e028ae26f36(drm/exynos: Don't blend mixer
layer 0). But it needs to be blended with graphic layer 0 if video layer
is enabled by vp because video layer is bottom.

Change-Id: I3c4a18c569463fab5cd210e654428bfae8fd5e2d
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
10 years agotizen_odroid_defconfig: add support for HVR950Q RC
Mauro Carvalho Chehab [Wed, 30 Jul 2014 19:13:00 +0000 (16:13 -0300)]
tizen_odroid_defconfig: add support for HVR950Q RC

Now that we've backported the patches for HVR950Q Remote
Controller, enable it at the default config for Odroid.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] xc5000: always write at dmesg when it fails to upload firmware
Mauro Carvalho Chehab [Wed, 30 Jul 2014 14:17:46 +0000 (11:17 -0300)]
upstream: [media] xc5000: always write at dmesg when it fails to upload firmware

On a normal condition, no errors should happen at xc5000
firmware upload is done. So, print at the dmesg if something
bad happens.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=ee67674a7758
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] xc5000: optimize firmware retry logic
Mauro Carvalho Chehab [Wed, 30 Jul 2014 14:09:15 +0000 (11:09 -0300)]
upstream: [media] xc5000: optimize firmware retry logic

Currently, firmware retry logic keeps reading from FS every
time during the retry logic. This is not needed. Instead,
only release the firmware read after success.

While here, make the non-debug messages less verbose, as it
only matters to the user if the firmware was successfully
loaded, or if some error happened.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=8604f3552b1c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] xc5000: Don't try forever to load the firmware
Mauro Carvalho Chehab [Wed, 30 Jul 2014 13:36:32 +0000 (10:36 -0300)]
upstream: [media] xc5000: Don't try forever to load the firmware

With the current code, if something bad happens during the
firmware init process, the device will keep trying forever,
and removing it would cause an OOPS.

Instead, try only a limited amount of time. If not, fails.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=2621c0b32246
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] au0828: add support for IR on HVR-950Q
Mauro Carvalho Chehab [Fri, 25 Jul 2014 01:49:02 +0000 (22:49 -0300)]
upstream: [media] au0828: add support for IR on HVR-950Q

HVR-950Q uses an I2C remote controller at address 0x47 (7-bits
notation). Add support for it.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=2fcfd317f66c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos
Mauro Carvalho Chehab [Mon, 28 Jul 2014 17:25:28 +0000 (14:25 -0300)]
upstream: [media] rc-main: allow raw protocol drivers to restrict the allowed protos

On some hardware (au0828/au8522), the hardware is broken with
regards to the initial pulse detection. So, the driver needs to
produce a fake start pulse. That limits the acceptable protocols,
as it is not possible to produce a fake pulse that would cover
all supported protocols.

So, allow the driver to explicitly set the allowed protocols.

If the driver doesn't specify, keep the old behavior.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=d24b69fc6b0a
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] au0828: improve I2C speed
Mauro Carvalho Chehab [Fri, 25 Jul 2014 17:02:14 +0000 (14:02 -0300)]
upstream: [media] au0828: improve I2C speed

Commits 21dc61d3c0a4 and 7a1dd50b89d4 reduced the board I2C
speed to 20 MHz by default, due to a I2C stretch issue:
while xc5000 uses i2c stretch when a command is sent to it,
au0828 doesn't support this feature.

However, this is needed only for Xceive tuners. The other
I2C devices can work at the max speed.

So, revert the workarounds at board level, handling it at
I2C level, only when talking with xc5000.

Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=cfd0c77d0830
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC
Inha Song [Mon, 28 Jul 2014 06:35:35 +0000 (15:35 +0900)]
ARM: dts: Fix i2s2 node to support sound in Exynos3250 SoC

This patch Fix i2s2 node to support sound in Exynos3250 SoC.
Exynos3250 does not have RCLK clock source selection bit in
IISMOD register. So we need to set "samsung,no-muxpsr"
property in i2s node.

Signed-off-by: Inha Song <ideal.song@samsung.com>
10 years agoASoC: Samsung: i2s: Check whether other i2s_dai is NULL
Inha Song [Mon, 28 Jul 2014 06:27:01 +0000 (15:27 +0900)]
ASoC: Samsung: i2s: Check whether other i2s_dai is NULL

If i2s don't have a secondary i2s dai, other i2s_dai is NULL.
So we need to check whether other i2s_dai is NULL before set
other->cdclk_out to i2s->cdclk_out in i2s_shutdown function.

Signed-off-by: Inha Song <ideal.song@samsung.com>
10 years agosound: soc/samsung: i2s: Add DT property to support NO_MUXPSR quirk
Tomasz Figa [Thu, 9 Jan 2014 16:20:17 +0000 (17:20 +0100)]
sound: soc/samsung: i2s: Add DT property to support NO_MUXPSR quirk

This patch adds property to samsung-i2s DT binding indicating that
controller does not have RCLK source selection bit in IISMOD register.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agosound: soc/samsung: i2s: Init clock hierarchy only for audio subsystem
Tomasz Figa [Wed, 8 Jan 2014 13:03:43 +0000 (14:03 +0100)]
sound: soc/samsung: i2s: Init clock hierarchy only for audio subsystem

Clock hierarchy needs to be initialized only for I2S that is a part of
Audio Subsystem. Remaining I2S do not need this, so this patch makes the
initialization conditional, based on presence of secondary DAI, which is
present only in Audio Subsystem I2S block.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoASoC: ymu831: Add Yamaha YMU831 codec support
Inha Song [Fri, 11 Jul 2014 01:08:43 +0000 (10:08 +0900)]
ASoC: ymu831: Add Yamaha YMU831 codec support

Signed-off-by: Inha Song <ideal.song@samsung.com>
10 years agolocal/input: touchscreen: mms128: code clean and open/close callback
Beomho Seo [Mon, 28 Jul 2014 06:43:39 +0000 (15:43 +0900)]
local/input: touchscreen: mms128: code clean and open/close callback

This patch codeclean and add callback function.
- Add open/close callback function.
- Remove code about unused configuration, function and enum.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agoinput: misc: add regulator-haptic driver
Hyunhee Kim [Fri, 25 Jul 2014 06:47:42 +0000 (15:47 +0900)]
input: misc: add regulator-haptic driver

Haptic motor controlled by voltage in regulator. And driver support
force-feedback interface.

Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
[code cleanup and add detailed description by Jaewon Kim]
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
10 years agoregulator: max14577: Add support for MAX77836 regulators
Krzysztof Kozlowski [Mon, 14 Apr 2014 09:17:20 +0000 (11:17 +0200)]
regulator: max14577: Add support for MAX77836 regulators

Add support for MAX77836 chipset and its additional two LDO regulators.
These LDO regulators are controlled by the PMIC block with additional
regmap (different I2C slave address).

The MAX77836 charger and safeout regulators are almost identical to
MAX14577. The registers layout is the same, except values for charger's
current. The patch adds simple mapping between device type and supported
current by the charger regulator.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
10 years agoregulator: max14577: Fix invalid return value on DT parse success
Krzysztof Kozlowski [Fri, 21 Feb 2014 12:12:38 +0000 (13:12 +0100)]
regulator: max14577: Fix invalid return value on DT parse success

This fixes bug introduced in 667a6b7a (regulator: max14577: Add missing
of_node_put). The DTS parsing function returned number of matched
regulators as success status which then was compared against 0 in probe.

Result was a probe fail after successful parsing the DTS:
max14577-regulator: probe of max14577-regulator failed with error 2

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviwed-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agoregulator: max14577: Add missing of_node_put
Krzysztof Kozlowski [Wed, 5 Feb 2014 16:56:27 +0000 (17:56 +0100)]
regulator: max14577: Add missing of_node_put

Decrease the reference count for 'regulators' device_node, obtained by
of_get_child_by_name().

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agoregulator: max14577: Remove unused state container definition
Krzysztof Kozlowski [Tue, 28 Jan 2014 12:18:25 +0000 (13:18 +0100)]
regulator: max14577: Remove unused state container definition

Remove the "struct max14577_regulator" because this is not used
anywhere. It should be removed earlier along with changing the driver
after review on the mailing lists.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agoregulator: max14577: Add module alias to support module auto-loading
Axel Lin [Mon, 23 Dec 2013 06:50:53 +0000 (14:50 +0800)]
regulator: max14577: Add module alias to support module auto-loading

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agoregulator: max14577: Add regulator driver for Maxim 14577
Krzysztof Kozlowski [Fri, 6 Dec 2013 11:32:13 +0000 (12:32 +0100)]
regulator: max14577: Add regulator driver for Maxim 14577

MAX14577 chip is a multi-function device which includes MUIC,
charger and voltage regulator. The driver is located in drivers/mfd.

This patch adds regulator driver for MAX14577 chip. There are two
regulators in this chip:
1. Safeout LDO with constant voltage output of 4.9V. It can be only
   enabled or disabled.
2. Current regulator for the charger. It provides current from 90mA up
   to 950mA.
Driver supports Device Tree.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
10 years agopower: charger-manager: Add uevent_notify for cable notification
Jonghwa Lee [Wed, 16 Jul 2014 05:14:40 +0000 (14:14 +0900)]
power: charger-manager: Add uevent_notify for cable notification

Charger-manager works with cable notification from extcon sub system,
and it has to notify users when charging status is updated due to the
cable connection.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agopower: charger-manager: Notify chainging of battery soc to user
Jonghwa Lee [Wed, 16 Jul 2014 05:07:26 +0000 (14:07 +0900)]
power: charger-manager: Notify chainging of battery soc to user

Some system might want to notice changing of battery soc, so this patch
makes charger-manager to trigger uevent whenver battery soc changes.

It is configurable operation via setting flag, 'cm-poll-batt-soc', in dt.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
10 years agomisc: ice4_irda: add support for clock enable
Jaewon Kim [Fri, 18 Jul 2014 01:06:41 +0000 (10:06 +0900)]
misc: ice4_irda: add support for clock enable

ice4_irda need 24Mhz clock. But before this patch, ice_irda driver do not
control clock. So, This patch add clock enable function.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
10 years agomisc: add support for ice4_irda driver to use IrDA control
Jaewon Kim [Tue, 15 Jul 2014 06:53:48 +0000 (15:53 +0900)]
misc: add support for ice4_irda driver to use IrDA control

This patch add ice4_irda driver to use IrDA control. ice4 chip
communicates via SPI. due to lack of SPI in b2 board, SPI replaced to I2C

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
10 years agosensorhub: add sensorhub driver
Jaewon Kim [Tue, 15 Jul 2014 07:05:25 +0000 (16:05 +0900)]
sensorhub: add sensorhub driver

This patch add sensorhub driver to communicate MCU called sensorhub. It
require firmware driver for MCU.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
10 years agoARM: dts: exynos3250: fix compatible string in hsotg
Jaewon Kim [Tue, 15 Jul 2014 05:43:35 +0000 (14:43 +0900)]
ARM: dts: exynos3250: fix compatible string in hsotg

This patch fix compatible string and phy-names in hsotg.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
10 years agodrivers: usb: s3c-hsotg: add support for usb core regulator
Marek Szyprowski [Wed, 30 Oct 2013 15:30:25 +0000 (16:30 +0100)]
drivers: usb: s3c-hsotg: add support for usb core regulator

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agodrivers: phy: exynos-usb2: add support for Exynos 3250
Marek Szyprowski [Mon, 14 Jul 2014 06:48:05 +0000 (15:48 +0900)]
drivers: phy: exynos-usb2: add support for Exynos 3250

This patch adds support for Exynos3250 SoC to Exynos2USB PHY driver.
Although Exynos3250 has only one device phy interface, the register
layout and all operations that are required to get it enabled are almost
same as on Exynos4x12. The only different is one more register
(REFCLKSEL) which need to be set and lack of MODE SWITCH register.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agousb: gadget: Use usb_put_function instead of usb_remove_function
Andrzej Pietrasiewicz [Wed, 11 Jun 2014 05:09:23 +0000 (14:09 +0900)]
usb: gadget: Use usb_put_function instead of usb_remove_function

When the gadget is disabled with writing "0" to the "enable" attribute,
usb_remove_config() is called, and it calls remove_config(), which in
turn removes a function (list_del(&f->list)) from a list of functions
in the configuration, then calls e.g. acm function's unbind
(acm_unbind()),
then calls slp_multi_unbind_config(), which
calls slp_multi_unbind_enabled_functions(), which, for the acm function,
calls acm_function_unbind_config() which then does usb_remove_config()
and the latter attempts to once again remove a function
(list_del(&f->list)) from a list of functions in the configuration.
Since the list_head of an already deleted entry has LIST_POISON1 and
LIST_POISON2 in its prev and next pointers, dereferencing them in
list_del() causes a page fault.
The fix is to use usb_put_function instead, because when it is called
the function is already removed.
This patch also cleans up
the places usb_get/put_function_instance() and usb_get/put_function()
are called.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
10 years agousb: gadget: slp: add an acm instance to default functions
Seung-Woo Kim [Thu, 6 Mar 2014 04:20:23 +0000 (13:20 +0900)]
usb: gadget: slp: add an acm instance to default functions

To enable acm function with default configuration, acm function
should be added default function list and instance number should
also be set as at least 1.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
10 years agousb: gadget: slp: add mtp function
Chanho Park [Fri, 17 Jan 2014 08:21:56 +0000 (17:21 +0900)]
usb: gadget: slp: add mtp function

This code is based on linux-3.4-exynos. I've only run a simple copy test from
host to target.

Signed-off-by: Chanho Park <chanho61.park@samsung.com>
10 years agothermal: samsung: Add TMU support for Exynos3250 SoC
Chanwoo Choi [Fri, 11 Jul 2014 01:06:11 +0000 (10:06 +0900)]
thermal: samsung: Add TMU support for Exynos3250 SoC

This patch adds the registers, bit fields and compatible strings
required to support for the 1 TMU channels on Exynos3250.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[Add MUX address setting bits by Jonghwa Lee]
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoinput: touchscreen: add mms128 touchscreen controller driver.
Beomho Seo [Tue, 24 Jun 2014 09:43:55 +0000 (18:43 +0900)]
input: touchscreen: add mms128 touchscreen controller driver.

This patch add melfas mms128 touchscreen controller driver.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
10 years agopm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequency
Chanwoo Choi [Fri, 11 Jul 2014 01:03:01 +0000 (10:03 +0900)]
pm_qos: Add PM_QOS_CPU_FREQUENCY pm_qos to guarantee required CPU frequency

This patch add PM_QOS_CPU_FREQUENCY to quarantee required CPU frequency.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agopm_qos: Add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus frequency
Chanwoo Choi [Fri, 11 Jul 2014 01:02:06 +0000 (10:02 +0900)]
pm_qos: Add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus frequency

This patch add PM_QOS_BUS_FREQUENCY pm_qos to guarantee required memory bus
frequency.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agodrm/gpu: mipi: Remove build error of drm_mipi_dsi.c
Chanwoo Choi [Thu, 10 Jul 2014 00:34:52 +0000 (09:34 +0900)]
drm/gpu: mipi: Remove build error of drm_mipi_dsi.c

This patch remove build error of drm_mipi_dsi.c as following log:

  CC      kernel/trace/trace.o
  drivers/gpu/drm/drm_mipi_dsi.c: In function ‘mipi_dsi_device_alloc’:
  drivers/gpu/drm/drm_mipi_dsi.c:78:3: error: implicit declaration of function ‘ERR_PTR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:78:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c: In function ‘of_mipi_dsi_device_add’:
  drivers/gpu/drm/drm_mipi_dsi.c:111:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c:117:3: warning: return makes pointer from integer without a cast [enabled by default]
  drivers/gpu/drm/drm_mipi_dsi.c:121:2: error: implicit declaration of function ‘IS_ERR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:123:4: error: implicit declaration of function ‘PTR_ERR’ [-Werror=implicit-function-declaration]
  drivers/gpu/drm/drm_mipi_dsi.c:123:4: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int’ [-Wformat]
  drivers/gpu/drm/drm_mipi_dsi.c:135:3: warning: return makes pointer from integer without a cast [enabled by default]
  cc1: some warnings being treated as errors
  make[3]: *** [drivers/gpu/drm/drm_mipi_dsi.o

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: exynos: Remove build error of sec-reboot.c
Chanwoo Choi [Thu, 10 Jul 2014 00:33:16 +0000 (09:33 +0900)]
ARM: exynos: Remove build error of sec-reboot.c

This patch remove build error of sec-reboot.c as following log:

  CC      arch/arm/mach-exynos/sec-reboot.o
  arch/arm/mach-exynos/sec-reboot.c: In function ‘sec_power_off’:
  arch/arm/mach-exynos/sec-reboot.c:72:3: error: implicit declaration of function ‘IS_ERR’ [-Werror=implicit-function-declaration]
  arch/arm/mach-exynos/sec-reboot.c: In function ‘sec_reboot_parse_dt’:
  arch/arm/mach-exynos/sec-reboot.c:210:3: error: implicit declaration of function ‘ERR_PTR’ [-Werror=implicit-function-declaration]
  arch/arm/mach-exynos/sec-reboot.c:210:3: warning: return makes pointer from integer without a cast [enabled by default]
  cc1: some warnings being treated as errors

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoiio: adc: exynos_adc: Control special clock for ADC
Chanwoo Choi [Thu, 6 Feb 2014 04:13:23 +0000 (13:13 +0900)]
iio: adc: exynos_adc: Control special clock for ADC

This patch control special clock for ADC in Exynos series's FSYS block.
If special clock of ADC is registerd on clock list of common clk framework,
Exynos ADC drvier have to control this clock.

- 'adc' clock: bus clock for ADC
- 'sclk_tsadc' clock: special clock for ADC which provide clock to internal ADC

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoinput: gpio_keys: Add IRQF_NO_SUSPEND flag to wake-up from freeze state
Chanwoo Choi [Thu, 10 Jul 2014 11:10:17 +0000 (20:10 +0900)]
input: gpio_keys: Add IRQF_NO_SUSPEND flag to wake-up from freeze state

This patch add IRQF_NO_SUSPEND flag before requesting interrupt handler
if button->wakeup is true. If ther interrupt of gpio-keys hasn't included
IRQF_NO_SUSPEND, wouldn't wake-up from freeze state when pressing button.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agocpufreq: Add exynos3250 cpufreq support
Chanwoo Choi [Thu, 10 Jul 2014 11:36:17 +0000 (20:36 +0900)]
cpufreq: Add exynos3250 cpufreq support

This patch add exynos3250 cpufreq driver to change voltage/frequency according
to required cpufreq level.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: dts: exynos4412-trats: Add extcon-port dt node to support legacy jack interface
Chanwoo Choi [Mon, 28 Jul 2014 08:26:29 +0000 (17:26 +0900)]
ARM: dts: exynos4412-trats: Add extcon-port dt node to support legacy jack interface

This patch add extcon-port dt node to support legacy jack interface which
notify jack vent to tizen platform.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoextcon: port: Add DT support
Chanwoo Choi [Thu, 10 Jul 2014 10:54:39 +0000 (19:54 +0900)]
extcon: port: Add DT support

Add Device Tree support for extcon-port driver. Parse from DTS:
- name of MUIC/Jack/HDMI devices;
- port online properties;

This allows removal from extcon-port hard-coded MUIC driver names
(max14577, max77836).

Additionally a sysfs symlink is created to /sys/devices/platform/jack
for supporting platform requirements.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoextcon: max14577: Add extcon-max14577/max77836 driver to support MUIC device
Chanwoo Choi [Thu, 10 Jul 2014 10:46:03 +0000 (19:46 +0900)]
extcon: max14577: Add extcon-max14577/max77836 driver to support MUIC device

This patch support Maxim MAX14577/MAX77836 MUIC(Micro USB Interface Controller) device
by using EXTCON subsystem to handle various external conntector. The max14577/max77836
device use regmap method for i2c communication and support irq domain.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
10 years agopower: max17040: Update MAX17040 fuel-gague device
Chanwoo Choi [Thu, 10 Jul 2014 11:07:14 +0000 (20:07 +0900)]
power: max17040: Update MAX17040 fuel-gague device

This patch update max17040 fuel-gague device as following:
- Use regmap instead of old i2c interface
- Normalize capacity and vcell values
- Add ID for MAX77836 fuel-gauge block
- Add basic support for pdata-less operation
- Add match table entry for MAX17048

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agopower: Add charger support for Maxim 14577/77836
Krzysztof Kozlowski [Thu, 10 Jul 2014 10:58:41 +0000 (19:58 +0900)]
power: Add charger support for Maxim 14577/77836

MAX14577/77836 chip is a multi-function device which includes MUIC, charger and
voltage regulator. The driver is located in drivers/mfd.

This patch supports battery charging control of MAX14577/77836 chip and provides
power supply class information to userspace.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
10 years agomfd: max14577: Add max14577/max77836 MFD driver to support muic/charger device
Chanwoo Choi [Thu, 10 Jul 2014 10:40:36 +0000 (19:40 +0900)]
mfd: max14577: Add max14577/max77836 MFD driver to support muic/charger device

This patch add max14577/max77836 core/irq driver to support MUIC(Micro USB IC) device
and fuelgague device and support irq domain method to control internal interrupt
of max14577/max77836 device.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
10 years agortc: s3c: Control RTC's source clock
Chanwoo Choi [Thu, 10 Jul 2014 09:07:32 +0000 (18:07 +0900)]
rtc: s3c: Control RTC's source clock

This patch control source clock(32.768KHz) for RTC block. If source clock of RTC
is registerd on clock list of common clk framework, Exynos RTC drvier have to
control this clock.

Clock list for s3c-rtc device:
- rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC.
- rtc_src_clk : XrtcXTI is 32.768.kHz source clock for RTC.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agortc: s5m-rtc: add real-time clock driver for s5m8767/s2mps14
Sangbeom Kim [Thu, 10 Jul 2014 09:05:29 +0000 (18:05 +0900)]
rtc: s5m-rtc: add real-time clock driver for s5m8767/s2mps14

Add real-time clock driver for s5m8767/s2mps14.

Signed-off-by: Sangbeom Kim <sbkim73@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Lee Jones <lee.jones@linaro.org> [mfd parts]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
10 years agoclk: s2mps11: Add support for s2mps11/s2mps14
Yadwinder Singh Brar [Thu, 10 Jul 2014 09:00:51 +0000 (18:00 +0900)]
clk: s2mps11: Add support for s2mps11/s2mps14

This patch adds support to register three(AP/CP/BT) buffered 32.768 KHz
outputs of mfd-s2mps11 with common clock framework.

Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
10 years agoregulator: s2mps11: Add support for S2MPS14 regulators
Krzysztof Kozlowski [Thu, 10 Jul 2014 08:22:34 +0000 (17:22 +0900)]
regulator: s2mps11: Add support for S2MPS14 regulators

Add support for S2MPS14 PMIC regulators to s2mps11 driver. The S2MPS14
has fewer BUCK-s and LDO-s than S2MPS11. It also does not support
controlling the BUCK ramp delay.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agomfd: sec-core: Add support for S2MPS14
Krzysztof Kozlowski [Thu, 10 Jul 2014 08:20:45 +0000 (17:20 +0900)]
mfd: sec-core: Add support for S2MPS14

Add support for S2MPS14 PMIC device to the MFD sec-core driver.
The S2MPS14 is similar to S2MPS11 but it has fewer regulators, two
clocks instead of three and a little different registers layout.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: exynos: hotplug: Enter a15 lowpower mode for Exynos3 based on Cortex-a7
Chanwoo Choi [Tue, 7 Jan 2014 07:02:03 +0000 (16:02 +0900)]
ARM: exynos: hotplug: Enter a15 lowpower mode for Exynos3 based on Cortex-a7

This patch decide proper lowpower mode of either a15 or a9 according to own ID
from Main ID register.

Change-Id: Id7cbc24b4d3b0f4265cd745c9ce25d5938ee87cb
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: EXYNOS: Add support for suspend-to-ram of Exynos3250
Chanwoo Choi [Thu, 10 Jul 2014 12:37:13 +0000 (21:37 +0900)]
ARM: EXYNOS: Add support for suspend-to-ram of Exynos3250

This patch add support for suspend-to-ram of Exynos3250 based on Cortex-A7
dual-core. The Exynos3250 hasn't L2 cache.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: EXYNOS: Add PMU configuration registers to support suspend-to-RAM for Exynos3250
Chanwoo Choi [Thu, 10 Jul 2014 12:15:32 +0000 (21:15 +0900)]
ARM: EXYNOS: Add PMU configuration registers to support suspend-to-RAM for Exynos3250

This patch add PMU (Power Management Unit) configuration registers to support
suspend-to-RAM for Exynos3250. This patch for Exynos3250 provides four power
modes. (Normal/AFTR/W-AFTR/Sleep)

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: EXYNOS: add read/write SFR by smc call
Kyungmin Park [Thu, 10 Jul 2014 04:41:00 +0000 (13:41 +0900)]
ARM: EXYNOS: add read/write SFR by smc call

This patch add SMC helper functions to access special SFRs.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: EXYNOS: Add exynos_smc2 to read SFR
Kyungmin Park [Thu, 10 Jul 2014 04:38:39 +0000 (13:38 +0900)]
ARM: EXYNOS: Add exynos_smc2 to read SFR

Some SFR is restricted to access from AP side.
so use this smc call to access these SFRs.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: EXYNOS: Support secondary CPU boot of Exynos3250
Chanwoo Choi [Thu, 10 Jul 2014 03:10:00 +0000 (12:10 +0900)]
ARM: EXYNOS: Support secondary CPU boot of Exynos3250

This patch fix the offset of CPU boot address and don't
need to send smc call of SMC_CMD_CPU1BOOT command for
secondary CPU boot because Exynos3250 removes WFE in
secure mode.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: fix the secondary CPU boot of exynos4212
Kyungmin Park [Thu, 10 Jul 2014 03:08:57 +0000 (12:08 +0900)]
ARM: EXYNOS: fix the secondary CPU boot of exynos4212

This patch fixes the offset of CPU boot address and changes
the parameter of smc call for SMC_CMD_CPU1BOOT command on
exynos4212.

Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Fix the sequence of secondary CPU boot for Exynos3250
Chanwoo Choi [Thu, 10 Jul 2014 04:48:32 +0000 (13:48 +0900)]
ARM: EXYNOS: Fix the sequence of secondary CPU boot for Exynos3250

This patch set AUTOWAKEUP_EN bit to ARM_CORE_CONFIGURATION register
because Exynos3250 removes WFE in secure mode so that turn on automatically
after setting CORE_LOCAL_PWR_EN. Also, This patch use dbs_sev() macro
to guarantee the data synchronization of command instead of IPI_WAKEUP
because Exynos3250 don't have WFE mode in secue mode.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
10 years agoARM: exynos: Skip scu_enable if using Exynos3250
Chanwoo Choi [Thu, 10 Jul 2014 03:03:34 +0000 (12:03 +0900)]
ARM: exynos: Skip scu_enable if using Exynos3250

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: exynos: Check the number of core and initialize CPU possible map
Chanwoo Choi [Thu, 10 Jul 2014 02:01:36 +0000 (11:01 +0900)]
ARM: exynos: Check the number of core and initialize CPU possible map

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: exynos3: Add Exynos3's machine_desc structure to support Device Tree
Chanwoo Choi [Fri, 20 Dec 2013 10:39:16 +0000 (19:39 +0900)]
ARM: exynos3: Add Exynos3's machine_desc structure to support Device Tree

This patch add Exynos4's machine desc structure to support Device Tree.
The dt driver of Exynos3 SoC include dt compatible string of Exynos3250.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoserial: samsung: Add exynos3250 dependency
Chanwoo Choi [Thu, 10 Jul 2014 01:32:46 +0000 (10:32 +0900)]
serial: samsung: Add exynos3250 dependency

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: exynos: Add exynos3250 pinctrl dependency to use pinctrl instead of legacy samsu...
Chanwoo Choi [Thu, 10 Jul 2014 01:32:15 +0000 (10:32 +0900)]
ARM: exynos: Add exynos3250 pinctrl dependency to use pinctrl instead of legacy samsung gpio

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agoARM: compressed: Reserve more stack space for ATAGS to FDT conversion
Tomasz Figa [Tue, 29 Oct 2013 14:22:49 +0000 (15:22 +0100)]
ARM: compressed: Reserve more stack space for ATAGS to FDT conversion

This patch increases size of stack space reserved for ATAGS to FDT
conversion from 64 KiB to 256 KiB to fix DTB corruption when size of DTB
blob exceeds 64 KiB.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoARM: decompressor: Flush tlb before swiching domain 0 to client mode
Arve Hjønnevåg [Sat, 1 Dec 2012 01:05:40 +0000 (01:05 +0000)]
ARM: decompressor: Flush tlb before swiching domain 0 to client mode

If the bootloader used a page table that is incompatible with domain 0
in client mode, and boots with the mmu on, then swithing domain 0 to
client mode causes a fault if we don't flush the tlb after updating
the page table pointer.

v2: Add ISB before loading dacr.

Signed-off-by: Arve Hjønnevåg <arve@android.com>
10 years agoARM: dts: add dts files for exynos3250 SoC
Tomasz Figa [Thu, 10 Jul 2014 00:02:41 +0000 (09:02 +0900)]
ARM: dts: add dts files for exynos3250 SoC

This patch adds new exynos3250.dtsi to support Exynos3250 SoC
based on Cortex-A7 dual core and includes following dt nodes:

- GIC interrupt controller
- Pinctrl to control GPIOs
- Clock controller
- CPU information (Cortex-A7 dual core)
- UART to support serial port
- MCT (Multi Core Timer)
- ADC (Analog Digital Converter)
- I2C/SPI bus
- Power domain
- PMU (Performance Monitoring Unit)
- MSHC (Mobile Storage Host Controller)
- PWM (Pluse Width Modulation)
- AMBA bus
- sysram node for SYSRAM memory mapping

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
10 years agopinctrl: samsung: Fix parsing of pin functions
Tomasz Figa [Mon, 28 Oct 2013 17:40:57 +0000 (18:40 +0100)]
pinctrl: samsung: Fix parsing of pin functions

This patch fixes uninitialized variable and invalid error check in pin
group node parsing function that caused wrong detection of pin group
nodes as pinmux functions even with no samsung,pin-function property
defined.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agopinctrl: samsung: Allow grouping multiple pinmux/pinconf nodes
Tomasz Figa [Sat, 12 Oct 2013 08:01:39 +0000 (10:01 +0200)]
pinctrl: samsung: Allow grouping multiple pinmux/pinconf nodes

One of remaining limitations of current pinctrl-samsung driver was
the inability to parse multiple pinmux/pinconf group nodes grouped
inside a single device tree node. It made defining groups of pins for
single purpose, but with different parameters very inconvenient.

This patch implements Tegra-like support for grouping multiple pinctrl
groups inside one device tree node, by completely changing the way
pin groups and functions are parsed from device tree. The code creating
pinctrl maps from DT nodes has been borrowed from pinctrl-tegra, while
the initial creation of groups and functions has been completely
rewritten with following assumptions:
 - each group consists of just one pin and does not depend on data
   from device tree,
 - each function is represented by a device tree child node of the
   pin controller, which in turn can contain multiple child nodes
   for pins that need to have different configuration values.

Device Tree bindings are fully backwards compatible. New functionality
can be used by defining a new pinctrl group consisting of several child
nodes, as on following example:

sd4_bus8: sd4-bus-width8 {
part-1 {
samsung,pins = "gpk0-3", "gpk0-4",
"gpk0-5", "gpk0-6";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
part-2 {
samsung,pins = "gpk1-3", "gpk1-4",
"gpk1-5", "gpk1-6";
samsung,pin-function = <4>;
samsung,pin-pud = <4>;
samsung,pin-drv = <3>;
};
};

Tested on custom Exynos 4212-based board.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agopinctrl: exynos: Add driver data for Exynos3250
Tomasz Figa [Fri, 20 Dec 2013 15:05:11 +0000 (16:05 +0100)]
pinctrl: exynos: Add driver data for Exynos3250

This patch adds driver data (bank list and EINT layout) for Exynos3250
to pinctrl-exynos driver.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos3250: Add clocks using common clock framework
Tomasz Figa [Thu, 10 Jul 2014 00:22:18 +0000 (09:22 +0900)]
clk: samsung: exynos3250: Add clocks using common clock framework

This patch add new the clock drvier of Exynos3250 SoC based on Cortex-A7
using common clock framework. The CMU (Clock Management Unit) of Exynos3250
control PLLs(Phase Locked Loops) and generate system clocks for CPU, buses,
and function clocks for individual IPs.

The CMU of Exynos3250 includes following clock doamins:
- CPU block for Cortex-A7 MPCore processor
- LEFTBUS/RIGHTBUS block
- TOP block for G3D/MFC/LCD0/ISP/CAM/FSYS/MFC/PERIL/PERIR

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Hyunhee Kim <hyunhee.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Karol Wrona <k.wrona@samsung.com>
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>