Hello there,
I have created a shield for BeagleBone Black on which I have a HDMI output connected to a dataframer, which goes to the LCD pins of the BeagleBone Black. Ive tried to copy the functionality of an onboard video circuit. For that I used the chip used in BeagleBoneMx (TFP410PAPG4).
The problem now is that the MCU communicates via I2C with the on board HDMI framer (TDA19988) using I2C bus 0. That bus is not available on the headers of the board, so I have connected my external framer using I2C bus 1.
I face 2 problems:
How to make changes in the system configuration to tell the MCU to either talk to connected devices through HDMI using I2C-1 instead of I2C-0, or to talk to both?
Second thing, with this modification, will I be abble to still use i2C-1 bus for userspace applications? I have more devices connected to that bus.
I would really aprichiate any help regarding this matter, I really dont know where is the config file for this.
Hello there,
I have created a shield for BeagleBone Black on which I have a HDMI output
connected to a dataframer, which goes to the LCD pins of the BeagleBone
Black. Ive tried to copy the functionality of an onboard video circuit. For
that I used the chip used in BeagleBoneMx (TFP410PAPG4).
The problem now is that the MCU communicates via I2C with the on board
HDMI framer (TDA19988) using I2C bus 0. That bus is not available on the
headers of the board, so I have connected my external framer using I2C bus
1.
I face 2 problems:
- How to make changes in the system configuration to tell the MCU to
either talk to connected devices through HDMI using I2C-1 instead of I2C-0,
or to talk to both?
Well change the bus used:
- Second thing, with this modification, will I be abble to still use i2C-1
bus for userspace applications? I have more devices connected to that bus.
I am not very good at tree overlays, but from the one you have provided me i believe i would be abble to reduce it only to modify the LCD pins (I also need to disable mcasp, because I only use video and the pins for mcasp are used as other peripherals). I thing I tried to find the place in this code that turns off the I2C-0 and turns on I2C-1 but I couldnt.
Is I2C-0 equal to I2C-1 on the pinout header and is I2C-1 (in software_ equal to I2C-2? That would make sense. Could you please point me out either there ahs to be anything else changed for HDMI to work? All I got left is I2C and i dont know either thats all. You havent answered me about the question about using the bus for other purposses, did you mean that it is possible? When I think of it now, there are at least 3 devices on the I2C-0 (power controller, HDMI, eeprom i think).
Thank you, i will try to use this overlay. You are probably in US, thats a pitty for me because there is a big time difference which brings longer help delay :P.
Hello again,
I am just trying to export the compiled .dtbo file but I have to unexport the residing hdmi overlay. When I do that with echo i get kernel panic and my ssh session is lost. I would like to comment out the export at boot but I dont know where to find the place I should do it in console image. In the regular image its in uEnv.txt file at the additional usb partition. Could you help me with this please?
I have found the uEnv.txt file in boot directory but for a long time now I cannot find where are the .dtbo files stored in console image of debian. I am putting my .dtbo file in /lib/firmware but when trying to echo its name to slots it doesnt want to pick it up from there.
Okay, I have managed to load the tree overlay by hand from /lib/firmware/. What was wrong was that I havent followed the naming style. I have changed the name of .dtbo file to BB-BONELT-HDMIN1-00A0.dtbo and I could load the tree overlay by hand. Although, the overlay didnt want to load automatically after placing an apropriate line in uEnv.txt.
dmesg | grep .dtbo [ 0.680671] bone-capemgr bone_capemgr.9: slot #7: Requesting part number/version based 'BB-BONELT-HDMIN1-00A0.dtbo [ 0.680686] bone-capemgr bone_capemgr.9: slot #7: Requesting firmware ‘BB-BONELT-HDMIN1-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’ [ 0.994941] bone-capemgr bone_capemgr.9: failed to load firmware ‘BB-BONELT-HDMIN1-00A0.dtbo’ [ 1.013699] bone-capemgr bone_capemgr.9: slot #4: Requesting firmware ‘cape-bone-2g-emmc1.dtbo’ for board-name ‘Bone-LT-eMMC-2G’, version ‘00A0’ [ 1.013715] bone-capemgr bone_capemgr.9: slot #4: dtbo ‘cape-bone-2g-emmc1.dtbo’ loaded; converting to live tree [ 102.139293] bone-capemgr bone_capemgr.9: slot #8: Requesting part number/version based 'BB-BONELT-HDMIN1-00A0.dtbo [ 102.139310] bone-capemgr bone_capemgr.9: slot #8: Requesting firmware ‘BB-BONELT-HDMIN1-00A0.dtbo’ for board-name ‘Override Board Name’, version ‘00A0’ [ 102.142979] bone-capemgr bone_capemgr.9: slot #8: dtbo ‘BB-BONELT-HDMIN1-00A0.dtbo’ loaded; converting to live tree
Thanks for help with the boot loading of tree overlay, it works. But monitor still doesnt display anything :/. At least I know its not because of loading after boot.
Some update on the progress:
I figured out that I have switched SDA and SCL lines for the monitor connection through HDMI. I have flipped that to proper position and I can see additional devices on the bus:
I wonder, Maybe there has to be more software changed than only tree overlay for i2c? I am using the chip that BeagleboneMx used. It doesnt use hotplug and CEC for example…