linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pankaj Dubey <pankaj.dubey@samsung.com>
To: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Cc: kgene.kim@samsung.com, linux@arm.linux.org.uk,
	t.figa@samsung.com, chow.kim@samsung.com,
	yg1004.jang@samsung.com, vikas.sajjan@samsung.com,
	s.nawrocki@samsung.com, b.zolnierkie@samsung.com,
	Pankaj Dubey <pankaj.dubey@samsung.com>
Subject: [PATCH v2 00/10] ARM: Exynos: PMU cleanup and refactoring for using DT
Date: Fri, 25 Apr 2014 21:32:36 +0900	[thread overview]
Message-ID: <1398429166-5539-1-git-send-email-pankaj.dubey@samsung.com> (raw)
In-Reply-To: <1396425058-4012-1-git-send-email-pankaj.dubey@samsung.com>

This patch series, does some minor cleanup and modifies Exynos PMU related
code for mapping and initialization of Exynos Power Management Unit (PMU)
base address from device tree. This is also preparation for moving PMU
related code out of machine folder and moving into a "drivers/mfd", so that
ARM64 based SoC can utilize common piece of code. These patches require change
in Exynos4210, Exynos4212 and Exynos4412 dtsi files, which has been posted
as separate patch series [2]

These patches are created on top of Kukjin Kim's for-next (v3.15-rc1 tag)
branch.

These patches depends on following two patch series:
1) mfd: syscon: Support early initialization
   https://lkml.org/lkml/2014/4/8/239
2) Add PMU node for Exynos SoCs
   http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg29329.html

We have tested these patches on SMDK5250 and Arndale (Exynos5250) boards for
System boot and PMU initialization and S2R.

For testing on Arndale (Exynos5250) board:
Tested-by: Pankaj Dubey <pankaj.dubey@samsung.com>

Changes Since v1:
 - Rebased on latest for-next of Kukjin Kim's tree.
 - Added patch: "Make exynos machine_ops as static". 
	For making more cleanup in "mach-exynos/common.h"
	as suggested by Tomasz Figa.
 - Addressed comments of Tomasz Figa for cleaning "mach-exynos/common.h".
 - Updated patch: Remove file path from comment section
	As suggested by Michel Simek, instead of updating file path
	lets remove them from each file under "mach-exynos".
	Even though Kukjin pointed out that there is similar patch pending from
	Sachin/Tushar but since I could not find I have included this here. If
	I have missed something please point to any existing such patch.
 - Updated patch: Add support for mapping PMU base address via DT
	- Removed __initdata from declaration of "exynos_pmu_base", as it caused
	kernel crash as pointed out by Vikas Sajjan.
	- Added support for Syscon initialization and getting PMU regmap handle
	as suggested by Sylwester. Since current implementation of early
	intialization [1] has limitation that "early_syscon_init" requires
	DT to be unflattened and system should be able to allocate memory,
	we can't use regmap handles for platsmp.c file as "smp_secondary_init"
	will be called before DT unflattening. So I have kept both method for
	accessing PMU base address. platsmp.c will use ioremmaped address where
	as rest other files can use regmap handle.
 - Added patch: Remove "linux/bug.h" from pmu.c.
 - Updated patch: Refactored code for PMU register mapping via DT
	- Modified to use regmap_read/write when using regmap handle.
 - Added patch: Move "mach/map.h" inclusion from regs-pmu.h to platsmp.c
 - Added patch: Add device tree based initialization support for PMU.
	- Convert existing PMU implementation to be a device tree based 
	 before moving it to "drivers/mfd" folder. As suggested by Bartlomiej.
	- Dropped making a platform_driver for PMU, as currently PMU binding
	has two compatibility strings as "samsung, exynosxxx-pmu", "syscon",
	once we	enable MFD_SYSCON config option, current "syscon" driver probe
	gets called and PMU probe never gets called. So modified PMU
	initialization code to scan DT and match against supported compatiblity
	string in driver code, and once we get matching node use that for
	accessing PMU regmap handle using "syscon_early_regmap_lookup_by_phandle".
	If there is any better solution please suggest.

Pankaj Dubey (6):
  ARM: EXYNOS: Make exynos machine_ops as static
  ARM: EXYNOS: Cleanup "mach-exynos/common.h" file
  ARM: EXYNOS: Remove file path from comment section
  ARM: EXYNOS: Refactored code for using PMU address via DT
  ARM: EXYNOS: Move "mach/map.h" inclusion from regs-pmu.h to platsmp.c
  ARM: EXYNOS: Add device tree based initialization support for PMU.

Young-Gun Jang (4):
  ARM: EXYNOS: Move SYSREG definition into sys-reg specific file.
  ARM: EXYNOS: Remove regs-pmu.h header dependency from pm_domain
  ARM: EXYNOS: Add support for mapping PMU base address via DT
  ARM: EXYNOS: Remove "linux/bug.h" from pmu.c

 arch/arm/mach-exynos/Kconfig               |    2 +
 arch/arm/mach-exynos/common.h              |   13 +-
 arch/arm/mach-exynos/cpuidle.c             |   37 +-
 arch/arm/mach-exynos/exynos.c              |  104 +++++-
 arch/arm/mach-exynos/headsmp.S             |    2 -
 arch/arm/mach-exynos/hotplug.c             |    7 +-
 arch/arm/mach-exynos/include/mach/map.h    |    3 -
 arch/arm/mach-exynos/include/mach/memory.h |    3 +-
 arch/arm/mach-exynos/platsmp.c             |   17 +-
 arch/arm/mach-exynos/pm.c                  |   61 ++--
 arch/arm/mach-exynos/pm_domains.c          |    2 +-
 arch/arm/mach-exynos/pmu.c                 |  191 ++++++++---
 arch/arm/mach-exynos/regs-pmu.h            |  512 ++++++++++++++--------------
 arch/arm/mach-exynos/regs-sys.h            |   22 ++
 14 files changed, 585 insertions(+), 391 deletions(-)
 create mode 100644 arch/arm/mach-exynos/regs-sys.h

