MTK6737平台匹配设备节点的方法

TP驱动调试笔记 以在mtk6737平台移植汇顶的GT910举例,建议正式调试的前一天把代码完整编译一遍,假如时间来不及,至少要先编译内核,编译eng或者userdebug版本。一般要提前准备:主板、TP模组、串口线、硬件原理图,供应商提供芯片手册、规格书、驱动代码和cfg参数等。 ... 阅读详情

在DeviceTree中需要匹配设备节点,才可以获取某一个节点的参数信息。

/**
 * of_find_compatible_node - 通过compatible属性查找指定节点
 * @from - 指向开始路径的节点,如果为NULL,则从根节点开始
 * @type - device_type设备类型,可以为NULL
 * @compat - 指向节点的compatible属性的值(字符串)的首地址
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_compatible_node(struct device_node *from,const char *type, const char *compat);
/* 例如:由根设备节点开始检索一个名为"mediatek,ACCEL_GYRO_INT1-eint"设备节点*/

irq_node = of_find_compatible_node(NULL, NULL, "mediatek,ACCEL_GYRO_INT1-eint");

还有一种方法:

/**
 * of_find_matching_node - 通过compatible属性查找指定节点
 * @from - 指向开始路径的节点,如果为NULL,则从根节点开始
 * @matches - 指向设备ID表,注意ID表必须以NULL结束
 * 范例:  const struct of_device_id mydemo_of_match[] = {
                { .compatible = "mediatek,mt6735-touch", },
                {}
            };      
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_matching_node(struct device_node *from,const struct of_device_id *matches);

相对于上一个函数接口,这个便于使用of_device_id,因为其实匹配设备的时候已经配置of_device_id了。
还有两种方法是按路径和节点名称去检索检点的函数接口
/**
 * of_find_node_by_path - 通过路径查找指定节点
 * @path - 带全路径的节点名,也可以是节点的别名
 * 成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_node_by_path(const char *path);


/**
 * of_find_node_by_name - 通过节点名查找指定节点
 * @from - 开始查找节点,如果为NULL,则从根节点开始
 * @name- 节点名
 *  成功:得到节点的首地址;失败:NULL
 */
struct device_node *of_find_node_by_name(struct device_node *from,const char *name);

 

安卓TV流媒体终端轻量适配方案:基于OMX硬解的老旧设备重生实践 流媒体播放器是智能终端内容呈现的核心组件,其性能表现高度依赖底层解码架构与硬件加速能力。在Android TV生态中,MediaCodec作为标准多媒体接口,需结合芯片厂商提供的OMX IL组件实现高效H.264/H.265硬解;而ExoPlayer等高级封装框架虽具备跨平台优势,却常因SoC碎片化导致软解fallback、Z-order冲突与电源管理异常。本方案聚焦低算力终端(如Amlogic S905X2、RK3328)的真实部署瓶颈,通过精简内核、绕过Stagefright框架、强制指定vendor 阅读详情

相关推荐

RK3568平台(设备树篇)of 操作函数获取设备树节点

给我们提供了一系列的函数来获取设备树中的节点或者属性信息,这一系列的函数都有一个统一的前缀 ”“ , 所以在很多资料里面也被叫做OF函数。Linux 内核使用device_node 结构体来描述一个节点,此结构体定义在文件。

weixin_49303682的博客 1583

linux驱动获取dts属性

引入: 设备树描述了设备的详细信息,这些信息包括数字类型的、字符串类型的、数组类型的,我们在编写驱动的时候需要获取到这些信息。 Linux 内核给我们提供了一系列的函数来获取设备树中的节点或者属性信息,这一系列的函数都有一个统一的前缀“of_”,所以在很多资料里面也被叫做 OF 函数。这些 OF 函数原型都定义在 include/linux/of.h 文件中。 一、查找结点函数: 1.of...

qq_35947329的博客 4659

MaxKey+JeecgBoot单点登录实战:手把手教你从零配置到账户同步

本文提供MaxKey与JeecgBoot单点登录(SSO)的实战整合指南。详细讲解从MaxKey应用注册、JeecgBoot前后端改造,到最终实现账户同步的完整步骤,重点解决Shiro配置、令牌交换等关键问题,帮助企业构建统一、可扩展的身份管理体系。

weixin_29258297的博客 540

2021-07-18

