From: Adrian Alonso <aalonso@freescale.com>
To: linux-arm-kernel@lists.infradead.org, shawn.guo@linaro.org,
shawnguo@kernel.org, linus.walleij@linaro.org, lznuaa@gmail.com
Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org,
robh+dt@kernel.org, Anson.Huang@freescale.com,
Frank.Li@freescale.com, yibin.gong@freescale.com,
nitin.garg@freescale.com
Subject: [PATCH 4/4][v4] ARM: imx: pinctrl-imx7d: add iomuxc-lpsr gpio group ids
Date: Thu, 16 Jul 2015 15:34:47 -0500 [thread overview]
Message-ID: <1437078887-2524-4-git-send-email-aalonso@freescale.com> (raw)
In-Reply-To: <1437078887-2524-1-git-send-email-aalonso@freescale.com>
* Add imx7d SoC iomuxc-lpsr gpio group id's
* Add IOMUXC_LPSR_SUPPORT flag for pinctrl-imx driver to
support iomuxc-lpsr controller.
* Add fsl,imx7d-pinctrl.txt documentation for encoded
pad groupd is for iomux-lpsr GPIO1.
Signed-off-by: Adrian Alonso <aalonso@freescale.com>
---
- Version 4: Add devicetreee bindings fsl,imx7d-pinctrl.txt documentation for
encoded pad groupd is for iomux-lpsr GPIO1.
.../bindings/pinctrl/fsl,imx7d-pinctrl.txt | 26 ++++++++++++++++++++++
drivers/pinctrl/freescale/pinctrl-imx7d.c | 17 ++++++++++++++
2 files changed, 43 insertions(+)
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt
index 8bbf25d..9c48ce9 100644
--- a/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt
@@ -25,3 +25,29 @@ PAD_CTL_DSE_X1 (0 << 0)
PAD_CTL_DSE_X2 (1 << 0)
PAD_CTL_DSE_X3 (2 << 0)
PAD_CTL_DSE_X4 (3 << 0)
+
+IOMUXC-LPSR controller:
+i.MX7D supports two iomux controllers iomuxc and iomuxc-lpsr; LPSR is a power mode
+where NVCC_GPIO1 power rail remains on and GPIO1 under LPSR mode can retain the
+state of GPIO1 pads (GPIO1_07 to GPIO1_00).
+
+To support both controllers "fsl,imx7d-iomuxc" is extended to include the pad group
+id's for GPIO1 and these are encoded in input_val integer so pinctrl parse groups
+can be created for all imx7d_pads.
+
+For example pad group id for GPIO1_IO00 correspod to 155
+
+drivers/pinctrl/freescale/pinctrl-imx7d.c
+enum imx7d_pads {
+ ...
+ MX7D_PAD_GPIO1_IO00 = 155,
+ ...
+};
+
+In pad definition for GPIO1_IO00 the group id is encoded as 0x009B, while the lower 16 bit
+correspond to input_val.
+
+arch/arm/boot/dts/imx7d-pinfunc.h
+#define MX7D_PAD_GPIO1_IO00__GPIO1_IO0 0x0000 0x0030 0x0000 0x0 0x009B0000
+#define MX7D_PAD_GPIO1_IO00__PWM4_OUT 0x0000 0x0030 0x0000 0x1 0x009B0000
+#define MX7D_PAD_GPIO1_IO00__WDOD1_WDOG_ANY 0x0000 0x0030 0x0000 0x2 0x009B0000
diff --git a/drivers/pinctrl/freescale/pinctrl-imx7d.c b/drivers/pinctrl/freescale/pinctrl-imx7d.c
index 1fa7530..cf89275 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx7d.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx7d.c
@@ -172,6 +172,14 @@ enum imx7d_pads {
MX7D_PAD_ENET1_RX_CLK = 152,
MX7D_PAD_ENET1_CRS = 153,
MX7D_PAD_ENET1_COL = 154,
+ MX7D_PAD_GPIO1_IO00 = 155,
+ MX7D_PAD_GPIO1_IO01 = 156,
+ MX7D_PAD_GPIO1_IO02 = 157,
+ MX7D_PAD_GPIO1_IO03 = 158,
+ MX7D_PAD_GPIO1_IO04 = 159,
+ MX7D_PAD_GPIO1_IO05 = 160,
+ MX7D_PAD_GPIO1_IO06 = 161,
+ MX7D_PAD_GPIO1_IO07 = 162,
};
/* Pad names for the pinmux subsystem */
@@ -331,11 +339,20 @@ static const struct pinctrl_pin_desc imx7d_pinctrl_pads[] = {
IMX_PINCTRL_PIN(MX7D_PAD_ENET1_RX_CLK),
IMX_PINCTRL_PIN(MX7D_PAD_ENET1_CRS),
IMX_PINCTRL_PIN(MX7D_PAD_ENET1_COL),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO00),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO01),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO02),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO03),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO04),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO05),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO06),
+ IMX_PINCTRL_PIN(MX7D_PAD_GPIO1_IO07),
};
static struct imx_pinctrl_soc_info imx7d_pinctrl_info = {
.pins = imx7d_pinctrl_pads,
.npins = ARRAY_SIZE(imx7d_pinctrl_pads),
+ .flags = IOMUXC_LPSR_SUPPORT,
};
static struct of_device_id imx7d_pinctrl_of_match[] = {
--
2.1.4
next prev parent reply other threads:[~2015-07-16 20:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-16 20:34 [PATCH 1/4][v4] ARM: imx: imx7d-pinfunc: add gpio pad iomuxc settings Adrian Alonso
2015-07-16 20:34 ` [PATCH 2/4][v4] ARM: dts: imx: imx7d add iomuxc lpsr register base address Adrian Alonso
2015-07-16 20:34 ` [PATCH 3/4][v4] ARM: imx: pinctrl-imx: imx7d: add support for iomuxc lpsr Adrian Alonso
2015-07-16 20:34 ` Adrian Alonso [this message]
[not found] ` <1437078887-2524-1-git-send-email-aalonso-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2015-07-17 3:51 ` [PATCH 1/4][v4] ARM: imx: imx7d-pinfunc: add gpio pad iomuxc settings Shawn Guo
2015-07-27 11:55 ` 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=1437078887-2524-4-git-send-email-aalonso@freescale.com \
--to=aalonso@freescale.com \
--cc=Anson.Huang@freescale.com \
--cc=Frank.Li@freescale.com \
--cc=devicetree@vger.kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=lznuaa@gmail.com \
--cc=nitin.garg@freescale.com \
--cc=robh+dt@kernel.org \
--cc=shawn.guo@linaro.org \
--cc=shawnguo@kernel.org \
--cc=yibin.gong@freescale.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).