Linux 的 I2C、SPI、Regmap 子系统
I2C 子系统断言1. I2C 需要 “平台总线” 作为引子是因为它没有硬件枚举能力必须通过静态配置知道总线上有什么设备。USB/PCI 有硬件枚举所以不需要这个中间层除了控制器本身。整个链路的枚举和诞生过程是这样的Step 1: 平台总线阶段Platform BusSoC 芯片上的 I2C 控制器 IP比如 Rockchip 的 I2C 模块其寄存器地址、中断号等信息写在设备树DTS中。内核启动时解析 DTS将其转换成一个platform_device。芯片厂商编写的控制芯片驱动是一个platform_driver。两者在Platform Bus上匹配成功触发probe()函数。Step 2: I2C 总线阶段I2C Bus在platform_driver的probe()函数内部驱动分配并初始化了一个struct i2c_adapter。驱动调用i2c_add_adapter()。关键点来了I2C Core 在注册这个 adapter 时会将adapter-dev.bus挂载到内核自带的i2c_bus_typeI2C 总线上而不是平台总线上。总结platform_device守护的是控制器的内存映射寄存器和中断等硬件资源。i2c_adapter是在这个基础设施上抽象出来的、向外提供 I2C 传输能力的软件实体。它本身不通过平台总线枚举它是平台总线驱动probe成功后的产物随后被注册到 I2C 核心层中。 终极看清关系如果你去翻看内核源码或/sys/devices/目录你会发现它们呈现出完美的父子层级关系/sys/devices/platform/fe5a0000.i2c/ -- 这是一个 platform_device (来自设备树) └── i2c-0/ -- 这就是被注册的 i2c_adapter (它的 parent 是上面的 platform_device) ├── i2c-dev/i2c-0/ -- 暴露给用户空间的 /dev/i2c-0 节点 └── 0-0050/ -- 挂载在这个 I2C 总线上、地址为 0x50 的 i2c_client (外设如 EEPROM)platform_device是老子负责提供物理温床、寄存器和电源。i2c_adapter是儿子承上启下拿着老子给的资源开辟了一条 I2C 通道。i2c_client是孙子挂在儿子开辟的通道上的具体外设芯片。SPI 子系统[todo]Regmap 子系统[todo]

相关新闻

MATLAB App Designer R2024a 实战:3步将现有脚本封装为带界面应用

MATLAB App Designer R2024a 实战:3步将现有脚本封装为带界面应用

MATLAB App Designer R2024a 实战:3步将现有脚本封装为带界面应用每次看到自己精心编写的MATLAB脚本只能通过命令行运行,总觉得少了点什么。那些复杂的参数输入、需要反复修改的变量、以及只有自己才能看懂的运行流程,都在提醒我:…

2026/7/11 1:49:19 阅读更多 →
GBFR Logs终极指南:简单快速的碧蓝幻想Relink伤害统计工具

GBFR Logs终极指南:简单快速的碧蓝幻想Relink伤害统计工具

GBFR Logs终极指南:简单快速的碧蓝幻想Relink伤害统计工具 【免费下载链接】gbfr-logs GBFR Logs lets you track damage statistics with a nice overlay DPS meter for Granblue Fantasy: Relink. 项目地址: https://gitcode.com/gh_mirrors/gb/gbfr-logs …

2026/7/11 1:49:19 阅读更多 →
电气隔离技术与TLP241A光耦在工业系统中的应用

电气隔离技术与TLP241A光耦在工业系统中的应用

1. 为什么电气隔离对现代电子系统至关重要 在工业自动化、医疗设备和新能源系统中,电气隔离早已从"可有可无"变成了"生死攸关"的设计要素。去年我参与调试的一套光伏逆变器系统就遭遇过惨痛教训——由于控制板与功率板之间缺乏有效隔离&#xf…

2026/7/11 1:47:18 阅读更多 →

最新新闻

一文读懂光伏、储能,充电工作原理,是如何实现闭环的,其中微电网(ems)是什么;这个内容,就看懂了源网荷储。十五五规划里面最核心的能源管理内容

