linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: imx8mq: add defines for IOMUXC_SW_PAD_CTL register values
@ 2021-10-24 15:28 Sascha Silbe
  2021-10-29  2:14 ` Rob Herring
  0 siblings, 1 reply; 2+ messages in thread
From: Sascha Silbe @ 2021-10-24 15:28 UTC (permalink / raw)
  To: Rob Herring, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team
  Cc: devicetree, linux-arm-kernel, linux-kernel

The IOMUXC_SW_PAD_CTL_* registers on i.MX8M Dual/QuadLite/Quad all
have the same basic structure. Add defines for a common subset
supported by most of the registers. They can be used in Device Tree
source files instead of magic values, making the sources a lot more
readable and easier to write as well.

Signed-off-by: Sascha Silbe <x-linux@se-silbe.de>
---
 .../arm64/boot/dts/freescale/imx8mq-pinfunc.h | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

The board I'm using this for is an out-of-tree prototype. If there's
interest I can convert the in-tree DTS files. I have don't have any of
those boards but comparing the built DTBs before vs. after the change
should be sufficient.


diff --git a/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h b/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h
index 68e8fa1729741..384ceb5422761 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h
+++ b/arch/arm64/boot/dts/freescale/imx8mq-pinfunc.h
@@ -7,6 +7,34 @@
 #ifndef __DTS_IMX8MQ_PINFUNC_H
 #define __DTS_IMX8MQ_PINFUNC_H
 
+/* Software Input On bit from IOMUXC_SW_MUX_CTL_PAD_* registers. Magic
+ * value defined in
+ * Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt
+ */
+#define PAD_SION (1 << 30)
+/* input high/low thresholds, 0 = LVCMOS, 1 = LVTTL */
+#define PAD_LVTTL (1 << 8)
+/* Schmitt-Trigger, 0 = disabled, 1 = enabled */
+#define PAD_HYS (1 << 7)
+/* Internal pull-up resistor, 0 = disabled, 1 = enabled */
+#define PAD_PUE (1 << 6)
+/* Open Drain, 0 = push-pull, 1 = open drain */
+#define PAD_ODE (1 << 5)
+/* Slew Rate, 50/100/150/200 MHz */
+#define PAD_SRE_50MHZ 0
+#define PAD_SRE_100MHZ (1 << 3)
+#define PAD_SRE_150MHZ (2 << 3)
+#define PAD_SRE_200MHZ (3 << 3)
+/* Drive Strength; names are based on nominal impedance at 3.3V */
+#define PAD_DSE_HIZ 0
+#define PAD_DSE_255OHM 1
+#define PAD_DSE_105OHM 2
+#define PAD_DSE_75OHM 3
+#define PAD_DSE_85OHM 4
+#define PAD_DSE_65OHM 5
+#define PAD_DSE_45OHM 6
+#define PAD_DSE_40OHM 7
+
 /*
  * The pin function ID is a tuple of
  * <mux_reg conf_reg input_reg mux_mode input_val>

base-commit: 9c0c4d24ac000e52d55348961d3a3ba42065e0cf
prerequisite-patch-id: d2d09cbe2907cd6c1ece0fcc6b576faf1ef8dd37
prerequisite-patch-id: 42e69450ab3e60fd3705232ae05fa1c8acfb467b
prerequisite-patch-id: 9360e270fb7fbccc22d2a66c41830746bdb80784
-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] arm64: dts: imx8mq: add defines for IOMUXC_SW_PAD_CTL register values
  2021-10-24 15:28 [PATCH] arm64: dts: imx8mq: add defines for IOMUXC_SW_PAD_CTL register values Sascha Silbe
@ 2021-10-29  2:14 ` Rob Herring
  0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2021-10-29  2:14 UTC (permalink / raw)
  To: Sascha Silbe
  Cc: NXP Linux Team, Sascha Hauer, Rob Herring,
	Pengutronix Kernel Team, devicetree, Shawn Guo, linux-arm-kernel,
	Fabio Estevam, linux-kernel

On Sun, 24 Oct 2021 17:28:32 +0200, Sascha Silbe wrote:
> The IOMUXC_SW_PAD_CTL_* registers on i.MX8M Dual/QuadLite/Quad all
> have the same basic structure. Add defines for a common subset
> supported by most of the registers. They can be used in Device Tree
> source files instead of magic values, making the sources a lot more
> readable and easier to write as well.
> 
> Signed-off-by: Sascha Silbe <x-linux@se-silbe.de>
> ---
>  .../arm64/boot/dts/freescale/imx8mq-pinfunc.h | 28 +++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> The board I'm using this for is an out-of-tree prototype. If there's
> interest I can convert the in-tree DTS files. I have don't have any of
> those boards but comparing the built DTBs before vs. after the change
> should be sufficient.
> 
> 

Acked-by: Rob Herring <robh@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-29  2:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 15:28 [PATCH] arm64: dts: imx8mq: add defines for IOMUXC_SW_PAD_CTL register values Sascha Silbe
2021-10-29  2:14 ` Rob Herring

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).