GitHub/exynos8895/android_kernel_samsung_universal8895.git
10 years agoMerge tag 'exynos-cpuidle' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 29 May 2014 18:21:13 +0000 (11:21 -0700)]
Merge tag 'exynos-cpuidle' of git./linux/kernel/git/kgene/linux-samsung into next/drivers

Merge "Samsung exynos-cpuidle updates for v3.16" from Kukjin Kim:

- From Daniel Lezcano:
 This patchset relies on the cpm_pm notifier to initiate the
 powerdown sequence operations from pm.c instead cpuidle.c.
 Thus the cpuidle driver is no longer dependent from arch
 specific code as everything is called from the pm.c file.

* tag 'exynos-cpuidle' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (94 commits)
  ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
  ARM: EXYNOS: Move the driver to drivers/cpuidle directory
  ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
  ARM: EXYNOS: Pass the AFTR callback to the platform_data
  ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
  ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
  ARM: EXYNOS: Move the AFTR state function into pm.c
  ARM: EXYNOS: Encapsulate the AFTR code into a function
  ARM: EXYNOS: Disable cpuidle for exynos5440
  ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
  ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
  ARM: EXYNOS: Remove ifdef for scu_enable in pm
  ARM: EXYNOS: Move scu_enable in the cpu_pm notifier
  ARM: EXYNOS: Use the cpu_pm notifier for pm
  ARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle
  ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
  ARM: EXYNOS: Encapsulate register access inside a function for pm
  ARM: EXYNOS: Change function name prefix for cpuidle
  ARM: EXYNOS: Use cpuidle_register
  ARM: EXYNOS: Prevent forward declaration for cpuidle
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'keystone-reset-driver' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Tue, 27 May 2014 18:09:56 +0000 (11:09 -0700)]
Merge tag 'keystone-reset-driver' of git://git./linux/kernel/git/ssantosh/linux-keystone into next/drivers

Merge "Keystone Reset driver for 3.16" from Santosh Shilimkar:

* tag 'keystone-reset-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  power: reset: keystone-reset: introduce keystone reset driver
  Documentation: dt: add bindings for keystone pll control controller
  Documentation: dt: add bindings for keystone reset driver

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agopower: reset: keystone-reset: introduce keystone reset driver
Ivan Khoronzhuk [Fri, 23 May 2014 20:32:39 +0000 (16:32 -0400)]
power: reset: keystone-reset: introduce keystone reset driver

The keystone SoC can be rebooted in several ways. By external reset
pin, by soft and by watchdogs. To allow keystone SoC reset if
watchdog is triggered we have to enable it in reset mux configuration
register regarding of watchdog configuration. Also we need to set
soft/hard reset we are going to use.

So add keystone reset driver to handle all this stuff.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
10 years agoDocumentation: dt: add bindings for keystone pll control controller
Ivan Khoronzhuk [Fri, 23 May 2014 20:32:39 +0000 (16:32 -0400)]
Documentation: dt: add bindings for keystone pll control controller

The main pll controller used to drive theC66x CorePacs, the switch fabric,
and a majority of the peripheral clocks (all but the ARM CorePacs, DDR3 and
the NETCP modules) requires a PLL Controller to manage the various clock
divisions, gating, and synchronization.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
[santosh.shilimkar@ti.com: Fixed the subject line]
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
10 years agoDocumentation: dt: add bindings for keystone reset driver
Ivan Khoronzhuk [Fri, 23 May 2014 20:32:39 +0000 (16:32 -0400)]
Documentation: dt: add bindings for keystone reset driver

This node is intended to allow SoC reset in case of software reset
or appropriate watchdogs.

The Keystone SoCs can contain up to 4 watchdog timers to reset
SoC. Each watchdog timer event input is connected to the Reset Mux
block. The Reset Mux block can be configured to cause reset or not.

Additionally soft or hard reset can be configured.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
[santosh.shilimkar@ti.com: Fixed the subject line]
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
10 years agoMerge tag 'davinci-for-v3.16/edma' of git://git.kernel.org/pub/scm/linux/kernel/git...
Olof Johansson [Mon, 26 May 2014 21:59:05 +0000 (14:59 -0700)]
Merge tag 'davinci-for-v3.16/edma' of git://git./linux/kernel/git/nsekhar/linux-davinci into next/drivers

Merge "DaVinci EDMA clean-up for v3.16" from Sekhar Nori:

This series makes edma use configuration information available within
the IP instead of reading it from platform data or DT. Some other useful
clean-ups are included too.

* tag 'davinci-for-v3.16/edma' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: (34 commits)
  ARM: edma: Remove redundant/unused parameters from edma_soc_info
  ARM: davinci: Remove redundant/unused parameters for edma
  ARM: dts: am4372: Remove obsolete properties from edma node
  ARM: dts: am33xx: Remove obsolete properties from edma node
  dt/bindings: ti,edma: Remove redundant properties from documentation
  ARM: edma: Get IP configuration from HW (number of channels, tc, etc)
  ARM: edma: Save number of regions from pdata to struct edma
  ARM: edma: Remove num_cc member from struct edma
  ARM: edma: Remove queue_tc_mapping data from edma_soc_info
  ARM: davinci: Remove eDMA3 queue_tc_mapping data from edma_soc_info
  ARM: edma: Do not change TC -> Queue mapping, leave it to default.
  ARM: edma: Take the number of tc from edma_soc_info (pdata)
  ARM: edma: No need to clean the pdata in edma_of_parse_dt()
  ARM: edma: Clean up and simplify the code around irq request
  dmaengine: edma: update DMA memcpy to use new param element
  dmaengine: edma: Document variables used for residue accounting
  dmaengine: edma: Provide granular accounting
  dmaengine: edma: Make reading the position of active channels work
  dmaengine: edma: Store transfer data in edma_desc and edma_pset
  dmaengine: edma: Create private pset struct
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'davinci-fixes-for-v3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Mon, 26 May 2014 21:55:53 +0000 (14:55 -0700)]
Merge tag 'davinci-fixes-for-v3.15-rc4' of git://git./linux/kernel/git/nsekhar/linux-davinci into next/drivers

