惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
博客园_首页
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
腾讯CDC
罗磊的独立博客
IT之家
IT之家
I
InfoQ
V
V2EX
博客园 - 叶小钗
A
About on SuperTechFans
Y
Y Combinator Blog
C
Check Point Blog
量子位
Martin Fowler
Martin Fowler
Vercel News
Vercel News

博客园 - 蓝天上的云℡

简洁低消耗字节内存池设计 ARM崩溃堆栈报错寄存器分析定位 ARM NEON&Thumb加速指令集 事件编程之eventfd 事件驱动编程模式之EventLoop syslog日志查看器GUI图形界面,支持Windows/Linux/Macos开箱即用 ERRNO链条分析 ARM AMBA总线之AXI系 Linux Kernel Init Bootstrap 内核初始化启动 RK芯片平台GPIO控制 Linux USB子系统之Gadget设备端驱动 远程调试桥接-网络-ADB-GDB 斐讯N1盒子安装飞牛FNOS NAS 安卓以太网链路检测 安卓原生开发-Recovery使用minui绘制图形 蓝牙音频协议——安卓开发 RKxx系列的RK628摄像头配置影响HDMI出图 usb储存之BOT/UAS内核驱动 现代操作系统-音频处理技术1 Linux驱动底层 模块编译的pr_debug Linux内核/GKI内核主线更新-usb网卡名称变更引出的BUG 为Kernel代码生成VSCODE索引,快速跳转 安卓开机时间/性能优化 Linux/Golang/glibC系统调用 SGDMA与普通DMA Linux内核源码-存储驱动之 QSPI Flash golang数据转换技巧
Linux驱动适配I2C/SPI例子
蓝天上的云℡ · 2025-09-21 · via 博客园 - 蓝天上的云℡

栗子:
TI的PCM3060
/sound/soc/codecs/pcm3060-i2c.c
/sound/soc/codecs/pcm3060-spi.c

/sound/soc/codecs/pcm3060.c 主驱动
/sound/soc/codecs/pcm3060.h
导出一个probe符号给iic/spi probe时传入spi_client/i2c_client的->device

i2c/spi对寄存器的操作通过 regmap框架进行,即 xxx_client-> dev/priv->regmap

  • devm_regmap_init_xxx(client, regmap)
    • map->reg_read = _regmap_bus_read;
      • map->bus->read()
        • spi/iic read()

注意regmap可以设置缓存

regmap分析栗子 see: https://www.cnblogs.com/schips/p/linix_regmap.html

posted @ 2025-09-21 06:52  蓝天上的云℡  阅读(21)  评论(0)    收藏  举报