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.

BeagleBone LCD Cape not detected by pre-built Android ICS 4.0.3

Other Parts Discussed in Thread: TPS65217, DA8XX

I followed the tutorial found at http://processors.wiki.ti.com/index.php/TI-Android-ICS-4.0.3-DevKit-3.0.1_UserGuide regarding the new ICS port the BeagleBone board and LCD cape that is supposed to be supported.

The LCD I use is the one found here and that has 5 push buttons (power and reset exclued). http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_LCD7

This LCD is working fine with the Angstrom pre-built binary but fails with the ICS version. I used the ICS binary version for the BeagleBone found here: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_ICS_4_0_3_DevKit_3_0_1/exports/beaglebone.tar.gz

The board boots up but it fails to register the LCD cape and start in DVI mode. I also have the DVI board handy and can confirm that it works when plugged in.

Here is an abstract of the boot log.

[    0.906921] i2c-core: driver [tsl2550] using legacy suspend method
[    0.913391] i2c-core: driver [tsl2550] using legacy resume method
[    0.919799] at24 1-0051: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    0.981597] No daughter card found on AM335x EVM
[    0.986450] at24 1-0050: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.001647] Board name: A335BONE
[    1.005004] Board version: 00A3
[    1.008270] The board is a AM335x Beaglebone.
[    1.013488] tps65217 1-0024: TPS65217 ID 0x7 version 1.0
[    1.020812] print_constraints: DCDC1: 900 <--> 1800 mV at 1800 mV
[    1.029144] print_constraints: DCDC2: 900 <--> 3300 mV at 1275 mV
[    1.037414] print_constraints: DCDC3: 900 <--> 1500 mV at 1100 mV
[    1.045654] print_constraints: LDO1: 1000 <--> 3300 mV at 1800 mV
[    1.053985] print_constraints: LDO2: 900 <--> 3300 mV at 3300 mV
[    1.062164] print_constraints: LDO3: 1800 <--> 3300 mV at 3300 mV
[    1.070404] print_constraints: LDO4: 1800 <--> 3300 mV at 3300 mV
[    1.077270]  omap_hsmmc.0: alias fck already exists
[    1.082611]  omap_i2c.3: alias fck already exists
[    1.101654] omap_i2c omap_i2c.3: bus 3 rev2.4.0 at 100 kHz
[    1.107971] at24 3-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[    1.115264] IN : bone_setup_daughter_board
[    1.128021] Detected a daughter card on BeagleBone..
[    1.133026] IN : dvi_init
[    1.136383]  da8xx_lcdc.0: alias fck already exists
[    1.141693] da8xx_lcdc da8xx_lcdc.0: GLCD: Found 1024x768@60 panel
[    1.160125] Setup DVI display

Has anyone been able to use this pre-built image with the combo BeagleBone+LCD7 cape?

Thanks

