platform/kernel/linux-exynos.git
7 years agosched: fix arch_get_fast_and_slow_cpus to get logical cpumask correctly
Sudeep KarkadaNagesha [Thu, 29 Jan 2015 09:08:20 +0000 (18:08 +0900)]
sched: fix arch_get_fast_and_slow_cpus to get logical cpumask correctly

The patch "sched: Use device-tree to provide fast/slow CPU list for HMP"
depends on the ordering of CPU's in the device tree. It breaks to determine
the logical mask correctly if the logical mask of the CPUs differ from
physical ordering in the device tree.

This patch fix the logic by depending on the mpidr in the device tree
and mapping that mpidr to the logical cpu.

Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Only down migrate low priority tasks if allowed by affinity mask
Morten Rasmussen [Thu, 29 Jan 2015 09:05:30 +0000 (18:05 +0900)]
sched: Only down migrate low priority tasks if allowed by affinity mask

Adds an extra check intersection of the task affinity mask and the slower
hmp_domain cpumask before down migrating low priority tasks.

Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoARM: sched: Avoid empty 'slow' HMP domain
Jon Medhurst [Thu, 29 Jan 2015 09:01:06 +0000 (18:01 +0900)]
ARM: sched: Avoid empty 'slow' HMP domain

On homogeneous (non-heterogeneous) systems all CPUs will be declared
'fast' and the slow cpu list will be empty. In this situation we need to
avoid adding an empty slow HMP domain otherwise the scheduler code will
blow up when it attempts to move a task to the slow domain.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Enable HMP priority filter by default
Morten Rasmussen [Thu, 29 Jan 2015 08:53:50 +0000 (17:53 +0900)]
sched: Enable HMP priority filter by default

This updates the ARM Kconfig to enable the HMP priority filter by default.

Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: SCHED_HMP multi-domain task migration control
Morten Rasmussen [Mon, 23 Feb 2015 06:16:54 +0000 (15:16 +0900)]
sched: SCHED_HMP multi-domain task migration control

We need a way to prevent tasks that are migrating up and down the
hmp_domains from migrating straight on through before the load has
adapted to the new compute capacity of the CPU on the new hmp_domain.
This patch adds a next up/down migration delay that prevents the task
from doing another migration in the same direction until the delay
has expired.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Add HMP task migration ftrace event
Morten Rasmussen [Thu, 29 Jan 2015 08:37:48 +0000 (17:37 +0900)]
sched: Add HMP task migration ftrace event

Adds ftrace event for tracing task migrations using HMP
optimized scheduling.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Add ftrace events for entity load-tracking
Morten Rasmussen [Thu, 29 Jan 2015 08:32:52 +0000 (17:32 +0900)]
sched: Add ftrace events for entity load-tracking

Adds ftrace events for key variables related to the entity
load-tracking to help debugging scheduler behaviour. Allows tracing
of load contribution and runqueue residency ratio for both entities
and runqueues as well as entity CPU usage ratio.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoARM: sched: Setup SCHED_HMP domains
Morten Rasmussen [Thu, 29 Jan 2015 08:21:04 +0000 (17:21 +0900)]
ARM: sched: Setup SCHED_HMP domains

SCHED_HMP requires the different cpu types to be represented by an
ordered list of hmp_domains. Each hmp_domain represents all cpus of
a particular type using a cpumask.

The list is platform specific and therefore must be generated by
platform code by implementing arch_get_hmp_domains().

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoLOCAL / ARM: sched: Add Cortex-A53 compatible as LITTLE core
Chanwoo Choi [Fri, 30 Jan 2015 02:42:27 +0000 (11:42 +0900)]
LOCAL / ARM: sched: Add Cortex-A53 compatible as LITTLE core

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoARM: sched: Use device-tree to provide fast/slow CPU list for HMP
Morten Rasmussen [Thu, 29 Jan 2015 08:14:12 +0000 (17:14 +0900)]
ARM: sched: Use device-tree to provide fast/slow CPU list for HMP

We can't rely on Kconfig options to set the fast and slow CPU lists for
HMP scheduling if we want a single kernel binary to support multiple
devices with different CPU topology. E.g. TC2 (ARM's Test-Chip-2
big.LITTLE system), Fast Models, or even non big.LITTLE
devices.

This patch adds the function arch_get_fast_and_slow_cpus() to generate
the lists at run-time by parsing the CPU nodes in device-tree; it
assumes slow cores are A7s and everything else is fast. The function
still supports the old Kconfig options as this is useful for testing the
HMP scheduler on devices without big.LITTLE.

This patch is reuse of a patch by Jon Medhurst <tixy@linaro.org> with a
few bits left out.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoARM: Add HMP scheduling support for ARM architecture
Morten Rasmussen [Thu, 29 Jan 2015 08:07:28 +0000 (17:07 +0900)]
ARM: Add HMP scheduling support for ARM architecture

Adds Kconfig entries to enable HMP scheduling on ARM platforms.
Currently, it disables CPU level sched_domain load-balacing in order
to simplify things. This needs fixing in a later revision. HMP
scheduling will do the load-balancing at this level instead.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Introduce priority-based task migration filter
Morten Rasmussen [Thu, 29 Jan 2015 07:59:01 +0000 (16:59 +0900)]
sched: Introduce priority-based task migration filter

Introduces a priority threshold which prevents low priority task
from migrating to faster hmp_domains (cpus). This is useful for
user-space software which assigns lower task priority to background
task.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoLOCAL / sched: Use {detach|attach}_task becuase of the absence of move_task()
Chanwoo Choi [Wed, 4 Feb 2015 07:26:19 +0000 (16:26 +0900)]
LOCAL / sched: Use {detach|attach}_task becuase of the absence of move_task()

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Forced task migration on heterogeneous systems
Morten Rasmussen [Thu, 29 Jan 2015 07:55:00 +0000 (16:55 +0900)]
sched: Forced task migration on heterogeneous systems

This patch introduces forced task migration for moving suitable
currently running tasks between hmp_domains. Task behaviour is likely
to change over time. Tasks running in a less capable hmp_domain may
change to become more demanding and should therefore be migrated up.
They are unlikely go through the select_task_rq_fair() path anytime
soon and therefore need special attention.

This patch introduces a period check (SCHED_TICK) of the currently
running task on all runqueues and sets up a forced migration using
stop_machine_no_wait() if the task needs to be migrated.

