[PATCH] arm64: dts: ti: k3-pinctrl: Introduce Schmitt Trigger macros

A. Sverdlin posted 1 patch 3 months, 1 week ago
arch/arm64/boot/dts/ti/k3-pinctrl.h | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] arm64: dts: ti: k3-pinctrl: Introduce Schmitt Trigger macros
Posted by A. Sverdlin 3 months, 1 week ago
From: Alexander Sverdlin <alexander.sverdlin@siemens.com>

Introduce ST_DISABLE and ST_ENABLE macros so that they can be used in
conjunction with PIN_INPUT* macros, e.g. (PIN_INPUT | ST_ENABLE).

Note that K3 might have quite strict input slew rate requirements and
all inputs actually have ST enabled on reset, but AM62PX_IOPAD macro
will not preserve this power-on default config. Therefore ST_ENABLE
is encouraged in many situations, especially if the input is to be
used as IRQ trigger.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
---
 arch/arm64/boot/dts/ti/k3-pinctrl.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-pinctrl.h b/arch/arm64/boot/dts/ti/k3-pinctrl.h
index cac7cccc11121..3e371be7b8062 100644
--- a/arch/arm64/boot/dts/ti/k3-pinctrl.h
+++ b/arch/arm64/boot/dts/ti/k3-pinctrl.h
@@ -8,6 +8,7 @@
 #ifndef DTS_ARM64_TI_K3_PINCTRL_H
 #define DTS_ARM64_TI_K3_PINCTRL_H
 
+#define ST_EN_SHIFT		(14)
 #define PULLUDEN_SHIFT		(16)
 #define PULLTYPESEL_SHIFT	(17)
 #define RXACTIVE_SHIFT		(18)
@@ -44,6 +45,10 @@
 #define PIN_DEBOUNCE_CONF5	(5 << DEBOUNCE_SHIFT)
 #define PIN_DEBOUNCE_CONF6	(6 << DEBOUNCE_SHIFT)
 
+/* Schmitt trigger configuration */
+#define ST_DISABLE		(0 << ST_EN_SHIFT)
+#define ST_ENABLE		(1 << ST_EN_SHIFT)
+
 #define PIN_DS_FORCE_DISABLE		(0 << FORCE_DS_EN_SHIFT)
 #define PIN_DS_FORCE_ENABLE		(1 << FORCE_DS_EN_SHIFT)
 #define PIN_DS_IO_OVERRIDE_DISABLE	(0 << DS_IO_OVERRIDE_EN_SHIFT)
-- 
2.50.0
Re: [PATCH] arm64: dts: ti: k3-pinctrl: Introduce Schmitt Trigger macros
Posted by Sverdlin, Alexander 3 months, 1 week ago
On Fri, 2025-06-27 at 15:13 +0200, A. Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@siemens.com>
> 
> Introduce ST_DISABLE and ST_ENABLE macros so that they can be used in
> conjunction with PIN_INPUT* macros, e.g. (PIN_INPUT | ST_ENABLE).
> 
> Note that K3 might have quite strict input slew rate requirements and
> all inputs actually have ST enabled on reset, but AM62PX_IOPAD macro
> will not preserve this power-on default config. Therefore ST_ENABLE
> is encouraged in many situations, especially if the input is to be
> used as IRQ trigger.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>

Please disregard in favour of patch
"arm64: dts: ti: k3-pinctrl: Enable Schmitt Trigger by default" [1].

[1] Link: https://lore.kernel.org/all/20250701105437.3539924-1-alexander.sverdlin@siemens.com/

> ---
>  arch/arm64/boot/dts/ti/k3-pinctrl.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-pinctrl.h b/arch/arm64/boot/dts/ti/k3-pinctrl.h
> index cac7cccc11121..3e371be7b8062 100644
> --- a/arch/arm64/boot/dts/ti/k3-pinctrl.h
> +++ b/arch/arm64/boot/dts/ti/k3-pinctrl.h
> @@ -8,6 +8,7 @@
>  #ifndef DTS_ARM64_TI_K3_PINCTRL_H
>  #define DTS_ARM64_TI_K3_PINCTRL_H
>  
> +#define ST_EN_SHIFT		(14)
>  #define PULLUDEN_SHIFT		(16)
>  #define PULLTYPESEL_SHIFT	(17)
>  #define RXACTIVE_SHIFT		(18)
> @@ -44,6 +45,10 @@
>  #define PIN_DEBOUNCE_CONF5	(5 << DEBOUNCE_SHIFT)
>  #define PIN_DEBOUNCE_CONF6	(6 << DEBOUNCE_SHIFT)
>  
> +/* Schmitt trigger configuration */
> +#define ST_DISABLE		(0 << ST_EN_SHIFT)
> +#define ST_ENABLE		(1 << ST_EN_SHIFT)
> +
>  #define PIN_DS_FORCE_DISABLE		(0 << FORCE_DS_EN_SHIFT)
>  #define PIN_DS_FORCE_ENABLE		(1 << FORCE_DS_EN_SHIFT)
>  #define PIN_DS_IO_OVERRIDE_DISABLE	(0 << DS_IO_OVERRIDE_EN_SHIFT)

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com