一文读懂光伏、储能,充电工作原理,是如何实现闭环的,其中微电网(ems)是什么;这个内容,就看懂了源网荷储。十五五规划里面最核心的能源管理内容

一、这套方案到底是做啥的? 一套三合一线上管理系统,专门管你手里的充电桩、太阳能板、储能大电池三件设备。 分三块功能:管充电做生意、自动省电少交电费、打包设备跟电网多赚一笔补贴。 所有软件、小程序所有权全是你自己的,云…

2026/7/11 2:37:33 阅读更多 →
2026年AI编程工具评测:索引机制与调试能力成核心分水岭

2026年AI编程工具评测:索引机制与调试能力成核心分水岭

1. 为什么2026年不能再只看“谁家模型参数大”——AI编程工具的本质已悄然迁移2026年,当“AI编程工具”这个词再次刷屏技术社区时,我注意到一个明显变化:讨论焦点正从“它用了多少B参数的模型”快速滑向“它能不能在我凌晨三点改完线上Bug后&…

2026/7/11 2:37:33 阅读更多 →
救命!2026年AI写作辅助软件排行榜,格式改到崩溃的应届生直接抄作业

救命!2026年AI写作辅助软件排行榜,格式改到崩溃的应届生直接抄作业

作为熬了 3 年论文、前后踩过十几款 AI 写作工具坑的老学长,今天直接给大家上硬货 ——2026 年 AI 写论文工具排行榜!结合《2025 论文写作工具白皮书》的用户实测数据,还有我从本科毕设到硕士小论文的全程使用体验,精选出 7 款真正…

2026/7/11 2:35:32 阅读更多 →
模电与数电接口设计:3种ADC/DAC关键电路与2个PCB布局要点

模电与数电接口设计:3种ADC/DAC关键电路与2个PCB布局要点

模电与数电接口设计:3种ADC/DAC关键电路与2个PCB布局要点 混合信号系统设计一直是硬件工程师面临的挑战之一。当模拟信号与数字信号在同一系统中共存时,如何确保信号完整性、降低噪声干扰成为设计成败的关键。本文将深入探讨模数转换(ADC)和数模转换(DAC…

2026/7/11 2:35:32 阅读更多 →
避开3大误区:网络安全毕设开题报告撰写与导师沟通实战策略

避开3大误区:网络安全毕设开题报告撰写与导师沟通实战策略

网络安全毕设开题避坑指南:从选题到导师沟通的实战策略每年毕业季,网络安全专业的学生们都会面临一个共同的挑战——如何顺利完成毕业设计开题。这个看似简单的环节,实则暗藏诸多陷阱。我曾亲眼目睹许多同学在开题阶段就栽了跟头,…

2026/7/11 2:35:32 阅读更多 →
Unity DOTS内存模型解析:NativeContainer生命周期管理与GC规避实战

Unity DOTS内存模型解析:NativeContainer生命周期管理与GC规避实战

1. 项目概述:为什么DOTS的内存模型如此重要?如果你在Unity里写过几年C#,大概率对GC(垃圾回收)带来的卡顿深恶痛绝。尤其是在移动平台或者需要稳定60FPS甚至更高帧率的游戏里,一个突如其来的GC峰值&#xff…

2026/7/11 2:31:32 阅读更多 →

日新闻

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:02:12 阅读更多 →
PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

1. 项目背景与核心需求 在工业控制、安防系统和智能家居等领域,可靠的声音警报系统是不可或缺的基础组件。传统蜂鸣器存在音量不足、音质模糊等问题,而基于压电陶瓷技术的EPT-14A4005P蜂鸣器配合PIC18F45K42微控制器,能够构建一套适应性强、音…

2026/7/11 0:04:12 阅读更多 →
大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm Attention 的 CUDA Kernel 手写与验证 一、GPU 利用率 30%:分开的算子吃掉所有带宽 推理服务的 GPU 利用率监测显示一个反直觉的现象:计算核心(SM)利用率不到 30%,但…

2026/7/11 0:04:12 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/10 19:03:29 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