Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
From: Herman van Hazendonk <github.com@herrie.org>
To: vkoul@kernel.org
Cc: neil.armstrong@linaro.org, andersson@kernel.org,
	lumag@kernel.org, konrad.dybcio@oss.qualcomm.com,
	p.zabel@pengutronix.de, linux-arm-msm@vger.kernel.org,
	linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org,
	Herman van Hazendonk <github.com@herrie.org>
Subject: [PATCH v2 0/1] phy: qcom: usb-hs: program MSM8x60 vendor ULPI registers on power-on
Date: Thu,  4 Jun 2026 18:23:51 +0200	[thread overview]
Message-ID: <20260604162352.569269-1-github.com@herrie.org> (raw)

v2:
 - Drop the new "qcom,vendor-init-seq" DT property entirely, per
   Dmitry's review.  The values being passed in were
   platform-specific (identical across every MSM8x60 SoC) plus one
   board-specific value, not per-device.  Move all of it into the
   driver.
 - Drop the corresponding dt-bindings patch (the binding gains
   nothing in v2).
 - Hardcode the values in the driver behind a runtime flag that
   only matches "qcom,usb-hs-phy-msm8660":
     * reg 0x32 [5:4] = 11b  - pre-emphasis 20% (platform-wide
       across every MSM8x60 reference board / HP TouchPad / HTC)
     * reg 0x36 bits 1,2 set - CDR auto-reset + SE1 gating
       disabled (also platform-wide)
     * reg 0x32 [3:0]   = 5  - HS driver slope.  This is the only
       board-specific value; HP TouchPad webOS kernel uses 5, HTC
       MSM8660 ports historically used 1.  Since the TouchPad is
       the only in-tree MSM8x60 consumer, the value is hardcoded
       with a comment noting that a per-compatible override will
       be needed when a second board lands.

 - Comment in the driver also calls out that HTC vendor kernels
   additionally write 0x0C to reg 0x31.  The HP TouchPad webOS
   kernel never touched that register and USB is stable without
   it, so those bits are omitted until documentation surfaces.

 - The companion DTS patch flipping the TouchPad PHY compatible
   from "qcom,usb-hs-phy-apq8064" (a different SoC) to
   "qcom,usb-hs-phy-msm8660" will be sent separately to the ARM
   DTS tree as that's where it belongs.

On-device validation (HP TouchPad / APQ8060):
  - Booted with v2 + the DTS compatible fix.  PHY driver bound,
    msm_hsusb HS link came up at high-speed, BC 1.2 charger
    detection passed, UDC configured cleanly.
  - 200 MB scp device->host + 200 MB scp host->device, with a
    concurrent ping flood running in parallel:
      - both transfers 19.1-19.3 s   (~10.5 MB/s, the CPU+stack
        ceiling for USB-net on a 1.5 GHz Scorpion)
      - md5 round-trip identical both ways (zero corruption in
        ~400 MB of HS traffic)
      - ping flood: 60/60 received, 0% loss
      - usb0 counters: 0 errors, 0 dropped, 0 carrier losses,
        0 collisions across 151k packets / 220 MB
      - dmesg line count unchanged (no link resets, no PHY/USB
        warnings emitted during stress)

The on-device test doesn't measure the analog effect of the
pre-emphasis / driver slope settings (that needs an oscilloscope
on D+/D-), but it does confirm the writes don't regress an
already-stable HS link.

Herman van Hazendonk (1):
  phy: qcom: usb-hs: program MSM8x60 vendor ULPI registers on power-on

 drivers/phy/qualcomm/phy-qcom-usb-hs.c | 79 ++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)


base-commit: 944125b4c454b58d2fe6e35f1087a932b2050dff
-- 
2.43.0


             reply	other threads:[~2026-06-04 16:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-04 16:23 Herman van Hazendonk [this message]
2026-06-04 16:23 ` [PATCH v2 1/1] phy: qcom: usb-hs: program MSM8x60 vendor ULPI registers on power-on Herman van Hazendonk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260604162352.569269-1-github.com@herrie.org \
    --to=github.com@herrie.org \
    --cc=andersson@kernel.org \
    --cc=konrad.dybcio@oss.qualcomm.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=lumag@kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=p.zabel@pengutronix.de \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox