Message ID | 20241022155658.1647350-8-antonio.borneo@foss.st.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | pinctrl: stm32: Add new features and support for more SoC | expand |
On Tue, Oct 22, 2024 at 05:56:51PM +0200, Antonio Borneo wrote: > From: Fabien Dessenne <fabien.dessenne@foss.st.com> > > Support the following IO synchronization parameters: > - Delay (in ns) > - Delay path (input / output) > - Clock edge (single / double edge) > - Clock inversion > - Retiming Why? What is missing for existing hardware support? > > Signed-off-by: Fabien Dessenne <fabien.dessenne@foss.st.com> > Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> > --- > .../bindings/pinctrl/st,stm32-pinctrl.yaml | 48 +++++++++++++++++++ > 1 file changed, 48 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml > index 5d17d6487ae9c..9a7ecfea6eb5b 100644 > --- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml > +++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml > @@ -207,6 +207,54 @@ patternProperties: > 3: High speed > $ref: /schemas/types.yaml#/definitions/uint32 > enum: [0, 1, 2, 3] > + st,io-delay-path: > + description: | > + IO synchronization delay path location > + 0: Delay switched into the output path > + 1: Delay switched into the input path > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] Why enum? Why not bool? What is the "synchronization delay"? Why this is needed per board? > + st,io-clk-edge: > + description: | > + IO synchronization clock edge > + 0: Data single-edge (changing on rising or falling clock edge) > + 1: Data double-edge (changing on both clock edges) > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] All the same questions. > + st,io-clk-type: > + description: | > + IO synchronization clock inversion > + 0: IO clocks not inverted. Data retimed to rising clock edge > + 1: IO clocks inverted. Data retimed to falling clock edge > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] OK, so if not bool why this cannot be a readable string? > + st,io-retime: > + description: | > + IO synchronization data retime > + 0: Data not synchronized or retimed on clock edges > + 1: Data retimed to either rising or falling clock edge > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1] Missing blank lines everywhere between properties. > + st,io-delay: Use proper unit suffix. Or is there no such? Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml index 5d17d6487ae9c..9a7ecfea6eb5b 100644 --- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml @@ -207,6 +207,54 @@ patternProperties: 3: High speed $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2, 3] + st,io-delay-path: + description: | + IO synchronization delay path location + 0: Delay switched into the output path + 1: Delay switched into the input path + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1] + st,io-clk-edge: + description: | + IO synchronization clock edge + 0: Data single-edge (changing on rising or falling clock edge) + 1: Data double-edge (changing on both clock edges) + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1] + st,io-clk-type: + description: | + IO synchronization clock inversion + 0: IO clocks not inverted. Data retimed to rising clock edge + 1: IO clocks inverted. Data retimed to falling clock edge + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1] + st,io-retime: + description: | + IO synchronization data retime + 0: Data not synchronized or retimed on clock edges + 1: Data retimed to either rising or falling clock edge + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1] + st,io-delay: + description: | + IO synchronization delay applied to the input or output path + 0: No delay + 1: Delay 0.30 ns + 2: Delay 0.50 ns + 3: Delay 0.75 ns + 4: Delay 1.00 ns + 5: Delay 1.25 ns + 6: Delay 1.50 ns + 7: Delay 1.75 ns + 8: Delay 2.00 ns + 9: Delay 2.25 ns + 10: Delay 2.50 ns + 11: Delay 2.75 ns + 12: Delay 3.00 ns + 13: Delay 3.25 ns + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 13 required: - pinmux