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
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c, linux, raspberry-pi
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C
- Estrellas
- 12
- Forks
- 3
- Merge medio
- 7 h 1 min
- PR fusionados (30 d)
- 7
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextbsd/nextbsd-kernel
-
area:bluetooth bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
nextbsd/nextbsd-kernel#236 ·
Los mantenedores suelen responder en 1 día
-
area:vm bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
nextbsd/nextbsd-kernel#226 ·
Los mantenedores suelen responder en 1 día
-
area:network enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
nextbsd/nextbsd-kernel#53 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
nextbsd/nextbsd-kernel#254 ·
Los mantenedores suelen responder en 1 día
-
linsysfs: create DRM sysfs nodes for platform-bus GPUs so Linux libdrm finds vc4/v3d on the Pi 5Abiertoarea:linux area:rpi5 enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 47/100
nextbsd/nextbsd-kernel#248 ·
Los mantenedores suelen responder en 1 día
Todos los issues de nextbsd/nextbsd-kernel
Issues similares
-
backlog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
EchoTools/nevr-runtime#653 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
base-files: 82_config_generate: regenerate /etc/board.json if 0-bytes / truncated after power cutAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
openwrt/openwrt#25940 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día