platform/kernel/linux-3.10.git
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 years agoclk/samsung: add support for multuple clock providers
Rahul Sharma [Tue, 24 Dec 2013 13:41:34 +0000 (14:41 +0100)]
clk/samsung: add support for multuple clock providers

Samsung CCF helper functions do not provide support to
register multiple Clock Providers for a given SoC. Due to
this limitation SoC platforms are not able to use these
helpers for registering mulitple clock providers and are
forced to bypass this layer.

This layer is modified acordingly to enable the support.

Clockfile for exynos4, exynos5250, exynos5420, exynos5440
and S3c64xx are also modified as per changed helper functions.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
[t.figa: Backported to 3.10 kernel]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agoclk: samsung: pll: Add support for PLL4600x used on Exynos3250
Tomasz Figa [Tue, 24 Dec 2013 10:32:53 +0000 (11:32 +0100)]
clk: samsung: pll: Add support for PLL4600x used on Exynos3250

This PLL differs from 46xx only by offsets of registers, so operations
are reused, just modified to account for this minor difference.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
9 years agoARM: exynos: Register CPU IO area for Exynos3
Chanwoo Choi [Thu, 10 Jul 2014 02:58:44 +0000 (11:58 +0900)]
ARM: exynos: Register CPU IO area for Exynos3

This patch map CPU IO area for Exynos3.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
9 years agoARM: EXYNOS: Add Exynos3250 SoC ID
Chanwoo Choi [Fri, 20 Dec 2013 10:35:43 +0000 (19:35 +0900)]
ARM: EXYNOS: Add Exynos3250 SoC ID

This patch add Exynos3250's SoC ID. Exynos 3250 is SoC that
is based on the 32-bit RISC processor for Smartphone.
Exynos3250 uses Cortex-A7 dual cores and has a target speed
of 1.0GHz.

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>
9 years agodrm/panel: add S6E63J0x03 MIPI-DSI command mode panel
Inki Dae [Tue, 22 Jul 2014 08:27:46 +0000 (17:27 +0900)]
drm/panel: add S6E63J0x03 MIPI-DSI command mode panel

This patch adds s6e63j0x03 MIPI-DSI command mode panel driver
which is used for Gear 2 wearable device.

Change-Id: If3c8046af224afe5e947819eeff545a5b9dc04fc
Signed-off-by: Inki Dae <inki.dae@samsung.com>
9 years agoarm: odroid: cpufreq: Support for frequency up to 1.7 GHz
Lukasz Majewski [Fri, 18 Jul 2014 14:16:04 +0000 (16:16 +0200)]
arm: odroid: cpufreq: Support for frequency up to 1.7 GHz

Values used for supporting Odroid U3 frequencies were taken from Odroid repo:

https://github.com/hardkernel/linux.git
branch odroid-3.8.y
config arch/arm/configs/odroidu_defconfig

Three new frequencies have been added: 1.6, 1.704 and 1.8 GHz.

It is important to note, that in the device tree cpufreq node one just
needs to specify the list of supported frequencies at the freq_table
attribute.

Change-Id: I416a35b99da9c341f92648541c81238a51dc362f
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agocpufreq: BOOST: Adjust setting of BOOST frequency just before first valid freq
Lukasz Majewski [Thu, 17 Jul 2014 14:50:55 +0000 (16:50 +0200)]
cpufreq: BOOST: Adjust setting of BOOST frequency just before first valid freq

Before this change the BOOST frequency was always hardcoded to be the
highest one. This worked for M0 and Proxima, but failed when support for
odroid U3 has been added.

Since odroid U3 supports three more freqs, higher than the boost for M0,
it is necessary to adjust setting of boost frequency. Without that on M0
cpufreq sets frequencies reserved for odroid, which is dangerous.

Change-Id: I70b19453d5853b6c0139f2c59c98dd5ad65da01e
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
9 years agoenable Hauppauge HD-PVR driver
Mauro Carvalho Chehab [Fri, 18 Jul 2014 12:21:20 +0000 (09:21 -0300)]
enable Hauppauge HD-PVR driver

Enable CONFIG_VIDEO_HDPVR, in order to allow using hd-pvr
driver.

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
9 years agos5p-mfc: fix handling for MPEG2 decoding with IOMMU
Seung-Woo Kim [Fri, 18 Jul 2014 08:40:12 +0000 (17:40 +0900)]
s5p-mfc: fix handling for MPEG2 decoding with IOMMU

