Epic: #113 · Milestone: MC3 — Pi 5 platform drivers
Why
GPIO is the cheapest hardware proof that MMIO works (blink an LED) and the path to two living-room extras: an IR receiver for old remotes, and I2S for audiophile DAC HATs. drivers/gpio.home (690), pwm.home (87) are generic; RP1's GPIO/PWM/I2S blocks have their own register maps.
Tasks
platform/rp1/gpio.home: pin function select, pull, output/input, edge interrupts through RP1's IRQ controller;gpioshell command; the on-board activity LED (also on the PM block on 2712 — verify from DTB) used as a heartbeat.platform/rp1/pwm.home(fan control for the official active cooler is via the PM/fan controller — implement fan curve tied to the thermal readings from #64).platform/rp1/i2s.home: clocking, DMA, 48 kHz/24-bit stereo out — consumed by #80.- IR: GPIO edge-timestamp capture → NEC/RC5/RC6 decoders → key events into the same remote grammar as CEC (#98); keymap learning in settings.
Acceptance
LED heartbeat visible on the rig camera/capture; IR remote key press logged with protocol + code; fan speed follows temperature.