Ideally, this should not be implemented by polling all runqueues.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: Task placement for heterogeneous systems based on task load-tracking
Morten Rasmussen [Thu, 29 Jan 2015 07:18:12 +0000 (16:18 +0900)]
sched: Task placement for heterogeneous systems based on task load-tracking

This patch introduces the basic SCHED_HMP infrastructure. Each class of
cpus is represented by a hmp_domain and tasks will only be moved between
these domains when their load profiles suggest it is beneficial.

SCHED_HMP relies heavily on the task load-tracking introduced in Paul
Turners fair group scheduling patch set:

<https://lkml.org/lkml/2012/8/23/267>

SCHED_HMP requires that the platform implements arch_get_hmp_domains()
which should set up the platform specific list of hmp_domains. It is
also assumed that the platform disables SD_LOAD_BALANCE for the
appropriate sched_domains.
Tasks placement takes place every time a task is to be inserted into
a runqueue based on its load history. The task placement decision is
based on load thresholds.

There are no restrictions on the number of hmp_domains, however,
multiple (>2) has not been tested and the up/down migration policy is
rather simple.

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: entity load-tracking load_avg_ratio
Morten Rasmussen [Thu, 29 Jan 2015 07:05:42 +0000 (16:05 +0900)]
sched: entity load-tracking load_avg_ratio

This patch adds load_avg_ratio to each task. The load_avg_ratio is a
variant of load_avg_contrib which is not scaled by the task priority. It
is calculated like this:

runnable_avg_sum * NICE_0_LOAD / (runnable_avg_period + 1).

Signed-off-by: Morten Rasmussen <Morten.Rasmussen@arm.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agosched: implement usage tracking
Paul Turner [Thu, 29 Jan 2015 06:58:30 +0000 (15:58 +0900)]
sched: implement usage tracking

With the frame-work for runnable tracking now fully in place.  Per-entity usage
tracking is a simple and low-overhead addition.

Signed-off-by: Paul Turner <pjt@google.com>
Reviewed-by: Ben Segall <bsegall@google.com>
[k.kozlowski: rebased on 4.1, no signed-off-by of previous committer]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agotty: serial: samsung: set flags for use autoCTS mode
Beomho Seo [Wed, 4 Mar 2015 06:34:47 +0000 (15:34 +0900)]
tty: serial: samsung: set flags for use autoCTS mode

This patch have dependency below,
391f93f serial: core: Rework hw-assited flow control support
Acordding to avobe patch serial drivers which enable H/W autoCTS mode must set
UPSTAT_AUTOCTS to prevent the serial core from inadvertently disabling tx.
So, This patch add set/reset UPSTAT_AUTOCTS flag.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / ASoC: samsung: enable LPASS uart interrupt
Beomho Seo [Thu, 26 Feb 2015 08:54:50 +0000 (17:54 +0900)]
LOCAL / ASoC: samsung: enable LPASS uart interrupt

This patch enable LPASS uart interrupt for use bluetooth.
Bluetooth system use aud-uart.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / net: rfkill: add rfkill-bcm driver
Beomho Seo [Thu, 26 Feb 2015 08:08:59 +0000 (17:08 +0900)]
LOCAL / net: rfkill: add rfkill-bcm driver

This patch add rfkill-bcm driver for specific control Broadcom bluetooth
chip. This is based rfkill-gpio driver. This driver control on/off
Broadcom bluetooth chip, handle interrupt and notify.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / bluetooth: add hci event notification
Beomho Seo [Mon, 23 Feb 2015 08:00:31 +0000 (17:00 +0900)]
LOCAL / bluetooth: add hci event notification

For specific hci events, operations are needed. So this patch adds
event notification and its notifier registration.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / serial: samsung: fix maximum baudrate
Seung-Woo Kim [Thu, 15 May 2014 03:35:50 +0000 (12:35 +0900)]
LOCAL / serial: samsung: fix maximum baudrate

To support hs uart, maximum baudrate is fixed to 3Mbps.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agoleds: add support for MAX77843 led control driver
Jaewon Kim [Fri, 6 Feb 2015 01:25:44 +0000 (10:25 +0900)]
leds: add support for MAX77843 led control driver

This patch adds MAX77843 led driver.
Maxim Max77843 has 4-channel led controller on
MAX77843 MFD(Multi Function Device).

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agomfd: max77843: Add led of_compatible in mfd_cell
Jaewon Kim [Fri, 6 Feb 2015 01:23:46 +0000 (10:23 +0900)]
mfd: max77843: Add led of_compatible in mfd_cell

This patch add of_compatible for led driver using device tree.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / sensors: add max86902 HRM and UV sensor driver
Jaewon Kim [Mon, 9 Mar 2015 08:21:23 +0000 (17:21 +0900)]
LOCAL / sensors: add max86902 HRM and UV sensor driver

This patch adds max86902 HRM(Heart Rate Monitor) and
UV(Ultraviolet Ray) sensor driver.
This driver supports via sensors core driver.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / sensors: add sensor_core driver
Jaewon Kim [Wed, 11 Mar 2015 02:46:19 +0000 (11:46 +0900)]
LOCAL / sensors: add sensor_core driver

This patch adds to support "/sys/class/sensors" node.
sensors node shared with sensorhub driver and
each sensor for TIZEN platform. So, sensorhub driver merged with
this sensors driver.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / misc: add support for ice4_irda driver to use IrDA control
Jaewon Kim [Tue, 24 Feb 2015 05:41:15 +0000 (14:41 +0900)]
LOCAL / misc: add support for ice4_irda driver to use IrDA control

This patch add ice4_irda driver to control IrDA(Infrared Data Association)
FPGA(Field Programmable Gate Array) controller.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / sec_sysfs: sec_class driver
Jaewon Kim [Tue, 24 Feb 2015 05:06:12 +0000 (14:06 +0900)]
LOCAL / sec_sysfs: sec_class driver

sec_sysfs driver create sysfs node and device in "/dev/class/sec/".
It is used for TIZEN platform specific drivers.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / ARM: dts: Add sensorhub/IrDA dt node for rinato board
Jaewon Kim [Tue, 24 Feb 2015 06:52:21 +0000 (15:52 +0900)]
LOCAL / ARM: dts: Add sensorhub/IrDA dt node for rinato board