The patch fixes EDMA crossbar mapping to actually
make it work. The patch has been tagged for stable.

* tag 'davinci-fixes-for-v3.15-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: common: edma: Fix xbar mapping

10 years agoMerge tag 'omap-for-v3.16/l3-noc-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Olof Johansson [Mon, 26 May 2014 20:29:22 +0000 (13:29 -0700)]
Merge tag 'omap-for-v3.16/l3-noc-signed' of git://git./linux/kernel/git/tmlind/linux-omap into next/drivers

Merge "ARM: omap l3-noc bus driver changes for v3.16 merge window, resend" from
Tony Lindgren:

Improvments to omap l3-noc bus driver for v3.16 merge window
to add support for am347x and dra7.

* tag 'omap-for-v3.16/l3-noc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (25 commits)
  bus: omap_l3_noc: Add AM4372 interconnect error data
  bus: omap_l3_noc: Add DRA7 interconnect error data
  bus: omap_l3_noc: introduce concept of submodule
  bus: omap_l3_noc: Add information about the context of operation
  bus: omap_l3_noc: add information about the type of operation
  bus: omap_l3_noc: ignore masked out unclearable targets
  bus: omap_l3_noc: improve readability by using helper for slave event parsing
  bus: omap_l3_noc: make error reporting and handling common
  bus: omap_l3_noc: fix masterid detection
  bus: omap_l3_noc: convert flagmux information into a structure
  bus: omap_l3_noc: use of_match_data to pick up SoC information
  bus: omap_l3_noc: Add support for discountinous flag mux input numbers
  bus: omap_l3_noc: convert target information into a structure
  bus: omap_l3_noc: move L3 master data structure out
  bus: omap_l3_noc: un-obfuscate l3_targ address computation
  bus: omap_l3_noc: switch over to relaxed variants of readl/writel
  bus: omap_l3_noc: populate l3->dev and use it
  bus: omap_l3_noc: remove iclk from omap_l3 struct
  bus: omap_l3_noc: rename functions and data to omap_l3
  bus: omap_l3_noc: Fix copyright information
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agosoc: qcom: fix of_device_id table
Arnd Bergmann [Mon, 26 May 2014 16:07:05 +0000 (18:07 +0200)]
soc: qcom: fix of_device_id table

The match tables must be zero-terminated, and Kbuild now helpfully
fails to link the kernel if that isn't the case.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agoARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos
Daniel Lezcano [Sun, 25 May 2014 19:50:34 +0000 (04:50 +0900)]
ARM: EXYNOS: Fix kernel panic when unplugging CPU1 on exynos

A look at the code reveals use of S5P_VA_SYSRAM macro, in case of certain SoC
revisions, which is not valid any longer, after SYSRAM started to be mapped
dynamically. The new dynamic mapping is stored in sysram_base_addr variable,
which is declared static in platsmp.c

This fix makes sysram_base_addr non-static, declared it in common.h and used
in pm.c instead of S5P_VA_SYSRAM.

Suggested-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move the driver to drivers/cpuidle directory
Daniel Lezcano [Thu, 8 May 2014 21:57:35 +0000 (06:57 +0900)]
ARM: EXYNOS: Move the driver to drivers/cpuidle directory

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c
Daniel Lezcano [Thu, 8 May 2014 21:57:30 +0000 (06:57 +0900)]
ARM: EXYNOS: Cleanup all unneeded headers from cpuidle.c

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Pass the AFTR callback to the platform_data
Daniel Lezcano [Thu, 8 May 2014 21:56:29 +0000 (06:56 +0900)]
ARM: EXYNOS: Pass the AFTR callback to the platform_data

No more dependency on the arch code. The platform_data field is used to set the
PM callback as the other cpuidle drivers.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c
Daniel Lezcano [Thu, 8 May 2014 21:56:24 +0000 (06:56 +0900)]
ARM: EXYNOS: Move S5P_CHECK_SLEEP into pm.c

This macro is only used there.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move the power sequence call in the cpu_pm notifier
Daniel Lezcano [Thu, 8 May 2014 21:55:12 +0000 (06:55 +0900)]
ARM: EXYNOS: Move the power sequence call in the cpu_pm notifier

The code to initiate and exit the powerdown sequence is the same in
pm.c and cpuidle.c.

Let's split the common part in the pm.c and reuse it from the cpu_pm notifier.

That is one more step forward to make the cpuidle driver arch indenpendant.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move the AFTR state function into pm.c
Daniel Lezcano [Thu, 8 May 2014 21:53:00 +0000 (06:53 +0900)]
ARM: EXYNOS: Move the AFTR state function into pm.c

In order to remove depedency on pm code, let's move the 'exynos_enter_aftr'
function into the pm.c file as well as the other helper functions.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Encapsulate the AFTR code into a function
Daniel Lezcano [Thu, 8 May 2014 21:52:59 +0000 (06:52 +0900)]
ARM: EXYNOS: Encapsulate the AFTR code into a function

Let's encapsulate the AFTR state specific call into a single function.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Disable cpuidle for exynos5440
Daniel Lezcano [Thu, 8 May 2014 21:52:59 +0000 (06:52 +0900)]
ARM: EXYNOS: Disable cpuidle for exynos5440

There is no point to register the cpuidle driver for the 5440 as it has only
one WFI state which is the default idle function when the cpuidle driver is
disabled.