设备树基础知识 设备树文件类型 .dts 文件表示是设备树的源文件,里面可以添加各种设备的相关节点信息。 .dtsi 文件表示是设备输的头文件,其作用类似c语言中的头文件,需要用到时,也是#inxlude <xxx.dtsi>,其类容一般是属性相似的设备的节点信息。 .dtb 文件表示被编译成二进制的设备树文件。 设备树的编译工具 dtc 就是设备树的编译工具。 基本用法如下: ​ dtc -S .dts -O .dtb -o xxx.dtb xxx.dt

gq1236的博客 1700

大数据面试 逻辑题

逻辑题大致分为比较逻辑题、分析逻辑题、综合逻辑题、抽象逻辑题、概括逻辑题、推理逻辑题、论证逻辑题等,由于这类题比较考验综合素质,因此也一直是各大企业笔试、面试时经常喜欢考察的题目类型之一。很多童鞋认为逻辑题很难,其实不然。多做练习,打开思路,这类题还是可以轻易化解的。 下面为大家整理了网络上最全的75道逻辑判断测试题。在每道题目下方有答案,是用白色显示的,反选就可以看到啦~ 【1】假设有一个池...

zzq_0916s的博客 4421

S32K3xx系列DMA驱动实战:EB配置与Mcal接口应用全解析(含Adc硬件触发示例)

本文深入解析S32K3xx系列MCU的DMA驱动开发,涵盖EB工具配置与Mcal接口应用,特别包含ADC硬件触发示例。通过详细架构分析、实战配置步骤和工业级应用案例,帮助开发者掌握AUTOSAR环境下DMA高效数据传输技术,提升汽车电子和工业控制系统的性能。

weixin_29162439的博客 463

linux驱动开发学习笔记十三:设备树常用OF操作函数

       设备树描述了设备的详细信息,这些信息包括数字类型的、字符串类型的、数组类型的,我们在编写驱动的时候需要获取到这些信息。比如设备树使用 reg 属性描述了某个外设的寄存器地址为 0X02005482,长度为 0X400,我们在编写驱动的时候需要获取到reg属性的0X02005482和 0X400这两个值,然后初始化外...

耐心的小黑的博客 5737

WPS中VBA支持库安装全攻略:从报错到一键解决

VBA作为Office生态中广泛使用的宏语言,是办公自动化的重要基础。WPS表格虽然兼容Excel文件格式,但出于技术路线与授权原因,默认并未集成完整的VBA引擎与开发环境,导致用户打开含宏文件时频繁遇到“找不到工程或库”“未找到VBA支持库”等报错。理解VBA支持库包含引擎与IDE两层结构,并掌握系统位数、版本匹配、安全软件拦截等前置条件,是成功部署的关键。通过可靠的安装源与规范流程完成配置后,即可实现在WPS中运行Excel宏、批量处理数据、自定义函数等自动化场景,显著提升报表处理效率。本文围绕WPS中

weixin_31102231的博客 305

设备树信息解析相关函数

函数原型:struct device_node *of_find_compatible_node(struct device_node *from,const char *type, const char *compat);函数原型:struct device_node *of_find_node_by_name(struct device_node *from,const char *name);参数:第一个参数为信息结构体,第二个参数为指定的u32类型的键值对应的键名,第三个参数为索引号;

qq_65422408的博客 668

ROS 入门教程:小乌龟仿真器和基础操作

小乌龟仿真器和ros基础操作

zlflll的博客 4121

【2025最新版】间接平差——以水准网平差为例 (python详细过程版)

水准网间接平差的python代码实现。博客长期更新,本文最新更新时间为:2025年5月20日。

点云侠的博客 1702

设备树之OF操作函数

在Kernel的include/linux/of.h文件中,提供了一系列的函数来获取设备书中的节点或属性信息。这些函数都以of开头,所以也被称为OF函数。注:参考正点原子I.MX6U嵌入式Linux驱动开发指南V1.71。

a_qwq_a的博客 660

解析AI人工智能领域AI芯片的散热技术

当你用ChatGPT写代码、用AI生成高清图片时,背后的AI芯片可能正在“发高烧”——全球TOP500超算的平均功耗已突破10兆瓦,单颗GPU的峰值功耗超过700W(相当于3台家用空调同时运行)。本文将聚焦AI芯片的散热技术,覆盖从基础原理到前沿方案的全链条解析,帮助读者理解“散热为什么比算力更重要”。

AIGC应用创新大全的博客 934

MTK6737平台的GPIO驱动例程(一)

1、在dts文件中创建节点,在/kernel-3.18/arch/arm64/boot/dts/mt6735.dtsi 创建一个名mygpio的设备节点,匹配名称为“mykgpio”。 2、别写驱动框架 #include <linux/slab.h> #include <linux/device.h> #include <linux/miscdevice.h...

