Commit 6e59b5ae authored by Amelie Delaunay's avatar Amelie Delaunay Committed by Vinod Koul
Browse files

dt-bindings: phy: phy-stm32-usbphyc: add optional phy tuning properties



This patch adds the description of new optional phy tuning properties
for usbphyc phy sub nodes.

Signed-off-by: default avatarAmelie Delaunay <amelie.delaunay@foss.st.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211015161427.220784-3-amelie.delaunay@foss.st.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 95e38c17
Loading
Loading
Loading
Loading
+129 −0
Original line number Diff line number Diff line
@@ -81,6 +81,119 @@ 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-microamp:
        description: Current boosting in uA
        enum: [ 1000, 2000 ]

      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
          - <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 +250,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 +268,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;
        };
    };
...