By disabling cpuidle we prevent to enter to the governor computation for
nothing, thus saving a lot of processing time.

The only drawback is the statistic via sysfs on this state which is lost but
it is meaningless and it could be retrieved from the ftrace easily.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:52:59 +0000 (06:52 +0900)]
ARM: EXYNOS: Encapsulate boot vector code into a function for cpuidle

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:52:59 +0000 (06:52 +0900)]
ARM: EXYNOS: Pass wakeup mask parameter to function for cpuidle

Pass the wakeup mask to 'exynos_set_wakeupmask' as this function could
be used for different idle states with different mask.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Remove ifdef for scu_enable in pm
Daniel Lezcano [Thu, 8 May 2014 21:53:26 +0000 (06:53 +0900)]
ARM: EXYNOS: Remove ifdef for scu_enable in pm

The scu_enable function is already a noop in the scu's header file is
CONFIG_SMP=n, so no need to use these macros in the code.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move scu_enable in the cpu_pm notifier
Daniel Lezcano [Thu, 8 May 2014 21:50:16 +0000 (06:50 +0900)]
ARM: EXYNOS: Move scu_enable in the cpu_pm notifier

We make the cpuidle code less arch dependent.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Use the cpu_pm notifier for pm
Daniel Lezcano [Thu, 8 May 2014 21:43:27 +0000 (06:43 +0900)]
ARM: EXYNOS: Use the cpu_pm notifier for pm

Use the cpu_pm_enter/exit notifier to group some pm code inside the
pm file.

The save and restore code is duplicated across pm.c and cpuidle.c. By
using the cpu_pm notifier, we can factor out the routine.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:43:27 +0000 (06:43 +0900)]
ARM: EXYNOS: Fix S5P_WAKEUP_STAT call for cpuidle

This function should be called only when the powerdown sequence fails.

Even if the current code does not hurt, by moving this line, we have
the same code than the one in pm.c.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:43:27 +0000 (06:43 +0900)]
ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle

Move the code around to differentiate different section of code and
prepare it to be factored out in the next patches.

The call order changed but hat doesn't have a side effect because
they are independent. The important call is cpu_do_idle() which must
be done the last.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Encapsulate register access inside a function for pm
Daniel Lezcano [Thu, 8 May 2014 21:43:27 +0000 (06:43 +0900)]
ARM: EXYNOS: Encapsulate register access inside a function for pm

That makes the code cleaner and encapsulted. The function will be
reused in the next patch.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Change function name prefix for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:43:26 +0000 (06:43 +0900)]
ARM: EXYNOS: Change function name prefix for cpuidle

The driver was initially written for exynos4 but the driver is used
also for exynos5.

Change the function prefix name exynos4 -> exynos

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Use cpuidle_register
Daniel Lezcano [Thu, 8 May 2014 21:43:26 +0000 (06:43 +0900)]
ARM: EXYNOS: Use cpuidle_register

Use the cpuidle generic function 'cpuidle_register'. That saves us
from some extra lines of code and unneeded variables.

A side effect of this change is a bug fix where before the cpuidle
driver was registered for each_online_cpu and now it is for
each_possible_cpu.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Prevent forward declaration for cpuidle
Daniel Lezcano [Thu, 8 May 2014 21:43:26 +0000 (06:43 +0900)]
ARM: EXYNOS: Prevent forward declaration for cpuidle

Move the structure below the 'exynos4_enter_lowpower' function so no
more need of forward declaration.

Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Move arm core power down clock to exynos5250 common clock
Amit Daniel Kachhap [Thu, 8 May 2014 21:43:26 +0000 (06:43 +0900)]
ARM: EXYNOS: Move arm core power down clock to exynos5250 common clock

Now with common clock support added for exynos5250 it is necessary to
move this code to exynos5250 common clock driver as clock registers
should be handled there. This change is tested in exynos5250 based
arndale platform.