This patch Adds sensorhub dt node using
SPI(Serial Peripheral Interface) to communicate with MCU.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / sensorhub: Add sensorhub drvier for rinato board
Jaewon Kim [Tue, 24 Feb 2015 04:54:15 +0000 (13:54 +0900)]
LOCAL / sensorhub: Add sensorhub drvier for rinato board

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

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agotemporary / remove dsi phy related code
Hyungwon Hwang [Thu, 12 Mar 2015 14:30:30 +0000 (23:30 +0900)]
temporary / remove dsi phy related code

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / arm: configs: rename the config name of decon5433
Hyungwon Hwang [Wed, 18 Mar 2015 06:06:12 +0000 (15:06 +0900)]
local / arm: configs: rename the config name of decon5433

This patch renames the config name of decon5433.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoarm64: dts: add syscon_disp node and make MIC to use it
Hyungwon Hwang [Thu, 26 Mar 2015 07:03:50 +0000 (16:03 +0900)]
arm64: dts: add syscon_disp node and make MIC to use it

This patch adds syscon_disp node and adds "samsung,disp-syscon" property
to MIC node, so MIC can refer syscon through it.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoarm: dts: exynos: rename pll_clk for dsi to sclk_mipi
Hyungwon Hwang [Thu, 26 Mar 2015 09:44:20 +0000 (18:44 +0900)]
arm: dts: exynos: rename pll_clk for dsi to sclk_mipi

The clock sclk_mipi is not the pll clock for dsi.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: do not set TE GPIO direction by input
Hyungwon Hwang [Tue, 20 Jan 2015 15:20:07 +0000 (00:20 +0900)]
drm/exynos: dsi: do not set TE GPIO direction by input

On some board, TE GPIO should be configured properly thoughout pinctrl driver
as an wakeup interrupt. So this gpio should be configurable in the board's DT,
not being requested as a input pin.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: add support for MIC driver as a bridge
Hyungwon Hwang [Tue, 27 Jan 2015 08:59:45 +0000 (17:59 +0900)]
drm/exynos: dsi: add support for MIC driver as a bridge

MIC must be initilized by MIPI DSI when it is being bound.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: add support for Exynos5433
Hyungwon Hwang [Thu, 26 Mar 2015 09:18:25 +0000 (18:18 +0900)]
drm/exynos: dsi: add support for Exynos5433

This patch adds support for Exynos5433 mipi dsi.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: generalize register setting and clock control
Hyungwon Hwang [Thu, 26 Mar 2015 07:38:00 +0000 (16:38 +0900)]
drm/exynos: dsi: generalize register setting and clock control

This patch makes the driver use arrays for clocks, register address,
and values. By doing this, it becomes easier to add support for another
SoC.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: dsi: rename pll_clk to sclk_clk
Hyungwon Hwang [Thu, 26 Mar 2015 09:55:28 +0000 (18:55 +0900)]
drm/exynos: dsi: rename pll_clk to sclk_clk

This patch renames pll_clk to sclk_clk. The clock referenced by pll_clk
is actually not the pll input clock for dsi. The pll input clock comes
from the board's oscillator directly.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agodrm/exynos: mic: add MIC driver
Hyungwon Hwang [Tue, 27 Jan 2015 08:59:45 +0000 (17:59 +0900)]
drm/exynos: mic: add MIC driver

MIC(Mobile image compressor) is newly added IP in Exynos5433. MIC
resides between decon and mipi dsim, and compresses frame data by 50%.
With dsi, not display port, to send frame data to the panel, the
bandwidth is not enough. That is why this compressor is introduced.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoof: add helper for getting endpoint node of specific identifiers
Hyungwon Hwang [Mon, 16 Feb 2015 10:24:29 +0000 (19:24 +0900)]
of: add helper for getting endpoint node of specific identifiers

When there are multiple ports or multiple endpoints in a port, they have to be
distinguished by the value of reg property. It is common. The drivers can get
the specific endpoint in the specific port via this function. Now the drivers
have to implement this code in themselves or have to force the order of dt nodes
to get the right node.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Acked-by: Rob Herring <robh+dt@kernel.org>
7 years agodrm/exynos: add Exynos5433 decon driver
Joonyoung Shim [Fri, 28 Nov 2014 06:20:55 +0000 (15:20 +0900)]
drm/exynos: add Exynos5433 decon driver

DECON(Display and Enhancement Controller) is new IP replacing FIMD in
Exynos5433. This patch adds Exynos5433 decon driver.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / arm: dts: exynos4: Add sysmmu node
Hyungwon Hwang [Mon, 16 Mar 2015 06:52:18 +0000 (15:52 +0900)]
local / arm: dts: exynos4: Add sysmmu node

From the commit "iommu/exynos: Play nice in multi-platform builds"
(a7b67cd5d9afb94fdcacb71b43066b8d70d1d218). Sysmmu node become
mandatory to enable it. This patch adds the node for exynos4.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / arm: dts: exynos3250: Add sysmmu node
Hyungwon Hwang [Mon, 16 Mar 2015 06:46:50 +0000 (15:46 +0900)]
local / arm: dts: exynos3250: Add sysmmu node

From the commit "iommu/exynos: Play nice in multi-platform builds"
(a7b67cd5d9afb94fdcacb71b43066b8d70d1d218). Sysmmu node become
mandatory to enable it. This patch adds the node for exynos3250.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoreview / arm: dts: set panel clock properly for {trats2/rinato} board
Hyungwon Hwang [Mon, 23 Feb 2015 11:59:20 +0000 (20:59 +0900)]
review / arm: dts: set panel clock properly for {trats2/rinato} board

