Hi, On Tue, Jul 25, 2023 at 1:46 AM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > 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(-) FWIW, I've always been very intrigued about the embedded USB port but never managed to find any way to get it actually enabled. :( ...so I'm probably not the best person to actually review this. That being said: 1. I'm nearly certain that this is completely unusable on herobrine boards. Specifically on herobrine there's a USB hub between the SoC and all the physical ports on the device and (I think?) that prevents EUD from working. It is possible that hoglin/zoglin is an exception here and Qualcomm might have some backdoor way to access EUD on these devices since this is hardware that they built. 2. I've always been pretty baffled about the sc7280 EUD stuff since the device tree shows the EUD on "usb_2". For some background: there are two USB controllers on sc7280. There's "usb_1" which is USB 2.0/3.0 capable and, at an SoC level, is the "Type C" port. Specifically the pins on the SoC for the USB 3.0 signals are the same pins on the SoC as two of the DisplayPort lanes. Then there's "usb_2" which is USB 2.0 only. If you'll notice, "usb_2" is not set to status "okay" on any boards except "sc7280-idp.dts". I asked Qualcomm at least a few times in the past if the EUD is truly on the USB 2.0 port (which means it isn't connected to anything on herobrine boards) or if it's actually on the "type C" port (which means there's a hub in between) and never got a ton of clarify... Given how baffling everything is, I wouldn't be opposed to just deleting the EUD from the device tree until there is more clarity here. If you don't want to just delete it, at least I'd say that it shouldn't be hooked up for herobrine. -Doug