ReviewOS

home-lang/home-os

I2S output via RP1 for DAC HATs (48/96 kHz, 16/24/32-bit), master/slave clocking, as an alternative audio sink selectable in Settings

#80
Open chris opened this 9 days ago ·
9 days ago

Epic: #113 · Milestone: MC5 — Audio

Why

Music-first users attach an I2S DAC HAT (HiFiBerry-class). RP1 has the I2S block; constants exist in rpi/bcm2711.home only for older SoCs. This is optional for v1 TV playback but cheap once GPIO/I2S from #72 exist.

Tasks

  • platform/rp1/i2s.home: clock tree (from the RP1 clock block), frame format, DMA TX ring, underrun IRQ; expose as a backend of the sound interface from #79.
  • Optional DAC init over I2C for chips that need it (PCM512x-class): generic "i2c init script" from a small device table, no vendor code.
  • Settings entry: output device selection, per-device volume, sample-rate policy (fixed 48 k vs follow source).

Acceptance

Tone gate variant via a scope/DAC line-in capture; 24-bit 96 kHz FLAC plays without underruns for 10 minutes.

Size: M · Depends on: #72, #81 · Blocks: —

Sign in to comment on this issue.