Cc: Abhilash Kesavan <a.kesavan@samsung.com>
Cc: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Kukjin Kim <kgene.kim@samsugn.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: Amit Daniel Kachhap <amit.daniel@samsung.com>
[t.figa: Rebased onto current kernel sources.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoMerge branch 'v3.16-next/clk-samsung' into v3.16-next/cpuidle-exynos
Kukjin Kim [Sun, 25 May 2014 20:20:25 +0000 (05:20 +0900)]
Merge branch 'v3.16-next/clk-samsung' into v3.16-next/cpuidle-exynos

10 years agoDocumentation: sysfs: add Broadcom GISB arbiter sysfs properties
Florian Fainelli [Mon, 19 May 2014 20:06:01 +0000 (13:06 -0700)]
Documentation: sysfs: add Broadcom GISB arbiter sysfs properties

This patch documents the sysfs properties exposed by the Broadcom GISB
bus arbiter hardware.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agoDocumentation: devicetree: add Broadcom GISB arbiter bindings
Florian Fainelli [Mon, 19 May 2014 20:06:00 +0000 (13:06 -0700)]
Documentation: devicetree: add Broadcom GISB arbiter bindings

This patch adds the Broadcom GISB arbiter Device Tree binding that is
used on all Broadcom Set-top-box System-on-a-chip.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agobus: add Broadcom GISB bus arbiter timeout/error handler
Florian Fainelli [Mon, 19 May 2014 20:05:59 +0000 (13:05 -0700)]
bus: add Broadcom GISB bus arbiter timeout/error handler

This patch adds support for the Broadcom GISB arbiter bus timeout/error
handler. GISB is a proprietary bus used by Broadcom Set Top Box
System-on-a-chip devices (BCM7xxx) which allows multiple masters and
clients to be interfaced with each other.

The bus arbiter offers support for generating two interrupts towards the
host CPU, thus allowing us to "catch" clock gated masters, or masters
being volontarily blocked for powersaving purposes, or do general system
troubleshooting.

We also register a hook with the ARM fault exception handling to allow
printing a more informative message than "imprecise external abort at
0x00000000" for instance.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agoMerge tag 'sunxi-drivers-for-3.16-2' of https://github.com/mripard/linux into next...
Arnd Bergmann [Fri, 23 May 2014 22:46:39 +0000 (00:46 +0200)]
Merge tag 'sunxi-drivers-for-3.16-2' of https://github.com/mripard/linux into next/drivers

Allwinner drivers changes for 3.16, take 2

Add reset driver for the A31

* tag 'sunxi-drivers-for-3.16-2' of https://github.com/mripard/linux:
  power: reset: Add Allwinner A31 reset code

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agoMerge tag 'qcom-drivers-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 23 May 2014 22:45:58 +0000 (00:45 +0200)]
Merge tag 'qcom-drivers-for-3.16' of git://git./linux/kernel/git/galak/linux-qcom into next/drivers

Qualcomm ARM Based driver Updates for v3.16

* Introduce drivers/soc directory for misc SoC specific code
* Add driver to configure GSBI device

* tag 'qcom-drivers-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
  soc: qcom: Add GSBI driver
  soc: Introduce drivers/soc place-holder for SOC specific drivers

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
10 years agosoc: qcom: Add GSBI driver
Andy Gross [Thu, 24 Apr 2014 16:31:21 +0000 (11:31 -0500)]
soc: qcom: Add GSBI driver

The GSBI (General Serial Bus Interface) driver controls the overarching
configuration of the shared serial bus infrastructure on APQ8064, IPQ8064, and
earlier QCOM processors.  The GSBI supports UART, I2C, SPI, and UIM
functionality in various combinations.

Signed-off-by: Andy Gross <agross@codeaurora.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
10 years agosoc: Introduce drivers/soc place-holder for SOC specific drivers
Santosh Shilimkar [Wed, 23 Apr 2014 23:46:17 +0000 (19:46 -0400)]
soc: Introduce drivers/soc place-holder for SOC specific drivers

Based on earlier thread "https://lkml.org/lkml/2013/10/7/662" and
discussion at Kernel Summit'2013, it was agreed to create
'driver/soc' for drivers which are quite SOC specific.

Further discussion on the subject is in response to
the earlier version of the patch is here:
http://lwn.net/Articles/588942/

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Kumar Gala <galak@codeaurora.org>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sandeep Nair <sandeep_n@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
10 years agopower: reset: Add Allwinner A31 reset code
Maxime Ripard [Wed, 7 May 2014 02:44:20 +0000 (21:44 -0500)]
power: reset: Add Allwinner A31 reset code

That code used to be in the machine code, but it's more fit here with other
restart hooks.

That will allow to cleanup the machine directory, while waiting for a proper
watchdog driver for the A31.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
10 years agoARM: edma: Remove redundant/unused parameters from edma_soc_info
Peter Ujfalusi [Fri, 16 May 2014 12:17:20 +0000 (15:17 +0300)]
ARM: edma: Remove redundant/unused parameters from edma_soc_info

The following parameters are no longer needed by the edma driver since the
information can be obtained from the IP's CCCFG register:
n_channel, n_region, n_slot and n_tc.
Remove the n_cc as well since in this context it has no meaning. We have
separate edma_soc_info struct/eDMA3_CC instance so this member does not
make any sense (and the driver no longer uses it).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: davinci: Remove redundant/unused parameters for edma
Peter Ujfalusi [Fri, 16 May 2014 12:17:19 +0000 (15:17 +0300)]
ARM: davinci: Remove redundant/unused parameters for edma

The following parameters are no longer needed by the edma driver since the
information can be obtained from the IP's CCCFG register:
n_channel, n_region, n_slot and n_tc.
Remove the initialization of n_cc as well since in this context it has no
meaning. We have separate edma_soc_info struct/eDMA3_CC instance so this
member does not make any sense (and the driver no longer uses it).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: dts: am4372: Remove obsolete properties from edma node
Peter Ujfalusi [Fri, 16 May 2014 12:17:18 +0000 (15:17 +0300)]
ARM: dts: am4372: Remove obsolete properties from edma node

dma-channels, ti,edma-regions and ti,edma-slots no longer needed in DT since
the the same information is available in the IP's CCCFG register.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: dts: am33xx: Remove obsolete properties from edma node
Peter Ujfalusi [Fri, 16 May 2014 12:17:17 +0000 (15:17 +0300)]
ARM: dts: am33xx: Remove obsolete properties from edma node

dma-channels, ti,edma-regions and ti,edma-slots no longer needed in DT since
the the same information is available in the IP's CCCFG register.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agodt/bindings: ti,edma: Remove redundant properties from documentation
Peter Ujfalusi [Fri, 16 May 2014 12:17:16 +0000 (15:17 +0300)]
dt/bindings: ti,edma: Remove redundant properties from documentation

From CCCFG register of eDMA3 we can get all the needed information for the
driver about the IP:
Number of channels: NUM_DMACH
Number of regions: NUM_REGN
Number of slots (PaRAM sets): NUM_PAENTRY
Number of TC/EQ: NUM_EVQUE

The ti,edma-regions; ti,edma-slots and dma-channels in DT are
redundant since the very same information can be obtained from the HW.
The mentioned properties are deprecated.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Get IP configuration from HW (number of channels, tc, etc)
Peter Ujfalusi [Fri, 16 May 2014 12:17:15 +0000 (15:17 +0300)]
ARM: edma: Get IP configuration from HW (number of channels, tc, etc)

From CCCFG register of eDMA3 we can get all the needed information for the
driver about the IP:
Number of channels: NUM_DMACH
Number of regions: NUM_REGN
Number of slots (PaRAM sets): NUM_PAENTRY
Number of TC/EQ: NUM_EVQUE

In case when booted with DT or the queue_priority_mapping is not provided
set up a default priority map.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Joel Fernandes <joelf@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Save number of regions from pdata to struct edma
Peter Ujfalusi [Fri, 16 May 2014 12:17:14 +0000 (15:17 +0300)]
ARM: edma: Save number of regions from pdata to struct edma

To be consistent in the code that we take parameters from edma_cc[j] struct
and not randomly from info[j] as well.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Remove num_cc member from struct edma
Peter Ujfalusi [Fri, 16 May 2014 12:17:13 +0000 (15:17 +0300)]
ARM: edma: Remove num_cc member from struct edma

The struct edma is allocated per CC bases so the member num_cc does not make
any sense. One CC is one CC, it does not have sub CCs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Remove queue_tc_mapping data from edma_soc_info
Peter Ujfalusi [Fri, 16 May 2014 12:17:12 +0000 (15:17 +0300)]
ARM: edma: Remove queue_tc_mapping data from edma_soc_info

It is no longer in use by the driver or board files.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoMerge tag 'samsung-drivers' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene...
Olof Johansson [Thu, 22 May 2014 05:32:57 +0000 (22:32 -0700)]
Merge tag 'samsung-drivers' of git./linux/kernel/git/kgene/linux-samsung into next/drivers

Merge "Samsung driver update for 3.16" from Kukjin Kim:

exynos_mct update for v3.16

- register sched_clock callback to use clocksource mct-frc

* tag 'samsung-drivers' of http://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  clocksource: exynos_mct: register sched_clock callback

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoARM: davinci: Remove eDMA3 queue_tc_mapping data from edma_soc_info
Peter Ujfalusi [Fri, 16 May 2014 12:17:11 +0000 (15:17 +0300)]
ARM: davinci: Remove eDMA3 queue_tc_mapping data from edma_soc_info

It is ignored by the edma driver since we are just setting back the default
mapping of TC -> Queue.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Do not change TC -> Queue mapping, leave it to default.
Peter Ujfalusi [Fri, 16 May 2014 12:17:10 +0000 (15:17 +0300)]
ARM: edma: Do not change TC -> Queue mapping, leave it to default.

There is no need to change the default TC -> Queue mapping. By default the
mapping is: TC0 -> Q0, TC1 -> Q1, etc.
Changing this has no benefits at all and all the board files are just setting
the same mapping back to the HW.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Take the number of tc from edma_soc_info (pdata)
Peter Ujfalusi [Fri, 16 May 2014 12:17:09 +0000 (15:17 +0300)]
ARM: edma: Take the number of tc from edma_soc_info (pdata)

Instead of saving the for loop length, take the num_tc value from the pdata.
In case of DT boot set the n_tc to 3 as it is hardwired in edma_of_parse_dt()
This is a temporary state since upcoming patch(es) will change how we are
dealing with these parameters.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: No need to clean the pdata in edma_of_parse_dt()
Peter Ujfalusi [Fri, 16 May 2014 12:17:08 +0000 (15:17 +0300)]
ARM: edma: No need to clean the pdata in edma_of_parse_dt()

The pdata has been just allocated with devm_kzalloc() in
edma_setup_info_from_dt() and passed to this function.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoARM: edma: Clean up and simplify the code around irq request
Peter Ujfalusi [Tue, 13 May 2014 07:26:01 +0000 (10:26 +0300)]
ARM: edma: Clean up and simplify the code around irq request

Get the two interrupt line number at the same time by merging the two
instance of if(node){}else{} places.
replace the &pdev->dev with the already existing dev which makes it possible
to collapse lines with devm_request_irq()

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
10 years agoMerge branch 'sunxi/drivers-for-3.16' of https://github.com/mripard/linux into next...
Olof Johansson [Wed, 21 May 2014 21:42:56 +0000 (14:42 -0700)]
Merge branch 'sunxi/drivers-for-3.16' of https://github.com/mripard/linux into next/drivers

Merge "Allwinner drivers changes for 3.16" from Maxime Ripard:

Reset drivers for the A31, that have been merged with reset maintainer's
Acked-by.

* 'sunxi/drivers-for-3.16' of https://github.com/mripard/linux:
  reset: sunxi: allow MFD subdevices probe
  reset: sunxi: document sunxi's reset controllers bindings

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'mvebu-drivers-3.16' of git://git.infradead.org/linux-mvebu into next/drivers
Olof Johansson [Tue, 20 May 2014 04:52:18 +0000 (21:52 -0700)]
Merge tag 'mvebu-drivers-3.16' of git://git.infradead.org/linux-mvebu into next/drivers

Merge "ARM: mvebu: driver changes for v3.16" from Jason Cooper:

mvebu driver changes for v3.16

 - mvebu-devbus
    - changes need to add support for the orion5x platform

* tag 'mvebu-drivers-3.16' of git://git.infradead.org/linux-mvebu:
  memory: mvebu-devbus: add a devbus, keep-config property
  memory: mvebu-devbus: add Orion5x support
  memory: mvebu-devbus: split functions
  memory: mvebu-devbus: use _SHIFT suffixes instead of _BIT
  memory: mvebu-devbus: use ARMADA_ prefix in defines
  ARM: orion5x: fix target ID for crypto SRAM window
  memory: mvebu-devbus: fix the conversion of the bus width

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoclk: exynos5420: Add 5800 specific clocks
Alim Akhtar [Mon, 19 May 2014 13:15:08 +0000 (22:15 +0900)]
clk: exynos5420: Add 5800 specific clocks

Exynos5800 clock structure is mostly similar to 5420 with only
a small delta changes. So the 5420 clock file is re-used for
5800 also. The common clocks for both are seggreagated and few
clocks which are different for both are separately initialized.

Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Acked-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agodt-bindings: add documentation for Exynos3250 clock controller
Chanwoo Choi [Fri, 16 May 2014 22:37:37 +0000 (07:37 +0900)]
dt-bindings: add documentation for Exynos3250 clock controller

The Exynos3250 clocks are statically listed and registered using the
Samsung specific common clock helper functions. Both device tree based
clock lookup and clkdev based clock lookups are supported.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
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: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoMerge branch 'for_3.16/exynos3250' of git://git.kernel.org/pub/scm/linux/kernel/git...
Kukjin Kim [Fri, 16 May 2014 22:36:15 +0000 (07:36 +0900)]
Merge branch 'for_3.16/exynos3250' of git://git./linux/kernel/git/tfiga/samsung-clk into v3.16-next/clk-samsung

Pull Samsung clock exynos3250 from Tomasz Figa:

"This small pull request contains a patch adding clock driver for Exynos3250,
which depends on previous pull requests in this series."

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoMerge branch 'for_3.16/clk_cleanup' of git://git.kernel.org/pub/scm/linux/kernel...
Kukjin Kim [Fri, 16 May 2014 22:34:34 +0000 (07:34 +0900)]
Merge branch 'for_3.16/clk_cleanup' of git://git./linux/kernel/git/tfiga/samsung-clk into v3.16-next/clk-samsung

Pull Samsung clock cleanup from Tomasz Figa:

"This pull requests contains minor clean-up related to Samsung clock
support, including:

1) move Kconfig entries of Samsung clock drivers to drivers/clk,

