少于 1 分钟阅读 次阅读

nk应该代指nodka https://nodka.eu/

函数用于准备 Rockchip 面板的硬件工作,包括 GPIO 配置、电源管理、延时操作、命令发送等。 它通过一系列硬件操作(GPIO、电源管理、时序控制等)为面板通电并准备好使用。 u-boot/drivers/video/drm/rockchip_panel.c panel_simple_prepare

设置屏幕优先级 system/core/lcdparamservice/lcdparamservice.c alt text

u-boot/arch/arm/mach-rockchip/kernel_dtb.c 根据硬件状态(hw_lcd 值)选择具体显示屏的参数配置,并通过多种接口(如 edp, mipi, i2c3)动态修改设备树

针对 i2c3 总线上的 lt8911exb 芯片(一个显示相关的设备),根据传入的 flag 参数设置不同的显示参数 MIPI® DSI/CSI Bridge to eDP alt text

总结

设备树的动态加载 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行 alt text

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

增加屏幕对应的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 alt text

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

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

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

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 alt text

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

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

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

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

分辨率跳帽切换(跳帽切换后,读取GPIO数据,从指定路径读取配置,根据读到的GPIO数据写不同的参数)

device/rockchip/common/sepolicy/vendor/file_contexts (SELinux 文件上下文配置文件) (目的通过为不同文件或设备分配 SELinux 标签,限制未经授权的进程访问设备或文件) alt text

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

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

读取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 alt text

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

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

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

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

留下评论