mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Soren Brinkmann <soren.brinkmann@xilinx.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com>,
	"Michal Simek" <michal.simek@xilinx.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	"Steffen Trumtrar" <s.trumtrar@pengutronix.de>
Subject: [PATCH RFC v2 0/8] Pinctrl support for Zynq
Date: Thu, 16 Oct 2014 10:11:27 -0700	[thread overview]
Message-ID: <1413479495-14206-1-git-send-email-soren.brinkmann@xilinx.com> (raw)

Hi,

this is the second iteration of pinctrl for Zynq (first submission:
https://lkml.org/lkml/2014/9/24/1140).

The high level changes:
 - rebase to 3.18, i.e. usage of 'groups' property in DT
 - added pinconf functionality
 - revised the DT descriptions

In more detail:
pinctrl: pinconf-generic: Add flag to print arguments
  There are some generic properties that take an argument but don't have
  a unit attached to it. Furthermore, printing the argument depended on
  the argument being non-zero, which is also not always useful. To add a
  little more flexibility, this patch adds a dedicated flag to indicate
  whether a property takes an argument that should be printed. The first
  example is the slew-rate property, that according to bindings takes a
  driver specific argument, but does not have a unit. So, printing it
  including a zero argument does make sense.

pinctrl: pinconf-generic: Add parameter 'IO standard':
  I guess this is mostly seld-explanatory. On Zynq we can select between
  different IO-standards.

pinctrl: pinconf-generic: Infer map type from DT property:
  This is the important one. Before this drivers could choose between
  pinconf_generic_dt_node_to_map_group() and
  pinconf_generic_dt_node_to_map_pin() to create mapping from DT.
  Choosing groups would make the core interpret the 'pins' property as
  group, and you lost the ability to address by pin. And vice versa,
  using the pin function would force using pins and you lose the ability
  to address groups.
  With the new 'groups' DT property, this is no longer needed and both
  options can coexist by inferring the map type by testing whether the
  pins or groups property was used.
  To make this change backwards-compatible with current usage, this
  inferring is only done when PIN_MAP_TYPE_INVALID is passed to the
  mapping function. For that reason pinconf_generic_dt_node_to_map_all()
  is introduced, which does exactly that.
  With this change it is possible to have nodes in DT that work on
  pingroups using the 'grops' property as well has nodes using 'pins'
  that address specific pins.

ARM: zynq: DT: Add pinctrl information:
  I completely rewrote this taking the v1 input into account. The common
  dtsi file does only feature the pin-controller without any
  configuration nodes. The board files define the used configurations.
  To configure all the muxes and configurations the new core features
  are used.

	Thanks,
	Sören

Soren Brinkmann (8):
  pinctrl: Add driver for Zynq
  pinctrl: pinconf-generic: Add flag to print arguments
  pinctrl: pinconf-generic: Add parameter 'IO standard'
  pinctrl: zynq: Support IO standard property
  pinctrl: zynq: Support low power mode property
  pinctrl: pinconf-generic: Infer map type from DT property
  pinctrl: zynq: Use generic map_all function
  ARM: zynq: DT: Add pinctrl information

 .../bindings/pinctrl/pinctrl-bindings.txt          |    3 +
 arch/arm/boot/dts/zynq-7000.dtsi                   |    8 +-
 arch/arm/boot/dts/zynq-zc702.dts                   |  147 +++
 arch/arm/boot/dts/zynq-zc706.dts                   |  126 +++
 arch/arm/mach-zynq/Kconfig                         |    1 +
 drivers/pinctrl/Kconfig                            |    8 +
 drivers/pinctrl/Makefile                           |    1 +
 drivers/pinctrl/pinconf-generic.c                  |   84 +-
 drivers/pinctrl/pinctrl-zynq.c                     | 1139 ++++++++++++++++++++
 include/linux/pinctrl/pinconf-generic.h            |   11 +
 10 files changed, 1496 insertions(+), 32 deletions(-)
 create mode 100644 drivers/pinctrl/pinctrl-zynq.c

-- 
2.1.2.1.g5e69ed6


             reply	other threads:[~2014-10-16 17:12 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16 17:11 Soren Brinkmann [this message]
2014-10-16 17:11 ` [PATCH RFC v2 1/8] pinctrl: Add driver " Soren Brinkmann
2014-10-28 14:53   ` Linus Walleij
2014-10-28 16:14     ` Sören Brinkmann
2014-10-28 15:16   ` Lothar Waßmann
2014-10-28 16:37     ` Sören Brinkmann
2014-10-29  4:49       ` Lothar Waßmann
2014-10-29 14:12         ` Sören Brinkmann
2014-10-30  8:16           ` Lothar Waßmann
2014-11-02 17:22             ` Sören Brinkmann
2014-10-16 17:11 ` [PATCH RFC v2 2/8] pinctrl: pinconf-generic: Add flag to print arguments Soren Brinkmann
2014-10-28 14:55   ` Linus Walleij
2014-10-16 17:11 ` [PATCH RFC v2 3/8] pinctrl: pinconf-generic: Add parameter 'IO standard' Soren Brinkmann
2014-10-28 14:59   ` Linus Walleij
2014-10-28 16:07     ` Sören Brinkmann
2014-10-31  8:19       ` Linus Walleij
2014-10-16 17:11 ` [PATCH RFC v2 4/8] pinctrl: zynq: Support IO standard property Soren Brinkmann
2014-10-16 17:11 ` [PATCH RFC v2 5/8] pinctrl: zynq: Support low power mode property Soren Brinkmann
2014-10-16 17:11 ` [PATCH RFC v2 6/8] pinctrl: pinconf-generic: Infer map type from DT property Soren Brinkmann
2014-10-16 17:11 ` [PATCH RFC v2 7/8] pinctrl: zynq: Use generic map_all function Soren Brinkmann
2014-10-16 17:11 ` [PATCH RFC v2 8/8] ARM: zynq: DT: Add pinctrl information Soren Brinkmann
2014-10-21  5:54   ` Michal Simek
2014-10-28 15:05   ` Linus Walleij
2014-10-28 16:03     ` Sören Brinkmann
2014-10-31  8:17       ` Linus Walleij
2014-10-31 16:57         ` Sören Brinkmann
2014-10-31 17:36           ` Linus Walleij
2014-10-31 17:40             ` Sören Brinkmann
2014-11-02 20:20               ` Sören Brinkmann
2014-11-03 14:40                 ` Linus Walleij

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=1413479495-14206-1-git-send-email-soren.brinkmann@xilinx.com \
    --to=soren.brinkmann@xilinx.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.simek@xilinx.com \
    --cc=s.trumtrar@pengutronix.de \
    /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

all inboxes | Powered by JetHome®