2) compile drivers/clk/samsung conditionally when COMMON_CLK_SAMSUNG is
selected,

3) remove obsolete Kconfig lines after moving s3c24xx to CCF."

Conflicts:
arch/arm/mach-s3c24xx/Kconfig

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoMerge branch 'for_3.16/clk_fixes_non_critical' of git://git.kernel.org/pub/scm/linux...
Kukjin Kim [Fri, 16 May 2014 22:30:32 +0000 (07:30 +0900)]
Merge branch 'for_3.16/clk_fixes_non_critical' of git://git./linux/kernel/git/tfiga/samsung-clk into v3.16-next/clk-samsung

Pull Samsung clock non-critical fixes from Tomasz Figa:

"This pull requests contains a number of non-critical fixes for Samsung clock
framework and drivers, including:

1) a series of fixes for Exynos5420 to correct clock definitions and make the
driver closer to the documentation,

2) several missing clocks and clock IDs added to Exynos4, Exynos5250 and
Exynos5420 drivers,

3) fix for incorrect initialization of clock table with NULL,

4) compiler warning fix."

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoMerge branch 'for_3.16/exynos5260' of git://git.kernel.org/pub/scm/linux/kernel/git...
Kukjin Kim [Fri, 16 May 2014 22:10:49 +0000 (07:10 +0900)]
Merge branch 'for_3.16/exynos5260' of git://git./linux/kernel/git/tfiga/samsung-clk into v3.16-next/clk-samsung

