From nobody Thu Apr 16 06:06:26 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fx6w314jXz6Z0Vy for ; Thu, 16 Apr 2026 06:06:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fx6w24sFNz3jPV for ; Thu, 16 Apr 2026 06:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776319586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zaRTQ+RUUK98Y9dc9DYo4hSYnaovK/x/nam9Z7NV2zI=; b=MV4DF88oUQ0+L9NDSwM93Pa8WBmzRS0hfFYBVud96uU8oNEL2dorrwbUON82Xn0A4oFk5/ mIUuZvujdwUJNQSL3M7pmdrHDjB1qb4rEgAydRmfUwEP44nyghcc4Em1lJ0QMByLl+zWKg wgEiUdltDj11kaeHg0hSe8FjHyU0QA8h7lK8MMFFb36OuOaH1cmqDUdKCaOKxdYC4KOSII M+TG0L3OsSOiCoZf9oK494BkYU/jE0VjKVIvxBmG6EdRCYcAZap82PDMyQa0lyYrrU314I VFH5W1U48fhtjuQo47dY5GbFCtE+HTVf0UjFUryAgnA3fbtL1WBjKzQBjvZkqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776319586; a=rsa-sha256; cv=none; b=pffCJo18IajvdPwa+M12kAw+6TIlmEjky65jcDC12prLB/Mfju4XM5xLpW1zra20yZTU0g vvmgSCxNJXM1J4424rBEK1aoy9rp5Hv/LTQr5nMbBMx6O3EHYYaF9thUkDRKg2YsgiKBTG c8g9RjRVNKVirUct+E4Vr87cW5S5S/2YhWlaB3HFw53CJapXu9nOhDqKcOohjQi6RbRzF5 2rD7ERlb/0hMY9qL8bBpZEcl2/kMpLYJiQ8+/FrKbtA67UosOGcyLtJvx3xIyU73ZbADc/ D1dviZInV8oOuOWgFOz6rHWCxc1u+RB4Xrl0WBa6CMwn5Uplg6ljs359ErCzDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776319586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zaRTQ+RUUK98Y9dc9DYo4hSYnaovK/x/nam9Z7NV2zI=; b=eqMFZY2kf9sBtXzkdrgqm/YHn7+ZcGLK4ocCzl71QcUK0kjiG21ODuJYKPhbJ1o2wLGkpg lyRO2/4/matTND7/2DafNn8+egXVwnIzaBSWhpgnENY+AhZCiCLgxhdYCge1A10AgNnGmD rLT/Zxyz7T9cXXI04rZ2Z+FGGoUTygBe9Anxq+Y+WjhCxcTmaHBcFH//YG1Hmf3vGDDn/G wSPFF9ycbgVbmYC4RuI9R2Pu7C5PdevlTIcb2/rf+v1L5a/NGYgS0J90a41vo2Dkqmr2P/ LU+4kcBSEyPJ7t2cI6BCOADzcwTvbIgkjtAvgljPnFElqrPmW6SnYjSZFy2oJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fx6w23FyWzvdk for ; Thu, 16 Apr 2026 06:06:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3d246 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 16 Apr 2026 06:06:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Vince From: Warner Losh Subject: git: 763404397007 - main - Fix xhci detection on Raspberry Pi 400 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7634043970078f63eea03bb8975bd3fe1e883130 Auto-Submitted: auto-generated Date: Thu, 16 Apr 2026 06:06:26 +0000 Message-Id: <69e07c62.3d246.45c03ae@gitrepo.freebsd.org> The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7634043970078f63eea03bb8975bd3fe1e883130 commit 7634043970078f63eea03bb8975bd3fe1e883130 Author: Vince AuthorDate: 2026-04-02 01:28:50 +0000 Commit: Warner Losh CommitDate: 2026-04-16 06:05:20 +0000 Fix xhci detection on Raspberry Pi 400 If you use the FreeBSD pre-build Raspberry Pi image, it does not include the specific .dtb file for the Raspberry Pi 400. On this hardware, it will fall back to attempting to load the Raspberry Pi 4 .dtb file instead. The Pi 4 .dtb file reports the board compatible name as "raspberrypi,4-model-b" The Pi 400 .dtb file reports the board compatible name as "raspberrypi,400" However, it's even better to use the generic name. When using the official Pi 400 .dtb file from the Raspberry Pi Firmware collection, the FreeBSD xhci driver currently fails to recognize this, and thus fails to initialize the xhci device. This means no external USB, or internal USB (which feeds the build-in keyboard) The official Raspberry Pi FreeBSD image has been working on the Pi 400 "on accident" simply because it didn't include the Pi 400 .dtb file prior to this. But the Stratipi Builder uses the full Raspberry Pi firmware suite and hit this bug. As a note: this is probably also a bug on the Compute Module 4 (CM4), but I don't own one of these devices in order to test/validate it. MFC After: 5 days Reviewed by: imp, Ali Mashtizadeh Pull Request: https://github.com/freebsd/freebsd-src/pull/2115 --- sys/arm/broadcom/bcm2835/bcm2838_xhci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2838_xhci.c b/sys/arm/broadcom/bcm2835/bcm2838_xhci.c index 25579d7227a5..b1461d17d391 100644 --- a/sys/arm/broadcom/bcm2835/bcm2838_xhci.c +++ b/sys/arm/broadcom/bcm2835/bcm2838_xhci.c @@ -89,7 +89,7 @@ bcm_xhci_probe(device_t dev) root = OF_finddevice("/"); if (root == -1) return (ENXIO); - if (!ofw_bus_node_is_compatible(root, "raspberrypi,4-model-b")) + if (!ofw_bus_node_is_compatible(root, "brcm,bcm2711")) return (ENXIO); /* @@ -105,7 +105,7 @@ bcm_xhci_probe(device_t dev) return (ENXIO); device_set_desc(dev, - "VL805 USB 3.0 controller (on the Raspberry Pi 4b)"); + "VL805 USB 3.0 controller (on the Raspberry Pi 4 series)"); return (BUS_PROBE_SPECIFIC); }