Since commit abc0b1447d4974963548777a5ba4a4457c82c426 ("drm: Perform
basic sanity checks on probed modes"), it became mandatory to set
the pixel clock of the panel. This patch sets the pixel clock properly.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoreview / drm/panel: s6e8aa0: set refresh rate
Hyungwon Hwang [Tue, 24 Feb 2015 10:21:23 +0000 (19:21 +0900)]
review / drm/panel: s6e8aa0: set refresh rate

This patch sets refresh rate for s6e8aa0 panel.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoreview / drm/panel: set refresh rate for s6e3ha2
Hyungwon Hwang [Tue, 24 Feb 2015 09:04:16 +0000 (18:04 +0900)]
review / drm/panel: set refresh rate for s6e3ha2

This patch sets refresh rate for s6e3ha2 panel.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoreview / drm/panel: set refresh rate for s6e63j0x03
Hyungwon Hwang [Tue, 24 Feb 2015 05:22:43 +0000 (14:22 +0900)]
review / drm/panel: set refresh rate for s6e63j0x03

This patch sets refresh rate for s6e63j0x03 properly.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / arm: dts: exynos3250: add gpu node for rinato board
Hyungwon Hwang [Tue, 24 Feb 2015 07:57:43 +0000 (16:57 +0900)]
local / arm: dts: exynos3250: add gpu node for rinato board

This patch adds gpu node for rinato board to enable mali400.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / arm: dts: exynos4x12: Add gpu node for arm mali 400
Seung-Woo Kim [Thu, 5 Feb 2015 10:04:29 +0000 (19:04 +0900)]
local / arm: dts: exynos4x12: Add gpu node for arm mali 400

This patch adds gpu node to exynos4x12 dtsi.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agolocal / gpu: arm : add mali400 r3p2 and r4p0-rel0 drivers
Seung-Woo Kim [Thu, 5 Feb 2015 07:10:42 +0000 (16:10 +0900)]
local / gpu: arm : add mali400 r3p2 and r4p0-rel0 drivers

This patch adds mali400 r3p2 driver and r4p0-rel0 drivers with
exynos4 soc platform support.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agoreview / drm/exynos: add more condition to check iommu support
Hyungwon Hwang [Mon, 23 Feb 2015 12:01:16 +0000 (21:01 +0900)]
review / drm/exynos: add more condition to check iommu support

Mapping is not enough for checking whether iommu is supported or not.
Even though there is mapping, the kernel is going to be panicked without
setting the iommu properly. So this patch adds the additional condition
to check whether iommu is really supported or not.

[    0.960859] [drm] Initialized drm 1.1.0 20060810
[    1.016344] ------------[ cut here ]------------
[    1.016453] kernel BUG at drivers/iommu/exynos-iommu.c:481!
[    1.020877] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
[    1.026693] Modules linked in:
[    1.029736] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.0.0-rc1-00089-gb7abcc2-dirty #13
[    1.037802] Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
[    1.043880] task: db0c0000 ti: db0a6000 task.ti: db0a6000
[    1.049268] PC is at __exynos_sysmmu_enable+0x188/0x214
[    1.054470] LR is at exynos_iommu_attach_device+0x44/0x118
[    1.059940] pc : [<c02bf0d0>]    lr : [<c02bf1a0>]    psr: 60000193
[    1.059940] sp : db0a7cd8  ip : 00000000  fp : 00000000
[    1.071394] r10: a0000113  r9 : 00000000  r8 : db355f90
[    1.076603] r7 : db25b210  r6 : db355640  r5 : 00000000  r4 : 00000000
[    1.083113] r3 : 00000000  r2 : db355640  r1 : 5b244000  r0 : db25b210
[    1.089624] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
[    1.097001] Control: 10c5387d  Table: 4000406a  DAC: 00000015
[    1.102729] Process swapper/0 (pid: 1, stack limit = 0xdb0a6210)
[    1.108719] Stack: (0xdb0a7cd8 to 0xdb0a8000)
[    1.113060] 7cc0:                                                       00000000 db355f80
[    1.121223] 7ce0: 00000000 db355640 db25b210 db355f90 00000000 a0000113 00000000 c02bf1a0
[    1.129383] 7d00: a0000113 c0115974 00200200 5b244000 db25b210 db25b210 da822c10 db157800
[    1.137542] 7d20: c0846540 00000000 c07ea3f4 c02bc8e8 db25b210 db278b40 da822c10 c001eb48
[    1.145701] 7d40: da822e10 db25b210 da822c10 c02ef444 da822e10 00000001 00000001 c02f0af4
[    1.153860] 7d60: da822e10 db2b0640 db2b25c0 db2b0640 00000000 c02f3850 db157800 00000000
[    1.162019] 7d80: db157800 00000000 00000000 db278900 00000000 c02eb7d8 db157800 00000000
[    1.170179] 7da0: 00000000 c08267b8 00000000 c02d4a44 c08e69f4 da822c00 db157800 c02d62c4
[    1.178337] 7dc0: 00000000 c07ea3f4 00000000 c02faf6c db2b07e0 db2b07e0 00000002 db2b0640
[    1.186497] 7de0: db2b07d0 c02f33f0 db2b0640 00000000 c0827130 c05a5230 da822c10 c02f34dc
[    1.194656] 7e00: c08268c8 da822c10 00000001 c08268c8 c0826774 c02eb97c da822c10 da8c0cd0
[    1.202815] 7e20: 00000000 c08e6ab0 da822c10 c0826774 fffffdfb c02f9acc c08e6ab0 da822c10
[    1.210974] 7e40: c08466d8 00000000 c0826774 c02f7ea4 db2b8f80 c02491a0 db2b7a80 da822c10
[    1.219134] 7e60: c0826774 da822c44 c0827458 db2b7a80 0000007d c02f81cc 00000000 c0826774
[    1.227293] 7e80: c02f8140 c02f61b0 db11205c db2b93b4 c0826774 db2b8f80 00000000 c02f7540
[    1.235452] 7ea0: c070a3ac 00000000 c08e6a84 c0826774 00000000 c08e6a84 00000000 c02f8a48
[    1.243611] 7ec0: 00000000 00000000 c08e6a84 c02eb6f0 00000000 c070a3ac ffffffff 00000000
[    1.251770] 7ee0: 00000000 00000000 00000000 00000000 00000000 00000000 c08095a0 c08095a0
[    1.259930] 7f00: c02eb628 c0008a3c c0584ad4 c078395c 0000007d dfeff9b0 00000000 dfeff9af
[    1.268089] 7f20: 00000000 db0a7f38 dfeffb46 dfeffb37 c0584ad4 c0040f40 0000395c 00000000
[    1.276248] 7f40: c0716918 dfeffb57 00000006 00000006 c080d618 dfeff980 c07fee24 00000006
[    1.284408] 7f60: c07ea3ec c0851c80 c0851c80 0000007d c07ea3f4 c07aee28 00000006 00000006
[    1.292566] 7f80: c07ae5ac c0047e88 00001c80 c055553c 00000000 00000000 00000000 00000000
[    1.300725] 7fa0: 00000000 c0555548 00000000 c000f390 00000000 00000000 00000000 00000000
[    1.308884] 7fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    1.317044] 7fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffdf
[    1.325220] [<c02bf0d0>] (__exynos_sysmmu_enable) from [<c02bf1a0>] (exynos_iommu_attach_device+0x44/0x118)
[    1.334928] [<c02bf1a0>] (exynos_iommu_attach_device) from [<c02bc8e8>] (iommu_attach_device+0x1c/0xc8)
[    1.344305] [<c02bc8e8>] (iommu_attach_device) from [<c001eb48>] (arm_iommu_attach_device+0x18/0x50)
[    1.353420] [<c001eb48>] (arm_iommu_attach_device) from [<c02ef444>] (drm_iommu_attach_device+0x4c/0xcc)
[    1.362880] [<c02ef444>] (drm_iommu_attach_device) from [<c02f0af4>] (fimd_bind+0x124/0x198)
[    1.371298] [<c02f0af4>] (fimd_bind) from [<c02f3850>] (component_bind_all+0xc4/0x228)
[    1.379195] [<c02f3850>] (component_bind_all) from [<c02eb7d8>] (exynos_drm_load+0xa0/0x148)
[    1.387618] [<c02eb7d8>] (exynos_drm_load) from [<c02d4a44>] (drm_dev_register+0xa8/0x104)
[    1.395864] [<c02d4a44>] (drm_dev_register) from [<c02d62c4>] (drm_platform_init+0x44/0xdc)
[    1.404195] [<c02d62c4>] (drm_platform_init) from [<c02f33f0>] (try_to_bring_up_master.part.2+0xc8/0x108)
[    1.413741] [<c02f33f0>] (try_to_bring_up_master.part.2) from [<c02f34dc>] (component_master_add_with_match+0xac/0x124)
[    1.424505] [<c02f34dc>] (component_master_add_with_match) from [<c02eb97c>] (exynos_drm_platform_probe+0xfc/0x128)
[    1.434925] [<c02eb97c>] (exynos_drm_platform_probe) from [<c02f9acc>] (platform_drv_probe+0x44/0xa4)
[    1.444124] [<c02f9acc>] (platform_drv_probe) from [<c02f7ea4>] (driver_probe_device+0x13c/0x394)
[    1.452977] [<c02f7ea4>] (driver_probe_device) from [<c02f81cc>] (__driver_attach+0x8c/0x90)
[    1.461395] [<c02f81cc>] (__driver_attach) from [<c02f61b0>] (bus_for_each_dev+0x68/0x9c)
[    1.469555] [<c02f61b0>] (bus_for_each_dev) from [<c02f7540>] (bus_add_driver+0x160/0x21c)
[    1.477801] [<c02f7540>] (bus_add_driver) from [<c02f8a48>] (driver_register+0x78/0xf8)
[    1.485786] [<c02f8a48>] (driver_register) from [<c02eb6f0>] (exynos_drm_init+0xc8/0x110)
[    1.493946] [<c02eb6f0>] (exynos_drm_init) from [<c0008a3c>] (do_one_initcall+0xb8/0x1f0)
[    1.502108] [<c0008a3c>] (do_one_initcall) from [<c07aee28>] (kernel_init_freeable+0x1d4/0x278)
[    1.510787] [<c07aee28>] (kernel_init_freeable) from [<c0555548>] (kernel_init+0xc/0xe8)
[    1.518859] [<c0555548>] (kernel_init) from [<c000f390>] (ret_from_fork+0x14/0x24)
[    1.526406] Code: e3130004 1a00001e e3a06000 eaffffcf (e7f001f2)
[    1.532505] ---[ end trace 03b1b443463b1342 ]---
[    1.537077] Kernel panic - not syncing: Fatal exception

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / drm/panel : s6e3ha2: add support for brightness control
Hyungwon Hwang [Fri, 6 Feb 2015 05:58:18 +0000 (14:58 +0900)]
local / drm/panel : s6e3ha2: add support for brightness control

