1.硬件原理图
itopeet支援多种分辨率尺寸的屏幕,通过拨码开关可以适配不同的屏幕,主要是通过以下两根GPIO的值来确定的
官方手册上给出了不同的value组合对应的屏幕,笔者手上的是7寸屏幕。
2.Linux3.0对于diaplay的选择
可以从iTop_4412_defconfig中可以看到关于display驱动的配置,而display的platform的选择
下面为linux3.0中关于device和driver的定义
./arch/arm/mach-exynos/mach-itop4412.c //添加display的platform device
static struct platform_device *smdk4x12_devices[] __initdata = {
......
/* legacy fimd */
#ifdef CONFIG_FB_S5P
&s3c_device_fb,
#ifdef CONFIG_FB_S5P_LMS501KF03
&s3c_device_spi_gpio,
#endif
....
}
./arch/arm/plat-samsung/dev-fb.c //设备定义
struct platform_device s3c_device_fb = {
.name = "s3c-fb",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_fb_resource),
.resource = s3c_fb_resource,
.dev.dma_mask = &s3c_device_fb.dev.coherent_dma_mask,
.dev.coherent_dma_mask = 0xffffffffUL,
};
./driver/video/s3c-fb.c //驱动定义
static struct platform_driver s3c_fb_driver = {
.probe = s3c_fb_probe,
.remove = __devexit_p(s3c_fb_remove),
.id_table = s3c_fb_driver_ids,
.driver = {
.name = "s3c-fb",
.owner = THIS_MODULE,
.pm = &s3cfb_pm_ops,
},
};