[PATCH v8 0/5] Modify interrupt handling for eUSB2 Phy targets
From: Krishna Kurapati <hidden>
Date: 2026-09-13 14:40:59
Also in:
linux-arm-msm, linux-phy, linux-usb, lkml
eUSB2 targets handle wakeup interrupts differently depending on device speed when operating in host mode. According to the eUSB2 specification, remote wakeup signaling in host mode is detected via different data-line assertions based on the connected device speed. When a low-speed device is connected, the host repeater drives eD+ to logic '1' upon detecting a K-state on the USB lines during remote wakeup (eUSB2 specification, Section 5.5.14). When a full-speed or high-speed device is connected, the host repeater drives eD- to logic '1' upon detecting a K-state on the USB line during remote wakeup (eUSB2 specification, Sections 5.5.15 and 5.5.18). Since the eUSB2 PHY's "DP" and "DM" interrupt lines monitor the eD+ and eD- line states, configure the wakeup interrupts accordingly Add support for a new phy "type" attribute to be set by eusb2 phy drivers and be read by consumers (in this case usb controller) and act accordingly Changes pushed on top of usb-next branch. And v8 is only compile tested. Changes in v8: Rebase on top of latest usb-next Link to v7: https://lore.kernel.org/all/20260905-eusb2-interrupt-v7-v7-0-820cf5377a70@oss.qualcomm.com/ (local) Changes in v7: - Removed NULL check for phy pointer. Link to v6: https://lore.kernel.org/all/20260826-eusb2-interrupt-v6-v6-0-ae2601cfa80c@oss.qualcomm.com/ (local) Changes in v6: - Update commit messages to reflect why new EUSB2 phy type is added - Update phy reading via index rather than by name - Remove redundant header files in phy driver changes Link to v5: https://lore.kernel.org/all/20260723-eusb2-int-handling-v5-v5-0-f32ea6c1a318@oss.qualcomm.com/ (local) Changes in v5: - Add support for phy "type" attribute and set it from m31 and snps eusb2 phy probes. - Removed adding a new binding property Link to v4: https://lore.kernel.org/all/20260709-eusb2-interrupt-handling-v5-v4-0-d4f993925608@oss.qualcomm.com/ (local) Changes in v4: - Moved to using binding approach as suggested by Thinh Link to v3: https://lore.kernel.org/all/20260511094422.3561509-1-krishna.kurapati@oss.qualcomm.com/ (local) Changes in v3: - Removed multiple glymur-dwc3-mp pdata entries - Replaced use of ternary operators with if-else Link to v2: https://lore.kernel.org/all/20260505194242.1947891-1-krishna.kurapati@oss.qualcomm.com/ (local) Changes in v2: - Updated commit message - added supported eUSB2 targets Link to v1: https://lore.kernel.org/all/20260502095616.666938-1-krishna.kurapati@oss.qualcomm.com/ (local) Signed-off-by: Krishna Kurapati <redacted> --- Krishna Kurapati (5): dt-bindings: phy: Add PHY_TYPE_EUSB2 definition include: linux: phy: Add phy attribute "type" and associated helpers phy: snps-eusb2: Set phy type to EUSB2 phy: qcom: m31-eusb2: Set phy type to EUSB2 usb: dwc3: qcom: Modify interrupt handling for eUSB2 Phy targets drivers/phy/phy-snps-eusb2.c | 2 + drivers/phy/qualcomm/phy-qcom-m31-eusb2.c | 2 + drivers/usb/dwc3/dwc3-qcom.c | 63 +++++++++++++++++++++++-------- include/dt-bindings/phy/phy.h | 1 + include/linux/phy/phy.h | 27 +++++++++++++ 5 files changed, 80 insertions(+), 15 deletions(-) --- base-commit: ed2050bc671b44b2c948dbd4347cc534d44ccc9f change-id: 20260913-eusb2-interrupt-v8-ec30991dba4e Best regards, -- Krishna Kurapati [off-list ref]