HDMI overvoltage.

In http://lkml.indiana.edu/hypermail/linux/kernel/1309.1/00492.html Koen Kooi states (inter alia):

The BeagleBone Black is basically a regular BeagleBone with eMMC and HDMI added,
so create a common dtsi both can use.

IMPORTANT: booting the existing am335x-bone.dts will blow up the HDMI transceiver
after a dozen boots with an uSD card inserted because LDO will be at 3.3V instead
of 1.8.

Does anyone know more about this, especially the circumstances under which the HDMI
breaks? Mine hasn’t broken so far, but I haven’t tested it for a while.

Thanks - Will

If you run code intended for the BeagleBone White, it sets the LDOs incorrectly causing improper voltage to be applied to more than just the HDMI. The DDR will sustain damage as well…

Do not run code made for the BeagleBone White on the BeagleBone Black If you do, this is the circumstance under which this condition will occur.


Gerald is correct, but it is my understanding that if you either:

  1. Use the packaged distributions provided by beaglebone.org or circuitco
  2. Use the recommended build bitbake build procedures with the MACHINE=BEAGLEBONE attribute

…then you should be protected. If you build outside of the vendor trees, then you are vulnerable (for now, at least). I think that the thread that you came across is where they are trying to fix things upstream.

The packaged distributions and the bitbaked images for the Beaglebone and Beaglebone-Black are identical and they contain device trees for both cards. The one that gets loaded is determined by a ‘board_name’ uBoot environment variable that is set by the contents of a “Board ID” serial EEPROM that is located on the physical PCB assembly.

From http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Default_uBoot_Environment_Variables:

findfdt=if test $board_name = A33515BB; 
		then setenv fdtfile am335x-evm.dtb; 
	if test $board_name = A335X_SK; 
		then setenv fdtfile am335x-evmsk.dtb; 
	if test $board_name = A335BONE; 
		then setenv fdtfile am335x-bone.dtb; 
	if test $board_name = A335BNLT; 
		then setenv fdtfile am335x-boneblack.dtb; 

Thanks - that clears it up. The key word is BeagleBone White - it wasn’t clear to me from the
original comment what sort of BeagleBone they were discussing.


This conversation applies to both.