完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
Platform: RK3288
OS: Android 6.0 Kernel: 3.10.92 以MIPI DSI接口的lcd为例. rk_screen.c: 读取lcd timing参数。 lcd_mipi.c: 屏幕mipi配置信息。 rk_fb.c: fb驱动。 rk3288_lcdc.c lcdc controller驱动。 rk32_mipi_dsi.c: dsi controller驱动。 mipi_dsi.c mipi dsi 操作函数集. 开机按如下顺序执行. //mipi dsi接口相关信息初始化 rk_mipi_screen_init -> lcd_mipi.c platform_driver_probe -> //name是rk_mipi_screen rk_mipi_screen_probe -> rk_mipi_screen_init_dt //读取mipi信息, lane number, power, gpio, sceen on cmds. //fb相关信息读取 rk_fb_init -> rk_fb.c platform_driver_register -> //name: "rockchip,rk-fb" rk_fb_probe -> //获取disp-mode, u-boot-logo-on等参数。 rockchip_ion_client_create //创建ion client。 //timing参数初始化 //不管是那种接口类型的lcd,lcd的时序参数都是要读取的. rk_screen_init -> rk_screen.c platform_driver_register -> //name: "rk-screen" rk_screen_probe -> rk_fb_prase_timing_dt -> //读取来的配置存在结构体变量rk_screen中. of_get_display_timing //获取时序参数,dts中可以配置多组,这里会循环读取。 display_timings_get //根据当前native-mode来选取当前使用哪组时序参数。 rk_fb_video_mode_from_timing //把timing转换到fb video mode中去供后续使用。 //mipi dsi controller初始化 //如果是另外的接口那就调用相应的接口控制器驱动来初始化. rk32_mipi_dsi_init -> rk32_mipi_dsi.c platform_driver_register -> //name: "rk32-mipi" rk32_mipi_dsi_probe -> //初始化struct dsi结构,包括clock, dsi ops, rk_screen传递过来的参数, rk_fb_get_prmry_screen //获取在之前rk_screen_probe()中初始化的rk_screen变量. rk_mipi_dsi_probe -> register_dsi_ops //dsi->ops给dsi_ops dsi_probe_current_chip //检车dsi chip是否存在. rk_fb_trsm_ops_register //注册trsm_mipi_ops为trsm_dsi_ops //lcdc控制器注册: rk3288_lcdc_module_init -> rk3288_lcdc.c platform_driver_register -> //name: "rk3288-lcdc" rk3288_lcdc_probe -> rk3288_lcdc_parse_dt //读取lcdc控制器的参数 dev_drv->ops = &lcdc_drv_ops; //lcdc对应ops devm_request_irq //lcdc对应irq是rk3288_lcdc_isr() rk_fb_register -> //对应ops是lcdc_drv_ops init_lcdc_device_driver -> init_lcdc_win //一个lcdc能支持4层win. rk_disp_pwr_ctr_parse_dt //解析lcdc power ctrl相关内容。 rk_fb_set_prmry_screen rk_fb_trsm_ops_get //根据不同的屏幕类型选择对应的ops. framebuffer_alloc //系统根据win的多少来创建相应数量的fb fbi->fbops = &fb_ops; //fb ops rkfb_create_sysfs //生成到/dev/graphics/fbx/下 register_framebuffer rkfb_create_sysfs //以下code只跑一次 kthread_run //创建rk_fb_wait_for_vsync_thread dev_drv->ops->post_dspbuf //show logo |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1567 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
1790 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
4465 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 16:07 , Processed in 0.528558 second(s), Total 74, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号