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 <[email protected]>
> ---
>  .../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 <[email protected]>
> +
> +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

> +    $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.

> +      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.

> +      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?

> +        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.

> +              $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

Best regards,
Krzysztof


Reply via email to