The command S5P_FIMV_H2R_MPEG2_PADDING causes unrecoveralble
error 0x47, ALLOC_DPB_SIZE_NOT_SUFFICIENT for MPEG2 decoding.

Change-Id: Ia691ebec9b76cb6491223372bf835e1da6aaa707
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
9 years agoarm: tizen_odroid_defconfig: enable pwm-fan driver
Marek Szyprowski [Fri, 18 Jul 2014 08:39:42 +0000 (10:39 +0200)]
arm: tizen_odroid_defconfig: enable pwm-fan driver

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I67bb3df2f61d44a83ac96f57fc64cd1378f90cc9

9 years agomedia: s5p_mfc: Check the right pointer after allocation
Zhaowei Yuan [Thu, 17 Jul 2014 12:01:37 +0000 (20:01 +0800)]
media: s5p_mfc: Check the right pointer after allocation

It should be bank2_virt to be checked after dma allocation
instead of dev->fw_virt_addr.

Change-Id: I03ed5603de3ef1d97bf76d7d42097d9489b6b003
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
9 years agohwmon: pwm-fan: fix build error
Joonyoung Shim [Fri, 18 Jul 2014 04:53:07 +0000 (13:53 +0900)]
hwmon: pwm-fan: fix build error

This fixes below build error.

  CC      drivers/hwmon/pwm-fan.o
drivers/hwmon/pwm-fan.c: In function ‘pwm_fan_remove’:
drivers/hwmon/pwm-fan.c:155:20: error: ‘struct pwm_fan_ctx’ has no member named ‘mutex’
  mutex_destroy(&ctx->mutex);
                    ^
make[2]: *** [drivers/hwmon/pwm-fan.o] Error 1

Change-Id: I442ba2698869d1573662c237e67e53c2e3d6a276
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agodts: Enable pwm in Exynos4412-odroidu3 and add pwm-fan
Kamil Debski [Tue, 8 Jul 2014 14:29:24 +0000 (16:29 +0200)]
dts: Enable pwm in Exynos4412-odroidu3 and add pwm-fan

Change-Id: I0be42c17a75eb814010ebabe1d0377566f89fade
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agohwmon: pwm-fan: Add pwm-fan driver
Kamil Debski [Tue, 8 Jul 2014 14:30:17 +0000 (16:30 +0200)]
hwmon: pwm-fan: Add pwm-fan driver

The pwm-fan driver enables control of fans connected to PWM lines.
This driver uses the PWM framework, so it is compatible with all
PWM devices that provide drivers through the PWM framework.

Change-Id: I1e364f8af7c5855adda78e7db34a073b419f8c89
Signed-off-by: Kamil Debski <k.debski@samsung.com>
9 years agoodroid: disable dmabuf-sync
Chanho Park [Thu, 17 Jul 2014 12:59:36 +0000 (21:59 +0900)]
odroid: disable dmabuf-sync

Until we fix the dmabuf-sync correctly, disable dmabuf-sync.

Change-Id: Ib7952354fe9c6f8408a5cfccc7412c2df212336f
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
9 years agomedia: s5p_mfc: remove unnecessary calling to function video_devdata()
Zhaowei Yuan [Wed, 16 Jul 2014 02:40:58 +0000 (10:40 +0800)]
media: s5p_mfc: remove unnecessary calling to function video_devdata()

Since we have get vdev by calling video_devdata() at the beginning of
s5p_mfc_open(), we should just use vdev instead of calling video_devdata()
again in the following code.

Change-Id: I869051762d33b50a7c0dbc8149b072e70b89c6b9
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
9 years agoarm: tizen_odroid_defconfig: enable MAX77686 RTC driver
Marek Szyprowski [Thu, 17 Jul 2014 05:42:04 +0000 (07:42 +0200)]
arm: tizen_odroid_defconfig: enable MAX77686 RTC driver

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I67bb3df2f61d44a83ac96f57fc64cd1378f90cc6

9 years agoARM: dts: ODROID i2c improvements
Daniel Drake [Wed, 16 Jul 2014 08:50:06 +0000 (09:50 +0100)]
ARM: dts: ODROID i2c improvements

Increase max i2c bus frequency beyond the default for faster
data transfers. According to the manual, these faster speeds are
only available when the board is wired up the right way. In this case,
the vendor kernel has run at this speed for a long time.

sda-delay is needed for talking to RTC on PMIC, otherwise the i2c
controller never sees an ACK. Strangely the other PMIC i2c slave (the
main one) works fine even without this delay. I Chose value 100 to
match the vendor kernel.

