PicoVision How are the connections between the CPU and GPU used?

Looking at the schematics. It seems like there are the following connections between the CPU and GPU. How are any of these connections exist between the CPU (A) and the GPU (B)

  1. I2C (SCA, SCL) also to the Stemma/QiiC connector
    A. Is the GPU connected to the I2C to act as a port expander as explained in GPU Port Expansion
  2. I2S (PCM Data, BCLCK, LRCLK)
    A. Didn’t find any docs
  3. VSync
    A. It isn’t clear from this comment which RP2040 is loading what during the vsync interval During VSync, data is loaded into the active sprite buffer in GPU RAM (that’s the internal memory of the RP2040 serving as the GPU) Scanlines docs
  4. UART (TX/RX)
    A. Didn’t find any docs
  5. debug port (SWDIO/SWCLK)

Found this google sheet mentioned on GITHUB. It says private here but I had no trouble accessing.

Created this diagram looking at the schematics

i2s is the sound output.

  • 🔊 Line out audio
    Bash out some bleeps and bloops! This digital audio interface can produce some quality noise.

And near as I can tell the UART goes tp TX RX pins for the CPU Debug.

Just looking at the common pin labels between the “CPU” and “GPU”, we can see that the B_UART_B-RX and B_UART_B-TX lines presumably provide some kind of communications channel. ~B_VSYNC is a signal that the GPU perhaps uses to indicate the completion of a frame, allowing the CPU to toggle the RAM_SELECT signal appropriately and seize/relinquish the RAM as needed.

The I2C_SDA and I2C_SCL lines seem to be shared and routed to the Qw/ST connector, presumably so that one or the other MCU can access peripherals.

The one to ask is Phil Howard @gadgetoid or Hel Gibbons @hel