platform/kernel/linux-3.10.git
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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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

10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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

10 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>
10 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>
10 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>
10 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>
10 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>
10 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>
10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 years agoARM: dts: exynos4412-odroid*: fix T-FLASH hotplug detection
Marek Szyprowski [Fri, 11 Jul 2014 07:11:43 +0000 (09:11 +0200)]
ARM: dts: exynos4412-odroid*: fix T-FLASH hotplug detection

TFLASH (SDHCI2 controller) uses internal card detect line, but it looks
that the driver fails to operate it properly. As a workaround use GPIO
interrupt on SD_CDn line for detecting SD card state.

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

10 years agoASoC: odroidx2_max98090: dapm: Add pin switch control
Huang Chao [Tue, 8 Jul 2014 08:56:42 +0000 (16:56 +0800)]
ASoC: odroidx2_max98090: dapm: Add pin switch control

This patch enables to control pins information switch
by virtual mixer.

Change-Id: I02a3546d8aaf69a05e50e71c42b2e9daa03e203c
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agodrm/exynos: use a new anon file for exynos gem mmaper
Inki Dae [Fri, 11 Jul 2014 06:15:55 +0000 (15:15 +0900)]
drm/exynos: use a new anon file for exynos gem mmaper

This patch resolves potential deadlock issue that can be incurred
by changing file->f_op and filp->private_data to exynos specific
mapper ops and gem object temporarily.

To resolve this issue, this patch creates a new anon file dedicated
to exynos specific mmaper, and making it used instead of existing one.

Change-Id: I7e49302561385f4a2ce4e06980c25481d0d2e91c
Signed-off-by: Inki Dae <inki.dae@samsung.com>
10 years agoARM: dts: exyno4412-odroid*: correct memory size
Marek Szyprowski [Wed, 9 Jul 2014 08:18:11 +0000 (10:18 +0200)]
ARM: dts: exyno4412-odroid*: correct memory size

Last megabyte of RAM is used by secure firmware and should not be accessed
by Linux kernel, so correct available memory size in DTS files.

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

10 years agoASoC: samsung: dma: Remove the unnecessary dma chan pointer check
Huang Chao [Sat, 5 Jul 2014 05:25:12 +0000 (13:25 +0800)]
ASoC: samsung: dma: Remove the unnecessary dma chan pointer check

After DMA request slave channel failed and return NULL in dma_open,
the snd_dmaengine_pcm_open function will check and handle it.
Besides, there is no need to call kfree with NULL argument when a
dma_request_slave_channel call fails.

Change-Id: I02629dd74b9c535bb134f5516bf3c03a239bd241
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agoASoC: samsung: i2s: Add missing newlines in error messsages
Huang Chao [Sat, 5 Jul 2014 01:34:19 +0000 (09:34 +0800)]
ASoC: samsung: i2s: Add missing newlines in error messsages

This is trivial, but generally speaking, linefeed should be
the last character of error messages.

Change-Id: I49e595989942d8862f25b6348979ddee6645ea51
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agoASoC: samsung: Correct I2S DAI suspend/resume ops
Sylwester Nawrocki [Fri, 4 Jul 2014 13:45:58 +0000 (15:45 +0200)]
ASoC: samsung: Correct I2S DAI suspend/resume ops

We should save/restore relevant I2S registers regardless of
the dai->active flag, otherwise some settings are being lost
after system suspend/resume cycle. E.g. I2S slave mode set only
during dai initialization is not preserved and the device ends
up in master mode after system resume.

Change-Id: Id5b5783cbcd8ce251a1c5efb2a68f5716e4cf81a
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoASoC: samsung: Add missing pm ops assignment for odroidx2_max98090
Sylwester Nawrocki [Fri, 4 Jul 2014 13:56:02 +0000 (15:56 +0200)]
ASoC: samsung: Add missing pm ops assignment for odroidx2_max98090

Assign pm ops to this driver so sound keeps working after system
suspend/resume cycle.

Change-Id: I3ec57d082be5362386947a069dd1904b91c56934
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoclk: samsung: Add suspend/resume pm ops for audss clk controller
Sylwester Nawrocki [Wed, 2 Jul 2014 13:40:58 +0000 (15:40 +0200)]
clk: samsung: Add suspend/resume pm ops for audss clk controller

Ensure the Exynos audio subsystem clock controller registers are
preserved across suspend/resume.

Change-Id: I57f4dcbbc9d02f7dfa2cd68508a9cefba010b9e5
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
10 years agoASoC: samsung: i2s: Add DT interrupts property description
Huang Chao [Wed, 9 Jul 2014 03:26:10 +0000 (11:26 +0800)]
ASoC: samsung: i2s: Add DT interrupts property description

When the interrupts node is introduced in DT, we need to
describe the property and give usage example.

Change-Id: I2ac28a9e37e0a0fecf7f5712fd45ae36929e3c43
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agoASoC: samsung: i2s: Correct documentation colon formats
Huang Chao [Wed, 9 Jul 2014 04:34:32 +0000 (12:34 +0800)]
ASoC: samsung: i2s: Correct documentation colon formats

The colons should be used as the same format, without a
space before it.

