devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Samuel Holland <samuel@sholland.org>
To: Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Andre Przywara <andre.przywara@arm.com>
Cc: Samuel Holland <samuel@sholland.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Maxime Ripard <mripard@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-sunxi@lists.linux.dev
Subject: [PATCH v2 0/6] pinctrl: sunxi: Allwinner D1 support
Date: Tue, 12 Jul 2022 21:52:27 -0500	[thread overview]
Message-ID: <20220713025233.27248-1-samuel@sholland.org> (raw)

In the interest of keeping the series ready for v5.20, I decided to drop
the D1s bits so we can decide how to handle the compatibles next cycle.

This series adds pinctrl support for the Allwinner D1 SoC. First,
it updates the I/O bias code to support the new mode found on the D1
(as well as some existing SoCs). Then it refactors the driver to support
the new register layout found on the D1. Finally, it adds the new
driver.

The code size impact of the dynamic register layout ends up being just
over 100 bytes:

   text    data     bss     dec     hex filename
  11293     564       0   11857    2e51 pinctrl-sunxi.o (patch 3)
  11405     564       0   11969    2ec1 pinctrl-sunxi.o (patch 6)

This series was tested on A64, H6, and D1.

Changes in v2:
 - Drop D1s compatible for now, due to ongoing discussion
 - Fix PE3 function "csi0" -> "ncsi0"
 - Fix comments for JTAG DI/DO pins
 - Include channel numbers in PWM functions
 - Drop the separate D1s variant, since D1s is a non-conflicting subset
 - Enable the driver for MACH_SUN8I to cover T113 (same die, but ARMv7)

Samuel Holland (6):
  dt-bindings: pinctrl: Add compatible for Allwinner D1
  pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
  pinctrl: sunxi: Support the 2.5V I/O bias mode
  pinctrl: sunxi: Refactor register/offset calculation
  pinctrl: sunxi: Make some layout parameters dynamic
  pinctrl: sunxi: Add driver for Allwinner D1

 .../pinctrl/allwinner,sun4i-a10-pinctrl.yaml  |  13 +
 drivers/pinctrl/sunxi/Kconfig                 |   5 +
 drivers/pinctrl/sunxi/Makefile                |   1 +
 drivers/pinctrl/sunxi/pinctrl-sun20i-d1.c     | 840 ++++++++++++++++++
 drivers/pinctrl/sunxi/pinctrl-sun50i-a100-r.c |   1 +
 drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c   |   2 +-
 drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c   |   1 +
 drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c   |   2 +-
 drivers/pinctrl/sunxi/pinctrl-sunxi.c         | 156 +++-
 drivers/pinctrl/sunxi/pinctrl-sunxi.h         | 109 +--
 10 files changed, 999 insertions(+), 131 deletions(-)
 create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun20i-d1.c

-- 
2.35.1


             reply	other threads:[~2022-07-13  2:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-13  2:52 Samuel Holland [this message]
2022-07-13  2:52 ` [PATCH v2 1/6] dt-bindings: pinctrl: Add compatible for Allwinner D1 Samuel Holland
2022-07-13  2:52 ` [PATCH v2 2/6] pinctrl: sunxi: Add I/O bias setting for H6 R-PIO Samuel Holland
2022-07-13  2:52 ` [PATCH v2 3/6] pinctrl: sunxi: Support the 2.5V I/O bias mode Samuel Holland
2022-07-13  2:52 ` [PATCH v2 4/6] pinctrl: sunxi: Refactor register/offset calculation Samuel Holland
2022-07-13  2:52 ` [PATCH v2 5/6] pinctrl: sunxi: Make some layout parameters dynamic Samuel Holland
2022-07-13  2:52 ` [PATCH v2 6/6] pinctrl: sunxi: Add driver for Allwinner D1 Samuel Holland
2022-07-13 13:11   ` Andre Przywara
2022-07-18  9:40 ` [PATCH v2 0/6] pinctrl: sunxi: Allwinner D1 support 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=20220713025233.27248-1-samuel@sholland.org \
    --to=samuel@sholland.org \
    --cc=andre.przywara@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=mripard@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=wens@csie.org \
    /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).