From: Gary Yang <gary.yang@cixtech.com>
To: Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Manivannan Sadhasivam <mani@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Fugang Duan <fugang.duan@cixtech.com>
Cc: CIX Linux Kernel Upstream Group <cix-kernel-upstream@cixtech.com>,
linux-arm-kernel@lists.infradead.org,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Gary Yang <gary.yang@cixtech.com>
Subject: [PATCH 1/3] dt-bindings: phy: add CIX Sky1 USB/DP combo PHY
Date: Mon, 2 Nov 2026 16:15:30 +0800 [thread overview]
Message-ID: <20261102081532.2305142-2-gary.yang@cixtech.com> (raw)
In-Reply-To: <20261102081532.2305142-1-gary.yang@cixtech.com>
Document the USB/DP combo PHY of the CIX Sky1 SoC. Each PHY instance
exposes one SuperSpeedPlus USB lane and one DisplayPort lane as child
nodes, so that the USB and DP consumers can each reference the lane
they use.
The PHY performs Type-C plug orientation switching and USB/DP lane
muxing in hardware and is therefore described with the
"orientation-switch" and "mode-switch" properties. Lane muxing is
programmed through the S5 system controller, identified by the
"cix,usbphy-syscon" phandle followed by the PHY instance index.
Reviewed-by: Fugang Duan <fugang.duan@cixtech.com>
Signed-off-by: Gary Yang <gary.yang@cixtech.com>
---
.../bindings/phy/cix,sky1-usbdp-phy.yaml | 150 ++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 151 insertions(+)
create mode 100644 Documentation/devicetree/bindings/phy/cix,sky1-usbdp-phy.yaml
diff --git a/Documentation/devicetree/bindings/phy/cix,sky1-usbdp-phy.yaml b/Documentation/devicetree/bindings/phy/cix,sky1-usbdp-phy.yaml
new file mode 100644
index 000000000000..a5b6943f84eb
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/cix,sky1-usbdp-phy.yaml
@@ -0,0 +1,150 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/cix,sky1-usbdp-phy.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: CIX Sky1 USB/DP Combo PHY
+
+maintainers:
+ - Gary Yang <gary.yang@cixtech.com>
+
+description:
+ The CIX Sky1 USB/DP combo PHY provides one SuperSpeedPlus USB lane
+ and one DisplayPort lane for a USB3C Type-C port. The USB and DP
+ lanes are represented as child nodes of the PHY controller.
+
+properties:
+ compatible:
+ const: cix,sky1-usbdp-phy
+
+ reg:
+ maxItems: 1
+
+ "#address-cells":
+ const: 1
+
+ "#size-cells":
+ const: 0
+
+ clocks:
+ maxItems: 1
+ description: PHY APB clock.
+
+ resets:
+ items:
+ - description: PHY core reset
+ - description: PHY APB preset
+
+ reset-names:
+ items:
+ - const: core
+ - const: apb
+
+ orientation-switch:
+ description:
+ The PHY handles Type-C plug orientation switching.
+ type: boolean
+
+ mode-switch:
+ description:
+ The PHY handles multiplexing of the USB and DisplayPort lanes.
+ type: boolean
+
+ cix,usbphy-syscon:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ items:
+ - items:
+ - description: phandle to the S5 system controller
+ - description: PHY instance index within the system controller
+ description:
+ Phandle to the system controller used for lane muxing and
+ Type-C orientation control, followed by the PHY instance index.
+
+ cix,default-conf:
+ $ref: /schemas/types.yaml#/definitions/uint8
+ enum: [0, 1, 2, 3]
+ default: 3
+ description: |
+ Lane mode the PHY is put in until a consumer changes it through the
+ Type-C mux. The value is a bit mask: 0 = none, 1 = USB, 2 = DP,
+ 3 = USB and DP.
+
+patternProperties:
+ "^usb-port@[0-9a-f]+$":
+ type: object
+ description:
+ The USB lane of the combo PHY.
+
+ properties:
+ reg:
+ maxItems: 1
+
+ "#phy-cells":
+ const: 0
+
+ required:
+ - reg
+ - "#phy-cells"
+
+ additionalProperties: false
+
+ "^dp-port@[0-9a-f]+$":
+ type: object
+ description:
+ The DisplayPort lane of the combo PHY.
+
+ properties:
+ reg:
+ maxItems: 1
+
+ "#phy-cells":
+ const: 0
+
+ required:
+ - reg
+ - "#phy-cells"
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - "#address-cells"
+ - "#size-cells"
+ - clocks
+ - resets
+ - reset-names
+ - cix,usbphy-syscon
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/cix,sky1.h>
+ #include <dt-bindings/reset/cix,sky1-s5-system-control.h>
+
+ usbc_phy0: usb-phy@9030000 {
+ compatible = "cix,sky1-usbdp-phy";
+ reg = <0x09030000 0x40000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clocks = <&scmi_clk CLK_TREE_USB3C_DRD_PHY3_GATE>;
+ resets = <&s5_syscon SKY1_USB_DP_PHY0_RST_N>,
+ <&s5_syscon SKY1_USB_DP_PHY0_PRST_N>;
+ reset-names = "core", "apb";
+ cix,usbphy-syscon = <&s5_syscon 0>;
+ cix,default-conf = /bits/ 8 <0x03>;
+ orientation-switch;
+ mode-switch;
+
+ usb-port@0 {
+ reg = <0>;
+ #phy-cells = <0>;
+ };
+
+ dp-port@1 {
+ reg = <1>;
+ #phy-cells = <0>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 93abbb315065..8fb940a3ea3b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2903,6 +2903,7 @@ S: Maintained
T: git https://github.com/cixtech/linux-mainline.git
F: Documentation/devicetree/bindings/arm/cix.yaml
F: Documentation/devicetree/bindings/mailbox/cix,sky1-mbox.yaml
+F: Documentation/devicetree/bindings/phy/cix,sky1-usbdp-phy.yaml
F: arch/arm64/boot/dts/cix/
F: drivers/mailbox/cix-mailbox.c
K: \bcix\b
--
2.50.1
next prev parent reply other threads:[~2026-11-02 8:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-02 8:15 [PATCH 0/3] phy: cix: add Sky1 USB/DP combo PHY Gary Yang
2026-11-02 8:15 ` Gary Yang [this message]
2026-11-02 8:27 ` [PATCH 1/3] dt-bindings: phy: add CIX " sashiko-bot
2026-11-02 8:15 ` [PATCH 2/3] phy: cix: add Sky1 USB/DP combo PHY driver Gary Yang
2026-11-02 8:31 ` sashiko-bot
2026-11-02 8:15 ` [PATCH 3/3] arm64: dts: cix: add Sky1 USB/DP combo PHY Gary Yang
2026-11-02 8:41 ` sashiko-bot
-- strict thread matches above, loose matches on Subject: below --
2026-11-02 8:21 [PATCH 0/3] phy: " Gary Yang
2026-11-02 8:21 ` [PATCH 1/3] dt-bindings: phy: add CIX " Gary Yang
2026-11-02 8:33 ` 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=20261102081532.2305142-2-gary.yang@cixtech.com \
--to=gary.yang@cixtech.com \
--cc=cix-kernel-upstream@cixtech.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=fugang.duan@cixtech.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=mani@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=robh@kernel.org \
--cc=vkoul@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