BeagleBone LCD cape

This forum is for supported devices using an ARMv7 Texas Instruments (TI) SoC.

BeagleBone LCD cape

Postby ykmag » Mon May 07, 2012 7:46 pm

Just got a lcd-cape, the cape is recognized (I can see that in dmesg) the touchscreen is working, but no framebuffer show up in /dev

Is there anything I have forgotten (have tried modprobe omapfb)?

Edit:
Have also tried it with the supplien Ångstöm image, it works. Looks like they are on kernal version 3.2.5?? Mine is on 3.2.11
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby jaxad0127 » Sat May 12, 2012 9:29 pm

List all modules loaded under both distros It's likely one they have and isn't being loaded by default under Arch.
jaxad0127
 
Posts: 8
Joined: Sun Mar 18, 2012 8:59 pm

Re: BeagleBone LCD cape

Postby ykmag » Sun May 13, 2012 1:44 pm

I guess you mean by using lsmod. Here is the output from Ångström:

root@beaglebone:~# lsmod
Module Size Used by
joydev 6870 0
g_mass_storage 24010 0
ipv6 210434 18

Nothing much here to give a clue??
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby ykmag » Mon May 14, 2012 5:51 pm

Should I put any parameters in uEnv.txt to make magic things happen?
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby ykmag » Wed May 23, 2012 11:44 am