-- 
1.7.10.4


  parent reply	other threads:[~2014-04-25 12:15 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-02  7:50 [PATCH 0/7] ARM: Exynos: PMU cleanup and refactoring for using DT Pankaj Dubey
2014-04-02  7:50 ` [PATCH 01/10] ARM: EXYNOS: Cleanup "mach-exynos/common.h" file Pankaj Dubey
2014-04-08 15:59   ` Tomasz Figa
2014-04-10  4:35     ` Pankaj Dubey
2014-04-02  7:50 ` [PATCH 02/10] ARM: EXYNOS: Correct file path in comment message Pankaj Dubey
2014-04-02 12:01   ` Michal Simek
2014-04-03  1:40     ` Pankaj Dubey
2014-04-03  2:12       ` Kukjin Kim
2014-04-02  7:50 ` [PATCH 03/10] ARM: EXYNOS: Move SYSREG definition into sys-reg specific file Pankaj Dubey
2014-04-02 11:27   ` Sylwester Nawrocki
2014-04-11  6:07     ` Pankaj Dubey
2014-04-02  7:50 ` [PATCH 04/10] ARM: EXYNOS: Remove regs-pmu.h file dependency from pm_domain Pankaj Dubey
2014-04-02  7:50 ` [PATCH 05/10] ARM: EXYNOS: Move "regs-pmu" header inclusion in common.h Pankaj Dubey
2014-04-08 16:09   ` Tomasz Figa
2014-04-10  4:58     ` Pankaj Dubey
2014-04-02  7:50 ` [PATCH 06/10] ARM: EXYNOS: Add support for mapping PMU base address via DT Pankaj Dubey
2014-04-02 11:48   ` Sylwester Nawrocki
2014-04-02 12:15     ` Michal Simek
2014-04-03  9:07       ` Sylwester Nawrocki
2014-04-05 10:58         ` Pankaj Dubey
2014-04-07  6:02           ` Michal Simek
2014-04-05 10:53     ` Pankaj Dubey
2014-04-23 13:02   ` Vikas Sajjan
2014-04-24  2:45     ` Pankaj Dubey
2014-04-02  7:50 ` [PATCH 07/10] ARM: EXYNOS: Refactored code for PMU register mapping " Pankaj Dubey
2014-04-25 12:32 ` Pankaj Dubey [this message]
2014-04-25 12:32   ` [PATCH v2 01/10] ARM: EXYNOS: Make exynos machine_ops as static Pankaj Dubey
2014-04-25 21:05     ` Tomasz Figa
2014-04-26  4:42       ` Pankaj Dubey
2014-04-25 12:32   ` [PATCH v2 02/10] ARM: EXYNOS: Cleanup "mach-exynos/common.h" file Pankaj Dubey
2014-04-25 21:06     ` Tomasz Figa
2014-04-25 12:32   ` [PATCH v2 03/10] ARM: EXYNOS: Move SYSREG definition into sys-reg specific file Pankaj Dubey
2014-04-25 21:08     ` Tomasz Figa
2014-04-25 12:32   ` [PATCH v2 04/10] ARM: EXYNOS: Remove file path from comment section Pankaj Dubey
2014-04-25 21:14     ` Tomasz Figa
2014-04-25 12:32   ` [PATCH v2 05/10] ARM: EXYNOS: Remove regs-pmu.h header dependency from pm_domain Pankaj Dubey
2014-04-25 21:19     ` Tomasz Figa
2014-04-26  3:39       ` Pankaj Dubey
2014-04-25 12:32   ` [PATCH v2 06/10] ARM: EXYNOS: Add support for mapping PMU base address via DT Pankaj Dubey
2014-04-25 21:43     ` Tomasz Figa
2014-04-27  7:29       ` Pankaj Dubey
2014-04-25 12:32   ` [PATCH v2 07/10] ARM: EXYNOS: Remove "linux/bug.h" from pmu.c Pankaj Dubey
2014-04-25 21:44     ` Tomasz Figa
2014-04-25 12:32   ` [PATCH v2 08/10] ARM: EXYNOS: Refactored code for using PMU address via DT Pankaj Dubey
2014-04-25 22:19     ` Tomasz Figa
2014-04-26  3:32       ` Pankaj Dubey
2014-04-25 12:32   ` [PATCH v2 09/10] ARM: EXYNOS: Move "mach/map.h" inclusion from regs-pmu.h to platsmp.c Pankaj Dubey
2014-04-25 12:32   ` [PATCH v2 10/10] ARM: EXYNOS: Add device tree based initialization support for PMU Pankaj Dubey
2014-04-25 22:40     ` Tomasz Figa
2014-04-26  4:36       ` Pankaj Dubey
2014-04-25 22:43   ` [PATCH v2 00/10] ARM: Exynos: PMU cleanup and refactoring for using DT Tomasz Figa
2014-04-26  2:07     ` Pankaj Dubey

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1398429166-5539-1-git-send-email-pankaj.dubey@samsung.com \
    --to=pankaj.dubey@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=chow.kim@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=s.nawrocki@samsung.com \
    --cc=t.figa@samsung.com \
    --cc=vikas.sajjan@samsung.com \
    --cc=yg1004.jang@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).