Hi Peter,

On 10/29/2025 5:45 PM, Peter Chen wrote:
+&i2c4 {
+       i2c-scl-rising-time-ns = <475>;
+       i2c-scl-falling-time-ns = <26>;
+       status = "okay";
+
+       usbc0: typec-portc@22 {
+               compatible = "fcs,fusb302";
+               reg = <0x22>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&usbc0_int>;
+               vbus-supply = <&vbus_typec>;
+
+               usb_con: connector {
+                       compatible = "usb-c-connector";
+                       label = "USB-C";
+                       data-role = "dual";
+                       power-role = "dual";
+                       try-power-role = "sink";
+                       op-sink-microwatt = <1000000>;
+                       sink-pdos =
+                               <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
+                       source-pdos =
+                               <PDO_FIXED(5000, 1500, PDO_FIXED_USB_COMM)>;
+
+                       altmodes {
+                               displayport {
+                                       svid = /bits/ 16 <0xff01>;
+                                       vdo = <0x00001c46>;
+                               };
+                       };
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       usbc_hs: endpoint {
+                                               remote-endpoint = 
<&u2phy0_typec_hs>;
+                                       };
+                               };
+
Why USB2 PHY needs to be notified for Type-C connection?

I think the USB-connector binding require a port@0 for High Speed.  So I filled 
in USB2 PHY here. And I have looked up boards with the same usage, and some of 
the results are as follows:

- rk3399-firefly.dts

- rk3399-pinebook-pro.dts

- rk3399-eaidk-610.dts



+                               port@1 {
+                                       reg = <1>;
+
+                                       usbc_ss: endpoint {
+                                               remote-endpoint = 
<&tcphy0_typec_ss>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+
+                                       usbc_dp: endpoint {
+                                               remote-endpoint = 
<&tcphy0_typec_dp>;
+                                       };
+                               };
+                       };
+               };
+       };
+};
+
.....
  &u2phy0 {
         status = "okay";
+
+       port {
+               u2phy0_typec_hs: endpoint {
+                       remote-endpoint = <&usbc_hs>;
+               };
+       };
  };

There is no switch and mux, how to co-work with Type-C?

I checked the phy-rockchip-inno-usb2.c but did not find any switch or mux. Does 
this mean that we need to implement them? Thank you.



Best regards,
Peter


--
Best,
Chaoyi

Reply via email to