I am trying to get my 7" LCD display to work but am failing at it.
I need some help.
I am new to Linux kernel for the last few months and have been reading as much as I can to try and make this work.
I’m determined to do this but I think I need a little nudge from someone in the right direction.
The dev kit 8000 comes with kernel 2.6.x and I am trying to port it to kernel 3.2.x obtained from R.Nelson.
I created a board file under kernel/arch/arm/mach-omap2/board-rpc.c and a panel-rpc.c under kernel/drivers/video/omap2/displays/…
I created these files with a mix of some DevKit8000 and BeagleBoard files that were in kernel 2.6 and kernel 3.2
I did notice that the code has changed a lot between the two versions.
I am a struggling in learning about omapdss and omapfb but in time I hope to be smarter about it by reading more.
I can confirm that the LCD does work (hardware wise…) from trials and testing using other distro images such as angstrom etc…
I was able to port the old u-boot 1.3.3 to the latest u-boot from DENX.
I built some code pages there under include-config and u-boot/board…
I was able to turn on the DVI and change the screen to Orange while booting the board to u-boot.
I have yet to do this with kernel 3.2
So far, I can boot to u-boot, modify the setenv to match the kernel 3.2, boot the kernel from the SDcard and bring up a file system with busy box.
I have a prompt and the network works.
I was able to get the ads7846 to work because I can get screen garbage when I pinch the LCD screen.
But I can’t seem to get the display and DVI screen to work.
I’m sure Im close to the solution and it’s probably right in front of me.
Can someone give me suggestions so I can continue to work at this?
I should add the following info: from booting - but is not shown in dmesg.
"Error opening /dev/fb0: No such file or directory"
I'm wrestling with this one... from dmesg.
[ 0.405517] omapdss CORE: bus_match. dev display0/rpc_lcd_driver, drv venc
Even though I selected a different lcd driver, it always defaults to "drv venc" used for TV - I believe.
The modifications were done in the kernel board code page.
update:
I dounloaded the latest stable-kernel from RCNelson.
This brought me from kernel ver 3.2.21-x13 to 3.2.27-x14
I am able to get DVI on my DevKit8000 with the Yocto logo as graphics.
I used bootargs= …vram=12M omapfb.mode=dvi:1280x720MR-16@60 omapdss.def_disp=“dvi” omapfb.vram=0:4M,1:4M,2:4M…
However, still no LCD display
Can anyone help me choosing the right bootargs for the LCD?
I tried…
omapfb.mode=dvi:720 omapdss.def_disp=“lcd”
Just an update and my final post on this topic.
I was able to get the touchscreen to work. Here are some of the highlights to watch for.
I created my own custom panel and board pages from existing pages only because I wanted to learn how to do it the hard way.
I started my panel-custom page by modeling the panel-generic-dpi.c page under kernel/drivers/video/omap2/displays
Name your driver here and remember what it is because you’ll need it in the board page.
module_init > omap_dss_driver > .driver.name = “custom_panel”
In the custom_panel_probe function (called from omap_dss_driver.probe = custom_panel_probe), make sure you select the right dpi panel.
In this case, I used the panel_config > timing information from Innolux AT070TN83 because the LCD came with my DevKit8000.
(struct panel_config)custom_dpi_panel.name = “innolux_at070tn83” …note, you’ll need this in the board page.
I started my board-custom page based from multiple board-pages such as devkit8000, omap3evm and omap3beagle under kernel/arch/arm/mach-omap2
Under the function omap_dss_device, you would have 3 devices listed there, lcd, dvi and tv.
In my case, my lcd device (omap_dss_device)custom_lcd_device is setup.
custom_lcd_device.name = “lcd”
custom_lcd_device.driver_name = “custom_panel” < same name as named in the panel-custom page.
custom_lcd_device.data = &lcd_panel >> where you would name it “innolux_at070tn83” as named in the panel-custom page.
from u-boot, in your bootargs, use omapfb.mode=dvi:800x400@60 omapdss.def_disp=“lcd”
I hope this information helps somebody else.
As a newb, I certainly learned a lot while doing the research.
I feel like I graduated or something haha.
I am working on the same "innolux_at070tn83" 7inch display
am able to get the LCD display working but the touch is not working .
I have enabled ADS7846 on android kernel 3.0.still cant get the touch
screen working
Did you make any specific change to the kernel menuconfig wrt to touch
input?
Thanks
Dave
--
I checked yesterday the Devkit8000/Innolux 7" lcd. The display works,
but the touchscreen was very difficult to operate.
Can you increase the tolerance for the ads7846?
The dvi output was not working because of a missing DCC ic2. I sent a
patch to the linux mailinglist.