rpi5: measure what the firmware leaves for the onboard CYW43455 Bluetooth (BT_ON gio 29, uarta pinmux, 96 MHz clock, bdaddr) before any driver work
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c, linux, raspberry-pi
- Ambito
- embedded-iot, operating-systems
Direzione di ricerca
Start with the referenced bcm2712-rpi-5-b.dts, bcm2712.dtsi, bcm2712-rpi.dtsi, and config/rpi5.env. On a Pi 500+, run the listed GPIO, clock, Bluetooth, and dmesg commands, then compare them with ofwdump and devinfo output from NEXTBSD-RPI5. Done means recording all four answers with raw output and identifying which GPIO and pinctrl drivers K8 requires.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
E16 draft id K7 · epic nextbsd/nextbsd#473
Question
The Pi 5 / Pi 500 Bluetooth radio is UART-attached, and every layer between it and ng_hci is missing in FreeBSD 15.1 (K8 has the list). Before sizing that work, three facts have to be read off the board — they decide whether K8 is "a UART compat line and an H4 node" or "three new SoC drivers first":
- Is BT_ON already high? The radio's reset is
shutdown-gpios = <&gio 29 GPIO_ACTIVE_HIGH>(bcm2712-rpi-5-b.dts:377), on the SoC'sbrcm,brcmstb-gpioblock at0x107d508500(bcm2712.dtsi:497-508inrpi-6.6.y), for which FreeBSD has no driver. Linuxhci_bcmtoggles it itself. If the Pi firmware/EEPROM leaves it high, a GPIO driver can wait; if it leaves the chip in reset, K8 needsbrcmstb-gpiofirst. - Are gpio24–27 muxed to
uart0(uarta)?pinctrl-0 = <&uarta_24_pins &bt_shutdown_pins>onbrcm,bcm2712-pinctrlat0x107d504100(bcm2712.dtsi:402-…), also driverless. Linux applies it at probe. - What does
uarta(brcm,bcm7271-uart,0x107d50c000,reg-shift=2,reg-io-width=4,clock-frequency=96000000) actually run at, and doesskip-initmean the firmware already programmed it? Same class of question as the UART10 clock hunt inconfig/rpi5.env(44.2368 MHz measured vs 9.216 MHz claimed) — the number has to come from the hardware, not the DT. - What BD address does the firmware put in the DT?
local-bd-addressis zeros in the source dts; the Pi firmware patches it at boot (bdaddroverride,bcm2712-rpi.dtsi:177). Dump/proc/device-tree/…/bluetooth/local-bd-addressfrom Linux and the FreeBSDofwview.
How
On a Pi 500+ under Raspberry Pi OS: raspi-gpio get 24-29 (or pinctrl get 24-29), gpioinfo for gio line 29 state, cat /sys/kernel/debug/clk/clk_summary | grep -i uart, hcitool dev / btmgmt info for the working baud/bdaddr, and dmesg | grep -i 'hci_uart\|bcm' for the firmware file the kernel loaded (expect brcm/BCM4345C0.hcd or the raspberrypi,5-model-b variant). Then boot NEXTBSD-RPI5 and read the same registers/DT nodes from FreeBSD (ofwdump -a, devinfo -v, a kldstat-free peek via ddb or a tiny /dev/mem read if needed) to see what our boot path leaves.
Acceptance
- The four answers, with the raw command output, on this ticket
- K8's scope updated: which of {brcmstb-gpio, bcm2712-pinctrl} are hard prerequisites vs later
- The measured uarta clock and the firmware file name recorded for K8
Related
- K8 (the bring-up, parked), #99 (WiFi half of the same chip — separate SDIO path, no shared code), #107/#108 (the UART10 clock precedent)
- nextbsd/nextbsd#440 (E7), #473 (E16)
Dependencies (E16)
- Depends on: nothing
- Blocks: nextbsd/nextbsd-kernel#233 (K8)
Draft ids (K = kernel & hardware, B = engine/BLE, D = bluetoothd/CLI, H = HID, A = audio) are listed with their issue numbers in nextbsd/nextbsd#473.
- Lingua principale
- C
- Stelle
- 12
- Fork
- 3
- Merge medio
- 1h 33m
- PR unite (30g)
- 58
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di nextbsd/nextbsd-kernel
-
area:bluetooth bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nextbsd/nextbsd-kernel#236 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:vm bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
nextbsd/nextbsd-kernel#226 ·
I maintainer di solito rispondono entro 1 giorno
-
area:network enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
nextbsd/nextbsd-kernel#53 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:kext enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
nextbsd/nextbsd-kernel#329 ·
I maintainer di solito rispondono entro 1 giorno
-
area:kext enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
nextbsd/nextbsd-kernel#328 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di nextbsd/nextbsd-kernel
Issue simili
-
Add `CPC_TAKE_TILL_CHARS`Apertadifficulty: easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
performance solver
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ChefKissInc/Inferno#319 ·
-
llvm-tools
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
llvm/llvm-project#235522 ·
I maintainer di solito rispondono entro 1 giorno