文件系统的信息包含在以下目录中
# ls /sys/devices/platform/omapdss/
display0 driver manager1 modalias overlay1 overlay3 subsystemdisplay2 manager0 manager2 overlay0 overlay2 power uevent
platform_driver 在 dispc.c core.c hdmi.c dss.c frbi.c dsi.c (都在linux/drivers/video/omap2/dss目录下)中都有定义,对应不同的显示模块
platform_device 在 /linux/arch/arm/mach-omap2/board-omap4panda.c 中有定义
/linux/arch/arm/mach-omap2/board-omap4panda.c 中的omap_dss_device结构体----与下边驱动文件里的omap_dss_driver相对应
static s
truct omap_dss_board_info omap4_panda_dss_data
.devices = omap4_panda_dss_devices=
static struct omap_dss_device *omap4_panda_dss_devices[] = {
&omap4_panda_lcd_device,
struct omap_dss_device omap4_panda_lcd_device = {
.type = OMAP_DISPLAY_TYPE_DPI,
.name = "lcd",
.driver_name = "chipsee_dpi_panel", //对应的下文驱动程序中有相应的name
.data = &omap4_lcd_panel,
/* Using generic display panel */
static struct panel_generic_dpi_data omap4_lcd_panel = {
.name = "innolux_hj070na13a", //在驱动程序的probe函数中选择不同的屏幕参数
.platform_enable = omap4_panda_enable_lcd,
.platform_disable = omap4_panda_disable_lcd,
};
.phy.dpi.data_lines = 24,
.reset_gpio = PANDA_EXP_LCD_ENABLE_GPIO,
.channel = OMAP_DSS_CHANNEL_LCD2,
};
&omap4_panda_dvi_device,
&omap4_panda_hdmi_device,
};
linux/video/omap2/displays/panel-chipsee-dpi.c
在驱动里对应相应的omap_dss_driver结构体-----与上边的omap_dss_device结构体对应
omap_dss_register_driver (&dpi_driver);
static struct omap_dss_driver dpi_driver = {
.probe = generic_dpi_panel_probe,
.remove = __exit_p(generic_dpi_panel_remove),
.enable = generic_dpi_panel_enable,
.disable = generic_dpi_panel_disable,
.suspend = generic_dpi_panel_suspend,
.resume = generic_dpi_panel_resume,
.set_timings = generic_dpi_panel_set_timings,
.get_timings = generic_dpi_panel_get_timings,
.check_timings = generic_dpi_panel_check_timings,
.driver = {
.name = "chipsee_dpi_panel", //对应的上边平台设备文件中有相应的name
.owner = THIS_MODULE,
},
};