Source: linux
Version: 6.12.101-1
Severity: normal
Tags: d-i
X-Debbugs-Cc: [email protected]

Dear Maintainer,

The arm64 debian-installer cannot see USB storage on Marvell Armada
7040/8040 and CN913x boards, because phy-mvebu-cp110-utmi is not listed
in any debian/installer/modules/arm64/ module list.

CP110 USB needs two PHY drivers: phy-mvebu-cp110-comphy (SerDes, used
for USB3) and phy-mvebu-cp110-utmi (USB2). Only the former is listed,
in debian/installer/modules/arm64/base-modules:

  phy-mvebu-cp110-comphy ?

Without the UTMI driver the USB controllers never finish probing.

Observed on a SolidRun MACCHIATObin Single Shot (Armada 8040) running
the Debian 13.6 arm64 netinst installer, kernel 6.12.94+deb13-arm64:

  # cat /sys/kernel/debug/devices_deferred
  f2500000.usb  platform: wait for supplier 
/cp0/config-space@f2000000/utmi@580000/usb-phy@0
  f2510000.usb  platform: wait for supplier 
/cp0/config-space@f2000000/utmi@580000/usb-phy@1
  f4500000.usb  platform: wait for supplier 
/cp1/config-space@f4000000/utmi@580000/usb-phy@0

  # ls /lib/modules/6.12.94+deb13-arm64/kernel/drivers/phy/marvell/
  phy-mvebu-cp110-comphy.ko.xz

  # ls /dev/sd*
  (nothing)

usb_storage, xhci_hcd, xhci_plat_hcd and phy_mvebu_cp110_comphy are all
loaded; only the UTMI PHY provider is missing. Consequently cdrom-detect
only ever probes the eMMC and never sees the USB installation media:

  cdrom-detect: CD-ROM mount failed: device=/dev/mmcblk0boot1 fstype=vfat
  main-menu: WARNING **: Menu item 'cdrom-detect' failed.

so installing from a USB stick is not possible on these boards.

Inserting the module by hand in the running installer (delivered via an
extra initrd cpio appended on the GRUB initrd line) makes all three
controllers probe immediately and /dev/sda appear, which confirms this
is the only missing piece.

The kernel config symbol is already enabled: #1076934 ("linux: please
enable drivers for arm64 cn913x solidrun boards", Josua Mayer) added
CONFIG_PHY_MVEBU_CP110_UTMI=m for arm64 in linux 6.10.3-1 via salsa
merge request !1148. That change did not touch the debian-installer
module lists, which is what this report asks for. The module is present
in the installed system:

  # find /usr/lib/modules/6.12.101+deb13-arm64 -name 'phy-mvebu-cp110-utmi*'
  
/usr/lib/modules/6.12.101+deb13-arm64/kernel/drivers/phy/marvell/phy-mvebu-cp110-utmi.ko.xz

Suggested fix: add phy-mvebu-cp110-utmi to
debian/installer/modules/arm64/usb-modules, alongside the other platform
USB PHY drivers already listed there (phy-rockchip-typec, phy-snps-eusb2,
phy-qcom-snps-femto-v2, phy-qcom-qusb2, phy-qcom-eusb2-repeater).

Affected hardware includes the SolidRun MACCHIATObin, ClearFog GT-8K and
CN9130-based boards.

-- System Information:
Debian Release: 13.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: arm64 (aarch64)

Kernel: Linux 6.12.101+deb13-arm64 (SMP w/4 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=locale: Cannot set 
LC_ALL to default locale: No such file or directory
UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to