Signed-off-by: Daniel Drake <drake@endlessm.com>
Change-Id: I67bb3df2f61d44a83ac96f57fc64cd1378f90cc5
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agoARM: dts: Enable PMIC interrupts on ODROID
Daniel Drake [Wed, 16 Jul 2014 08:50:05 +0000 (09:50 +0100)]
ARM: dts: Enable PMIC interrupts on ODROID

The ODROID kernel shows that the PMIC interrupt line is hooked up
to pin GPX3-2.

This is needed for the max77686-irq driver to create the PMIC IRQ
domain, which is needed by max77686-rtc.

Signed-off-by: Daniel Drake <drake@endlessm.com>
Change-Id: I67bb3df2f61d44a83ac96f57fc64cd1378f90cc4
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
9 years agoASoC: odroidx2_max98090: Rectify module device table name
Huang Chao [Tue, 15 Jul 2014 10:07:58 +0000 (18:07 +0800)]
ASoC: odroidx2_max98090: Rectify module device table name

The module device table name should match the OF device id.

Change-Id: I2594ab705c9a6a5e86357692cb61c62679a252ed
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
9 years agoASoC: odroidx2_max98090: Move clock settings from ops to late_probe
Chen Zhen [Mon, 7 Jul 2014 02:50:01 +0000 (10:50 +0800)]
ASoC: odroidx2_max98090: Move clock settings from ops to late_probe

after move the clock operations to late_probe,the configuration of
clock would be done only once and the ops can be removed altogether.

Change-Id: I96b9ffc1374c9404d401728796c8abdfe70f020a
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
9 years agoASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/startup}
Sylwester Nawrocki [Thu, 10 Jul 2014 16:11:13 +0000 (18:11 +0200)]
ASoC: samsung-i2s: Maintain CDCLK settings across i2s_{shutdown/startup}

Currently configuration of the CDCLK pad is being overwritten in
the i2s_shutdown() callback in order to gate the SoC output clock.
However if an ASoC machine driver doesn't restore that clock
settings each time after opening the sound device this results
in the CDCLK pin being permanently configured into input mode.
I.e. the output clock will always stay disabled.
Fix that by saving the CDCLKCON bit state in i2s_shutdown() and
and restoring it in the i2s_startup() callback.

Change-Id: Id8852022e385674b07ed79415198aff6814733d8
Signed-off-by: Chen Zhen <zhen1.chen@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
9 years agousbnet: smsc95xx: add reset_resume function with reset operation
Joonyoung Shim [Tue, 8 Jul 2014 08:03:15 +0000 (17:03 +0900)]
usbnet: smsc95xx: add reset_resume function with reset operation

The smsc95xx needs to resume with reset operation. Otherwise it causes
system hang by network error like below after resume. This case appears
on odroid u3 board.

[    9.727600] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[    9.727648] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[    9.727689] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[    9.727728] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[    9.729486] PM: resume of devices complete after 2011.219 msecs
[   10.117609] Restarting tasks ... done.
[   11.725099] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[   13.480846] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
[   13.481361] smsc95xx 1-2:1.0 eth0: kevent 2 may have been dropped
...

Change-Id: I47bd52d7168ab7ec362d2de7c05d6817f2f14f9f
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agousb: s3c-hsotg: break infinite loop in endpoint disable code
Marek Szyprowski [Thu, 29 May 2014 11:29:31 +0000 (13:29 +0200)]
usb: s3c-hsotg: break infinite loop in endpoint disable code

This patch fixes possible freeze caused by infinite loop in interrupt
context.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ie70ffda63d3608e5e73d87b41d0966d225cc2879

9 years agoarm: tizen_odroid_defconfig: enable LED heartbeat
Marek Szyprowski [Fri, 11 Jul 2014 12:19:45 +0000 (14:19 +0200)]
arm: tizen_odroid_defconfig: enable LED heartbeat

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iefb3e75d763693a29f85e5413675dbbfd2c51eb7

9 years agoUSB: add reset resume quirk for usb3503
Joonyoung Shim [Thu, 10 Jul 2014 05:22:35 +0000 (14:22 +0900)]
USB: add reset resume quirk for usb3503

The usb device will autoresume from choose_wakeup() if it is
autosuspended with the wrong wakeup setting, but below errors occur
because usb3503 misc driver will switch to standby mode when suspended.

As add USB_QUIRK_RESET_RESUME, it can stop setting wrong wakeup from
autosuspend_check().

