屏幕源码
nk应该代指nodka https://nodka.eu/
总
函数用于准备 Rockchip 面板的硬件工作,包括 GPIO 配置、电源管理、延时操作、命令发送等。 它通过一系列硬件操作(GPIO、电源管理、时序控制等)为面板通电并准备好使用。 u-boot/drivers/video/drm/rockchip_panel.c panel_simple_prepare
设置屏幕优先级
system/core/lcdparamservice/lcdparamservice.c

u-boot/arch/arm/mach-rockchip/kernel_dtb.c 根据硬件状态(hw_lcd 值)选择具体显示屏的参数配置,并通过多种接口(如 edp, mipi, i2c3)动态修改设备树
针对 i2c3 总线上的 lt8911exb 芯片(一个显示相关的设备),根据传入的 flag 参数设置不同的显示参数
MIPI® DSI/CSI Bridge to eDP

总结
设备树的动态加载 u-boot/arch/arm/mach-rockchip/kernel_dtb.c 屏幕参数读取 system/core/lcdparamservice/lcdparamservice.c 主副屏配置 device/rockchip/rk356x/device.mk lvds dsi1
lvds
kernel/arch/arm64/boot/dts/rockchip/rk3568/evb.dtsi
817行

修改屏幕timing
kernel/arch/arm64/boot/dts/rockchip/NK_RK3399_V0C.dts

增加屏幕对应的dtsi kernel/arch/arm64/boot/dts/rockchip/panel-edp-ET156BFER18-1920x1080.dtsi
使用的是默认的驱动 kernel/drivers/gpu/drm/panel/panel-simple.c
可以在此处配置hdmi屏幕的一些设置
device/rockchip/rk3399/device.mk

在rk3568-evb.dtsi中增加lvds屏幕面板信息
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi

进行lcd屏幕显示密度配置
device/rockchip/rk356x/rk3568_NK/rk3568_NK.mk

支持屏幕参数选择服务
device/rockchip/rk356x/device.mk

edp
修改panel节点,display-timing,edp_timing kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
使用LT8911EXB(MIPI DSI/CSI 转 eDP)
kernel/drivers/video/lt8911exb.c

关闭nk-lvds使用的gpio
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi

修改eDP的timing属性
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi

eDP参数修改
kernel/arch/arm64/boot/dts/rockchip/NK_RK3568.dtsi

eDP硬件配置引脚strap
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi

分辨率跳帽切换(跳帽切换后,读取GPIO数据,从指定路径读取配置,根据读到的GPIO数据写不同的参数)
device/rockchip/common/sepolicy/vendor/file_contexts
(SELinux 文件上下文配置文件)
(目的通过为不同文件或设备分配 SELinux 标签,限制未经授权的进程访问设备或文件)

导出gpio并设置方向,改变权限
device/rockchip/common/init.rockchip.rc
(Android 的 init 系统 的配置脚本之一,用于描述 Rockchip 硬件的初始化需求)

设置 GPIO 文件的默认权限,对 GPIO 引脚value 文件设置权限
device/rockchip/common/ueventd.rockchip.rc
(Android 的 ueventd 系统 的配置文件之一,用于管理设备节点的权限和用户组。ueventd 是 Android 的一个守护进程,负责处理内核设备事件(uevent),并根据这些事件动态创建或移除设备节点(如 /dev/ 下的文件))
(硬件设备节点的权限管理)

读取gpio切换配置的服务 system/core/lcdparamservice/lcdparamservice.c
设备树动态修改 u-boot/arch/arm/mach-rockchip/kernel_dtb.c
mipi
修改dsi_panel节点,增加mipi属性
kernel/arch/arm64/boot/dts/rockchip/NK_RK3568.dtsi

设置backlight1背光参数
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi
pwm

定义从处理器内部的输出端(dsi1、eDP、hdmi)到外部显示接口的连接关系
kernel/arch/arm64/boot/dts/rockchip/rk3568.dtsi

修改Android的初始化脚本中背光的权限,使system用户权限可以修改
device/rockchip/common/init.rk30board.rc

更新背光参数
kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi

留下评论