mbox series

[0/8] Enable EUD on Qualcomm sm8450 SoC

Message ID 20240730222439.3469-1-quic_eserrao@quicinc.com
Headers show
Series Enable EUD on Qualcomm sm8450 SoC | expand

Message

Elson Serrao July 30, 2024, 10:24 p.m. UTC
The Embedded USB Debugger (EUD) is a mini High-Speed USB on-chip hub to
support the USB-based debug and trace capabilities on Qualcomm devices.
The current implementation lacks in below aspects that are needed for
proper EUD functionality.

1.) HS-Phy control: EUD being a HS hub needs HS-Phy support for it's
    operation. Hence EUD module should enable/disable HS-phy
    accordingly.
	
2.) Proper routing of USB role switch notifications: EUD hub is physically
    present in between the USB connector and the USB controller. So the
    usb role switch notifications originating from the connector should
    route through EUD. EUD also relies on role switch notifications to
    communicate with the USB, regarding EUD attach/detach events.

This series aims at implementing the above aspects to enable EUD on
Qualcomm sm8450 SoC.

Elson Roy Serrao (8):
  dt-bindings: soc: qcom: eud: Add phy related bindings
  dt-bindings: soc: qcom: eud: Add usb role switch property
  dt-bindings: soc: qcom: eud: Add compatible for sm8450
  arm64: dts: qcom: sm8450: Add EUD node
  arm64: dts: qcom: Enable EUD on sm8450 hdk
  usb: misc: eud: Add High-Speed Phy control for EUD operations
  usb: misc: eud: Handle usb role switch notifications
  usb: misc: eud: Add compatible for sm8450

 .../bindings/soc/qcom/qcom,eud.yaml           |  17 +++
 arch/arm64/boot/dts/qcom/sm8450-hdk.dts       |  15 ++-
 arch/arm64/boot/dts/qcom/sm8450.dtsi          |  29 ++++
 drivers/usb/misc/qcom_eud.c                   | 125 +++++++++++++++---
 4 files changed, 164 insertions(+), 22 deletions(-)

Comments

Krzysztof Kozlowski July 31, 2024, 5:38 a.m. UTC | #1
On 31/07/2024 00:24, Elson Roy Serrao wrote:
> Document the EUD compatible for sm8450 SoC.
> 
> Signed-off-by: Elson Roy Serrao <quic_eserrao@quicinc.com>
> ---
>  Documentation/devicetree/bindings/soc/qcom/qcom,eud.yaml | 1 +

This should be squashed with the previous patches or the previous
patches should explain why the properties are missing in existing
binding, but everything was fine.

You add new device with all its new quirks or properties. Adding
"compatible" alone is not a change itself.

Best regards,
Krzysztof
Trilok Soni July 31, 2024, 7:58 p.m. UTC | #2
On 7/31/2024 4:13 AM, Caleb Connolly wrote:
>>     
>> 2.) Proper routing of USB role switch notifications: EUD hub is physically
>>      present in between the USB connector and the USB controller. So the
>>      usb role switch notifications originating from the connector should
>>      route through EUD. EUD also relies on role switch notifications to
>>      communicate with the USB, regarding EUD attach/detach events.
>>
>> This series aims at implementing the above aspects to enable EUD on
>> Qualcomm sm8450 SoC.
> 
> Are there any plans to make this feature available for folks outside of Qualcomm / an NDA?
> 
> There is an openOCD fork on CodeLinaro but it still requires some proprietary library which is only available to folks with a quicinc email as I understand it.
> 

Which codelinaro link are you referring here?
Trilok Soni Aug. 6, 2024, 6:58 p.m. UTC | #3
On 8/1/2024 3:52 AM, Caleb Connolly wrote:
> Hi Trilok,
> 
> On 31/07/2024 21:58, Trilok Soni wrote:
>> On 7/31/2024 4:13 AM, Caleb Connolly wrote:
>>>>      2.) Proper routing of USB role switch notifications: EUD hub is physically
>>>>       present in between the USB connector and the USB controller. So the
>>>>       usb role switch notifications originating from the connector should
>>>>       route through EUD. EUD also relies on role switch notifications to
>>>>       communicate with the USB, regarding EUD attach/detach events.
>>>>
>>>> This series aims at implementing the above aspects to enable EUD on
>>>> Qualcomm sm8450 SoC.
>>>
>>> Are there any plans to make this feature available for folks outside of Qualcomm / an NDA?
>>>
>>> There is an openOCD fork on CodeLinaro but it still requires some proprietary library which is only available to folks with a quicinc email as I understand it.
>>>
>>
>> Which codelinaro link are you referring here?
> 
> That would be https://git.codelinaro.org/clo/la/openocd-org/openocd/-/blob/qcom_changes/README_QCOM?ref_type=heads
> 
> Which says:
> 
> Qualcomm specific tools:
> - Login to qpm.qualcomm.com
> - QUTS: 1.64.1.39 (version & above)
> - Qualcomm Host USB Product Suite - QUD QC only : 1.00.63 (supported version)
> - EUD QC : 2.1.1 (supported version)
> 
> I believe the specific versions of QUD and EUD are only available to Qualcomm engineers and not even to OEMs, though I might be mistaken.

Thanks. So are we okay w/ one of the following option? (trying to understand the need here properly before I relay it internally). 

Options:

(1) Provide EUD library and tools - proprietary w/o any login requirement. 
(2) Provide open-source EUD library and tools w/o any login requirement. 

Is Option (1) fine to begin with or option 2 is must?