From: Andre Przywara <andre.przywara@arm.com>
To: Maxime Ripard <mripard@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@siol.net>
Cc: "Icenowy Zheng" <icenowy@aosc.io>,
"Linus Walleij" <linus.walleij@linaro.org>,
"Rob Herring" <robh@kernel.org>,
"Clément Péron" <peron.clem@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Shuosheng Huang" <huangshuosheng@allwinnertech.com>,
"Yangtao Li" <tiny.windzz@gmail.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com,
linux-gpio@vger.kernel.org
Subject: [PATCH v3 05/21] pinctrl: sunxi: Add support for the Allwinner H616-R pin controller
Date: Mon, 18 Jan 2021 02:08:32 +0000 [thread overview]
Message-ID: <20210118020848.11721-6-andre.przywara@arm.com> (raw)
In-Reply-To: <20210118020848.11721-1-andre.przywara@arm.com>
There are only two pins left now, used to connect to the PMIC via I2C.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
drivers/pinctrl/sunxi/Kconfig | 5 ++
drivers/pinctrl/sunxi/Makefile | 1 +
drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c | 56 +++++++++++++++++++
3 files changed, 62 insertions(+)
create mode 100644 drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
index 73e88ce71a48..33751a6a0757 100644
--- a/drivers/pinctrl/sunxi/Kconfig
+++ b/drivers/pinctrl/sunxi/Kconfig
@@ -124,4 +124,9 @@ config PINCTRL_SUN50I_H616
default ARM64 && ARCH_SUNXI
select PINCTRL_SUNXI
+config PINCTRL_SUN50I_H616_R
+ bool "Support for the Allwinner H616 R-PIO"
+ default ARM64 && ARCH_SUNXI
+ select PINCTRL_SUNXI
+
endif
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
index 5359327a3c8f..d3440c42b9d6 100644
--- a/drivers/pinctrl/sunxi/Makefile
+++ b/drivers/pinctrl/sunxi/Makefile
@@ -24,5 +24,6 @@ obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o
obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o
obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o
obj-$(CONFIG_PINCTRL_SUN50I_H616) += pinctrl-sun50i-h616.o
+obj-$(CONFIG_PINCTRL_SUN50I_H616_R) += pinctrl-sun50i-h616-r.o
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
new file mode 100644
index 000000000000..8e4f10ab96ce
--- /dev/null
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Allwinner H616 R_PIO pin controller driver
+ *
+ * Copyright (C) 2020 Arm Ltd.
+ * Based on former work, which is:
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
+ */
+
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/pinctrl/pinctrl.h>
+#include <linux/reset.h>
+
+#include "pinctrl-sunxi.h"
+
+static const struct sunxi_desc_pin sun50i_h616_r_pins[] = {
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 0),
+ SUNXI_FUNCTION(0x0, "gpio_in"),
+ SUNXI_FUNCTION(0x1, "gpio_out"),
+ SUNXI_FUNCTION(0x2, "s_rsb"), /* SCK */
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SCK */
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 1),
+ SUNXI_FUNCTION(0x0, "gpio_in"),
+ SUNXI_FUNCTION(0x1, "gpio_out"),
+ SUNXI_FUNCTION(0x2, "s_rsb"), /* SDA */
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SDA */
+};
+
+static const struct sunxi_pinctrl_desc sun50i_h616_r_pinctrl_data = {
+ .pins = sun50i_h616_r_pins,
+ .npins = ARRAY_SIZE(sun50i_h616_r_pins),
+ .pin_base = PL_BASE,
+};
+
+static int sun50i_h616_r_pinctrl_probe(struct platform_device *pdev)
+{
+ return sunxi_pinctrl_init(pdev,
+ &sun50i_h616_r_pinctrl_data);
+}
+
+static const struct of_device_id sun50i_h616_r_pinctrl_match[] = {
+ { .compatible = "allwinner,sun50i-h616-r-pinctrl", },
+ {}
+};
+
+static struct platform_driver sun50i_h616_r_pinctrl_driver = {
+ .probe = sun50i_h616_r_pinctrl_probe,
+ .driver = {
+ .name = "sun50i-h616-r-pinctrl",
+ .of_match_table = sun50i_h616_r_pinctrl_match,
+ },
+};
+builtin_platform_driver(sun50i_h616_r_pinctrl_driver);
--
2.17.5
next prev parent reply other threads:[~2021-01-18 2:17 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-18 2:08 [PATCH v3 00/21] arm64: sunxi: Initial Allwinner H616 SoC support Andre Przywara
2021-01-18 2:08 ` [PATCH v3 01/21] dt-bindings: mmc: sunxi: Add Allwinner A100 and H616 compatibles Andre Przywara
2021-01-18 2:08 ` [PATCH v3 02/21] mmc: sunxi: add support for A100 mmc controller Andre Przywara
2021-01-18 13:28 ` Maxime Ripard
2021-01-18 15:52 ` Andre Przywara
2021-01-18 15:55 ` [linux-sunxi] " Chen-Yu Tsai
2021-01-21 16:38 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 03/21] dt-bindings: pinctrl: Add Allwinner H616 compatible strings Andre Przywara
2021-01-18 13:29 ` Maxime Ripard
2021-01-21 21:12 ` Linus Walleij
2021-01-18 2:08 ` [PATCH v3 04/21] pinctrl: sunxi: Add support for the Allwinner H616 pin controller Andre Przywara
2021-01-18 15:26 ` Maxime Ripard
2021-01-21 21:14 ` Linus Walleij
2021-01-18 2:08 ` Andre Przywara [this message]
2021-01-21 21:16 ` [PATCH v3 05/21] pinctrl: sunxi: Add support for the Allwinner H616-R " Linus Walleij
2021-01-18 2:08 ` [PATCH v3 06/21] dt-bindings: clk: sunxi-ccu: Add compatible string for Allwinner H616 Andre Przywara
2021-01-18 15:26 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 07/21] clk: sunxi-ng: Add support for the Allwinner H616 R-CCU Andre Przywara
2021-01-18 15:30 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 08/21] clk: sunxi-ng: Add support for the Allwinner H616 CCU Andre Przywara
2021-01-18 15:30 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 09/21] mfd: axp20x: Allow AXP chips without interrupt lines Andre Przywara
2021-01-18 3:37 ` Samuel Holland
2021-01-21 15:54 ` Andre Przywara
2021-01-18 2:08 ` [PATCH v3 10/21] dt-bindings: sram: sunxi-sram: Add H616 compatible string Andre Przywara
2021-01-18 2:08 ` [PATCH v3 11/21] soc: sunxi: sram: Add support for more than one EMAC clock Andre Przywara
2021-01-18 2:08 ` [PATCH v3 12/21] net: stmmac: dwmac-sun8i: Prepare for second EMAC clock register Andre Przywara
2021-01-18 21:27 ` Jakub Kicinski
2021-01-18 2:08 ` [PATCH v3 13/21] phy: sun4i-usb: Rework HCI PHY (aka. "pmu_unk1") handling Andre Przywara
2021-01-18 15:32 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 14/21] dt-bindings: usb: Add H616 compatible string Andre Przywara
2021-01-18 15:33 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 15/21] dt-bindings: usb: sunxi-musb: " Andre Przywara
2021-01-18 15:33 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 16/21] phy: sun4i-usb: Add support for the H616 USB PHY Andre Przywara
2021-01-18 15:33 ` Maxime Ripard
2021-01-18 2:08 ` [PATCH v3 17/21] dt-bindings: watchdog: sun4i: Add H616 compatible string Andre Przywara
2021-01-18 15:34 ` maxime
2021-01-23 17:31 ` Guenter Roeck
2021-01-18 2:08 ` [PATCH v3 18/21] dt-bindings: allwinner: Add H616 compatible strings Andre Przywara
2021-01-18 4:28 ` Samuel Holland
2021-01-25 11:59 ` Andre Przywara
2021-01-18 12:05 ` Mark Brown
2021-01-18 2:08 ` [PATCH v3 19/21] arm64: dts: allwinner: Add Allwinner H616 .dtsi file Andre Przywara
2021-01-18 4:35 ` Samuel Holland
2021-01-18 2:08 ` [PATCH v3 20/21] dt-bindings: arm: sunxi: Add OrangePi Zero 2 binding Andre Przywara
2021-01-18 2:08 ` [PATCH v3 21/21] arm64: dts: allwinner: Add OrangePi Zero 2 .dts Andre Przywara
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=20210118020848.11721-6-andre.przywara@arm.com \
--to=andre.przywara@arm.com \
--cc=huangshuosheng@allwinnertech.com \
--cc=icenowy@aosc.io \
--cc=jernej.skrabec@siol.net \
--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@googlegroups.com \
--cc=mripard@kernel.org \
--cc=peron.clem@gmail.com \
--cc=robh@kernel.org \
--cc=samuel@sholland.org \
--cc=tiny.windzz@gmail.com \
--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
all inboxes | Powered by JetHome®