Message ID | 20200423111015.1.Ifa8039b6f3031e9a69c4a526a6efc2f499f07292@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | 4bc77b2d211e107fa54b1f39cd0d7dac5537b8cb |
Headers | show |
Series | dt-bindings: phy: qcom-qusb2: Fix defaults | expand |
On Thu, Apr 23, 2020 at 11:10:27AM -0700, Douglas Anderson wrote: > The defaults listed in the bindings don't match what the code is > actually doing. Presumably existing users care more about keeping > existing behavior the same, so change the bindings to match the code > in Linux. > > The "qcom,preemphasis-level" default has been wrong for quite a long > time (May 2018). The other two were recently added. > > As some evidence that these values are wrong, this is from the Linux > driver: > - qcom,preemphasis-level: sets "PORT_TUNE1", lower 2 bits. Driver > programs PORT_TUNE1 to 0x30 by default and (0x30 & 0x3) = 0. > - qcom,bias-ctrl-value: sets "PLL_BIAS_CONTROL_2", lower 6 bits. > Driver programs PLL_BIAS_CONTROL_2 to 0x20 by default and (0x20 & > 0x3f) = 0x20 = 32. > - qcom,hsdisc-trim-value: sets "PORT_TUNE2", lower 2 bits. Driver > programs PORT_TUNE2 to 0x29 by default and (0x29 & 0x3) = 1. > > Fixes: 1e6f134eb67a ("dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters") > Fixes: a8b70ccf10e3 ("dt-bindings: phy-qcom-usb2: Add support to override tuning values") > Signed-off-by: Douglas Anderson <dianders@chromium.org> > --- > > Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml > index 144ae29e7141..f8bd28ff31c1 100644 > --- a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml > +++ b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml > @@ -97,7 +97,7 @@ then: > - $ref: /schemas/types.yaml#/definitions/uint32 > - minimum: 0 > maximum: 63 > - default: 0 > + default: 32 > > qcom,charge-ctrl-value: > description: > @@ -130,7 +130,7 @@ then: > - $ref: /schemas/types.yaml#/definitions/uint32 > - minimum: 0 > maximum: 3 > - default: 2 > + default: 0 > > qcom,preemphasis-width: > description: > @@ -152,7 +152,7 @@ then: > - $ref: /schemas/types.yaml#/definitions/uint32 > - minimum: 0 > maximum: 3 > - default: 0 > + default: 1 > > required: > - compatible > -- > 2.26.1.301.g55bc3eb7cb9-goog Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
On Thu, 23 Apr 2020 11:10:27 -0700, Douglas Anderson wrote: > The defaults listed in the bindings don't match what the code is > actually doing. Presumably existing users care more about keeping > existing behavior the same, so change the bindings to match the code > in Linux. > > The "qcom,preemphasis-level" default has been wrong for quite a long > time (May 2018). The other two were recently added. > > As some evidence that these values are wrong, this is from the Linux > driver: > - qcom,preemphasis-level: sets "PORT_TUNE1", lower 2 bits. Driver > programs PORT_TUNE1 to 0x30 by default and (0x30 & 0x3) = 0. > - qcom,bias-ctrl-value: sets "PLL_BIAS_CONTROL_2", lower 6 bits. > Driver programs PLL_BIAS_CONTROL_2 to 0x20 by default and (0x20 & > 0x3f) = 0x20 = 32. > - qcom,hsdisc-trim-value: sets "PORT_TUNE2", lower 2 bits. Driver > programs PORT_TUNE2 to 0x29 by default and (0x29 & 0x3) = 1. > > Fixes: 1e6f134eb67a ("dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters") > Fixes: a8b70ccf10e3 ("dt-bindings: phy-qcom-usb2: Add support to override tuning values") > Signed-off-by: Douglas Anderson <dianders@chromium.org> > --- > > Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > Applied, thanks. Rob
diff --git a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml index 144ae29e7141..f8bd28ff31c1 100644 --- a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml @@ -97,7 +97,7 @@ then: - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 maximum: 63 - default: 0 + default: 32 qcom,charge-ctrl-value: description: @@ -130,7 +130,7 @@ then: - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 maximum: 3 - default: 2 + default: 0 qcom,preemphasis-width: description: @@ -152,7 +152,7 @@ then: - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 maximum: 3 - default: 0 + default: 1 required: - compatible
The defaults listed in the bindings don't match what the code is actually doing. Presumably existing users care more about keeping existing behavior the same, so change the bindings to match the code in Linux. The "qcom,preemphasis-level" default has been wrong for quite a long time (May 2018). The other two were recently added. As some evidence that these values are wrong, this is from the Linux driver: - qcom,preemphasis-level: sets "PORT_TUNE1", lower 2 bits. Driver programs PORT_TUNE1 to 0x30 by default and (0x30 & 0x3) = 0. - qcom,bias-ctrl-value: sets "PLL_BIAS_CONTROL_2", lower 6 bits. Driver programs PLL_BIAS_CONTROL_2 to 0x20 by default and (0x20 & 0x3f) = 0x20 = 32. - qcom,hsdisc-trim-value: sets "PORT_TUNE2", lower 2 bits. Driver programs PORT_TUNE2 to 0x29 by default and (0x29 & 0x3) = 1. Fixes: 1e6f134eb67a ("dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters") Fixes: a8b70ccf10e3 ("dt-bindings: phy-qcom-usb2: Add support to override tuning values") Signed-off-by: Douglas Anderson <dianders@chromium.org> --- Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)