Skip to content

Commit 58baaa3

Browse files
mathieuchopstmnashif
authored andcommitted
bindings: pinctrl: stm32: add binding for STM32N6 series pinctrl
Add a new binding for the pinctrl controller of STM32N6 series. The specificity of this series is the "I/O retime" feature not present on other series. This new binding exposes pinctrl properties to configure this feature. Signed-off-by: Mathieu Choplain <[email protected]>
1 parent 3b60dec commit 58baaa3

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Copyright (c) 2025 STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
STM32 pin controller with "I/O synchronization"
6+
7+
Identical to the "regular" pin controller with "st,stm32-pinctrl" compatible,
8+
with an additional "I/O synchronization" feature. This feature allows addition
9+
of a programmable delay to the signal input or output path ("I/O delay"), and
10+
synchronization of GPIO data with configuration clock edge(s) ("I/O retime").
11+
12+
This pin controller can be found on STM32N6 series.
13+
14+
compatible: "st,stm32n6-pinctrl"
15+
16+
include: "st,stm32-pinctrl.yaml"
17+
18+
child-binding:
19+
properties:
20+
st,io-retime-edge:
21+
type: string
22+
description: |
23+
Clock edges on which input/output should be retimed
24+
25+
If this property is present, I/O retiming is enabled,
26+
and this property selects whether the input/output data
27+
is retimed on rising, falling or both edges of clock.
28+
29+
If this property is not present, I/O retiming is disabled.
30+
enum:
31+
- "rising"
32+
- "falling"
33+
- "both"
34+
35+
st,io-delay-ps:
36+
type: int
37+
default: 0
38+
description: |
39+
Delay applied to input or output path (in picoseconds)
40+
41+
The default value matches hardware default, and allows to keep
42+
the property unspecified on most pinctrl nodes which do not use
43+
the I/O delay feature.
44+
enum:
45+
- 0
46+
- 300
47+
- 500
48+
- 750
49+
- 1000
50+
- 1250
51+
- 1500
52+
- 1750
53+
- 2000
54+
- 2250
55+
- 2500
56+
- 2750
57+
- 3000
58+
- 3250
59+
60+
st,io-delay-path:
61+
type: string
62+
default: "output"
63+
description: |
64+
Direction in which the I/O delay should be applied
65+
66+
The default value corresponds to hardware default.
67+
enum:
68+
- "output"
69+
- "input"

0 commit comments

Comments
 (0)