Project

General

Profile

Actions

Feature #7

open

Implement I2C vga/hdmi support

Added by admin over 7 years ago. Updated almost 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
Actions #1

Updated by foft over 7 years ago

Attached mux/level converter chip data sheet

Actions #2

Updated by foft over 7 years ago

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

Actions #3

Updated by foft over 7 years ago

DDC looks a little funkier

Actions #4

Updated by foft over 7 years ago

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.

Actions #5

Updated by foft over 7 years ago

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

Updated by admin almost 7 years ago

  • Priority changed from Normal to Urgent

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

Actions #7

Updated by foft almost 7 years ago

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.

Actions #8

Updated by foft almost 7 years ago

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

Actions #9

Updated by foft almost 7 years ago

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

Actions #10

Updated by foft almost 7 years ago

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!

Actions #11

Updated by foft almost 7 years ago

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

Actions #12

Updated by foft almost 7 years ago

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

Actions #13

Updated by foft almost 7 years ago

  • Priority changed from Urgent to Normal

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

Actions #14

Updated by foft almost 7 years ago

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

Actions

Also available in: Atom PDF