Pull Samsung clock exynos5260 from Tomasz Figa:

"This pull request contains patches preparing Samsung Common Clock Framework
helpers to support Exynos5260 by adding support for multiple clock providers
and then adding clock driver for Exynos5260."

Acked-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Add MCPM call-back functions
Abhilash Kesavan [Thu, 15 May 2014 19:26:30 +0000 (04:26 +0900)]
ARM: EXYNOS: Add MCPM call-back functions

Add machine-dependent MCPM call-backs for Exynos5420. These are used
to power up/down the secondary CPUs during boot, shutdown, s2r and
switching.

Signed-off-by: Thomas Abraham <thomas.ab@samsung.com>
Signed-off-by: Inderpal Singh <inderpal.s@samsung.com>
Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: dts: add CCI node for exynos5420
Andrew Bresticker [Thu, 15 May 2014 19:23:26 +0000 (04:23 +0900)]
ARM: dts: add CCI node for exynos5420

Add device-tree bindings for the ARM CCI-400 on Exynos5420. There
are two slave interfaces: one for the A15 cluster and one for the
A7 cluster.

Signed-off-by: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Add generic cluster power control functions
Abhilash Kesavan [Thu, 15 May 2014 19:23:26 +0000 (04:23 +0900)]
ARM: EXYNOS: Add generic cluster power control functions

Add generic cluster power control functions for exynos based SoCS
for cluster power up/down and to know the cluster status.

Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: use generic exynos cpu power control functions
Leela Krishna Amudala [Thu, 15 May 2014 19:23:25 +0000 (04:23 +0900)]
ARM: EXYNOS: use generic exynos cpu power control functions

Use generic exynos cpu power control functions to power up/down
and to know the status of the cpu in platsmp and hotplug code.

Signed-off-by: Leela Krishna Amudala <leela.krishna@linaro.org>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Add generic cpu power control functions for exynos SoCs
Leela Krishna Amudala [Thu, 15 May 2014 19:23:24 +0000 (04:23 +0900)]
ARM: EXYNOS: Add generic cpu power control functions for exynos SoCs

Add generic cpu power control functions for exynos based
SoCS for cpu power up/down and to know the cpu status.

Signed-off-by: Leela Krishna Amudala <leela.krishna@linaro.org>
Signed-off-by: Abhilash Kesavan <a.kesavan@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoreset: sunxi: allow MFD subdevices probe
Boris BREZILLON [Wed, 14 May 2014 12:38:16 +0000 (14:38 +0200)]
reset: sunxi: allow MFD subdevices probe

The current implementation uses sunxi_reset_init function for both early
init and platform device probe.