This patch adds support the brightness control for s6e3ha2 panel.

Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
7 years agolocal / drm/exynos: depend on ARCH_EXYNOS for DRM_EXYNOS
Joonyoung Shim [Thu, 13 Nov 2014 08:46:36 +0000 (17:46 +0900)]
local / drm/exynos: depend on ARCH_EXYNOS for DRM_EXYNOS

Because PLAT_SAMSUNG isn't include exynos SoCs for arm64, but
ARCH_EXYNOS can do it. And it also needs to add ARCH_S3C64XX instead of
PLAT_SAMSUNG.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
7 years agolocal / arm64: fix FORCE_MAX_ZONEORDER to 14
Joonyoung Shim [Thu, 20 Nov 2014 05:52:56 +0000 (14:52 +0900)]
local / arm64: fix FORCE_MAX_ZONEORDER to 14

This patch modifies FORCE_MAX_ZONEORDER to 14. This patch might be
reverted after the problem in CMA is fixed.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
7 years agolocal / drm/exynos: add to check compatible "samsung,exynos5433"
Joonyoung Shim [Tue, 25 Nov 2014 04:02:16 +0000 (13:02 +0900)]
local / drm/exynos: add to check compatible "samsung,exynos5433"

This patch adds new machine-compatible string for exynos5433. Without
this patch, exynos5433 will be excepted out before it is probed.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
7 years agoreview / drm/panel: add s6e3ha2 AMOLED panel driver
Donghwa Lee [Fri, 28 Nov 2014 06:43:24 +0000 (15:43 +0900)]
review / drm/panel: add s6e3ha2 AMOLED panel driver

This patch adds MIPI-DSI based S6E3HA2 panel driver. This panel has
1440x2560 resolution in 5.7-inch physical panel.

Signed-off-by: Donghwa Lee <dh09.lee@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Sangbae Lee <sangbae90.lee@samsung.com>
7 years agomisc: tizen_global_lock: add support for 32bt compat mode from 64bit
Seung-Woo Kim [Wed, 4 Mar 2015 08:38:19 +0000 (17:38 +0900)]
misc: tizen_global_lock: add support for 32bt compat mode from 64bit

This patch adds support for 32bit compat mode, including compat_ioctl,
pointer casting and compat ioctl cmd, from 64bit system.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
7 years agomisc: add global lock driver for TIZEN
Joonyoung Shim [Tue, 29 Jan 2013 08:00:09 +0000 (17:00 +0900)]
misc: add global lock driver for TIZEN

This is the driver for tizen global lock feature for TIZEN specific and
will be removed if dma fence feature is enabled.

Change-Id: I52def5b921ea066bfaedd73a1e5f0f8959f6cb25
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
7 years agogator: Version 5.20.1
Drew Richardson [Fri, 19 Dec 2014 15:20:07 +0000 (07:20 -0800)]
gator: Version 5.20.1

Signed-off-by: Drew Richardson <drew.richardson@arm.com>
Signed-off-by: Jon Medhurst <tixy@linaro.org>
7 years agogator: Add config for building the module in-tree
Jon Medhurst [Thu, 10 May 2012 16:35:03 +0000 (17:35 +0100)]
gator: Add config for building the module in-tree

