On Tue, Oct 05, 2021 at 05:24:52PM +0200, Amelie Delaunay wrote: > This patch adds the description of new optional phy tuning properties > for usbphyc phy sub nodes. > > Signed-off-by: Amelie Delaunay <amelie.delaunay@xxxxxxxxxxx> > --- > Changes in v2: > - st,phy-tuning property removed > - tuning properties are now put directly in each child node > - tuning properties are no more free form text and their name reworked > --- > .../bindings/phy/phy-stm32-usbphyc.yaml | 126 ++++++++++++++++++ > 1 file changed, 126 insertions(+) > > diff --git a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml > index 3329f1d33a4f..c0f4dff2b8cb 100644 > --- a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml > +++ b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml > @@ -81,6 +81,116 @@ patternProperties: > properties: > vbus-supply: true > > + # It can be necessary to adjust the PHY settings to compensate parasitics, which can be due > + # to USB connector/receptacle, routing, ESD protection component,... Here is the list of > + # all optional parameters to tune the interface of the PHY (HS for High-Speed, FS for Full- > + # Speed, LS for Low-Speed) > + > + st,current-boost-milliamp: Not a documented unit. Use '-microamp'. > + description: Current boosting in mA > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 1 > + maximum: 2 > + > + st,no-lsfs-fb-cap: > + description: Disables the LS/FS feedback capacitor > + type: boolean > + > + st,decrease-hs-slew-rate: > + description: Decreases the HS driver slew rate by 10% > + type: boolean > + > + st,tune-hs-dc-level: > + description: Tunes the HS driver DC level You need '|' after 'description:' to retain the formatting you have here. > + - <0> normal level > + - <1> increases the level by 5 to 7 mV > + - <2> increases the level by 10 to 14 mV > + - <3> decreases the level by 5 to 7 mV > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 3 > + default: 0 > + > + st,enable-fs-rftime-tuning: > + description: Enables the FS rise/fall tuning option > + type: boolean > + > + st,enable-hs-rftime-reduction: > + description: Enables the HS rise/fall reduction feature > + type: boolean > + > + st,trim-hs-current: > + description: Controls HS driver current trimming for choke compensation > + - <0> = 18.87 mA target current / nominal + 0% > + - <1> = 19.165 mA target current / nominal + 1.56% > + - <2> = 19.46 mA target current / nominal + 3.12% > + - <3> = 19.755 mA target current / nominal + 4.68% > + - <4> = 20.05 mA target current / nominal + 6.24% > + - <5> = 20.345 mA target current / nominal + 7.8% > + - <6> = 20.64 mA target current / nominal + 9.36% > + - <7> = 20.935 mA target current / nominal + 10.92% > + - <8> = 21.23 mA target current / nominal + 12.48% > + - <9> = 21.525 mA target current / nominal + 14.04% > + - <10> = 21.82 mA target current / nominal + 15.6% > + - <11> = 22.115 mA target current / nominal + 17.16% > + - <12> = 22.458 mA target current / nominal + 19.01% > + - <13> = 22.755 mA target current / nominal + 20.58% > + - <14> = 23.052 mA target current / nominal + 22.16% > + - <15> = 23.348 mA target current / nominal + 23.73% > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 15 > + default: 0 > + > + st,trim-hs-impedance: > + description: Controls HS driver impedance tuning for choke compensation > + - <0> = no impedance offset > + - <1> = reduce the impedance by 2 ohms > + - <2> = reduce the impedance by 4 ohms > + - <3> = reduce the impedance by 6 ohms > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 3 > + default: 0 > + > + st,tune-squelch-level: > + description: Tunes the squelch DC threshold value > + - <0> = no shift in threshold > + - <1> = threshold shift by +7 mV > + - <2> = threshold shift by -5 mV > + - <3> = threshold shift by +14 mV > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 3 > + default: 0 > + > + st,enable-hs-rx-gain-eq: > + description: Enables the HS Rx gain equalizer > + type: boolean > + > + st,tune-hs-rx-offset: > + description: Adjusts the HS Rx offset > + - <0> = no offset > + - <1> = offset of +5 mV > + - <2> = offset of +10 mV > + - <3> = offset of -5 mV > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 3 > + default: 0 > + > + st,no-hs-ftime-ctrl: > + description: Disables the HS fall time control of single ended signals during pre-emphasis > + type: boolean > + > + st,no-lsfs-sc: > + description: Disables the short circuit protection in LS/FS driver > + type: boolean > + > + st,enable-hs-tx-staggering: > + description: Enables the basic staggering in HS Tx mode > + type: boolean > + > allOf: > - if: > properties: > @@ -137,6 +247,14 @@ examples: > reg = <0>; > phy-supply = <&vdd_usb>; > #phy-cells = <0>; > + st,tune-hs-dc-level = <2>; > + st,enable-fs-rftime-tuning; > + st,enable-hs-rftime-reduction; > + st,trim-hs-current = <15>; > + st,trim-hs-impedance = <1>; > + st,tune-squelch-level = <3>; > + st,tune-hs-rx-offset = <2>; > + st,no-lsfs-sc; > connector { > compatible = "usb-a-connector"; > vbus-supply = <&vbus_sw>; > @@ -147,6 +265,14 @@ examples: > reg = <1>; > phy-supply = <&vdd_usb>; > #phy-cells = <1>; > + st,tune-hs-dc-level = <2>; > + st,enable-fs-rftime-tuning; > + st,enable-hs-rftime-reduction; > + st,trim-hs-current = <15>; > + st,trim-hs-impedance = <1>; > + st,tune-squelch-level = <3>; > + st,tune-hs-rx-offset = <2>; > + st,no-lsfs-sc; > }; > }; > ... > -- > 2.25.1 > >