The sunxi_reset_init function uses DT to retrieve device resources, which
will be an issue if reset controllers are registered from an MFD device
that define resources from mfd_cell definition.

Moreover, we can make of devm functions when we're in the probe context.

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
10 years agoreset: sunxi: document sunxi's reset controllers bindings
Boris BREZILLON [Wed, 14 May 2014 12:38:15 +0000 (14:38 +0200)]
reset: sunxi: document sunxi's reset controllers bindings

Add DT bindings documentation for sunxi's reset controllers.

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
10 years agoARM: S3C24XX: fix merge conflict
Kukjin Kim [Thu, 8 May 2014 20:51:43 +0000 (05:51 +0900)]
ARM: S3C24XX: fix merge conflict

Missed some changes during re-sorting this branch.
So fixed it.

Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agodevicetree: bindings: document SYSRAM binding
Sachin Kamat [Mon, 12 May 2014 22:13:47 +0000 (07:13 +0900)]
devicetree: bindings: document SYSRAM binding

Add SRAM binding documentation.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
[kgene.kim@samsung.com: changed name SRAM to SYSRAM]
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoARM: EXYNOS: Map SYSRAM through generic DT bindings
Sachin Kamat [Mon, 12 May 2014 22:13:44 +0000 (07:13 +0900)]
ARM: EXYNOS: Map SYSRAM through generic DT bindings

