This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DLPC2607: DLP® LightCrafter™ Display 2000 Evaluation Module width BeagleBone Black Wireless

Part Number: DLPC2607

I'm using the latest image as indicate in previus post (https://rcn-ee.net/rootfs/bb.org/testing/2017-08-01/lxqt-4gb/).

i'm unable to find the display controller at default address of 0x1b.

this the result of command i2cdetect:

debian@beaglebone:~$ i2cdetect -r -y 2

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

this is the result of script /opt/scripts/device/bone/capes/cape_eeprom_check.sh

checking: /sys/bus/i2c/devices/2-0054/eeprom
hexdump: /sys/bus/i2c/devices/2-0054/eeprom: Connection timed out
cape: []
checking: /sys/bus/i2c/devices/2-0055/eeprom
hexdump: /sys/bus/i2c/devices/2-0055/eeprom: Connection timed out
cape: []
checking: /sys/bus/i2c/devices/2-0056/eeprom
hexdump: /sys/bus/i2c/devices/2-0056/eeprom: Connection timed out
cape: []
checking: /sys/bus/i2c/devices/2-0057/eeprom
cape: [00000000 aa 55 33 ee 41 31 44 4c 50 44 4c 43 52 32 30 30 |.U3.A1DLPDLCR200|
00000010 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |0...............|
00000020]

it's no jumper installed on j4,j5 .. this sound strange because the default address is 0x57 instead of 0x54 as described in documentation.

