Skip to content

Conversation

@drhalftone
Copy link

Summary

  • Implement automatic HDMI connection detection based on EDID reads
  • Add pixel clock watchdog timer for disconnection detection
  • Maintain manual override capability via DIP switch

Problem

The Mimas A7 board has PCB crosstalk issues that cause ghost HDMI clock signals even when no cable is connected. This previously required manual mode switching via DIP switch #4.

Solution

This PR implements automatic mode switching by:

  1. Detecting when a PC reads the EDID data (indicates real connection)
  2. Monitoring pixel clock presence with a 2-second watchdog timer
  3. Automatically switching between pass-through and offline modes

Implementation Details

  • edid_rom.vhd: Added edid_read_detected output that pulses when EDID is read
  • hdmi_io.vhd: Added watchdog timer and mode switching logic
  • Manual override via DIP switch #4 is preserved for backward compatibility
  • Automatic mode status is exported on the sel signal for debugging

Test Plan

  • Connect HDMI cable from PC - verify automatic switch to pass-through mode
  • Disconnect HDMI cable - verify automatic switch to offline mode after 2 seconds
  • Test manual override with DIP switch #4
  • Verify 800x600@120Hz generation in offline mode
  • Test reconnection scenarios

🤖 Generated with Claude Code

Implement automatic detection of HDMI connection based on EDID reads
to work around the PCB crosstalk issue that causes ghost clock signals.

Changes:
- Add EDID read detection in edid_rom.vhd that pulses when PC reads EDID
- Implement pixel clock watchdog timer with 2-second timeout
- Add automatic mode switching logic that:
  - Switches to online/pass-through mode when EDID read is detected
  - Switches to offline/120Hz generation mode after 2s without pixel clock
- Allow manual override via DIP switch #4 for backward compatibility
- Export automatic mode status on sel signal for debugging

This eliminates the need for manual mode switching in most cases while
maintaining the manual override option when needed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant