[RK3288][Android6.0] U-boot显示模块部分流程小结
来源:互联网 发布:python爬虫实例 编辑:程序博客网 时间:2024/05/17 13:06
Platform: RK3288
OS: Android 6.0
Version: v2014.10
//mipi dsi接口为例:
drv_lcd_init -> lcd.c
lcd_init ->
lcd_ctrl_init -> rockchip_fb.c
rk_fb_parse_dt -> //解析屏的display-timings中的内容,如screen-type, porch等.
rk_fb_pwr_ctr_parse_dt //这里会解析lcdc节点中power对应的gpio.
rk_fb_pwr_enable //控制lcd power 输出
rk_lcdc_init //lcdc控制器初始化
rk_lcdc_load_screen -> //根据屏幕类型配置dsi以及lcdc控制器.
rk_fb_vidinfo_to_screen //参数copy到struct rk_screen中
rk32_mipi_enable ->
rk_mipi_screen_probe ->
rk_mipi_screen_init_dt //获取mipi_dsi_init,mipi_power_ctr以及screen-on-cmds里的配置
rk_dsi_host_parse_dt //解析dts中mipi dsi对应信息.
rk_mipi_dsi_probe ->
register_dsi_ops //注册dsi ops.
dsi_probe_current_chip //探测当前dsi chip是否存在.
rk32_dsi_enable ->
rk_mipi_screen_standby ->
rk_mipi_screen -> //参数是0时
rk_mipi_screen_pwr_enable //output lcd_rst_gpio, lcd_en_gpio, 这里其实会和rk_fb_pwr_enable()重复,所以也可以不需要再配置了.
dsi_enable_hs_clk //enable high speed clock
dsi_enable_command_mode //mipi 分command和video mode,发送命令用command mode即可.
rk_mipi_screen_cmd_init -> //屏幕需要初始化时需要发送命令.
dsi_send_packet //循环发送dts中的所以命令,这些命令在rk_mipi_screen_init_dt()时读取.
dsi_enable_command_mode //关闭command mode
dsi_enable_video_mode //开启video mode.
lcdc_msk_reg //根据屏参数来配置lcdc
lcdc_writel
rk32_dsi_sync //mipi dsi屏才会调用到.
lcd_clear ->
lcd_logo -> //画logo
bitmap_plot ->
rk_bitmap_from_resource ->
get_content ->
get_base_offset ->
get_disk_partition(RESOURCE_NAME) //读取resoure分区
get_disk_partition(BOOT_NAME) //失败的话读取boot分区
lcd_display_bitmap_center ->
lcd_display_bitmap ->
lcd_pandispaly 显示
OS: Android 6.0
Version: v2014.10
//mipi dsi接口为例:
drv_lcd_init -> lcd.c
lcd_init ->
lcd_ctrl_init -> rockchip_fb.c
rk_fb_parse_dt -> //解析屏的display-timings中的内容,如screen-type, porch等.
rk_fb_pwr_ctr_parse_dt //这里会解析lcdc节点中power对应的gpio.
rk_fb_pwr_enable //控制lcd power 输出
rk_lcdc_init //lcdc控制器初始化
rk_lcdc_load_screen -> //根据屏幕类型配置dsi以及lcdc控制器.
rk_fb_vidinfo_to_screen //参数copy到struct rk_screen中
rk32_mipi_enable ->
rk_mipi_screen_probe ->
rk_mipi_screen_init_dt //获取mipi_dsi_init,mipi_power_ctr以及screen-on-cmds里的配置
rk_dsi_host_parse_dt //解析dts中mipi dsi对应信息.
rk_mipi_dsi_probe ->
register_dsi_ops //注册dsi ops.
dsi_probe_current_chip //探测当前dsi chip是否存在.
rk32_dsi_enable ->
rk_mipi_screen_standby ->
rk_mipi_screen -> //参数是0时
rk_mipi_screen_pwr_enable //output lcd_rst_gpio, lcd_en_gpio, 这里其实会和rk_fb_pwr_enable()重复,所以也可以不需要再配置了.
dsi_enable_hs_clk //enable high speed clock
dsi_enable_command_mode //mipi 分command和video mode,发送命令用command mode即可.
rk_mipi_screen_cmd_init -> //屏幕需要初始化时需要发送命令.
dsi_send_packet //循环发送dts中的所以命令,这些命令在rk_mipi_screen_init_dt()时读取.
dsi_enable_command_mode //关闭command mode
dsi_enable_video_mode //开启video mode.
lcdc_msk_reg //根据屏参数来配置lcdc
lcdc_writel
rk32_dsi_sync //mipi dsi屏才会调用到.
lcd_clear ->
lcd_logo -> //画logo
bitmap_plot ->
rk_bitmap_from_resource ->
get_content ->
get_base_offset ->
get_disk_partition(RESOURCE_NAME) //读取resoure分区
get_disk_partition(BOOT_NAME) //失败的话读取boot分区
lcd_display_bitmap_center ->
lcd_display_bitmap ->
lcd_pandispaly 显示
1 0
- [RK3288][Android6.0] U-boot显示模块部分流程小结
- [RK3288][Android6.0] U-boot 启动流程小结
- [RK3288][Android6.0] Camera HAL流程小结
- [RK3288][Android6.0] StageFright解码流程小结
- [RK3288][Android6.0] 串口驱动流程小结
- [RK3288][Android6.0] ION 驱动流程小结
- [RK3288][Android6.0] Camera HAL流程小结
- [RK3288][Android6.0] PMIC之RK818硬件部分小结
- [RK3288][Android6.0] 输入法框架开机初始化部分小结
- [RK3288][Android6.0] RTC模块RX8010SJ硬件部分概要
- [RK3288][Android6.0] PWM backlight 驱动流程小结
- [RK3288][Android6.0] DDR Frequency控制流程小结
- [RK3288][Android6.0] Display驱动初始化流程小结
- [RK3288][Android6.0] USB Mass Storage流程小结
- [RK3288][Android6.0] USB hub初始化流程小结
- [RK3288][Android6.0] 系统调试串口驱动流程小结
- [RK3288][Android6.0] TS-ADC驱动流程小结
- [RK3288][Android6.0] 开机播放音乐流程小结
- Object-C非正式协议与正式协议的区别
- linux命令corntab
- alarm信号、select、RTC定时器
- SystemServer进程启动过程源码分析
- git(1)--windows github 的使用
- [RK3288][Android6.0] U-boot显示模块部分流程小结
- 多线程优缺点
- 记录
- 1-Overview of HTTP
- C++ 类模板解读
- 简单功能代码记录本(2)
- C/C++求职宝典21个重点笔记(常考笔试面试点)
- 下载并启动paddle
- Android 应用程序进程启动过程源码分析