Can not get DLPDLCR2000 to display anything


I’ve got a Ti DLP module and I’m trying to make it display an image from BBBW. I updated the kernel, first to 4.4.84-ti-r120, then to 4.9.45-ti-r57. OS packages were updated to the most recent versions. I followed the instructions from EVM user guide, but unfortunately the projector stays dark, and does not respond to i2cset.

With kernel 4.9.45-ti-r57 I find in boot log the following messages:
[ 2.839168] bone_capemgr bone_capemgr: Baseboard: ‘A335BNLT,BWA5,1645BBWG0580’
[ 2.839198] bone_capemgr bone_capemgr: compatible-baseboard=ti,beaglebone-black - #slots=4
[ 2.864483] bone_capemgr bone_capemgr: slot #0: No cape found
[ 2.895477] bone_capemgr bone_capemgr: slot #1: No cape found
[ 2.928171] bone_capemgr bone_capemgr: slot #2: No cape found
[ 2.958030] bone_capemgr bone_capemgr: slot #3: ‘DLPDLCR2000,00A0,TI,DLPDLCR2000’
[ 2.965936] bone_capemgr bone_capemgr: initialized OK.
[ 2.967921] cpufreq: cpufreq_online: CPU0: Running at unlisted freq: 1000000 KHz
[ 2.967969] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1000000000 (-34)
[ 2.980996] pinctrl-single 44e10800.pinmux: pin PIN40 already requested by 0-0070; cannot claim for panel
[ 2.981007] pinctrl-single 44e10800.pinmux: pin-40 (panel) status -22
[ 2.981015] pinctrl-single 44e10800.pinmux: could not request pin 40 (PIN40) from group pinmux_bb_lcd_lcd_pins on device pinctrl-single
[ 2.981022] panel panel: Error applying setting, reverse things back
[ 2.981051] panel: probe of panel failed with error -22
[ 2.982055] bone_capemgr bone_capemgr: slot #3: dtbo ‘DLPDLCR2000-00A0.dtbo’ loaded; overlay id #0

Capemanager loaded only the display overlay:
root@beaglebone:~# cat /sys/devices/platform/bone_capemgr/slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: P—L- 0 DLPDLCR2000,00A0,TI,DLPDLCR2000

i2cset fails with write error:
root@beaglebone:/opt/scripts/tools# i2cset -y 2 0x1b 0x0b 0x00 0x00 0x00 0x00 i
Error: Write failed

To make sure that no overlays interfere with operation of the display, I disabled the universal cape in uEnv.txt, but it did not help.

The module is powered from an external 5V power supply and displays test image when powered on without BBBW.

Full boot log is attached.


dmesg.txt (20.5 KB)

For this cape, you need to use u-boot overlays:

they also have some init scripts under /opt/scripts/

i finally picked up the cape, so i'll have more documented tomorrow..


Now the cape overlay is not loaded at boot:
# cat /sys/devices/platform/bone_capemgr/slots
0: ------ -1
1: ---l-- -1
2: ---l-- -1
3: ---l-- -1

Correct, "slots" is technically disabled with u-boot overlays..

An attempt to load the overlay manually results in the following messages:
[ 890.202788] bone_capemgr bone_capemgr: part_number
'/lib/firmware/DLPDLCR2000-00A0.dtbo', version 'N/A'
[ 890.202837] bone_capemgr bone_capemgr: slot #4: override
[ 890.221494] bone_capemgr bone_capemgr: slot #4: auto loading handled by

"echo /lib/firmware/DLPDLCR2000-00A0.dtbo >
/sys/devices/platform/bone_capemgr/slots" just hangs and never finishes.


sudo perl /opt/scripts/device/bone/

and you'll see the pinmuxing..


nm... that might be broken..

debian@test-bbbw-8:~$ uname -r
debian@test-bbbw-8:~$ sudo perl /opt/scripts/device/bone/
Died at /opt/scripts/device/bone/ line 57, <> line 3.
pin 0 (PIN0): 481d8000.mmc (GPIO UNCLAIMED) function pinmux_emmc_pins
group pinmux_emmc_pins


Okay, this works:

First flash this image:


Plug in 5V into the DLP2000 and then "also" plug in 5v into the BBB...

Yes, two power supplies are required....


login over ssh:

debian@beaglebone:~$ uname -r

and run:

debian@beaglebone:~$ i2cset -y 2 0x1b 0x0b 0x00 0x00 0x00 0x00 i
debian@beaglebone:~$ i2cset -y 2 0x1b 0x0c 0x00 0x00 0x00 0x1b i

desktop shows up..

i'd like to move those 2 commands in u-boot at startup...