Re: [PATCH 1/3] dt-bindings: usb: Add Cypress cypd6129/cypd6229 Type-C controller

From: Conor Dooley

Date: Thu Aug 20 2026 - 14:14:54 EST


On Thu, Aug 20, 2026 at 08:17:36PM +0530, Akash Kumar wrote:
> Add the device-tree binding documentation for the Cypress cypd6129
> and cypd6229 dual Type-C PD controllers. These are used on Shikra
> CQM/CQS/IQS platforms to handle usb-role-switch for the USB Type-C
> ports over an I2C interface, similarly to the existing cypd4226
> binding.
>
> cypd6229 is a variant of cypd6129 and is described with a
> "cypress,cypd6129" fallback compatible string.
>
> Signed-off-by: Akash Kumar <akash.kumar@xxxxxxxxxxxxxxxx>
> ---
> .../bindings/usb/cypress,cypd6129.yaml | 99 +++++++++++++++++++
> 1 file changed, 99 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/usb/cypress,cypd6129.yaml
>
> diff --git a/Documentation/devicetree/bindings/usb/cypress,cypd6129.yaml b/Documentation/devicetree/bindings/usb/cypress,cypd6129.yaml
> new file mode 100644
> index 000000000000..f709f82f2092
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/cypress,cypd6129.yaml
> @@ -0,0 +1,99 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/cypress,cypd6129.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Cypress cypd6129/cypd6229 Type-C Controller
> +
> +maintainers:
> + - Akash Kumar <akash.kumar@xxxxxxxxxxxxxxxx>
> +
> +description:
> + The Cypress cypd6129 and cypd6229 are dual Type-C PD controllers that are
> + controlled via an I2C interface.
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: cypress,cypd6129
> + - items:
> + - const: cypress,cypd6229
> + - const: cypress,cypd6129
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + pinctrl-0: true
> + pinctrl-1: true
> +
> + pinctrl-names:
> + minItems: 1
> + items:
> + - const: default
> + - const: sleep
> +
> +patternProperties:
> + '^connector@[01]$':
> + $ref: /schemas/connector/usb-connector.yaml#
> + required:
> + - reg
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +anyOf:
> + - required:
> + - connector@0
> + - required:
> + - connector@1
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + typec@40 {
> + compatible = "cypress,cypd6129";
> + reg = <0x40>;
> + interrupts-extended = <&tlmm 136 IRQ_TYPE_LEVEL_LOW>;
> + pinctrl-0 = <&usb0_intr_state>;
> + pinctrl-names = "default";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + connector@0 {
> + compatible = "usb-c-connector";
> + reg = <0>;
> + label = "USB-C";
> + data-role = "dual";
> + power-role = "dual";
> + wakeup-source;

whitespace nitpickery, blank line here

> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;

and here

> + port@0 {
> + reg = <0>;

and here

Otherwise, this seems fine to me. With that,
Acked-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Cheers,
Conor.

pw-bot: changes-requested

> + endpoint {
> + remote-endpoint = <&usb_role_switch0>;
> + };
> + };
> + };
> + };
> + };
> + };
> --
> 2.43.0
>

Attachment: signature.asc
Description: PGP signature