lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211024152832.649738-1-x-linux@se-silbe.de>
Date:   Sun, 24 Oct 2021 17:28:32 +0200
From:   Sascha Silbe <x-linux@...silbe.de>
To:     Rob Herring <robh+dt@...nel.org>, Shawn Guo <shawnguo@...nel.org>,
        Sascha Hauer <s.hauer@...gutronix.de>,
        Pengutronix Kernel Team <kernel@...gutronix.de>,
        Fabio Estevam <festevam@...il.com>,
        NXP Linux Team <linux-imx@....com>
Cc:     devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org
Subject: [PATCH] arm64: dts: imx8mq: add defines for IOMUXC_SW_PAD_CTL register values

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