I got an LCD. This LCD has a software driver for Beagleboard which is
in the form of an omap_dss_driver
static struct omap_dss_driver ozlcd_driver = {
.probe = ozlcd_panel_probe,
.remove = ozlcd_panel_remove,
.enable = ozlcd_panel_enable,
.disable = ozlcd_panel_disable,
.suspend = ozlcd_panel_suspend,
.resume = ozlcd_panel_resume,
.driver = {
.name = "ozlcd_panel",
.owner = THIS_MODULE,
}
};
Since this driver comes as a module, I insmoded it on my Beagleboard.
But nothing comes up on the LCD. The part I can't figure out is how do
I tell the omapdss to use this driver after the insmod?
So you see "dvi", "tv" as the plane. Above shows the default LCD
driver_name like "generic_panel" which uses omap_dss_driver. For
example, if you had other LCDs:
then my question applies to above. If you built sharp_ls as a module
and then insmoded it, then how do you switch from generic_panel to
sharp_ls_panel?
Then you need to add the omap_dss_device struc to arch/arm/mach-omap2/board-omap3beagle.c, the “.name” member will be what you use in the bootarg params to identify the driver
Then you have to modify your boot script (or whatever boot args are you using) to read something like this:
omapfb.mode=theNameOfYourDevice:800x480MR-16@60 (or the resolution you want)
Basically that is what you need, of course it depends on your configuration, you might need to modify the kernel displays/kconfig and makefile files, but it seems that you already have the module compiled, so this is not needed in that situation
On a different note, it is polite that if you expect answers to your questions, at least you do the same when the questions are directed to you