Thanks for any Help!!

  • Simone,

    Just to clarify, the EEPROM on the EVM is only needed to frontload the necessary cape overlay drivers on the BeagleBone Black on boot. As such, the issue you are seeing with the EEPROM should be unrelated to the detection of the DLPC2607 controller on the I2C bus.

    When powering up the EVM on its own, does a splash screen show up? If so then your DLPC2607 controller is working OK. Keep in mind that the EVM needs power supplied to it separately from the BeagleBone Black.

    If the system works standalone, I recommend you check if there are any unexpected shorts on the I2C bus. Let me know if you need further assistance.

    Best Regards,

    Philippe Dollo
  • Many thanks for your answer!

    I confirm that the two cards are powered separately.
    When you turn on the EVM alone it works correctly and shows the test screen.
    The problem only occurs when connected to BBBW.
    I tried the shortcut but I did not find anything.
    If there was a shortcut I think it was not possible to read the EEprom because it is in the same bus.

    Any suggestions?
  • I see the same thing on the Beaglebone Black
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    I am unable to see address 0x1b

    Need some help !!!
  • Hi Simone, Rick,

    I am using Beaglebone Black. I also faced a similar issue as Rick faced and realized that i was not using the correct distro. Once the distro is updated, it worked...

    1) Please download following debian distribution from the link and flash it into BBB
    rcn-ee.net/.../

    BBB-blank-debian-8.9-lxqt-4gb-armhf-2017-08-01-4gb.img.xz

    2) i2cdetect -r -y 2 (make sure the address is as described in the users guide)
    i2cset -y 2 0x1b 0x0b 0x00 0x00 0x00 0x00 i
    i2cset -y 2 0x1b 0x0c 0x00 0x00 0x00 0x1b i
    export DISPLAY=:0
    mplayer <any .mp4 file>

    The last two steps mentioned above are covered on page number 11 of the users guide.

    Best Regards,
    Sridhar
  • Hi Philippe,

    I try to solve my problem but i never find a solution.

    Can you help me ??

    attached you can find the boot log captured on serial console.

    As you can see from the boot log .. the "Evaluation Module" is detect an the cape start loading but fail writing on i2c bus.

    Best Regard

    Simone Falsini

    U-Boot SPL 2017.07-00002-g61c3ee0fb5 (Jul 19 2017 - 17:02:08)

    Trying to boot from MMC2


    U-Boot 2017.07-00002-g61c3ee0fb5 (Jul 19 2017 - 17:02:08 -0500), Build: jenkins-github_Bootloader-Builder-591

    CPU : AM335X-GP rev 2.1
    I2C: ready
    DRAM: 512 MiB
    No match for driver 'omap_hsmmc'
    No match for driver 'omap_hsmmc'
    Some drivers were not found
    Reset Source: Power-on reset has occurred.
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Using default environment

    Board: BeagleBone Black
    <ethaddr> not set. Validating first E-fuse MAC
    BeagleBone Black:
    Model: BeagleBoard.org BeagleBone Black Wireless:
    BeagleBone: cape eeprom: i2c_probe: 0x54: /lib/firmware/DLPDLCR2000-00A0.dtbo [0xd15b80f]
    BeagleBone: cape eeprom: i2c_probe: 0x55:
    BeagleBone: cape eeprom: i2c_probe: 0x56:
    BeagleBone: cape eeprom: i2c_probe: 0x57:
    Net: eth0: MII MODE
    Could not get PHY for cpsw: addr 0
    cpsw
    Press SPACE to abort autoboot in 2 seconds
    board_name=[BBBW] ...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    ** Bad device 0:2 0x82000000 **
    ** Bad device 0:2 0x82000000 **
    switch to partitions #0, OK
    mmc0 is current device
    Scanning mmc 0:1...
    gpio: pin 56 (gpio 56) value is 0
    gpio: pin 55 (gpio 55) value is 0
    gpio: pin 54 (gpio 54) value is 0
    gpio: pin 53 (gpio 53) value is 1
    switch to partitions #0, OK
    mmc0 is current device
    gpio: pin 54 (gpio 54) value is 1
    Checking for: /uEnv.txt ...
    Checking for: /boot.scr ...
    Checking for: /boot/boot.scr ...
    Checking for: /boot/uEnv.txt ...
    gpio: pin 55 (gpio 55) value is 1
    2052 bytes read in 21 ms (94.7 KiB/s)
    Loaded environment from /boot/uEnv.txt
    Checking if uname_r is set in /boot/uEnv.txt...
    gpio: pin 56 (gpio 56) value is 1
    Running uname_boot ...
    loading /boot/vmlinuz-4.4.68-ti-r115 ...
    8705072 bytes read in 609 ms (13.6 MiB/s)
    uboot_overlays: [uboot_base_dtb=am335x-boneblack-uboot.dtb] ...
    uboot_overlays: Switching too: dtb=am335x-boneblack-uboot.dtb ...
    loading /boot/dtbs/4.4.68-ti-r115/am335x-boneblack-uboot.dtb ...
    53128 bytes read in 54 ms (960 KiB/s)
    uboot_overlays: [fdt_buffer=0x60000] ...
    uboot_overlays: loading /lib/firmware/OSD3358-00A0.dtbo ...
    441 bytes read in 119 ms (2.9 KiB/s)
    uboot_overlays: loading /lib/firmware/DLPDLCR2000-00A0.dtbo ...
    3452 bytes read in 158 ms (20.5 KiB/s)
    uboot_overlays: loading /lib/firmware/BB-BONE-eMMC1-01-00A0.dtbo ...
    1105 bytes read in 298 ms (2.9 KiB/s)
    uboot_overlays: loading /lib/firmware/BB-BBBW-WL1835-00A0.dtbo ...
    4376 bytes read in 345 ms (11.7 KiB/s)
    uboot_overlays: loading /lib/firmware/BB-ADC-00A0.dtbo ...
    695 bytes read in 287 ms (2 KiB/s)
    uboot_overlays: loading /lib/firmware/AM335X-PRU-RPROC-4-4-TI-00A0.dtbo ...
    2402 bytes read in 265 ms (8.8 KiB/s)
    running: [i2c dev 2; i2c mw 0x1b 0x0b.2 0x00; i2c mw 0x1b 0x0c.2 0x1b;] ...
    Setting bus to 2
    i2c_write: error waiting for addr ACK (status=0x116)
    Error writing the chip: 1
    i2c_write: error waiting for addr ACK (status=0x116)
    Error writing the chip: 1
    uboot_overlays: cape universal disabled, external cape enabled or detected...
    loading /boot/initrd.img-4.4.68-ti-r115 ...
    5563658 bytes read in 389 ms (13.6 MiB/s)
    debug: [console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet] ...
    debug: [bootz 0x82000000 0x88080000:54e50a 88000000] ...
    ## Flattened Device Tree blob at 88000000
    Booting using the fdt blob at 0x88000000
    Loading Ramdisk to 8fab1000, end 8ffff50a ... OK
    reserving fdt memory region: addr=88000000 size=6f000
    Loading Device Tree to 8fa3f000, end 8fab0fff ... OK

    Starting kernel ...

    [ 0.000893] clocksource_probe: no matching clocksources found
    [ 2.094395] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
    [ 2.330827] omap_voltage_late_init: Voltage driver support not added
    [ 2.338847] PM: Cannot get wkup_m3_ipc handle
    Loading, please wait...
    rootfs: recovering journal
    rootfs: clean, 107279/217728 files, 615895/869376 blocks

    Debian GNU/Linux 8 beaglebone ttyS0

    BeagleBoard.org Debian Image 2017-08-01

    Support/FAQ: elinux.org/Beagleboard:BeagleBoneBlack_Debian

    default username:password is [debian:temppwd]

    beaglebone login: debian
    Password:
    Last login: Mon Aug 21 14:36:33 UTC 2017 on ttyS0
    Linux beaglebone 4.4.68-ti-r115 #1 SMP Sat Jul 29 21:04:28 UTC 2017 armv7l

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    debian@beaglebone:~$ i2cdetect -r -y 2
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    debian@beaglebone:~$

  • Simone,

    Thanks for your attention and for providing your output log. There are two devices you are effectively talking to with this EVM. First is the EEPROM chip, which tells the BeagleBone to load the cape for the EVM. The second device is the controller for the EVM itself. You don't seem to be having any issues talking with the EEPROM, but you seem to be having issues talking to the controller.


    I am suspecting that your issue (and Rick's as well, as they are having a similar query) may be related to the interface between your EVM and the BeagleBone Black (the connection, in particular). Here are a few suggestions for you to try if you haven't already:

    > Please check the LEDs attached to the EVM during the setup process. They are labelled D2 (for HOST_IRQ) and D3 (for PROJ_ON). During normal operation, D2 should briefly turn on (during initialization) then turn off when initialization completes. Meanwhile, D3 should turn on when the projector turns on and remain on. If your LEDs deviate from this behavior, let me know.

    > If you have an oscilloscope, I recommend you probe the I2C lines and observe their behavior. It would be valuable to see what kind of activity, if any, is coming out of the DLPC2607 controller.

    > If you have any standalone I2C-enabled devices you can use them instead of the BeagleBone Black to talk to the EVM. This would allow you to remove the BeagleBone system from your debugging equation until you isolate the problem.

    What commands are you using to try to write to the EVM? Let me know.


    Regards,

    Philippe Dollo

  • Hi Philippe,

    I have a Oscilloscope and Logic Analyzer. I try to do a deeper investigation.
    The D2 led turn ON and then turn OFF after the BBBW terminate the initialization script.
    The D3 led it never turn ON.
    My problem is that I need a working prototype very fast and the BBBW solution is the fastest option.

    Thank very much for your help.

    Best Regards
    Simone Falsini
  • Hi Philippe,

    I did a deeper analysis and the PROJ_ON_EXT signal is never active, while the GPIO_INIT_DONE signal is activated for a few seconds during boot. The i2c bus seems to work properly.

    Best Regards

    simone falsini

  • Simone,

    Thank you very much for looking further into this.

    If the PROJ_ON_EXT signal is not high, then the EVM will never turn on. Simply put, this signal operates as a "power switch" of sorts for the system, which toggles the EVM on and off. By default, this signal has not been mapped to the cape overlay so that the system is always on, but it is possible that for some reason your BeagleBone is driving this pin low.

    I'd like you to try telling your BeagleBone to drive the PROJ_ON_EXT signal high manually. To do that, go in the BBB terminal and do:

    $ sudo su
    $ echo 48 > /sys/class/gpio/export
    $ echo out > /sys/class/gpio/gpio48/direction
    $ echo 1 > /sys/class/gpio/gpio48/value

    (Note: you can look at the GPIO pin mapping here beagleboard.org/.../cape-headers-digital.png)

    If the cause of your problem is the BeagleBone driving the system's PROJ_ON_EXT signal incorrectly, this should fix it. Please let me know how it goes.
  • Hi Philippe,

    it's working!! When turn hight the PROJ_ON_EXT pin the video projector show the sample screen.

    Thank you very much for your help!!

    Best Regards

    Simone Falsini

  • I'm glad I was able to resolve your issue.

    Please let me know if you have any further questions.

    Best Regards,

    Philippe Dollo

  • Hello Philippe, What does it mean if D2 does not turn off?.
  • Harish,

    D2 is the "GPIO_INIT_DONE" signal. If this LED is failing to turn off, then it means that the system is stuck for some reason or another in the initialization phase. In what circumstances are you encountering this?

    Regards,

    Philippe Dollo