Alphazo

  • Hi Alpha Zo,

    The released pre-built binaries for AM335x(Beaglebone) supports the old versions of LCD7 cape, but not the revisions A1 and A2.

    The current rowboat source code has the support for beaglebone LCD7 cape Rev A1 and A2.

    So, if you re-sync the source code and build, by default it will detect your LCD cape, and you can get your display there.


    Regards,

    Umakanta Patro

  • Hello,

    How about rev.A3. Any plans to make adjustment to this version too. I came across LCD datasheet. and they use eeprom to store PCB revision. Did you use this functionality to switch between certain configurations?

    Rev.A3 changes:

    In revision A3 the Enter button has been moved from GPIO3_19 to GPIO0_3 and LCD_DVDD_EN has moved from GPIO1_31 to GPIO0_2. These changes in GPIOs are to support awake interrupt in sleeping mode.


    The PCB revision is also changed from BB-Bone-LCD7-PCB-03 to BB-Bone-LCD7-PCB-04.

    Rgs,

    Marcin

  • Hi,

    Currently we are supporting only Rev A1 and A2 of LCD7 cape.

    We will be adding support for Rev A3, once we recieve a LCD7 Rev A3 cape.

    Regards,

    Umakanta Patro

  • Hi,

    Does Android ICS in beaglebone support LCD7 rev A3 cape?

    Have they added its support in rowboat?

    Regards,

    Ebin

  • Hi,

    As of now there is no support for LCD7 Rev A3 in Android ICS as well as JB.

    But with the latest(synced source with rowboat), you can find the support for LCD7 Rev A1 and A2.

  • Hi Umakanta Patro,

    Could you please go through this patch and tell whether any other changes are required to support lcd7 revA3 cape.

    I have changed latest rowboat source file kernel/arch/arm/mach-omap2/board-am335xevm.c


    --- board-am335xevm-orginal.c 2012-11-05 11:13:54.133522000 +0530
    +++ board-am335xevm-new.c 2012-11-14 17:38:57.640408888 +0530
    @@ -100,6 +100,7 @@

    #define LCD7_CAPE_NAME_2 "BeagleBone LCD7 CAPE"
    #define LCD7_CAPE_REV_A1 "00A1"
    +#define LCD7_CAPE_REV_A2 "00A2"

    #define LCD3_CAPE_NAME "BeagleBone LCD3 CAPE"

    @@ -1069,7 +1070,7 @@
    {"gpmc_a1.gpio1_17", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"gpmc_a3.gpio1_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {"mcasp0_axr0.gpio3_16", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    - {"mcasp0_fsr.gpio3_19", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    + {"spi0_d0.gpio0_3", OMAP_MUX_MODE7 | AM33XX_PIN_INPUT},
    {NULL, 0},
    };

    @@ -1109,7 +1110,7 @@
    },
    {
    .code = KEY_ENTER,
    - .gpio = GPIO_TO_PIN(3, 19),
    + .gpio = GPIO_TO_PIN(0, 3),
    .active_low = true,
    .desc = "enter",
    .type = EV_KEY,
    @@ -2528,7 +2529,7 @@
    {wl12xx_init, DEV_ON_BASEBOARD, (PROFILE_0 | PROFILE_3 | PROFILE_5)},
    {d_can_init, DEV_ON_DGHTR_BRD, PROFILE_1},
    {matrix_keypad_init, DEV_ON_DGHTR_BRD, PROFILE_0},
    - {volume_keys_init, DEV_ON_DGHTR_BRD, PROFILE_0},
    + //{volume_keys_init, DEV_ON_DGHTR_BRD, PROFILE_0}, // removed,to support changed pins
    {uart2_init, DEV_ON_DGHTR_BRD, PROFILE_3},
    {haptics_init, DEV_ON_DGHTR_BRD, (PROFILE_4)},
    {NULL, 0, 0},
    @@ -2744,9 +2745,13 @@
    if (!strncmp(cape_eeprom_config.version, LCD7_CAPE_REV_A1, sizeof(LCD7_CAPE_REV_A1) - 1))
    /* rev A1 */
    beaglebone_lcd_avdd_en = GPIO_TO_PIN(0, 7);
    - else
    +
    + else if (!strncmp(cape_eeprom_config.version, LCD7_CAPE_REV_A2, sizeof(LCD7_CAPE_REV_A2) - 1))
    /* rev A2 or later */
    beaglebone_lcd_avdd_en = GPIO_TO_PIN(1, 31);
    + else
    + beaglebone_lcd_avdd_en = GPIO_TO_PIN(0, 2); /* rev A3*/
    +

    bone_lcd7_lcdc_init(DEV_ON_DGHTR_BRD, PROFILE_NONE);
    pr_info("BeagleBone cape: Registering PWM backlight for LCD cape\n");

    Inserted file- 6562.diff.txt

    Any help would be appreciated..

    Regards,

    Ebin




  • Hi Ebin,

    We will be adding support for the LCD7 A3 cape soon.

    The changes I found between the Rev A2 and A3 are: ENTER key has been moved from GPIO3_19 to GPIO0_3 and LCD_DVDD_EN has been moved from GPIO1_31 to GPIO0_2. And I see here that you have taken care of both the changes. And this change seems to be sufficient to get the LCD board working.

    Now, tell me what is the issue, that you are facing with these changes on your LCD7 A3 cape with beaglebone.

    Regards,

    Umakanta Patro

  • Hi Umakanta,

    Thanks for reply, the LCD7 cape worked with the patch.

    The cape buttons are working fine, but the issue is with touchscreen.

    The touchscreen top and bottom is inverted, left and right seems working.

    Also found some small problems, the cursor with android logo which blinks at boot time remains on the screen and a red colour border on screen which flashes when changes are made in settings menu.

    Regards,

    Ebin 

  • Hi Ebin Jose,

    Unfortunately i don't have a BB LCD7 Rev A3 to try out the steps and reproduce the issues.

    But for the touch screen coordinate inveting issue, you can do as follows:

    change the "inverted" field of "y" variable in "beaglebone_touchscreen_data" in board-am335xevm.c file.

    On doing this you will be able to use the touch screen on the board without issues.

    Regarding the cursor flashing on screen, I am not  aware of any such behavior on the board.

    About the Red border during the transitions, you can follow the discussion on this thread: 

    https://groups.google.com/d/topic/rowboat/m36dBF_-3hU/discussion

    Hope, this helps.

  • Hi Umakanta Patro,

    The Touchscreen works properly with the change which you told,

    .y = {
    .min = 0x10C,
    .max = 0xEBD,
    .inverted = 1,
    }

    Thanks for the help, now LCD7 cape rev A3 works fine with android ICS.

    I am not able to see the verify button below your post to verify the answer.

    Regards,

    Ebin


  • Hi,

    The verify button should be available at the bottom of my post, besides the reply button.

    Anyway I have never seen the Verify button, as I am new to e2e and I haven't posted any questions on E2E.