Change-Id: I44ebcba9c8b36fb492a056ac053720afdd732aa1
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
10 years agoARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator
Kamil Debski [Wed, 25 Jun 2014 12:56:07 +0000 (14:56 +0200)]
ARM: dts: exynos4412-odroid-common: disable 'always on' for BUCK8 regulator

On Odroid U2/U3 BUCK8 is used for providing power to also to P3V3
source, which is also connected to LAN9730 chip's nRESET signal. To
reset lan chip on system reboot, the BUCK8 output should not be used in
'always on' mode. This change has no impact on X/X2 boards.

Signed-off-by: Kamil Debski <k.debski@samsung.com>
Change-Id: I27f942711c53ae9abf5a71034388d1f0081aa359
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
10 years agoupstream: [media] dib8000: improve the message that reports per-layer locks
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:40 +0000 (14:15 -0300)]
upstream: [media] dib8000: improve the message that reports per-layer locks

The message is currently highly encoded:
[70299.863521] DiB8000: Mpeg locks [ L0 : 0 | L1 : 1 | L2 : 0 ]

And doesn't properly reflect that some problems might have happened.
Instead, display it as:
[75160.822321] DiB8000: Not all ISDB-T layers locked in 32 ms: Layer A NOT LOCKED, Layer B locked, Layer C not enabled

In order to better reflect what's happening with layer locking.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=3c0d394ea702
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: improve debug messages
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:39 +0000 (14:15 -0300)]
upstream: [media] dib8000: improve debug messages

When debug is enabled:
- Report when frontend gets restarted;
- Be coherent on the displayed lines;
- Show the transmission mode;
- Hide unused layers.

No functional changes (except at the printk's).

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=ecc31d557e0b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Update the ADC gain table
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:38 +0000 (14:15 -0300)]
upstream: [media] dib8000: Update the ADC gain table

This table doesn't match the new one.
Update it.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=a768f90ef0a2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: use jifies instead of current_kernel_time()
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:37 +0000 (14:15 -0300)]
upstream: [media] dib8000: use jifies instead of current_kernel_time()

Instead of doing the tuning delays and timeouts using
current_kernel_time(), use jiffies. That consumes less
CPU cycles, and it is monotonic.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=d6c62b7638d2
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib0090: Fix the sleep time at the state machine
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:36 +0000 (14:15 -0300)]
upstream: [media] dib0090: Fix the sleep time at the state machine

msleep() is not too precise: its precision depends on the
HZ config. As the driver selects precise timings for the
state machine, change it to usleep_range().

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=0de04ca1dc0b
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Fix the sleep time at the state machine
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:35 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix the sleep time at the state machine

msleep() is not too precise: its precision depends on the
HZ config. As the driver selects precise timings for the
state machine, change it to usleep_range().

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=4607bb7a4724
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib0700: better document struct init
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:34 +0000 (14:15 -0300)]
upstream: [media] dib0700: better document struct init

Instead of using anonymous initialization for dib0896 structs,
identify each field by name. That helps to understand what's
being initialized.

No functional changes.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=40d1a7c3ded0
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Restart sad during dib8000_reset
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:33 +0000 (14:15 -0300)]
upstream: [media] dib8000: Restart sad during dib8000_reset

Just like the Windows driver, restart SAD during reset

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=6d38454a59a0
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: In auto-search, try first with partial reception enabled
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:32 +0000 (14:15 -0300)]
upstream: [media] dib8000: In auto-search, try first with partial reception enabled

TV broadcasters generally use partial reception. So, enable it by
default in auto-search mode. The driver will latter detect if the
transmission is on some other mode.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=dde8e115365c
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: remove a double call for dib8000_get_symbol_duration()
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:31 +0000 (14:15 -0300)]
upstream: [media] dib8000: remove a double call for dib8000_get_symbol_duration()

The symbol duration was already obtained at CT_DEMOD_START.
No need to do it again at CT_DEMOD_STEP_3.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=08623517f4fd
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Fix: add missing 4K FFT mode
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:30 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix: add missing 4K FFT mode

Without that, tuning may fail on 4K FFT mode, as the transmission
parameter cache will be initialized with a wrong value.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=7fec1c80a78e
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Fix alignments at dib8000_tune()
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:29 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix alignments at dib8000_tune()

There are two tabs instead of one aligning this struct.
Worse than that, on some places, the alignment is wrong.
Fix it.

No functional changes.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=7fa676c6f4d7
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Fix ADC OFF settings
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:28 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix ADC OFF settings

The ADC OFF values are wrong. This causes troubles on detecting
weak signals.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=c063c7c6a355
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
10 years agoupstream: [media] dib8000: Fix handling of interleave bigger than 2
Mauro Carvalho Chehab [Fri, 4 Jul 2014 17:15:27 +0000 (14:15 -0300)]
upstream: [media] dib8000: Fix handling of interleave bigger than 2

If interleave is bigger than 2, the code will set it to 0, as
dib8000 registers use a log2(). So, change the code to handle
it accordingly.

Acked-By: Patrick Boettcher <pboettcher@kernellabs.com>
Backports http://git.linuxtv.org/cgit.cgi/media_tree.git/commit/?id=34ba2e65bab3
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>