firmware-rubikpi3 (1.7) trixie; urgency=medium

  * firmware-rubikpi3-dsp: ship /lib/firmware/qcom/vpu-2.0 (vpu20_1v.mbn plus
    venus.mbn.zst) from the official image. The msm_vidc video codec (iris
    vendor driver) fails core init in a loop without it and video
    encode/decode is unavailable.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Wed, 08 Jul 2026 08:10:00 +0200

firmware-rubikpi3 (1.6) trixie; urgency=medium

  * firmware-rubikpi3-dsp: add the
    updates/qcom/qcs6490/Thundercomm/RubikPi3/adsp.mbn symlink. The kernel's
    own RubikPi3 DTB (used when the boot image builds dtb_a/dtb_b from the
    kernel's combined-dtb.dtb) requests the ADSP firmware under that
    board-specific path.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Mon, 06 Jul 2026 14:00:00 +0200

firmware-rubikpi3 (1.5) trixie; urgency=medium

  * firmware-rubikpi3-dsp: actually install renesas-xhci-rebind.service. In
    1.4 the unit was silently skipped: dh_installsystemd only picks up units
    named after the package, so a differently named unit needs an explicit
    dh_installsystemd --name override in debian/rules.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Mon, 06 Jul 2026 12:00:00 +0200

firmware-rubikpi3 (1.4) trixie; urgency=medium

  * firmware-rubikpi3-dsp: ship /lib/firmware/qupv3fw.elf (QUPv3 GENI serial
    engine DMA firmware) from the official image; quiets the update-initramfs
    "Possible missing firmware" warning for the built-in qcom_geni_se driver.
  * firmware-rubikpi3-dsp: add renesas-xhci-rebind.service. The Renesas
    uPD720201 xHCI (USB3) firmware lives in the usb_fw partition mounted at
    /var/usbfw, but xhci_pci probes from the initramfs before that mount, so
    request_firmware fails and the controller is left unbound; nothing ever
    retries. Rebind 0000:01:00.0 after var-usbfw.mount when no driver is
    bound. The previous image only worked because the msm_kgsl/camera probe
    deadlock delayed the probe past the mount.
  * firmware-rubikpi3-dsp: blacklist evbug (debug module that logs every input
    event to the kernel log, flooding the console on touch input).

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Mon, 06 Jul 2026 10:30:00 +0200

firmware-rubikpi3 (1.3) trixie; urgency=medium

  * firmware-rubikpi3-dsp: ship the vendor split firmware tree
    (/lib/firmware/updates/qcom/{qcs6490,qcm6490}, plus qps615.bin) extracted
    from the official image. This was the missing mechanism: the device tree
    requests qcom/qcs6490/adsp.mdt, and the official image satisfies it from
    the updates/ priority path with the board-specific blob, so the ADSP boots
    at kernel probe and its charger_pd runs fine. Our image lacked updates/,
    so the request fell through to nothing (ADSP offline) or, with the 1.1
    aliases, to the generic firmware-qcom-soc blob whose charger_pd crashes in
    a loop on this board. The 1.2 "keep the ADSP offline" rationale was wrong:
    it was based on a dist-upgraded official install whose updates/ tree had
    been broken; a fresh official install has the ADSP running.
  * firmware-rubikpi3-dsp: ship the vendor modprobe policy in
    /usr/lib/modprobe.d: qcom_graphics.conf (blacklist msm_display and
    msm_kgsl, install rule that picks msm unless the proprietary adreno stack
    is installed) and blacklist_qcom_camera.conf. Without these the duplicate
    msm_display driver conflicts and msm_kgsl/camera_qcm6490 deadlock during
    probe against lt9611/dsi, so the msm DRM device never binds and there is
    no card0/HDMI.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Mon, 06 Jul 2026 10:00:00 +0200

firmware-rubikpi3 (1.2) trixie; urgency=medium

  * firmware-rubikpi3-dsp: drop the .mdt.zst aliases. They made the device
    tree's adsp.mdt/cdsp.mdt firmware-name requests resolve, which booted the
    ADSP; its charger_pd firmware then crashed in a loop and hung the board.
    Confirmed over SSH on the working official image that it ships only
    .mbn.zst (no .mdt), so the ADSP fails to load (-2) and stays offline, and
    everything works (USB3 is a Renesas PCIe controller, independent of the
    ADSP). Match that: keep the .mbn.zst/.jsn present but no .mdt, so the ADSP
    stays offline.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Sat, 04 Jul 2026 12:00:00 +0200

firmware-rubikpi3 (1.1) trixie; urgency=medium

  * Rename source package from firmware-brcm43456 to firmware-rubikpi3; it now
    builds the firmware-brcm43456 and firmware-rubikpi3-dsp binary packages.
  * Add firmware-rubikpi3-dsp binary package: Qualcomm QCS6490 ADSP, CDSP,
    Adreno A660 zap shader and IPA remoteproc firmware, extracted from the
    vendor board image, installed under qcom/qcm6490 with qcom/qcs6490 symlinks
    and .mdt.zst aliases so the remoteproc firmware-name requests resolve.
    Without the ADSP firmware pmic_glink and the Type-C port manager do not come
    up, so USB-C/USB3 gets no VBUS and audio is dead.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Fri, 03 Jul 2026 18:15:00 +0200

firmware-brcm43456 (1.0) trixie; urgency=medium

  * Initial release: Broadcom BCM4345/43456 WiFi firmware, board NVRAM and CLM
    blob for the Thundercomm Rubik Pi 3, extracted from the vendor image.

 -- Pedro M. de Echanove Pasquin <pedro.echanove@liberux.net>  Thu, 02 Jul 2026 10:29:42 +0200