Instead of hardcoding the SYSRAM details for each SoC,
pass this information through device tree (DT) and make
the code SoC agnostic. Generic DT SRAM bindings are
used for achieving this.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
10 years agoclk: samsung: exynos3250: Add clocks using common clock framework
Tomasz Figa [Tue, 13 May 2014 13:05:06 +0000 (22:05 +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>
Cc: Mike Turquette <mturquette@linaro.org>
Cc: Kukjin Kim <kgene.kim@samsung.com>
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>
10 years agodrivers: clk: use COMMON_CLK_SAMSUNG for Samsung clock support
Pankaj Dubey [Thu, 8 May 2014 04:07:11 +0000 (13:07 +0900)]
drivers: clk: use COMMON_CLK_SAMSUNG for Samsung clock support

This patch replaces PLAT_SAMSUNG with COMMON_CLK_SAMSUNG for Samsung
common clock support. Any Samsung SoC want to use Samsung common clock
infrastructure can simply select COMMON_CLK_SAMSUNG.

CC: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoARM: S3C24XX: move S3C24XX clock Kconfig options to Samsung clock Kconfig file
Pankaj Dubey [Thu, 8 May 2014 04:07:10 +0000 (13:07 +0900)]
ARM: S3C24XX: move S3C24XX clock Kconfig options to Samsung clock Kconfig file

This patch moves S3C24XX specific clock Kconfig options into
"clk/samsung/Kconfig" and also removes COMMON_CLK selection from
"mach-s3c24xx/Kconfig" as S3C24XX_COMMON_CLK is selecting it's dependency.

CC: Ben Dooks <ben-linux@fluff.org>
CC: Kukjin Kim <kgene.kim@samsung.com>
CC: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoARM: select COMMON_CLK_SAMSUNG for ARCH_EXYNOS and ARCH_S3C64XX
Pankaj Dubey [Thu, 8 May 2014 04:07:09 +0000 (13:07 +0900)]
ARM: select COMMON_CLK_SAMSUNG for ARCH_EXYNOS and ARCH_S3C64XX

This patch selects COMMON_CLK_SAMSUNG for EXYNOS and S3C64XX SoC
and removes COMMON_CLK selection as COMMON_CLK_SAMSUNG selects it's dependency.

CC: Russell King <linux@arm.linux.org.uk>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: add new Kconfig for Samsung common clock option
Pankaj Dubey [Thu, 8 May 2014 04:07:08 +0000 (13:07 +0900)]
clk: samsung: add new Kconfig for Samsung common clock option

This patch adds new Kconfig file for adding new COMMON_CLK_SAMSUNG option.
Samsung platforms can select this for using common clock infrastructure.

CC: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoARM: S3C24XX: Remove omitted Kconfig selects and conditionals
Tomasz Figa [Wed, 14 May 2014 15:03:20 +0000 (17:03 +0200)]
ARM: S3C24XX: Remove omitted Kconfig selects and conditionals

After full migration of s3c24xx to Common Clock Framework, some unneeded
entries in Kconfig still remained. Delete them.

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: add more registers to restore list
Shaik Ameer Basha [Thu, 8 May 2014 11:28:04 +0000 (16:58 +0530)]
clk: samsung: exynos5420: add more registers to restore list

This patch adds more register offsets to the list for
preserving their values during S2R.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: add misc clocks
Shaik Ameer Basha [Thu, 8 May 2014 11:28:03 +0000 (16:58 +0530)]
clk: samsung: exynos5420: add misc clocks

This patch adds some missing miscellaneous clocks specific
to exynos5420.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for MAU Block
Shaik Ameer Basha [Thu, 8 May 2014 11:28:02 +0000 (16:58 +0530)]
clk: samsung: exynos5420: update clocks for MAU Block

This patch adds the missing MAU block specific clocks.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: fix register offset for sclk_bpll
Shaik Ameer Basha [Thu, 8 May 2014 11:28:01 +0000 (16:58 +0530)]
clk: samsung: exynos5420: fix register offset for sclk_bpll

This patch fixes the wrong register offset for sclk_bpll clock.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: correct sysmmu-mfc parent clocks
Shaik Ameer Basha [Thu, 8 May 2014 11:28:00 +0000 (16:58 +0530)]
clk: samsung: exynos5420: correct sysmmu-mfc parent clocks

This patch corrects the wrong parent-child relationship
between sysmmu-mfc clocks.

Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for FSYS and FSYS2 blocks
Shaik Ameer Basha [Thu, 8 May 2014 11:27:59 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for FSYS and FSYS2 blocks

This patch adds more clocks from FSYS and FSYS2 blocks
and uses GATE_IP_* registers for gating IPs.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for WCORE block
Shaik Ameer Basha [Thu, 8 May 2014 11:27:58 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for WCORE block

This patch adds missing clocks for WCORE block.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for PERIS and GEN blocks
Shaik Ameer Basha [Thu, 8 May 2014 11:27:57 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for PERIS and GEN blocks

This patch fixes some parent-child relationships according
to the latest datasheet and adds more clocks related to
PERIS and GEN blocks.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for PERIC block
Shaik Ameer Basha [Thu, 8 May 2014 11:27:56 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for PERIC block

This patch includes,
    1] renaming of the HSI2C clocks
    2] renaming of spi clocks according to the datasheet
    3] fixes for child-parent relationships
    4] adding of more clocks related to PERIC block
    5] use GATE_IP_* offsets instead of GATE_BUS_*

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for DISP1 block
Shaik Ameer Basha [Thu, 8 May 2014 11:27:55 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for DISP1 block

This patch corrects some child-parent clock relationships,
and updates the clocks according to the latest datasheet.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for G2D and G3D blocks
Shaik Ameer Basha [Thu, 8 May 2014 11:27:54 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for G2D and G3D blocks

This patch adds missing clocks of G2D block. It also removes
the aclkg3d alias from G3D block clocks.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: fix parent clocks for mscl sysmmu
Shaik Ameer Basha [Thu, 8 May 2014 11:27:53 +0000 (16:57 +0530)]
clk: samsung: exynos5420: fix parent clocks for mscl sysmmu

This patch fixes the parent clocks for mscl sysmmu.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: update clocks for GSCL and MSCL blocks
Shaik Ameer Basha [Thu, 8 May 2014 11:27:52 +0000 (16:57 +0530)]
clk: samsung: exynos5420: update clocks for GSCL and MSCL blocks

This patch adds the missing GSCL and MSCL block clocks
and corrects some wrong parent-child relationships.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: add clocks for ISP block
Shaik Ameer Basha [Thu, 8 May 2014 11:27:51 +0000 (16:57 +0530)]
clk: samsung: exynos5420: add clocks for ISP block

This patch adds minimum set of clocks to gate ISP block for
power saving.

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: Rename mux parent arrays
Shaik Ameer Basha [Thu, 8 May 2014 11:27:50 +0000 (16:57 +0530)]
clk: samsung: exynos5420: Rename mux parent arrays

This patch renames the mux parent arrays as per the naming
convension followed by the other exynos specific clock drivers.
And it also renames "mout_cpu_kfc" clock to "mout_kfc".

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: Add clock IDs needed by GPU
Arun Kumar K [Mon, 28 Apr 2014 10:20:44 +0000 (15:50 +0530)]
clk: samsung: exynos5420: Add clock IDs needed by GPU

Adds IDs for the clocks needed by the ARM Mali GPU
in exynos5420.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos4: export sclk_hdmiphy clock
Tomasz Stanislawski [Fri, 4 Apr 2014 14:53:19 +0000 (16:53 +0200)]
clk: samsung: exynos4: export sclk_hdmiphy clock

Export sclk_hdmiphy clock to be usable from DT.

Signed-off-by: Tomasz Stanislawski <t.stanislaws@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5250: Add clocks for G3D
Arun Kumar K [Mon, 28 Apr 2014 09:37:01 +0000 (15:07 +0530)]
clk: samsung: exynos5250: Add clocks for G3D

This patch adds the required clocks for ARM Mali IP
in Exynos5250.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
[t.figa: Changed clock ID to avoid conflict with CLK_SSS]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos4: Use single clock ID for CLK_MDMA gate clocks
Sylwester Nawrocki [Tue, 15 Apr 2014 16:30:20 +0000 (18:30 +0200)]
clk: samsung: exynos4: Use single clock ID for CLK_MDMA gate clocks

Exynos4210 and Exynos4x12 SoCs have the PL330 MDMA IP block clock
defined exactly in same way in documentation. Using different
names for these clocks is a bit misleading. Since there is no users
of CLK_MDMA2 in existing dts files this patch drops CLK_MDMA2 and
replaces it with CLK_MDMA in the driver. This ensures PL330 MDMA
has correct clock assigned on Exynos4x12 SoCs.

Suggested-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: fixed compiler warning [-Wpointer-to-int-cast]
Pankaj Dubey [Wed, 26 Feb 2014 02:42:41 +0000 (11:42 +0900)]
clk: samsung: fixed compiler warning [-Wpointer-to-int-cast]

When compiled using ARM64 cross compiler, gcc complains as

drivers/clk/samsung/clk.c:293:18:
warning: cast from pointer to integer of different size
[-Wpointer-to-int-cast]

Signed-off-by: Pankaj Dubey <pankaj.dubey@samsung.com>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5420: Fix VPLL lock offset
Sachin Kamat [Thu, 13 Mar 2014 03:27:02 +0000 (08:57 +0530)]
clk: samsung: exynos5420: Fix VPLL lock offset

Set it as per the user manual.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Tomasz Figa <t.figa@samsung.com>
10 years agoclk: samsung: exynos5250/5420: Add gate clock for SSS module
Naveen Krishna Chatradhi [Mon, 17 Feb 2014 09:44:31 +0000 (15:14 +0530)]
clk: samsung: exynos5250/5420: Add gate clock for SSS module

This patch adds gating clock for SSS(Security SubSystem)
module on Exynos5250/5420.

Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
[t.figa: Fixed sort order and group name.]
Signed-off-by: Tomasz Figa <t.figa@samsung.com>