[PATCH v4 00/12] pinctrl: stm32: Support I/O synchronization

Antonio Borneo
2025-10-23T13:27:59Z

This v4 is a subset of the v1, split-out to simplify the review.
The old patches concerned in v1 where 05/14, 06/14 and 07/14.

This subset:
- introduces the generic pinctrl properties "skew-delay-input-ps" and
"skew-delay-output-ps";
- introduces the support for matching strings as argument for generic
pinctrl properties;
- applies some cleanup to STM32 pinctrl driver to simplify the following
commits in the series;
- adds support for the I/O synchronization in STM32 pinctrl driver and
bindings;
- updates the DT for STM32MP25 pinctrl to use the new properties.

Changes v3 -> v4:
- Add time prefix '-ps' to the new properties "skew-delay-input-ps" and
"skew-delay-output-ps";
- Add support for matching strings as argument for generic pinctrl
properties;
- Replace the numeric values of "st,io-sync" properties with strings;
- Fix minor typos in pinconf code;
- Link to v3: https://lore.kernel.org/lkml/20251014140451.1009969-1-antonio.borneo@foss.st.com/

Changes v2 -> v3:
- rebased on v6.18-rc1;
- replace "skew-delay-direction" with "skew-delay-input" and
"skew-delay-output";
- use generic properties from pincfg-node.yaml in dt-bindings;
- add the new properties to the new node eth1 in DT;
- Link to v2: https://lore.kernel.org/lkml/20250905135547.934729-1-antonio.borneo@foss.st.com/

Changes v1 -> v2 subset:
- rebased on v6.17-rc1;
- replace ST property "st,io-delay" with generic "skew-delay";
- replace ST property "st,io-delay-path" with generic "skew-delay-direction";
- collapse the other ST property in a single "st,io-sync";
- Link to v1: https://lore.kernel.org/lkml/20241022155658.1647350-1-antonio.borneo@foss.st.com/

Antonio Borneo (12):
pinctrl: pinconf-generic: Fix minor typos in comments
pinctrl: pinconf-generic: Handle string values for generic properties
pinctrl: pinconf-generic: Add properties 'skew-delay-{in,out}put-ps'
dt-bindings: pincfg-node: Add properties 'skew-delay-{in,out}put-ps'
pinctrl: stm32: Rework stm32_pconf_parse_conf()
pinctrl: stm32: Simplify handling of backup pin status
pinctrl: stm32: Drop useless spinlock save and restore
pinctrl: stm32: Avoid keeping a bool value in a u32 variable
pinctrl: stm32: Support I/O synchronization parameters
dt-bindings: pinctrl: stm32: Use properties from pincfg-node.yaml
dt-bindings: pinctrl: stm32: Support I/O synchronization parameters
arm64: dts: st: Add I/O sync to eth pinctrl in stm32mp25-pinctrl.dtsi

.../bindings/pinctrl/pincfg-node.yaml | 17 +
.../bindings/pinctrl/st,stm32-pinctrl.yaml | 101 ++++-
arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi | 4 +
drivers/pinctrl/pinconf-generic.c | 65 +++-
drivers/pinctrl/stm32/pinctrl-stm32.c | 359 ++++++++++++++----
drivers/pinctrl/stm32/pinctrl-stm32.h | 1 +
drivers/pinctrl/stm32/pinctrl-stm32mp257.c | 2 +
include/linux/pinctrl/pinconf-generic.h | 19 +-
8 files changed, 455 insertions(+), 113 deletions(-)

base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.34.1