Signed-off-by: Jon Medhurst <tixy@linaro.org>
7 years agogator: Version 5.20
Jon Medhurst [Thu, 30 Oct 2014 16:32:27 +0000 (16:32 +0000)]
gator: Version 5.20

Signed-off-by: Jon Medhurst <tixy@linaro.org>
7 years agoLOCAL / ARM: dts: Add sound nodes for Exynos3250-based Rinato board
Inha Song [Mon, 23 Feb 2015 10:34:20 +0000 (19:34 +0900)]
LOCAL / ARM: dts: Add sound nodes for Exynos3250-based Rinato board

This patch add YMU831 audio codec and the sound machine
nodes to enable audio on exynos3250-rinato board.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoARM: dts: Set the source clock for CLKOUT register as xusbxti
Inha Song [Mon, 23 Feb 2015 10:29:23 +0000 (19:29 +0900)]
ARM: dts: Set the source clock for CLKOUT register as xusbxti

This patch set the CLKOUT register source clock as xusbxti.

Signed-off-by: Inha Song <ideal.song@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoASoC: samsung: Add ASoC machine driver for Rinato board with YMU831 codec
Inha Song [Tue, 2 Sep 2014 02:11:02 +0000 (11:11 +0900)]
ASoC: samsung: Add ASoC machine driver for Rinato board with YMU831 codec

This patch add ASoC machine driver for Rinato board with YMU831 codec.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 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

This patch add support for ymu831 codec.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / ASoC: samsung: Add Samsung Low Power Audio Subsystem driver
Inha Song [Wed, 14 Jan 2015 02:48:48 +0000 (11:48 +0900)]
LOCAL / ASoC: samsung: Add Samsung Low Power Audio Subsystem driver

This patch adds LPASS driver. The LPASS (Low Power Audio Subsystem)
is a special subsystem that supports audio playback with low power
consumption.

Signed-off-by: Inha Song <ideal.song@samsung.com>
7 years agoLOCAL / ASoC: samsung: Add machine driver for Exynos5433-based TM2 board
Inha Song [Mon, 9 Mar 2015 04:35:32 +0000 (13:35 +0900)]
LOCAL / ASoC: samsung: Add machine driver for Exynos5433-based TM2 board

This patch add the sound machine driver for TM2 board.
The codec operate in master mode. So, Reference to the
codec master clock must be set.

This machine driver support SPK playback and Main Mic capture.

Signed-off-by: Inha Song <ideal.song@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoLOCAL / ASoC: max98504A: Add max98504A Speaker amplifier driver
Inha Song [Mon, 10 Nov 2014 04:40:23 +0000 (13:40 +0900)]
LOCAL / ASoC: max98504A: Add max98504A Speaker amplifier driver

This patch add MAX98504A Class D Speaker Amplifier driver.
The MAX98504A is a high efficiency mono Class D audio amplifier
that features an integrated boost converter with voltage and current
sensing ADCs for dynamic speaker management solutions.

Signed-off-by: Inha Song <ideal.song@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agophy: exynos5-usbdrd: Add to support for Exynos5433 SoC
Jaewon Kim [Mon, 12 Jan 2015 06:33:21 +0000 (15:33 +0900)]
phy: exynos5-usbdrd: Add to support for Exynos5433 SoC

This patch adds driver data to support for Exynos5433 SoC.
The Exynos5433 has one USB2.0 Host and two USB3.0 DRD(Dual Role Device).
Exynos5433 is simplar to Eyxnos7. But Eyxnos5433 has USB2.0 Host.

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Support to change polling rate in runtime.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:23 +0000 (17:55 +0900)]
power: charger-manager: Support to change polling rate in runtime.

Add 'polling_ms' sysfs node to change charger-manager's monitoring rate
in runtime. It can set only bigger than 2 jiffies (for 200 HZ system it
is 10 msecs.) as it's allowed for minimum poling rate in previous.
It resets poller and re-configure polling rate based on new input if next
polling time is far enough. Otherwise, it just waits expiration of timer
and new polling rate will affects the next scheduling.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Support different polling mode for sleep state.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:22 +0000 (17:55 +0900)]
power: charger-manager: Support different polling mode for sleep state.

Add additional polling mode for sleep state to define different mode with
normal state. With this change, charger-manager can work differently in
normal state or sleep state. e.g, polling aways for normal and polling
only when charing for sleep. If there is no defined polling mode for
sleep state it just follows the normal state's.
In addition to, polling rate is still same in sleep.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Not to start charging directly in cable nofitication.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:21 +0000 (17:55 +0900)]
power: charger-manager: Not to start charging directly in cable nofitication.

This patch prevents direct charging control in cable notification.
It sets only input current limit according to cable type and yields charging
control to be done by cm_monitor() where charging management proceeds.
It may loose few ms to enable charging compared to before, even though it's
more important that charging is enabled always in safe context.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Make chraging decision focusing on battery status.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:20 +0000 (17:55 +0900)]
power: charger-manager: Make chraging decision focusing on battery status.

In cm_monitor() where charging management starts, it checks various charging
condition sequentially to decide next charging operation. However, as it
follows sequential process, cascaded IF statements, it does some duplicated
jobs which is already done in previous stage. It results delay in decision
making. And moreover, starting point of charing is spreaded all around, so
it makes maintain codes and debugging difficult.

Both of problems mentioned above becomes clean if it manages battery charging
focusing on battery status not following sequential condition checking.
Now, cm_monitor() moves battery state diagram and does optimal operation for
current state. As a result, it reduces whole monitoring time almost in half.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Get external power souce information only from EXTCON.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:19 +0000 (17:55 +0900)]
power: charger-manager: Get external power souce information only from EXTCON.

When charger-manager checks whether external power source is available,
it gets information from charger IC driver. However, it's not correct source,
charger IC doesn't have responsibilty to give cable connection status.
The charger-manager already gets cable information from EXTCON susbsystem,
so it can re-use it.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Concentrate scattered power_supply_changed() calls.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:18 +0000 (17:55 +0900)]
power: charger-manager: Concentrate scattered power_supply_changed() calls.

Current charger-manager calls power_suuply_changed() whenever charging
status is changed. This patch removes seperated power_supply_changed()
use and let it be called at end of try_charger_enable() function which
is called to set charging/discharging.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Fix to use CHARGE_NOW/FULL property correctly.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:17 +0000 (17:55 +0900)]
power: charger-manager: Fix to use CHARGE_NOW/FULL property correctly.