[    7.734717] usb 1-3: reset high-speed USB device number 3 using exynos-ehci
[    7.854658] usb 1-3: device descriptor read/64, error -71
[    8.079657] usb 1-3: device descriptor read/64, error -71
[    8.294664] usb 1-3: reset high-speed USB device number 3 using exynos-ehci
[    8.414658] usb 1-3: device descriptor read/64, error -71
[    8.639657] usb 1-3: device descriptor read/64, error -71
[    8.854667] usb 1-3: reset high-speed USB device number 3 using exynos-ehci
[    9.264598] usb 1-3: device not accepting address 3, error -71
[    9.374655] usb 1-3: reset high-speed USB device number 3 using exynos-ehci
[    9.784601] usb 1-3: device not accepting address 3, error -71
[    9.784838] usb usb1-port3: device 1-3 not suspended yet

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If3af8c52956ad48096af85e34185af52bcaa9a45

9 years agousb: usb3503: add PM functions
Joonyoung Shim [Thu, 10 Jul 2014 05:22:34 +0000 (14:22 +0900)]
usb: usb3503: add PM functions

The usb3503 needs to switch to standby mode while suspending and should
switch to hub mode when resumed. Also we can control clock on PM
function.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Iaba4a22e52bc3be58c099107dcddc390f57d3e88

9 years agoARM: dts: exynos4412-odroid*: fix properties for usb3503 chip
Marek Szyprowski [Fri, 11 Jul 2014 11:28:43 +0000 (13:28 +0200)]
ARM: dts: exynos4412-odroid*: fix properties for usb3503 chip

After updating usb3503 chip driver to match mainline, a new
refclk-frequency property is required. This patch adds it.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ifad5683eb46c1b9b0123c8977760c958a5658aed

9 years agousb: misc: usb3503: Update error code in print message
Tushar Behera [Tue, 17 Jun 2014 11:08:50 +0000 (16:38 +0530)]
usb: misc: usb3503: Update error code in print message

'err' is uninitialized, rather print the error code directly.

This also fixes following warning.
drivers/usb/misc/usb3503.c: In function ‘usb3503_probe’:
drivers/usb/misc/usb3503.c:195:11: warning: ‘err’ may be used uninitialized
in this function [-Wmaybe-uninitialized]
    dev_err(dev, "unable to request refclk (%d)\n", err);

Signed-off-by: Tushar Behera <tushar.b@samsung.com>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[merged to mainline as commit ec5734c41bee2ee7c938a8f34853d31cada7e67a]

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I2dc568d12518cdadd1467fb8fb90fbcfb184495e

9 years agousb: usb5303: add support for reference clock specified in device tree
Marek Szyprowski [Thu, 22 May 2014 11:21:38 +0000 (13:21 +0200)]
usb: usb5303: add support for reference clock specified in device tree

USB3503 chip supports 8 values of reference clock. The value is
specified by REF_SEL[1:0] pins and INT_N line. This patch add support
for getting 'refclk' clock, enabling it and setting INT_N line according
to the value of the gathered clock. If no clock has been specified,
driver defaults to the old behaviour (assuming that clock has been
specified by REF_SEL pins from primary reference clock frequencies
table).

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[merged to mainline as commit 657d898a9320a7cdb9b94565d75ecf75c25cbf0a]
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: If36e36c671bb2ebc87ad39bfba5e30947e486c4a

9 years agoRevert "usb: usb5303: add support for reference clock specified in device tree"
Marek Szyprowski [Fri, 11 Jul 2014 11:21:22 +0000 (13:21 +0200)]
Revert "usb: usb5303: add support for reference clock specified in device tree"

This reverts commit 36de3d9a1a856a88f3c7f98d4a3a2ec0fd2cd407.

This patch will be replaced with the version merged to mainline kernel.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I70bab95f5c3cebd730b3dfe122c9567502717c3a

9 years agoARM: dts: exynos4412-odroid*: fix sleep state for eMMC_nDET pin
Marek Szyprowski [Fri, 11 Jul 2014 11:17:33 +0000 (13:17 +0200)]
ARM: dts: exynos4412-odroid*: fix sleep state for eMMC_nDET pin

During system sleep, eMMC must be put into reset state with eMMC_nDET line.
This patch adds proper configuration for eMMC_nDET pin in sleep state, so
now board finally correctly operates after suspend/resume cycle.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: Ied067cceb5fece61f1e5f9cab74c248878f9185c