Re: [PATCH v2 1/2] dt-bindings: usb: Add Parade PS5169 redriver bindings

From: Esteban Urrutia

Date: Thu Aug 06 2026 - 22:16:03 EST


On 7/30/26 3:15 AM, Krzysztof Kozlowski wrote:
> On Wed, Jul 29, 2026 at 02:03:14AM -0400, Esteban Urrutia wrote:
>> Add bindings for the Parade PS5169 and PS5170 USB Type-C linear redrivers.
>> The difference between PS5169 and PS5170 is that PS5170 features an
>> embedded AUX switch, while PS5169 does not.
>> Future-proof the binding by adding PS5170 as well.
>>
>> Signed-off-by: Esteban Urrutia <esteuwu@xxxxxxxxx>
>> ---
>> .../devicetree/bindings/usb/parade,ps5169.yaml | 191 +++++++++++++++++++++
>> 1 file changed, 191 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/parade,ps5169.yaml b/Documentation/devicetree/bindings/usb/parade,ps5169.yaml
>> new file mode 100644
>> index 000000000000..86ea2351ee1e
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/parade,ps5169.yaml
>> @@ -0,0 +1,191 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/usb/parade,ps5169.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Parade PS5169 USB Type-C linear redriver
>> +
>> +maintainers:
>> + - Esteban Urrutia <esteuwu@xxxxxxxxx>
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - items:
>> + - const: parade,ps5170
>> + - const: parade,ps5169
>> + - const: parade,ps5169
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + vcc-supply:
>> + description: 1.8V power supply
>> +
>> + reset-gpios:
>> + maxItems: 1
>> +
>> + orientation-switch: true
>> + retimer-switch: true
>> +
>> + parade,dp-eq-level:
>
> Use -db suffix instead.
> See https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/property-units.yaml

Will do.

>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + Equalization level for DisplayPort channels which is mapped to decibels.
>> + # 0: 2 dB
>> + # 1: 5.5 dB
>> + # 2: 6.5 dB
>> + # 3: 7.5 dB
>> + # 4: 8 dB
>> + # 5: 8.5 dB
>> + # 6: 9.5 dB
>> + # 7: 10 dB
>> + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
>> +
>> + parade,usb-rx-eq-level:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + Equalization level for USB receive channels which is mapped to decibels.
>> + # 0: 5.2 dB
>> + # 1: 6 dB
>> + # 2: 7 dB
>> + # 3: 8 dB
>> + # 4: 8.8 dB
>> + # 5: 9.6 dB
>> + # 6: 10.4 dB
>> + # 7: 11.2 dB
>> + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
>> +
>> + parade,usb-tx-eq-level:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + Equalization level for USB transmit channels which is mapped to decibels.
>> + # 0: 2 dB
>> + # 1: 5.5 dB
>> + # 2: 6.5 dB
>> + # 3: 7.5 dB
>> + # 4: 8 dB
>> + # 5: 8.5 dB
>> + # 6: 9.5 dB
>> + # 7: 10 dB
>> + enum: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
>> +
>> + parade,aux-rx-data-reverse:
>> + type: boolean
>> + description:
>> + Please check the driver before specifying this property.
>
> References to driver make this dubious.

Indeed. I haven't been able to put what this does into words, so I think
I'll drop it and add it back later when I figure that out.

>> + Usage of this property is design-specific.
>> +
>> + parade,fine-tune-lfps-swing:
>> + type: boolean
>> + description:
>> + If this property is specified a 50 ohm termination will be set on the USB receive channels.
>
> s/If this property is specified//
>
> Just describe the hardware, not the syntax of DTS.

Will fix.

>> + Usage of this property is design-specific.
>> +
>> + parade,dp-set-gain:
>> + type: boolean
>> + description:
>> + If this property is specified a gain of -0.9 dB will be applied on the DisplayPort channels.
>> +
>> + parade,usb-rx-set-gain:
>> + type: boolean
>> + description:
>> + If this property is specified a gain of -0.9 dB will be applied on the USB receive channels.
>> +
>> + parade,usb-tx-set-gain:
>> + type: boolean
>> + description:
>> + If this property is specified a gain of -0.9 dB will be applied on the USB transmit channels.
>> +
>> + ports:
>> + $ref: /schemas/graph.yaml#/properties/ports
>> + properties:
>> + port@0:
>> + $ref: /schemas/graph.yaml#/properties/port
>> + description: Super Speed (SS) Output endpoint to the Type-C connector
>> +
>> + port@1:
>> + $ref: /schemas/graph.yaml#/$defs/port-base
>
> Why 'port-base' here but 'port' in port@0?

'port' should be used instead of 'port-base' in port@1.
Will fix.

>> + description: Super Speed (SS) Input endpoint from the Super-Speed PHY
>> + unevaluatedProperties: false
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - vcc-supply
>> + - reset-gpios
>> + - orientation-switch
>> + - retimer-switch
>> +
>> +allOf:
>> + - $ref: usb-switch.yaml#
>> + - $ref: usb-switch-ports.yaml#
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: parade,ps5170
>> + then:
>> + properties:
>> + ports:
>> + properties:
>> + port@2:
>
> You must define all properties in top-level block and you only disallow
> them. See writing-bindings.

Will fix.

>> + $ref: /schemas/graph.yaml#/properties/port
>> + description:
>> + Sideband Use (SBU) AUX lines endpoint to the Type-C connector for the purpose of
>> + handling altmode muxing and orientation switching.
>> + else:
>> + properties:
>> + ports:
>> + properties:
>> + port@2: false
>> +
>> +additionalProperties: false
Thanks for the review.

Regards,
Esteban