Findings:
from dmesg:
$this->bbcode_second_pass_code('', '[ 1.281175] _omap_mux_get_by_name: Could not find signal leds-gpio
[ 1.289378] w1-gpio connected to P8_6
[ 1.294757] at24 3-0054: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
[ 1.403860] BeagleBone cape EEPROM: found eeprom at address 0x54
[ 1.410177] BeagleBone cape: Beagleboardtoys. BeagleBone LCD7 CAPE............Beagleboardtoys.
[ 1.419186] BeagleBone cape partnumber: BB-BONE-LCD7-01.
[ 1.424725] BeagleBone cape: initializing LCD cape
[ 1.431395] BeagleBone cape: initializing LCD cape touchscreen
[ 1.437488] TSC connected to BeagleBone
[ 1.442366] BeagleBone cape: Registering PWM backlight for LCD cape
[ 1.448968] BeagleBone cape: Registering gpio-keys for LCD cape
[ 1.456207] at24 3-0055: 32768 byte 24c256 EEPROM, writable, 64 bytes/write
')

Have also checked all pins in /sys/kernel/debug/omap_mux/

All pins have the correct setting i.e
$this->bbcode_second_pass_code('', 'cat /sys/kernel/debug/omap_mux/lcd_data1
name: lcd_data1.lcd_data1 (0x44e108a4/0x8a4 = 0x0008), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE0
signals: lcd_data1 | gpmc_a1 | NA | NA | NA | NA | NA | gpio2_7
')
or
$this->bbcode_second_pass_code('', 'cat /sys/kernel/debug/omap_mux/uart1_rtsn
name: uart1_rtsn.i2c2_scl (0x44e1097c/0x97c = 0x0073), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE3
signals: uart1_rtsn | NA | d_can0_rx | i2c2_scl | spi1_cs1 | NA | NA | gpio0_13
')

But the darn framebuffer does not show up. Any help at all would be very welcome.
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby ykmag » Mon May 28, 2012 7:42 pm

Well, I have got a framebuffer!!
$this->bbcode_second_pass_code('', 'modprobe da8xx_fb')
Now for the backlight?? Anyone got a clue?
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby ykmag » Mon Jun 11, 2012 9:13 am

Well been working on the backlight fro some time now, but can't find the magic formula to solve it. I have one BeagleBone + LCD - cape that I am willing to donate to the one developer that can help me out.
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby alphazo » Mon Jun 11, 2012 2:19 pm

Hi,

I am pretty much at the same stage with the LCD7 CAPE although I found a (dirty) workaround by disconnecting the JP5 connector on the side of the LCD and connect it to a 9V source in order to get the backlight working.
With that temporary fix I have mplayer running using the following steps on a fresh install:
- Refused to upgrade pacman and blacklisted couple of packages
$this->bbcode_second_pass_code('', '
IgnorePkg = kernel26-omap kernel26-headers-omap device-mmpapper udev usbutils
')
$this->bbcode_second_pass_code('', '
pacman -Sy
')
- Installed fbset
$this->bbcode_second_pass_code('', '
pacman -S fbset
')
- Installed xf86 driver for Omap. This requires the alarm repo to be added to /etc/pacman.conf
$this->bbcode_second_pass_code('', '
[alarm]
Include = /etc/pacman.d/mirrorlist
')
$this->bbcode_second_pass_code('', '
pacman -S xf86-video-omapfb
')
- Installed xorg-server
$this->bbcode_second_pass_code('', '
pacman -S xf86-video-omapfb
')
- Installed mplayer
$this->bbcode_second_pass_code('', '
pacman -S mplayer
')
- Playing a 480p movie with:
$this->bbcode_second_pass_code('', '
mplayer -vo fbdev -nosound big_buck_bunny_480p_surround-fix.avi
')

Now the challenge is to find how to enable this damn PWM so there is no electrical workaround to mess with.
alphazo
alphazo
 
Posts: 2
Joined: Mon Jun 11, 2012 1:30 pm

Re: BeagleBone LCD cape

Postby ykmag » Mon Jun 11, 2012 8:06 pm

Thanks a lot, the thing is I am not using X11, I am using QWS (Qt Windowing System), It is for historical reasons and I am not going to change that anytime soon. Not that it matter for the backlight... My guess is that there is a kernel patch that has not been applied.

I got this tip from someone at beagle irc:
$this->bbcode_second_pass_code('', 'setterm -blank 0')

He also said that if that did not work it was a kernel issue
ykmag
 
Posts: 61
Joined: Wed Aug 18, 2010 1:28 pm

Re: BeagleBone LCD cape

Postby alphazo » Tue Jun 12, 2012 2:22 pm

No more electrical workaround is required. Here is the solution.

Problem is with the kernel that doesn't use the right backlight control method.

When using at the availble backlight control you can see that it uses the TLC59108 which is not implemented on BeaglBone+LCD CAPE.

$this->bbcode_second_pass_code('', '
# ls /sys/class/backlight/
tlc59108-bl@
')

This is confirmed by the kernel configuration of the linux-am33x package (i.e. 3.2.11 version)

$this->bbcode_second_pass_code('', '
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_PWM is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
CONFIG_BACKLIGHT_TLC59108=y
')

Normally recompiling the kernel with "CONFIG_BACKLIGHT_PWM=y" and unset "CONFIG_BACKLIGHT_TLC59108" should do the trick.

If you don't want to recompile the kernel you can change the configuration of the pin that controls the PWM to a be a regular GPIO and then force that GPIO to enable the backlight. However you lose the possibility to change the intensity of the backlight. The following doesn't work with the stock kernel that comes with the ArchLinux installation as it doesn't include the debugfs functionality. You need to update your system to linux-am33x 3.2.11-alarm10. I recommend not to update pacman and udev.

$this->bbcode_second_pass_code('', '
# pacman -Sy linux-am33x
')

Then reboot and issue the following commands at each reboot.
$this->bbcode_second_pass_code('', '
# modprobe da8xx_fb
# mount -t debugfs none /sys/kernel/debug/
# cd /sys/kernel/debug/omap_mux/
# cat gpmc_a2
name: gpmc_a2.ehrpwm1A (0x44e10848/0x848 = 0x0006), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE6
signals: gpmc_a2 | mii2_txd3 | rgmii2_td3 | mmc2_dat1 | NA | NA | ehrpwm1A | gpio1_18
# echo 7 > gpmc_a2
# cat gpmc_a2
name: gpmc_a2.gpio1_18 (0x44e10848/0x848 = 0x0007), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE7
signals: gpmc_a2 | mii2_txd3 | rgmii2_td3 | mmc2_dat1 | NA | NA | ehrpwm1A | gpio1_18
# cd /sys/class/gpio/
# echo 50 > export
# cd gpio50/
# echo out > direction
# echo 1 > value
')

Display backlight should turn on.
alphazo
 
Posts: 2
Joined: Mon Jun 11, 2012 1:30 pm

Next

Return to Texas Instruments (TI)

Who is online

Users browsing this forum: No registered users and 11 guests