Project

General

Profile

Actions

Feature #7

open
AD

Implement I2C vga/hdmi support

Feature #7: Implement I2C vga/hdmi support

Added by admin over 8 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
04/04/2017
Due date:
% Done:

0%

Estimated time:

Description

Try the I2C support on the new board.

Initially for presence detection
Latest for checking modes

Its via a mux chip so we can independently address both ports


Files

PCA9540B.pdf (290 KB) PCA9540B.pdf foft, 05/11/2017 08:26 PM
24c04.pdf (163 KB) 24c04.pdf foft, 05/11/2017 08:27 PM
ddcciv1r1.pdf (127 KB) ddcciv1r1.pdf foft, 05/11/2017 08:30 PM

Related issues 1 (0 open1 closed)

Related to Bug #19: PAL VGA Synch issues (screen is not centeredClosedfoft05/30/2017

Actions

FO Updated by foft over 8 years ago Actions #1

Attached mux/level converter chip data sheet

FO Updated by foft over 8 years ago Actions #2

EDID is apparently one of these I can access at address 0x50

FO Updated by foft over 8 years ago Actions #3

DDC looks a little funkier

FO Updated by foft over 8 years ago Actions #4

Used this controller for the ADC on v1: https://eewiki.net/pages/viewpage.action?pageId=10125324
So I guess I just need to wire this to the ZPU, then I can experiment with this in firmware.

I guess a write FIFO that captures 16 bits (7 bit address, R/W and data). Then a fifo for the reply. + A way of telling when its all stopped.

FO Updated by foft over 8 years ago Actions #5

  • Related to Bug #19: PAL VGA Synch issues (screen is not centered added

AD Updated by admin over 7 years ago Actions #6

  • Priority changed from Normal to Urgent

Going to at least check this chip is wired properly before the new boards are ordered

FO Updated by foft over 7 years ago Actions #7

Writing some code to say:

select channel1
read selected channel
write to random slave on channel1

select channel0
read selected channel
write to random slave on channel0

Might be working, but need to work out how to check... I guess I can stick the scope in i2c decode mode on the vga or hdmi port (fiddly...) and see if I see anything.

FO Updated by foft over 7 years ago Actions #8

Picoscope has i2c debugging and linux drivers:-) Installed them and will connect that up and take a look tomorrow.

FO Updated by foft over 7 years ago Actions #9

Looking on signaltap looks like slave reads of the control register are not working. Hmmm.

FO Updated by foft over 7 years ago Actions #10

I had the pin assignments backwards. I can now write 4/5 to the control register and read it back. This should be channel select.

Next up... checking that what I write makes it to the VGA and HDMI port. I guess I could try speaking to them. Annoying thing here is I only have one monitor so would need to disconnect it to check!

FO Updated by foft over 7 years ago Actions #11

VGA is working... receiving “00 FF FF FF FF FF FF 00 10 AC …"
Now for HDMI

FO Updated by foft over 7 years ago Actions #12

HDMI is working too... “00 FF FF FF FF FF FF 00 10 AC …

FO Updated by foft over 7 years ago Actions #13

  • Priority changed from Urgent to Normal

Setting back to normal since the hardware side is working fine.

FO Updated by foft over 7 years ago Actions #14

Added to the video settings 'VGA connected' and 'HDMI connected' which look for the start of the DDC sequence '00FF'

Actions

Also available in: PDF Atom