1.什么是regmap Linux 下大部分设备的驱动开发都是操作其内部寄存器,比如 I2C/SPI 设备的本质都是一样的,通过 I2C/SPI 接口读写芯片内部寄存
原创
2022-07-02 00:05:20
124阅读
连接到Internet的设备称为节点(node)。计算机节点称为主机(host)。每个节点或主机都由至少一个唯一的数来标识,这称为Internet地址或IP地址。目前大多数IP地址是四字节长,这被称作IPv4地址。不过,一小部分IP地址是16字节长(而且这种地址的数量正在增加),这被称作IPv6地址(4和6指Internet协议的版本,不是地址中的字节数)。IPv4和IPv6地址都是字节的有序
3.0linux内核版本中,codec driver是直接调用i2c的i2c_master_send函数与i2c_transfer函数来实现i2c的读写,3.3版本,codec driver通过调用snd_soc_read和snd_soc_write函数来实现i2c的读写,这两个函数内部包裹了codec->read和codec->write,而codec->read和codec-
原创
2022-11-01 06:03:11
318阅读
内核版本:3.10.92内核3.1引入了一套新的API机制:regmap,主要为I2C,SPI,IRQ等操作提供统一接口,提高代码可重用性,减少重复逻辑。以I2C为例:要让设备跟I2C通信,以前的办法是调用i2c_transfer接口,其实regmap最终还是调用到i2c_transfer,只不过中间加了一层缓冲,这样统一了接口,减少了底层I/O的操作次数。在初始化之前,要先填充regmap_c
转载
2020-03-10 21:33:00
380阅读
内核3.1引入一套新的API regmap,目的是提取出关于I2C SPI irq等相关注册、使能以及读写的公共部分,以提高代码的可重用性,并且使得在使用如上内核基础组件时变得更为简单易用。0 基础结构
1. struct regmap_config {2. int reg_bits; // 寄存器地址的位数,必须配置,例如I2C寄存器地址位数为 83. int pad_bits; // 寄存器值
转载
2022-08-30 08:20:36
964阅读
转自:https://blog.csdn.net/scarecrow_byr/article/details/48625085 linux syscon and regmap study note-v0.1 2015.9.19 Sherlock draft1. What is regmap and
转载
2020-06-04 10:13:00
410阅读
2评论
地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。在以太网协 议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关
转载
2024-05-27 18:57:04
69阅读
1. 内核版本 5.2.0 2. 请看devm_regmap_init_i2c (include/linux/regmap.h) 3. 看看__regmap_lockdep_wrapper 4. KBUILD_BASENAME的定义在哪里? 在编译时由编译选项-D提供,如此处为: -DKBUILD_
转载
2019-08-14 15:16:00
389阅读
2评论
1 简介Regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap 除了能做到统一的 I/O 接口,还可以在驱动和硬件 IC 之间做一层缓存,从而能减少底层 I/O 的操作次数。2 使用对比在了解 Regmap 的实现细节前,我们先来对比一下,传统操作寄
原创宋宝华Linux阅码场2019-10-16前向声明编程定律先强调一点:在一切可能的场景,尽可能地使用前向声明(ForwardDeclaration)。这符合信息隐蔽的原则。一个例子regmap那么前向声明究竟是个什么鬼?在内核写代码和看代码的童鞋,经常发现Linux内核里面充斥着这样的代码,比如include/vimlinux/regulator/driver.h文件中:我们以regmap这个
原创
2020-11-28 06:15:24
532阅读
答: linux内核源码drivers/mfd/syscon.c中的of_syscon_register()接口对regmap_config进行初始化 注: linux内核源码版本为5.1.0
转载
2019-09-12 17:05:00
718阅读
2评论
前向声明编程定律先强调一点:在一切可能的场景,尽可能地使用前向声明(Forward Declaration)。这符合信息隐蔽的原则。一个例子regmap那么前向声明究竟是...
转载
2021-07-28 16:19:37
316阅读
前向声明编程定律先强调一点:在一切可能的场景,尽可能地使用前向声明(Forward Declaration)。这符合信息隐蔽的原则。一个例子regmap那么前向声明究竟是...
转载
2022-03-11 10:39:34
420阅读
内核在3.1版本加入了regmap模块,主要是给I2C,SPI总线的读写提供一个统一的接口,后来陆续添加了以下接口的支持: 1. 支持SPMI,MMIO 2.Spinlock和客制化lock机制 3.Cache支持 4.字节序转换 5.寄存器范围检查 6.IRQ支持 7.只读和只写寄存器 8.Precious寄存器和volatile寄存器 9.寄存器页 两个最重要的结构体struct regmap
转载
2024-10-13 13:16:50
382阅读
文章目录前言一、设备树及原理图及一些audio知识1.1 mtk audio 架构1.2 关于pcm声卡的一些知识1.3原理图二、platform分析2.1 route拓扑图2.2 mt8167-afe-pcm.c三、Codec3.1 简单分析mt8167_codec_regmap_config3.2 分析mt8167_codec_driver3.2.1 mt8167_codec_control