2024-11-16----Android 11(全志H713)-----拉高LED灯

server/2024/11/19 14:59:45/

需求

屏背光亮起来的时候,LED灯 黄灯灭 绿灯亮
找到屏操作背光的驱动文件:

longan/brandy/brandy-2.0/u-boot-2018/drivers/video/sunxi/fastlogo/fastlogo.c

写下操作LED灯的方法,在合适的地方调用

#define setbit(x,y) x|=(1<<y)
#define clrbit(x,y) x&=~(1<<y)static void setLedStatus(void){u32 data0;u32 data1;//拉低PL1data0 = readl(0x07022000);//0x07022000setbit(data0,4);clrbit(data0,5);clrbit(data0,6);clrbit(data0,7);writel(data0,0x07022000);data1 =readl(0x07022010);data1 &= ~(0x01<< 1);writel(data1,0x07022010);//拉高PL5data0 = readl(0x07022000);//0x07022000setbit(data0,20);clrbit(data0,21);clrbit(data0,22);clrbit(data0,23);writel(data0,0x07022000);data1 =readl(0x07022010);data1 |= (0x01<< 5);writel(data1,0x07022010);}

完整的补丁如下:

--- a/H713-v1.3/longan/brandy/brandy-2.0/u-boot-2018/drivers/video/sunxi/fastlogo/fastlogo.c
+++ b/H713-v1.3/longan/brandy/brandy-2.0/u-boot-2018/drivers/video/sunxi/fastlogo/fastlogo.c
@@ -74,6 +74,9 @@ static char *g_dts_value[] = {};#define CFG_BLOCK_MAX_SIZE 0x40000
+#define setbit(x,y) x|=(1<<y)
+#define clrbit(x,y) x&=~(1<<y)
+static void setLedStatus(void);struct tse_src_desc {char *default_file_name;
@@ -696,6 +699,7 @@ static void fastlogo_timer_cb(void *parg)delay_ms = panel_set->power_on_delay1;break;case 3:
+               setLedStatus();p_fastlogo->p_bl->pwm_enable(p_fastlogo->p_bl, 1);delay_ms = panel_set->power_on_delay2;break;
@@ -960,6 +964,35 @@ OUT:return ret;}+static void setLedStatus(void){
+       u32 data0;
+       u32 data1;
+       //PL1 set gpio output low
+       data0 = readl(0x07022000);//0x07022000
+       setbit(data0,4);
+       clrbit(data0,5);
+       clrbit(data0,6);
+       clrbit(data0,7);
+       writel(data0,0x07022000);
+
+       data1 =readl(0x07022010);
+       data1 &= ~(0x01<< 1);
+       writel(data1,0x07022010);
+
+       //PL5 set gpio output high
+       data0 = readl(0x07022000);//0x07022000
+       setbit(data0,20);
+       clrbit(data0,21);
+       clrbit(data0,22);
+       clrbit(data0,23);
+       writel(data0,0x07022000);
+
+       data1 =readl(0x07022010);
+       data1 |= (0x01<< 5);
+       writel(data1,0x07022010);
+
+}
+

http://www.ppmy.cn/server/143212.html

相关文章

Android Framework AMS面试题及参考答案

目录 什么是 AMS? AMS 在 Android 系统中的作用? AMS 是如何启动的? Zygote、SystemServer 与 AMS 之间的关系? AMS 如何与其他系统服务(如 PackageManagerService、WindowManagerService、WMS)交互? AMS 如何使用 Binder 完成通信? AMS 如何管理系统服务的启动…

【自学笔记】无监督学习

文章目录 简述聚类 &#xff08;Cluster learning&#xff09;K-means 异常检测密度估计一些技巧 简述 无监督学习&#xff08;Unsupervised Learning&#xff09;是机器学习的一种方法&#xff0c;其特点是不依赖于事先标记的训练数据。在无监督学习中&#xff0c;算法尝试直接…

【机器学习】从马尔可夫链到CRF:全方位解析序列建模的核心技术

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

(Ubuntu)添加用户并授予sudo权限

在 Ubuntu 中&#xff0c;可以使用 adduser 命令来新建用户。 以下是步骤和说明&#xff1a; 1.打开终端&#xff1a; 可以通过按下 Ctrl Alt T 来打开终端&#xff0c;或者在应用程序菜单中搜索并打开“终端”。 2.使用 adduser 命令&#xff1a; 在终端中输入以下命令&a…

Android OpenGL ES详解——实例化

目录 一、实例化 1、背景 2、概念 实例化、实例数量 gl_InstanceID 应用举例 二、实例化数组 1、概念 2、应用举例 三、应用举例——小行星带 1、不使用实例化 2、使用实例化 四、总结 一、实例化 1、背景 假如你有一个有许多模型的场景&#xff0c;而这些模型的…

H.265流媒体播放器EasyPlayer.js播放器出现加载视频等待画面时长过长的原因排查

在数字媒体时代&#xff0c;用户体验是衡量播放器性能的关键指标之一。EasyPlayer.js网页web无插件播放器作为一款流行的Web视频播放器&#xff0c;其加载速度和响应时间直接影响着用户的观看体验。 1、问题描述 加载视频等待画面时长过长。 2、可能的原因&#xff1a; 检查下…

将分割标签数据从JSON格式转换为YOLOv8的TXT格式

AnyLabeling是一款突破性的开源图像标注工具。 一、主要功能与特点 融合传统标注工具优点&#xff1a;AnyLabeling结合了LabelImg和Labelme等传统标注软件的优点&#xff0c;提供了多边形、矩形、圆形、线条和点等多种标注形式&#xff0c;满足不同场景的需求。强大的AI自动标…

简单爬虫的实现

以下是一个简单爬虫代码的实现&#xff1a; import requests from bs4 import BeautifulSoup# 生成一个包含多个网页 URL 的列表 # 这里我们构造了 50 个页面的 URL&#xff0c;假设网站有多页内容&#xff0c;页数从 1 到 50 urls [f"https://www.cnblogs.com/#p{i}&qu…