linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antoine Tenart <antoine.tenart@free-electrons.com>
To: sebastian.hesselbarth@gmail.com, sameo@linux.intel.com,
	lee.jones@linaro.org, p.zabel@pengutronix.de,
	linus.walleij@linaro.org
Cc: Antoine Tenart <antoine.tenart@free-electrons.com>,
	jszhang@marvell.com, zmxu@marvell.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 00/11] ARM: berlin: refactor chip and system controllers
Date: Wed, 11 Feb 2015 17:15:21 +0100	[thread overview]
Message-ID: <1423671332-24580-1-git-send-email-antoine.tenart@free-electrons.com> (raw)

Hi,

Marvell Berlin SoCs have a chip control register set providing several
individual registers dealing with various controllers (pinctrl, reset,
clk). This chip controller is described by a single DT node since the
individual registers are spread among the chip control register bank.

Marvell Berlin also have a system control register set providing several
individual registers for pinctrl or adc.

Prior to this series, there was no proper way of probing properly the
devices using one of the chip and system controller nodes. The pinctrl
driver was probed using the DT and the reset controller had an initcall.

This series aims to handle these two nodes correctly, by introducing an
MFD driver, the Berlin controller, to register all the devices described
by the chip and system controller nodes. Syscon is also used to provide
a regmap to the sub-node drivers, so that they can access the registers
of the controllers safely. In addition, the clock driver will need the
regmap early during the boot, so syscon is a good choice here.

Reworks were done in the Berlin pin controller and in the Berlin reset
driver, to take the changes into account (proper compatibles, syscon
helpers, regmap use).

The actual clock driver still works with these modifications, and a
dedicated series will follow to convert the Berlin clock drivers to use
the regmap provided by syscon.

Tested on the Marvell BG2Q DMP.

Thanks!

Antoine

Antoine Tenart (11):
  mfd: add the Berlin controller driver
  Documentation: bindings: add the Berlin controller documentation
  ARM: berlin: select MFD_BERLIN_CTRL
  reset: berlin: convert to a platform driver
  Documentation: bindings: move the Berlin reset documentation
  pinctrl: berlin: use the regmap provided by syscon
  pinctrl: berlin: use proper compatibles
  Documentation: bindings: move the Berlin pinctrl documentation
  ARM: berlin: rework chip and system controller nodes for BG2
  ARM: berlin: rework chip and system controller nodes for BG2CD
  ARM: berlin: rework chip and system controller nodes for BG2Q

 .../devicetree/bindings/arm/marvell,berlin.txt     |  76 ---------
 .../devicetree/bindings/mfd/berlin-ctrl.txt        |  43 +++++
 .../devicetree/bindings/pinctrl/berlin,pinctrl.txt |  43 +++++
 .../devicetree/bindings/reset/berlin,reset.txt     |  23 +++
 arch/arm/boot/dts/berlin2.dtsi                     |  50 +++---
 arch/arm/boot/dts/berlin2cd.dtsi                   |  32 ++--
 arch/arm/boot/dts/berlin2q.dtsi                    |  70 ++++----
 arch/arm/mach-berlin/Kconfig                       |   1 +
 drivers/mfd/Kconfig                                |   5 +
 drivers/mfd/Makefile                               |   2 +
 drivers/mfd/berlin-ctrl.c                          | 180 +++++++++++++++++++++
 drivers/pinctrl/berlin/berlin-bg2.c                |  26 +--
 drivers/pinctrl/berlin/berlin-bg2cd.c              |  26 +--
 drivers/pinctrl/berlin/berlin-bg2q.c               |  26 +--
 drivers/pinctrl/berlin/berlin.c                    |   9 +-
 drivers/reset/reset-berlin.c                       |  69 +++-----
 16 files changed, 429 insertions(+), 252 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mfd/berlin-ctrl.txt
 create mode 100644 Documentation/devicetree/bindings/pinctrl/berlin,pinctrl.txt
 create mode 100644 Documentation/devicetree/bindings/reset/berlin,reset.txt
 create mode 100644 drivers/mfd/berlin-ctrl.c

-- 
2.3.0


             reply	other threads:[~2015-02-11 16:15 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-11 16:15 Antoine Tenart [this message]
2015-02-11 16:15 ` [PATCH 01/11] mfd: add the Berlin controller driver Antoine Tenart
2015-02-16 12:48   ` Lee Jones
2015-02-17  9:20     ` Antoine Tenart
2015-02-17 11:54       ` Lee Jones
2015-02-18  8:40         ` Antoine Tenart
2015-02-18  9:09           ` Lee Jones
2015-02-18  9:22             ` Antoine Tenart
2015-02-18 10:40               ` Lee Jones
2015-02-18 10:51                 ` Antoine Tenart
2015-02-18 11:10                 ` Sebastian Hesselbarth
2015-02-18 11:58                   ` Lee Jones
2015-02-18 13:09                     ` Sebastian Hesselbarth
2015-02-18 15:06                       ` Lee Jones
2015-02-18 15:07                         ` Lee Jones
2015-02-18 15:06                       ` Arnd Bergmann
2015-02-18 15:59                         ` Sebastian Hesselbarth
2015-02-18 16:15                           ` Arnd Bergmann
2015-02-18 16:26                           ` Lee Jones
2015-02-18 10:27             ` Sebastian Hesselbarth
2015-02-11 16:15 ` [PATCH 02/11] Documentation: bindings: add the Berlin controller documentation Antoine Tenart
2015-02-11 16:15 ` [PATCH 03/11] ARM: berlin: select MFD_BERLIN_CTRL Antoine Tenart
2015-02-11 16:15 ` [PATCH 04/11] reset: berlin: convert to a platform driver Antoine Tenart
2015-02-11 16:15 ` [PATCH 05/11] Documentation: bindings: move the Berlin reset documentation Antoine Tenart
2015-02-11 16:15 ` [PATCH 06/11] pinctrl: berlin: use the regmap provided by syscon Antoine Tenart
2015-03-05  9:38   ` Linus Walleij
2015-02-11 16:15 ` [PATCH 07/11] pinctrl: berlin: use proper compatibles Antoine Tenart
2015-03-05  9:39   ` Linus Walleij
2015-02-11 16:15 ` [PATCH 08/11] Documentation: bindings: move the Berlin pinctrl documentation Antoine Tenart
2015-03-05  9:41   ` Linus Walleij
2015-02-11 16:15 ` [PATCH 09/11] ARM: berlin: rework chip and system controller nodes for BG2 Antoine Tenart
2015-02-18 10:29   ` Sebastian Hesselbarth
2015-02-18 10:33     ` Antoine Tenart
2015-02-18 10:35       ` Sebastian Hesselbarth
2015-02-11 16:15 ` [PATCH 10/11] ARM: berlin: rework chip and system controller nodes for BG2CD Antoine Tenart
2015-02-11 16:15 ` [PATCH 11/11] ARM: berlin: rework chip and system controller nodes for BG2Q Antoine Tenart

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=1423671332-24580-1-git-send-email-antoine.tenart@free-electrons.com \
    --to=antoine.tenart@free-electrons.com \
    --cc=jszhang@marvell.com \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=sameo@linux.intel.com \
    --cc=sebastian.hesselbarth@gmail.com \
    --cc=zmxu@marvell.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).