From: Akash Kumar <akash.kumar@oss.qualcomm.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Rob Herring <robh@kernel.org>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org
Subject: [PATCH v3 1/2] dt-bindings: usb: cypress,cypd4226: Add cypd6129/cypd6229 support
Date: Mon, 12 Oct 2026 14:46:57 +0530 [thread overview]
Message-ID: <20261012091658.635441-2-akash.kumar@oss.qualcomm.com> (raw)
In-Reply-To: <20261012091658.635441-1-akash.kumar@oss.qualcomm.com>
From: Akash Kumar <akakum@qti.qualcomm.com>
Extend the binding to cover the Cypress cypd6129 and cypd6229 dual
Type-C PD controllers, which share the same I2C-controlled interface
as the cypd4226. Also add pinctrl and wakeup-source properties, and
relax reg/interrupts constraints that only applied to cypd4226.
Signed-off-by: Akash Kumar <akakum@qti.qualcomm.com>
---
.../bindings/usb/cypress,cypd4226.yaml | 90 +++++++++++++++++--
1 file changed, 83 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml b/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
index 0620d82508c1..d923ef82ecfa 100644
--- a/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
+++ b/Documentation/devicetree/bindings/usb/cypress,cypd4226.yaml
@@ -4,18 +4,25 @@
$id: http://devicetree.org/schemas/usb/cypress,cypd4226.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: Cypress cypd4226 Type-C Controller
+title: Cypress cypd4226/cypd6129/cypd6229 Type-C Controller
maintainers:
- Wayne Chang <waynec@nvidia.com>
+ - Akash Kumar <akash.kumar@oss.qualcomm.com>
description:
- The Cypress cypd4226 is a dual Type-C controller that is controlled
- via an I2C interface.
+ The Cypress cypd4226 is a dual Type-C controller, and the cypd6129 and
+ cypd6229 are dual Type-C PD controllers. All are controlled via an I2C
+ interface.
properties:
compatible:
- const: cypress,cypd4226
+ oneOf:
+ - const: cypress,cypd4226
+ - const: cypress,cypd6129
+ - items:
+ - const: cypress,cypd6229
+ - const: cypress,cypd6129
'#address-cells':
const: 1
@@ -24,11 +31,10 @@ properties:
const: 0
reg:
- const: 0x08
+ maxItems: 1
interrupts:
- items:
- - description: cypd4226 host interrupt
+ maxItems: 1
firmware-name:
enum:
@@ -40,6 +46,19 @@ properties:
- "nvidia,gpu" for the NVIDIA RTX product series
- "nvidia,jetson-agx-xavier" for the NVIDIA Jetson product series
+ pinctrl-0: true
+ pinctrl-1: true
+
+ pinctrl-names:
+ minItems: 1
+ items:
+ - const: default
+ - const: sleep
+
+ wakeup-source:
+ description: enable IRQ remote wakeup, see power/wakeup-source.txt
+ type: boolean
+
patternProperties:
'^connector@[01]$':
$ref: /schemas/connector/usb-connector.yaml#
@@ -57,6 +76,24 @@ anyOf:
- required:
- connector@1
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: cypress,cypd4226
+ then:
+ properties:
+ reg:
+ const: 0x08
+ pinctrl-0: false
+ pinctrl-1: false
+ pinctrl-names: false
+ wakeup-source: false
+ else:
+ properties:
+ firmware-name: false
+
additionalProperties: false
examples:
@@ -91,3 +128,42 @@ 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";
+ wakeup-source;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ connector@0 {
+ compatible = "usb-c-connector";
+ reg = <0>;
+ label = "USB-C";
+ data-role = "dual";
+ power-role = "dual";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ endpoint {
+ remote-endpoint = <&usb_role_switch0>;
+ };
+ };
+ };
+ };
+ };
+ };
--
2.43.0
next prev parent reply other threads:[~2026-10-12 9:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 9:16 [PATCH v3 0/2] usb: typec: ucsi_ccg: Add CYPD6129/CYPD6229 support Akash Kumar
2026-10-12 9:16 ` Akash Kumar [this message]
2026-10-12 9:21 ` [PATCH v3 1/2] dt-bindings: usb: cypress,cypd4226: Add cypd6129/cypd6229 support sashiko-bot
2026-10-12 19:04 ` Conor Dooley
2026-10-12 9:16 ` [PATCH v3 2/2] usb: typec: ucsi_ccg: Add cypd6129/cypd6229 OF device IDs Akash Kumar
2026-10-12 9:23 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261012091658.635441-2-akash.kumar@oss.qualcomm.com \
--to=akash.kumar@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=gregkh@linuxfoundation.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox