讯为rk3568开发板lvds屏设置横屏显示
- 旋转 uboot logo 和内核 logo
- 旋转buildroot系统桌面
- 旋转触摸
开发板:讯为rk3568
根文件系统:buildroot
系统:Linux
旋转 uboot logo 和内核 logo
这里我参考的是迅为资料中的09手册android系统和应用开发手册
修改/kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi设备树
这里的目录就是我们修改显示屏幕的目录,该目录下有两个设备树文件一个是屏幕的选择一个是屏幕的设置
&route_lvds{status = "okay";logo,rotate = <3>; // 新添加![请添加图片描述](https://img-blog.csdnimg.cn/ec959e4e82ca47bfb7e344b262087ce0.jpeg)connect = <&vp2_out_lvds>;
};
其中:
logo,rotate = <1>;代表逆时针旋转 90 度,
logo,rotate = <2>;代表逆时针旋转 180 度,
logo,rotate = <3>;代表逆时针旋转 270 度,
logo,rotate = <0>;代表逆时针旋转 360 度。
这里根据显示需求对应显示角度,到这里卡机的时候我们的显示我们的内核logo显示已经是正常的了,但是系统启动过后发现桌面还是竖屏显示。
旋转buildroot系统桌面
这里我参考的是Rockchip buildrootWeston开发指南,该文档讲述的便是buildroot也就是迅为镜像中所示的屏幕相关配置用法,其中修改屏幕方向的配置方法为修改/etc/xdg/weston/weston.ini文件,我们可以在源码中进行修改也可以在进入开发板系统后进行修改。
vi /etc/xdg/weston/weston.ini// 添加下面这段代码
[output]
name=LVDS-1
transform=90
# normal|90|180|270|flipped|flipped-90|flipped-180|flipped-270
如果需要动态配置屏幕方向,可以通过动态配置文件,如:
echo "output:all:rotate90" > /tmp/.weston_drm.conf # 所有屏幕旋转90度
echo "output:eDP-1::rotate180" > /tmp/.weston_drm.conf # eDP-1旋转180度
在该文件中还讲述了以下内容
有需要的可以进入源码的docs目录下查阅,我这里通过进入开发板系统进行修改需要重启后才会生效。
我这里触摸也没有问题,正常情况到这里就欧克了,如果出现触摸问题可以尝试下面的旋转触摸解决,这里我也是参考Android应用开发手册进行修改的,大家可以自行尝试。
旋转触摸
迅为支持的屏幕有 LVDS 7 寸屏幕,LVDS10.1 寸屏幕,MIPI 7 寸屏幕
LVDS 7 寸屏幕 和 MIPI 7 寸屏幕使用的触摸芯片是 ft5x06。 LVDS10.1 寸屏幕的触摸芯片
是 gt911。
触摸芯片是 ft5x06 的屏幕,修改
/kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi 设备树中的触摸节点,增加红色的代码,如下所示:
ft5x06:ft5x06@38 {status = "disabled";compatible = "edt,edt-ft5306";reg = <0x38>;touch-gpio = <&gpio0 RK_PB5 IRQ_TYPE_EDGE_RISING>;interrupt-parent = <&gpio0>;interrupts = <RK_PB5 IRQ_TYPE_LEVEL_LOW>;reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;touchscreen-size-x = <800>;touchscreen-size-y = <1280>;touch_type = <1>;touchscreen-inverted-x; // 新添加touchscreen-swapped-x-y; // 新添加
};
触摸芯片是 gt911 的屏幕,修改下面这个节点
gt9xx:gt9xx_ts@14 {compatible = "goodix,gt9xx";reg = <0x14>;interrupt-parent = <&gpio0>;interrupts = <RK_PB5 IRQ_TYPE_LEVEL_LOW>;reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>;touch-gpio = <&gpio0 RK_PB5 IRQ_TYPE_EDGE_RISING>;status = "disabled";tp-size = <911>;max-x = <1024>;max-y = <600>;touchscreen-inverted-x;// 新添加touchscreen-swapped-x-y;// 新添加
};