From nobody Fri Apr 24 21:49:00 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 4g2RS14F7yz6bLZM for ; Fri, 24 Apr 2026 21:49:05 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g2RS13PC8z3cdN for ; Fri, 24 Apr 2026 21:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777067345; 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=syt826MPu+MmjLFRZ62fBccna2gWN39C4rG4wSuJ37c=; b=r554/gd5tooDwQhG68C3HGmxE0X9KUgv5B//eoIoYhhn8QAqauGGAWPRB+PZIqf+bHbo7A 4HTKUJdx71Nmr+6QPl0lSZnAlSPwVdv2karNPxcxn3BIT+tZoxkIEzEFWlzNDeF7Ewpe2r oOnufSq9+lPHF6R0o0O13SAFzxL1d4onbLkkeRch626aU35DEG+Jq5yvRdFySy5c32bFMf KiPtJDy98StOhQWE09UkqLI/pzBQIvB8vMDolo1GQG6PLFm/9/9KA9rRKycVM9Hw3MLri9 QEW2x5R5Jh+zjJ3F8qx6TFmFnMlypegh5/EHybKHDmtW1RPP5C2OY8mm054IGA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777067345; a=rsa-sha256; cv=none; b=wsXd5+dzYGMZ0yWruVlRVjbsCLg5qyAWJQUqN0031AQiW5LHDVeTMohopwzdYQM466EbV4 D7GwG65agWVBifrLxIzHimME3qsDRygPflImanjJ3GWBxzVJwQ/ZMCb1hJNlADMKberaYf BAai08JVprtOjx9iHTQNbtjGjazgkKY/9cmsgbr4tNiz5QsuJbI2I3A1Tp1pypqCO7CBN+ tHMijL0bBY5aK+eHIDY/mMp0GEJ0SjxP7jrAGgf0ILzbzqnF9nEDABosADSDDN0hnnXjBb 15fYJ9zOmqQdgGY63D+2nJFQFbWLNhHmMH8aUvucGg1dRlMPp01HY3E4H/5TJQ== 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=1777067345; 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=syt826MPu+MmjLFRZ62fBccna2gWN39C4rG4wSuJ37c=; b=ASCoa6IqM111Tc8mQk5ZCBUJgFhJmMLNuqZTToaZtKcs4QYwruWC/LRCy19089mrm1+7y6 6Raa+tqHR2/Wcl9xo4n3MDpc66og6ix4QqgF9ME3bfF6FHiu429ewJC27xQghgGf4PfuT+ 8DqzLGVluRgmwtWjUrh19RfE7IRrMCUfZUmQ7bP1L5kI3idKA8lv3+FfFVX4Whh4W//gep 4HV3Cnyu5pTN7q2Rh6uHATlcBFQ7SLlhap2KvHOn/8X0IBImEugoMIW+Qs8HzgdoC+npdo eQfjCjwTxQ4NZwyoT2v1+0pb6WTQW6SI40JP/bh0AD0RLPjYxS9Ya1v7xQ/Kkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g2RS12bmbz1KGk for ; Fri, 24 Apr 2026 21:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3eddd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 24 Apr 2026 21:49:00 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Vince From: Warner Losh Subject: git: 861deac98c4c - stable/15 - 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 861deac98c4cd403b39c0d978bf2d39115c9caee Auto-Submitted: auto-generated Date: Fri, 24 Apr 2026 21:49:00 +0000 Message-Id: <69ebe54c.3eddd.75e247c6@gitrepo.freebsd.org> The branch stable/15 has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=861deac98c4cd403b39c0d978bf2d39115c9caee commit 861deac98c4cd403b39c0d978bf2d39115c9caee Author: Vince AuthorDate: 2026-04-02 01:28:50 +0000 Commit: Warner Losh CommitDate: 2026-04-24 21:44:33 +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 (cherry picked from commit 7634043970078f63eea03bb8975bd3fe1e883130) --- 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); }