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