I've been playing around with my BeagleBone for a few weeks now, and I figured it was time to try to connect an LCD to it. After a fair bit of digging, kernel-compile, and testing, I've decided that I might as well run my questions by the experts to see if you guys can shed some light. First of all, what I know and what I've tried:
- I have a 320x240 RGB LCD (with SPI touchscreen) that has either an HX8347-A or SSD1289 compatible display driver.
- The AM335x has an LCDC that supports Raster and LIDD modes. Based on the pinout of the display (D0-D15, CS, RS [aka CD], WR, RD, RESET), I believe it requires LIDD mode
- From the 5000-page AM335x manual, I found the proper pin mappings and got my display all hooked up.
- I looked for and found a /drivers/video/ssd1289 module for another platform that I could theoretically port
- I found via
http://processors.wiki.ti.com/index.php/AM335x_LCD_Controller_Driver%27s_Guide that I should look at the da8xx module for the am335x as a start
- I downloaded and built the Angstrom source kernel and root image via Angstrom's git repository. I also tried the Angstrom Narcissus tool, but had less success
- I managed to build Angstrom successfully, and I managed to perform a menuconfig that confirmed that the da8xx driver was configured. I tried as built-in and as a module
- In neither case, performing a console-image build, could I manage to actually get anything related to the da8xx to appear in the kernel or as a module. Perhaps I need a GUIfied image?
- Unfortunately, trying to build a full GUI image with gnome and friends failed due to bad XML in one of the gdm components
- I searched through the many files in the Angstrom bitbake directories, and found such interesting items as patches for the Beagleboard Toys' ULCD7 (which appears to use the Raster mode, not the LIDD mode)
- I tried copying over the kernel source directory from my cross-compiling Linux machine to my Beaglebone itself, but ran into myriad problems trying to build the da8xx module manually on the 'bone.
At this point, I believe that my plan of attack should be something like this:
- Get the da8xx driver to somehow build, anywhere
- Insmod it and see if I can use it to get anything to appear on my LCD
- If not, merge the SSD1289 module I found for another platform as a patch / extension to the da8xx driver
- If and when I get it working as a driver, figure out how to compile it directly into the kernel.
Thanks in advance for any feedback, experience, or comments you might have; please don't hesitate to ask any additional questions you might have about what steps and approaches I have or have not yet tried.