The POWER_SUPPLY_CHARGE_NOW/FULL property reflects battery's charges
in uAh unit, but charger-manager has been used it wrongly. This patch
makes it to use those propeties correctly and change to be optional.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Remove deprecated function, cm_notify_event().
Jonghwa Lee [Fri, 19 Dec 2014 08:55:16 +0000 (17:55 +0900)]
power: charger-manager: Remove deprecated function, cm_notify_event().

cm_notify_event() is introduced to get event associated with battery status
externally, but no one had been used. Moreover it makes charger manager
driver more complicated. This patch tries to drop the function and all data
related to simplify the driver.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Use power_supply_changed() not private uevent.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:15 +0000 (17:55 +0900)]
power: charger-manager: Use power_supply_changed() not private uevent.

Whenever battery status is changed, charger manager tries to trigger uevent
through private interface. This patch modifies it to use power_supply_changed()
since it belongs to power supply subsystem.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agopower: charger-manager: Use thermal subsystem interface only to get temperature.
Jonghwa Lee [Fri, 19 Dec 2014 08:55:14 +0000 (17:55 +0900)]
power: charger-manager: Use thermal subsystem interface only to get temperature.

It drops the way of using power_supply interface to reference battery's
temperature. Then it tries to use thermal subsystem's only. This makes driver
more simple and also can remove ifdeferies.

Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoDocumentation: Add device tree bindings document for max77843
Jaewon Kim [Mon, 23 Feb 2015 02:54:29 +0000 (11:54 +0900)]
Documentation: Add device tree bindings document for max77843

Add document describing device tree bindings for max77843 MFD.
Drivers: MFD core, regulator, extcon, charger and fuelgauge.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Ian Campbell <ijc+devicetree@hellion.org.uk>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Lee Jones <lee.jones@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agopower: max77843_battery: Add Max77843 fuel gauge device driver
Beomho Seo [Mon, 23 Feb 2015 10:36:42 +0000 (19:36 +0900)]
power: max77843_battery: Add Max77843 fuel gauge device driver

This patch adds device driver of max77843 fuel gauge.
The driver support for battery fuel gauge in Maxim Max77843.
It is fuel-gauge systems for lithuum-ion batteries in handled and
portable devices.

Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agopower: max77843_charger: Add Max77843 charger device driver
Beomho Seo [Mon, 23 Feb 2015 10:35:30 +0000 (19:35 +0900)]
power: max77843_charger: Add Max77843 charger device driver

This patch adds device driver of max77843 charger. This driver provide
initialize each charging mode(e.g. fast charge, top-off mode and constant
charging mode so on.). Additionally, control charging paramters to use
i2c interface.

Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / input: keyboard: Add support for cypress touchkey
Beomho Seo [Fri, 9 Jan 2015 02:17:39 +0000 (11:17 +0900)]
LOCAL / input: keyboard: Add support for cypress touchkey

This patch add cypress touchkey device driver.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoLOCAL / input: touchscreen: Add STM FTS touchscreen
Beomho Seo [Tue, 25 Nov 2014 10:24:16 +0000 (19:24 +0900)]
LOCAL / input: touchscreen: Add STM FTS touchscreen

This patch add STMicroelectronics FTS touchscreen controller.

Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
7 years agoLOCAL / ARM: dts: Changes safeout regulator state for rinato
Jaewon Kim [Tue, 3 Feb 2015 06:24:24 +0000 (15:24 +0900)]
LOCAL / ARM: dts: Changes safeout regulator state for rinato

This patch changes safeout regualtor state to always on to use USB device

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / usb: gadget: Add slp composite gadget
Jaewon Kim [Tue, 2 Dec 2014 12:34:54 +0000 (21:34 +0900)]
LOCAL / usb: gadget: Add slp composite gadget

This patch adds slp composite gadget for tizen platform.
slp composite gadget code comes from android.c

Verified Gadget List
 - SDB
 - RNDIS

Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / extcon: max14577: Change default h/w path from SW_OPEN to SW_UART
Chanwoo Choi [Fri, 20 Jun 2014 04:40:33 +0000 (13:40 +0900)]
LOCAL / extcon: max14577: Change default h/w path from SW_OPEN to SW_UART

This patch changes default h/w patch from SW_OPEN to SW_UART without connected
cables.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / arm: configs: Add tm2/rinato/trats2/odroidu3 defconfig
Chanwoo Choi [Mon, 23 Feb 2015 04:25:27 +0000 (13:25 +0900)]
LOCAL / arm: configs: Add tm2/rinato/trats2/odroidu3 defconfig

- arch/arm64/configs/defconfig : Exynos5433-based TM2 board

- arch/arm/configs/tizen_odroidu3_defconfig : Exynos4412-based Odroid-U3 board
- arch/arm/configs/tizen_trats2_defconfig   : Exynos4412-based TRATS2 board
- arch/arm/configs/tizen_rinato_defconfig   : Exynos3250-based Rinato board

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7 years agoLOCAL / arm64: dts: Add Exynos5433-based TM2 board
Chanwoo Choi [Fri, 31 Oct 2014 08:25:46 +0000 (17:25 +0900)]
LOCAL / arm64: dts: Add Exynos5433-based TM2 board

This patch adds Exynos5433-based TM2 board which is third tizen reference
board for mobile profile.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inha Song <ideal.song@samsung.com>
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
7 years agoLOCAL / cpufreq: Add the dt support for arm_big_little driver
Chanwoo Choi [Mon, 29 Dec 2014 09:52:38 +0000 (18:52 +0900)]
LOCAL / cpufreq: Add the dt support for arm_big_little driver

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / cpufreq: Enable big.LITTLE cpufreq driver on arm64
Mark Brown [Mon, 8 Dec 2014 07:59:46 +0000 (16:59 +0900)]
LOCAL / cpufreq: Enable big.LITTLE cpufreq driver on arm64

There are arm64 big.LITTLE systems so enable the big.LITTLE cpufreq driver.
While IKS is not available for these systems the driver is still useful
since it manages clusters with shared frequencies which is the common case
for these systems.

Long term combining the cpufreq-cpu0 and big.LITTLE drivers may be a
more sensible option but that is substantially more complex especially
in the case of IKS.

Signed-off-by: Mark Brown <broonie@kernel.org>
[cw00.choi: Fix the dependency on big.LITTLE configuration]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / arm64: Add big.LITTLE switcher stub
Mark Brown [Fri, 9 May 2014 16:40:30 +0000 (17:40 +0100)]
LOCAL / arm64: Add big.LITTLE switcher stub

