【ARM】迅为rk3568开发板lvds屏设置横屏显示

68 篇文章 20 订阅
34 篇文章 8 订阅

讯为rk3568开发板lvds屏设置横屏显示

开发板:讯为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;// 新添加
};
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉开水白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值