Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: hisilicon: hi3660-hikey960: move role-switch endpoint into connector
@ 2026-05-20 21:53 Akash Sukhavasi
  2026-06-03 18:54 ` Akash Sukhavasi
  0 siblings, 1 reply; 2+ messages in thread
From: Akash Sukhavasi @ 2026-05-20 21:53 UTC (permalink / raw)
  To: xuwei5; +Cc: krzk+dt, robh, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel

The rt1711h Type-C controller on the HiKey960 has the USB role-switch
endpoint placed as a top-level 'port' node, outside the connector
subnode. This triggers two dtbs_check warnings against
richtek,rt1711h.yaml:

  - 'port' does not match any of the regexes: '^pinctrl-[0-9]+$'
  - connector:ports: 'port@0' is a required property

Move the role-switch endpoint into the connector's port@0, which is
where usb-connector.yaml expects it. Update the DWC3 remote-endpoint
phandle accordingly.

The TCPM core (tcpm.c) looks up the role switch starting from the
connector fwnode via fwnode_usb_role_switch_get(). With the endpoint
inside the connector's port@0, it is found through the primary lookup
path rather than the device-level fallback.

Cross-compiled for arm64. Verified with dt_binding_check and
dtbs_check. Not runtime-tested on hardware.

Signed-off-by: Akash Sukhavasi <akash.sukhavasi@gmail.com>
---
 .../boot/dts/hisilicon/hi3660-hikey960.dts      | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
index c6056a85c..27fb08d34 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
@@ -550,6 +550,12 @@ usb_con: connector {
 			ports {
 				#address-cells = <1>;
 				#size-cells = <0>;
+				port@0 {
+					reg = <0>;
+					usb_con_hs: endpoint {
+						remote-endpoint = <&dwc3_role_switch>;
+					};
+				};
 				port@1 {
 					reg = <1>;
 					usb_con_ss: endpoint {
@@ -558,15 +564,6 @@ usb_con_ss: endpoint {
 				};
 			};
 		};
-		port {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			rt1711h_ep: endpoint@0 {
-				reg = <0>;
-				remote-endpoint = <&dwc3_role_switch>;
-			};
-		};
 	};
 
 	adv7533: adv7533@39 {
@@ -683,7 +680,7 @@ port {
 		#size-cells = <0>;
 		dwc3_role_switch: endpoint@0 {
 			reg = <0>;
-			remote-endpoint = <&rt1711h_ep>;
+			remote-endpoint = <&usb_con_hs>;
 		};
 
 		dwc3_ss: endpoint@1 {
-- 
2.54.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] arm64: dts: hisilicon: hi3660-hikey960: move role-switch endpoint into connector
  2026-05-20 21:53 [PATCH] arm64: dts: hisilicon: hi3660-hikey960: move role-switch endpoint into connector Akash Sukhavasi
@ 2026-06-03 18:54 ` Akash Sukhavasi
  0 siblings, 0 replies; 2+ messages in thread
From: Akash Sukhavasi @ 2026-06-03 18:54 UTC (permalink / raw)
  To: xuwei5; +Cc: krzk+dt, robh, conor+dt, linux-arm-kernel, devicetree,
	linux-kernel

On Wed, May 20, 2026 at 04:53:25PM -0500, Akash Sukhavasi wrote:
> The rt1711h Type-C controller on the HiKey960 has the USB role-switch
> endpoint placed as a top-level 'port' node, outside the connector
> subnode. This triggers two dtbs_check warnings against
> richtek,rt1711h.yaml:
> 
>   - 'port' does not match any of the regexes: '^pinctrl-[0-9]+$'
>   - connector:ports: 'port@0' is a required property
> 
> Move the role-switch endpoint into the connector's port@0, which is
> where usb-connector.yaml expects it. Update the DWC3 remote-endpoint
> phandle accordingly.
> 
> The TCPM core (tcpm.c) looks up the role switch starting from the
> connector fwnode via fwnode_usb_role_switch_get(). With the endpoint
> inside the connector's port@0, it is found through the primary lookup
> path rather than the device-level fallback.
> 
> Cross-compiled for arm64. Verified with dt_binding_check and
> dtbs_check. Not runtime-tested on hardware.
> 
> Signed-off-by: Akash Sukhavasi <akash.sukhavasi@gmail.com>
> ---
>  .../boot/dts/hisilicon/hi3660-hikey960.dts      | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> index c6056a85c..27fb08d34 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts
> @@ -550,6 +550,12 @@ usb_con: connector {
>  			ports {
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> +				port@0 {
> +					reg = <0>;
> +					usb_con_hs: endpoint {
> +						remote-endpoint = <&dwc3_role_switch>;
> +					};
> +				};
>  				port@1 {
>  					reg = <1>;
>  					usb_con_ss: endpoint {
> @@ -558,15 +564,6 @@ usb_con_ss: endpoint {
>  				};
>  			};
>  		};
> -		port {
> -			#address-cells = <1>;
> -			#size-cells = <0>;
> -
> -			rt1711h_ep: endpoint@0 {
> -				reg = <0>;
> -				remote-endpoint = <&dwc3_role_switch>;
> -			};
> -		};
>  	};
>  
>  	adv7533: adv7533@39 {
> @@ -683,7 +680,7 @@ port {
>  		#size-cells = <0>;
>  		dwc3_role_switch: endpoint@0 {
>  			reg = <0>;
> -			remote-endpoint = <&rt1711h_ep>;
> +			remote-endpoint = <&usb_con_hs>;
>  		};
>  
>  		dwc3_ss: endpoint@1 {
> --

Hi Wei,

Friendly ping on this one.
Also, is the hikey960 board still actively taking fixes?

-- 
Thanks,
Akash


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-06-03 18:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-20 21:53 [PATCH] arm64: dts: hisilicon: hi3660-hikey960: move role-switch endpoint into connector Akash Sukhavasi
2026-06-03 18:54 ` Akash Sukhavasi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox