Wednesday 31 July 2013

TDA19988 Driver merged into mainline Minix

Just a quick note to mention that the driver I developed for the TDA19988 HDMI Transmitter was merged into the main Minix repository earlier in the week. The commit is here. The driver enables EDID reading on the BeagleBone Black. When the frame buffer driver is ported to the BeagleBone Black, it will be able to use the EDID from the TDA19988 to configure the display properly.

While the TDA19988 driver is meant to be accessed directly by the frame buffer driver, it can be tested from the shell by creating a block device file with an unused major number and doing a read with the dd command. Below is the output from one of my test runs showing the exact commands:

# cd /dev
# mknod tda19988 b 32 0
# chmod 600 tda19988
# /bin/service down tda19988.1.3470
# /bin/service up /usr/sbin/tda19988 -label tda19988.1.3470 \
 -dev /dev/tda19988 \
 -args 'cec_bus=1 cec_address=0x34 hdmi_bus=1 hdmi_address=0x70'
# dd if=/dev/tda19988 of=/root/edid.dat count=1 bs=128
1+0 records in
1+0 records out
# hexdump -C /root/edid.dat
00000000  00 ff ff ff ff ff ff 00  05 e3 02 19 56 04 00 00  |............V...|
00000010  24 10 01 03 81 29 1a 78  2a d7 a5 a2 59 4a 96 24  |$....).x*...YJ.$|
00000020  14 50 54 bf ef 00 81 80  71 4f 81 40 95 0f 01 01  |.PT.....qO.@....|
00000030  01 01 01 01 95 00 30 2a  a0 d0 51 84 22 30 50 98  |......0*..Q."0P.|
00000040  36 00 9a 01 11 00 00 1e  00 00 00 ff 00 39 33 31  |6............931|
00000050  36 39 43 41 30 30 31 31  31 30 00 00 00 fd 00 32  |69CA001110.....2|
00000060  4c 1e 53 0e 00 0a 20 20  20 20 20 20 00 00 00 fc  |L.S...      ....|
00000070  00 47 31 39 4c 57 6b 0a  20 20 20 20 20 20 00 95  |.G19LWk.      ..|
00000080
# /bin/service down tda19988.1.3470
# rm tda19988


If you try this at home, you'll need a display connected to your BeagleBone Black for this to work. The hexdump should begin with the EDID magic number: 00 ff ff ff ff ff ff 00. The checksum algorithm is: sum the bytes, (sum & 0xff) should equal 0.

No comments:

Post a Comment