Qualcomm Embedded USB Debugger (EUD) second port should point to Type-C USB connector. Such connector was defined directly in root node of sc7280.dtsi which is clearly wrong. SC7280 is a chip, so physically it does not have USB Type-C port. The connector is usually accessible through some USB switch or controller. Correct the EUD/USB connector topology by removing the top-level fake USB connector and adding appropriate ports in boards having actual USB Type-C connector defined (Herobrine, IDP). All other boards will have this EUD port missing. This fixes also dtbs_check warnings: sc7280-herobrine-crd.dtb: connector: ports:port@0: 'reg' is a required property Fixes: 9ee402ccfeb1 ("arm64: dts: qcom: sc7280: Fix EUD dt node syntax") Cc: Bhupesh Sharma <bhupesh.sharma@xxxxxxxxxx> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> --- Not tested on hardware. --- .../arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 15 +++++++++++++ .../arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi | 15 +++++++++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 21 +------------------ 3 files changed, 31 insertions(+), 20 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi index 9ea6636125ad..2a4f239c5632 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi @@ -573,6 +573,12 @@ usb_c0: connector@0 { power-role = "dual"; data-role = "host"; try-power-role = "source"; + + port { + usb_c0_ep: endpoint { + remote-endpoint = <&eud_con>; + }; + }; }; usb_c1: connector@1 { @@ -590,6 +596,15 @@ usb_c1: connector@1 { #include <arm/cros-ec-keyboard.dtsi> #include <arm/cros-ec-sbs.dtsi> +&eud_ports { + port@1 { + reg = <1>; + eud_con: endpoint { + remote-endpoint = <&usb_c0_ep>; + }; + }; +}; + &keyboard_controller { function-row-physmap = < MATRIX_KEY(0x00, 0x02, 0) /* T1 */ diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi index ebae545c587c..ffc469431340 100644 --- a/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi @@ -44,6 +44,12 @@ usb_c0: connector@0 { power-role = "dual"; data-role = "host"; try-power-role = "source"; + + port { + usb_c0_ep: endpoint { + remote-endpoint = <&eud_con>; + }; + }; }; usb_c1: connector@1 { @@ -78,6 +84,15 @@ cr50: tpm@0 { }; }; +&eud_ports { + port@1 { + reg = <1>; + eud_con: endpoint { + remote-endpoint = <&usb_c0_ep>; + }; + }; +}; + &tlmm { ap_ec_int_l: ap-ec-int-l-state { pins = "gpio18"; diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi index 925428a5f6ae..af9bb2ebcaa1 100644 --- a/arch/arm64/boot/dts/qcom/sc7280.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi @@ -649,18 +649,6 @@ cpu7_opp_3014mhz: opp-3014400000 { }; }; - eud_typec: connector { - compatible = "usb-c-connector"; - - ports { - port@0 { - con_eud: endpoint { - remote-endpoint = <&eud_con>; - }; - }; - }; - }; - memory@80000000 { device_type = "memory"; /* We expect the bootloader to fill in the size */ @@ -3624,7 +3612,7 @@ eud: eud@88e0000 { <0 0x88e2000 0 0x1000>; interrupts-extended = <&pdc 11 IRQ_TYPE_LEVEL_HIGH>; - ports { + eud_ports: ports { #address-cells = <1>; #size-cells = <0>; @@ -3634,13 +3622,6 @@ eud_ep: endpoint { remote-endpoint = <&usb2_role_switch>; }; }; - - port@1 { - reg = <1>; - eud_con: endpoint { - remote-endpoint = <&con_eud>; - }; - }; }; }; -- 2.34.1