cm5-programming-jig-gpio-config (1.0.4) unstable; urgency=medium

  * Light the failure LED for permanent misconfiguration during bootstrap.
    The provision-failed hooks suppressed every bootstrap-phase failure,
    because most are the expected USB re-enumeration as the device reboots
    and lighting red for those would flash a failure on every successful
    run. That filter was too broad: no signing key configured, or no OS
    image selected, also report during bootstrap and will never resolve on
    retry, so the head sat on blue in-progress indefinitely with nothing to
    tell the operator anything was wrong.
  * Distinguish the two through PROVISION_FAILED_PERMANENT, which
    rpi-sb-provisioner sets from 2.3.2. Only the genuinely transient case is
    still swallowed. Against an older provisioner the variable is unset and
    the hooks behave exactly as before, so the change is safe to install
    ahead of the provisioner it pairs with.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 18 Aug 2026 15:14:13 +0100

cm5-programming-jig-gpio-config (1.0.3) unstable; urgency=medium

  * Ship a USB port filter to
    /usr/share/rpi-sb-provisioner/usb-ports.d/50-cm5-jig.conf, restricting
    provisioning to 4-1 -- the port the jig head is wired to -- so a board
    attached anywhere else on the host is left alone rather than programmed.
    A board on any other port is skipped, not failed: the provisioner logs
    the reason and records a PORT-EXCLUDED state, and the provisioning hooks
    that drive the status LEDs do not run, so the head stays on its ready
    indication.
  * The port was measured on a PVT jig, where 4-1 is a root port of the
    second xHCI controller wired directly to the head with no intervening
    hub, and is the only endpoint the provisioner has ever recorded a board
    on. Note this makes the package active on install: if 4-1 is wrong for a
    given jig, provisioning stops until it is corrected.
  * Document the filter in the README: how to confirm the port against your
    own hardware, and how to correct or disable it through
    /etc/rpi-sb-provisioner/usb-ports.d/50-cm5-jig.conf. Corrections belong
    in that /etc copy rather than in the shipped file, since files under
    /usr/share are replaced wholesale on upgrade while a same-named file in
    /etc both survives and takes precedence; an empty one disables the rule.
  * Depend on rpi-sb-provisioner (>= 2.3.2), the first version that reads the
    usb-ports.d drop-in directories.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 18 Aug 2026 13:00:05 +0100

cm5-programming-jig-gpio-config (1.0.2) unstable; urgency=medium

  * postinst: Enable gpio@24.service with deb-systemd-helper instead of
    `systemctl enable`. The previous call sat inside the
    `[ -d /run/systemd/system ]` guard, so it was skipped when the package was
    configured in an offline build chroot (e.g. rpi-image-gen). The wants
    symlink was therefore never baked into the image and gpio@24 never started
    on first boot, even though GPIO24 itself worked. deb-systemd-helper bakes
    enablement in offline, matching how the LED units are enabled.
  * postrm: Disable/purge gpio@24.service enablement on remove/purge so no
    dangling wants symlink or helper state is left behind.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 21 Jul 2026 16:35:00 +0100

cm5-programming-jig-gpio-config (1.0.1) unstable; urgency=medium

  * Add Apache-2.0 LICENSE file and DEP-5 debian/copyright.
  * packaging: Ship LICENSE in /usr/share/doc/cm5-programming-jig-gpio-config.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Mon, 30 Jun 2026 17:00:00 +0100

cm5-programming-jig-gpio-config (1.0) unstable; urgency=medium

  * CM5 programming jig GPIO configuration for Raspberry Pi PVT hardware.
  * effectors: Power (GPIO 16), RPIBOOT (GPIO 17), and lever triggers (GPIO 24)
    via rpi-systemd-gpio; status LEDs on GPIO 9 (blue), 10 (green), 11 (red)
    with all three lines driven together in every state.
  * daemon: cm5-provisioner-led C++20 service on libgpiod with cm5_led_blink
    IPC client; LED state survives provisioner service cgroup lifecycle.
  * hooks: sb-, fde-, naked-, and idp-provisioner integration for bootstrap,
    provision-started, post-flash, and provision-failed customisation stages.
  * LED behaviour: solid green when ready; blue blink (2 Hz) from bootstrap
    USB detect through flash complete; solid green on success; red blink (2 Hz)
    on provisioning-phase failure only (expected DUT reboot/USB re-enumeration
    during bootstrap does not signal failure).
  * systemd: cm5-provisioner-led.service and cm5-provisioner-led-ready.service.
  * packaging: Requires rpi-sb-provisioner (>= 2.3.1), rpi-systemd-gpio,
    libgpiod3, and gpiod.

 -- Tom Dewey <tom.dewey@raspberrypi.com>  Tue, 30 Jun 2026 16:00:00 +0100