The big.LITTLE cpufreq driver is useful on arm64 big.LITTLE systems even
without IKS support since it implements support for clusters with shared
clocks (a common big.LITTLE configuration). In order to allow it to be
built provide the non-IKS stubs for arm64, enabling cpufreq with all the
cores available.

It may make sense to make an asm-generic version of these stubs instead but
given that there's only likely to be these two architectures using the code
and asm-generic stubs also need per architecture updates it's probably more
trouble than it's worth.

Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoLOCAL / arm64: Enable OPP
Mark Brown [Mon, 29 Dec 2014 09:49:01 +0000 (18:49 +0900)]
LOCAL / arm64: Enable OPP

Some of the generic drivers used on ARM class systems use OPP so allow it
to be selected in Kconfig. No code is required for this, it is not clear
to me why there is config for this option.

Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoLOCAL / arm64: Add CONFIG_BIG_LITTLE dummy configuration
Chanwoo Choi [Mon, 8 Dec 2014 08:24:14 +0000 (17:24 +0900)]
LOCAL / arm64: Add CONFIG_BIG_LITTLE dummy configuration

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / arm64: dts: exynos5433: Add OPP entries for CPUFREQ of Exynos5433
Chanwoo Choi [Mon, 8 Dec 2014 07:33:10 +0000 (16:33 +0900)]
LOCAL / arm64: dts: exynos5433: Add OPP entries for CPUFREQ of Exynos5433

This patch adds the OPP entries for CPUFREQ of Exynos5433 SoC. Exynos5433 is
big.LITTLE architecture so each core has different OPP entries (CPU frequency
and voltage).

Cc: Kukjin Kim <kgene@kernel.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Acked-by: Inki Dae <inki.dae@samsung.com>
7 years agoLOCAL / tools: Add build script for Exynos5433 SoC
Chanwoo Choi [Fri, 31 Oct 2014 11:33:26 +0000 (20:33 +0900)]
LOCAL / tools: Add build script for Exynos5433 SoC

This patch adds build script to build the kernel for Exynos5433-based board.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / ARM: dts: Modify hw revision to jump kernel image from bootloader
Chanwoo Choi [Mon, 22 Dec 2014 03:16:50 +0000 (12:16 +0900)]
LOCAL / ARM: dts: Modify hw revision to jump kernel image from bootloader

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / arm64: dts: exynos: Fix ARCH timer boot error for Exynos5433
Chanwoo Choi [Fri, 16 Jan 2015 11:21:43 +0000 (20:21 +0900)]
LOCAL / arm64: dts: exynos: Fix ARCH timer boot error for Exynos5433

This patch fix ARCH timer boot error for Exynos5433 as following:

[    0.000010] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
[    0.008436] Architected timer frequency not available
[    0.013416] ------------[ cut here ]------------
[    0.018016] WARNING: CPU: 0 PID: 0 at kernel/time/clockevents.c:44 cev_delta2ns.isra.1+0xc4/0xd4()
[    0.026943] Modules linked in:
[    0.029986] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-rc4-00072-g65baa5f #3
[    0.037531] Hardware name: Samsung TM2 board (DT)
[    0.042393] Call trace:
[    0.044830] [<ffffffc0000891c8>] dump_backtrace+0x0/0x124
[    0.050208] [<ffffffc0000892fc>] show_stack+0x10/0x1c
[    0.055246] [<ffffffc00072ef28>] dump_stack+0x74/0xb8
[    0.060278] [<ffffffc000097520>] warn_slowpath_common+0x98/0xd0
[    0.066178] [<ffffffc000097618>] warn_slowpath_null+0x14/0x20
[    0.071909] [<ffffffc0000f1d8c>] cev_delta2ns.isra.1+0xc0/0xd4
[    0.077722] [<ffffffc0000f1e30>] clockevents_config.part.3+0x70/0xa8
[    0.084059] [<ffffffc0000f1e88>] clockevents_config_and_register+0x20/0x38
[    0.090918] [<ffffffc00049843c>] arch_timer_setup+0xc4/0x1f0
[    0.096561] [<ffffffc0009fdc4c>] arch_timer_init+0x1fc/0x274
[    0.102199] [<ffffffc0009fd490>] clocksource_of_init+0x54/0x98
[    0.108018] [<ffffffc0009e07fc>] time_init+0x10/0x44
[    0.112963] [<ffffffc0009dd838>] start_kernel+0x260/0x394
[    0.118358] ---[ end trace cb88537fdc8fa200 ]---
[    0.123495] Architected cp15 timer(s) running at 0.00MHz (virt).
[    0.129439] Kernel panic - not syncing: Unable to initialise architected timer.
[    0.129439]
[    0.138182] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W 3.19.0-rc4-00072-g65baa5f #3
[    0.146855] Hardware name: Samsung TM2 board (DT)
[    0.151717] Call trace:
[    0.154156] [<ffffffc0000891c8>] dump_backtrace+0x0/0x124
[    0.159532] [<ffffffc0000892fc>] show_stack+0x10/0x1c
[    0.164569] [<ffffffc00072ef28>] dump_stack+0x74/0xb8
[    0.169600] [<ffffffc00072e224>] panic+0xec/0x228
[    0.174290] [<ffffffc0009e0814>] time_init+0x28/0x44
[    0.179237] [<ffffffc0009dd838>] start_kernel+0x260/0x394
[    0.184620] ---[ end Kernel panic - not syncing: Unable to initialise architected timer.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
7 years agoLOCAL / pinctrl: samsung: Add GPFx support of Exynos5433
Joonyoung Shim [Fri, 16 Jan 2015 09:59:22 +0000 (18:59 +0900)]
LOCAL / pinctrl: samsung: Add GPFx support of Exynos5433

This patch add the support of GPFx pin of Exynos5433 SoC. Exynos5433 has
different memory map of GPFx from previous Exynos SoC. Exynos GPIO has
following register to control gpio funciton. Usually, all registers of GPIO
are included in same domain.
- CON / DAT / PUD / DRV / CONPDN / PUDPDN
- EINT_CON/ EINT_FLTCON0, EINT_FLTCON1 / EINT_MASK / EINT_PEND

But, GPFx are included in two domain as following. So, this patch add
workaround patch to support GPFx.
- ALIVE domain : CON / DAT / PUD / DRV / CONPDN / PUDPDN
- IMEM domain : EINT_CON/ EINT_FLTCON0, EINT_FLTCON1 / EINT_MASK / EINT_PEND

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
[Add patch description and fix merge conflict]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>