u010783226的专栏 937

学习STM32的DS18B20温度传感器

该函数首先复位传感器,然后发送跳过ROM命令和转换命令,并等待转换完成。接下来,它再次复位传感器,发送跳过ROM命令和读取温度命令。最后,它读取温度值的最低字节和最高字节,并将其组合成16位温度值。传感器的VCC引脚连接到STM32的3.3V电源,GND引脚连接到GND,而数据引脚连接到任何一个IO引脚。需要注意的是,示例代码中使用了一个简单的延时函数来等待转换完成。实际上,您可能需要使用定时器或其他更精确的延时方法来实现更准确的延时。下面是一个示例代码,演示如何读取DS18B20传感器的温度值。

m0_75244442的博客 1182

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

编写MTK6737平台的GPIO驱动例程(一)

1、在dts文件中创建节点,在/kernel-3.18/arch/arm64/boot/dts/mt6735.dtsi 创建一个名mygpio的设备节点,匹配名称为“mykgpio”。 2、别写驱动框架 #include <linux/slab.h> #include <linux/device.h> #include <linux/miscdevice.h&g...

u010783226的专栏 341

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

android 亮灯按钮,MTK6735(Android6.0)-按键灯的实现

一、按键灯的简介最近调试一下按键灯,今天抽空顺便把的流程分析了一下。按键灯也是一种led,它的使用规则如命名一样,当按键按下亮灯,如果一定时间不操作的话,一会会灭灯。其实这里的按键灯亮灭策略通常不是驱动来完成的,而是有用户空间来控制。正如一句老话“驱动注重的不是策略,而是机制”;所以我们在编写驱动只需要完成led的点亮和熄灭功能即可。当然在实际使用中我们会发现不是所有驱动都如此,有时候平台中也会添...

weixin_35361243的博客 1148

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MTK6735(Android6.0)-按键灯的实现

一、按键灯的简介     最近调试一下按键灯,今天抽空顺便把的流程分析了一下。按键灯也是一种led,它的使用规则如命名一样,当按键按 下亮灯,如果一定时间不操作的话,一会会灭灯。其实这里的按键灯亮灭策略通常不是驱动来完成的,而是有用户空间来 控制。正如一句老话“驱动注重的不是策略,而是机制”;所以我们在编写驱动只需要完成led的点亮和熄灭功能即可。当 然在实际使用中我们会发现不是所有驱动都

dxmcu的专栏 1450

mt6737 camera 驱动代码分析

1.摄像头代码分析: 驱动函数入口: module_init(CAMERA_HW_i2C_init); 驱动函数出口: module_exit(CAMERA_HW_i2C_exit); static int __init CAMERA_HW_i2C_init(void) { i2c_register_board_info(SUPPORT_I2C_BUS_NUM1, &amp;i2c...

andy 的专栏 1444

linux内核of 设备树,linux 设备树常用OF函数

linux 设备树常用OF函数linux 设备树常用OF函数1、查找节点的OF函数Linux内核使用device_node结构体来描述一个节点,此结构体定义在文件include/linux/of.h1.1. of_find_node_by_name:通过节点名字查找指定节点1.2. of_find_node_by_type:通过device_type属性查找指定节点1.3. of_find_nod...

weixin_34782968的博客 586

RK3568驱动指南|第七期-设备树-第66章of操作函数实验:获取设备树节点

of_find_matching_node_and_match函数在设备树中遍历节点,对每个节点使用__of_match_node函数进行匹配。在上一章节的学习中,我们学习了设备树下platform_device和platform_driver匹配,现在也只是让他们匹配在了一起,但这样显然是不够的,为了完成一些和硬件相关的需求,我们还需要获取到在设备树中编写的一些属性,那驱动是如何获取设备树中的属性呢,让我们一起进入后续章节的学习吧。函数将从上一个子节点的下一个节点开始,查找并返回下一个子节点。

BeiJingXunWei的博客 910

设备树常用的OF操作函数

设备树常用的OF操作函数 1、查找节点的OF函数 设备都是以节点的形式挂到设备树上的,因此想要获取这个设备的其他属性信息,必须先获取到这个设备的节点。 linux内核使用device_node结构体来描述一个节点,该结构体定义在include/linux/of.h中。 定义如下: struct device_node { const char *name; /* 节点名字 */ const char *type; /* 设备类型 */ phandle phandle; const char *f

Solong 1471
上一篇: Android studio 3版本编译Gradle3.0 JNI的.so工程
下一篇: 编写MTK6737平台的GPIO驱动例程(六)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值