<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iTom1900]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/itom1900</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; itom1900]]></copyright><item><title><![CDATA[（一）TVM概述]]></title><link>https://blog.csdn.net/itom1900/article/details/158919299</link><guid>https://blog.csdn.net/itom1900/article/details/158919299</guid><author>itom1900</author><pubDate>Wed, 11 Mar 2026 09:56:34 +0800</pubDate><description><![CDATA[Apache TVM是一个，代码库比较大，主要由组成。它的代码目录基本按照组织。下面我按逐个解释用途，并说明它们在 TVM 编译流程中的位置。]]></description><category></category></item><item><title><![CDATA[TLV320AIC3204 CODEC裸机驱动]]></title><link>https://blog.csdn.net/itom1900/article/details/155014174</link><guid>https://blog.csdn.net/itom1900/article/details/155014174</guid><author>itom1900</author><pubDate>Wed, 19 Nov 2025 09:54:35 +0800</pubDate><description><![CDATA[录音到PSRAM数组，然后memory窗口导出二进制PCM数据到AUDACITY。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（十二）- mtk_battery.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151793216</link><guid>https://blog.csdn.net/itom1900/article/details/151793216</guid><author>itom1900</author><pubDate>Wed, 17 Sep 2025 14:06:36 +0800</pubDate><description><![CDATA[两个代码文件（"mtk_battery.h" 和 "mtk_battery.c"）的详细分析。这些文件是MediaTek（MTK）电池管理系统的一部分，用于管理Android/Linux内核中的电池相关功能，包括电池状态监控、充电控制、温度管理、关机条件判断等。以下列出主要函数（按文件分组）。我优先列出mtk_battery.c中的实现函数，以及mtk_battery.h中的关键声明函数。函数参数和返回值基于代码推断。总体上，这两个文件构成了MTK电池驱动的核心，支持电池计量、充电控制和系统关机保护。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（十二）- mtk_pd_adapter.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151786421</link><guid>https://blog.csdn.net/itom1900/article/details/151786421</guid><author>itom1900</author><pubDate>Wed, 17 Sep 2025 10:38:55 +0800</pubDate><description><![CDATA[流程图聚焦于核心函数调用，从模块初始化（mtk_pd_adapter_init）开始，覆盖探针、事件处理和适配器操作接口（adapter_ops）。由于代码复杂，流程图进行了简化，突出主要逻辑路径，忽略次要条件分支和内核框架调用（如 power_supply_set_property 的底层实现）。总体上，这是一个模块化的PD适配器驱动，与USB Type-C/PD硬件集成，支持快充协议，并与其他MTK充电模块（如mtk_charger）协作。以下列出主要函数（从代码中提取），按类别分组。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（十一）- mtk_charger.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151782729</link><guid>https://blog.csdn.net/itom1900/article/details/151782729</guid><author>itom1900</author><pubDate>Wed, 17 Sep 2025 09:31:53 +0800</pubDate><description><![CDATA[提供充电器设备接口（struct charger_device）。函数调用：charger_dev_set_mivr, charger_dev_enable_powerpath, charger_dev_is_powerpath_enabled, get_charger_by_name, charger_dev_enable_6pin_battery_charging。支持主/从充电器（primary_chg, secondary_chg）和分压充电器（dvchg1, dvchg2）。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（十）- mtk_pulse_charger.c、mtk_basic_charger.c和mtk_charger_algorithm_class.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151759091</link><guid>https://blog.csdn.net/itom1900/article/details/151759091</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 17:07:25 +0800</pubDate><description><![CDATA[Pulse 充电并不是替代 switch/linear，而是叠加在它们之上的快充协议。Pulse 决定 “怎么跟 adapter 说话、拿到高电压”Switch / Linear 决定 “怎么把高电压转成电池能吃的电压电流”👉 所以你可以理解成：Pulse 充电 ≠ Switch/Linear，而是包含了对 Adapter 协议层的扩展，最终仍然落在 switch 或 linear charger 上实现。特性核心元件MOSFET（线性管）、运放MOSFET（高边+低边）、电感、电容。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（九）- mtk_basic_charger.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151758937</link><guid>https://blog.csdn.net/itom1900/article/details/151758937</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 16:09:31 +0800</pubDate><description><![CDATA[这个文件实现了 MediaTek 平台的通用充电算法，支持多种充电场景，包括 USB 充电、Type-C/PD 快充、多充电器配置（如串联/并联）和高级功能如 JEITA 温度保护、AICL（自动输入电流限制）和动态 MIVR（最小输入电压调节）。它通过动态选择快充算法（如 PE5、PE5P、HVBP）来优化充电，支持事件通知和算法仲裁。文件强调灵活性和兼容性，适用于复杂硬件架构，与 mtk_pulse_charger.c 相比，更注重快充和多充电器支持。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（八）- mtk_pulse_charger.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151758754</link><guid>https://blog.csdn.net/itom1900/article/details/151758754</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 16:05:04 +0800</pubDate><description><![CDATA[这个文件实现了 MediaTek 平台的脉冲充电（pulse charging）算法，基于线性充电逻辑，适用于简单的充电场景。文件定义了充电状态机（enum pcharger_state_enum：CHR_CC、CHR_TOPOFF、CHR_BATFULL、CHR_ERROR），并处理充电参数调整、JEITA温度保护和错误恢复。文件强调简单性和特定充电策略，与mtk_basic_charger.c相比，缺少快充支持和多充电器配置，专注于脉冲充电的线性实现。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（七）- mtk_charger_algorithm_class.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151758468</link><guid>https://blog.csdn.net/itom1900/article/details/151758468</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 15:52:58 +0800</pubDate><description><![CDATA[这个文件是 MediaTek 充电框架的核心部分，实现了充电算法的设备类（charger_algorithm_class）管理。它提供了一个抽象层，用于注册、管理和操作各种充电算法（如快充协议、线性充电等）。文件基于 Linux 内核的设备模型，使用 struct chg_alg_device 表示充电算法设备，并通过 struct chg_alg_ops 定义操作接口。下面按文件出现的顺序和逻辑分组，逐一说明函数的主要作用。以下是基于文本的调用关系图，使用缩进和箭头表示调用层次。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（六）- adapter_class.c和charger_class.c的区别和联系]]></title><link>https://blog.csdn.net/itom1900/article/details/151757464</link><guid>https://blog.csdn.net/itom1900/article/details/151757464</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 15:18:47 +0800</pubDate><description><![CDATA[目标对象：充电芯片（charger IC），通常是 PMIC 内部的 switching charger 或外置的充电管理芯片。作用：抽象了对电池充电流程相关的接口，比如：设置充电电流、电压（ / ）获取 ADC 信息（, , ）控制安全功能（, , ）控制充电模式（direct charging, OTG, HZ, etc.）这些接口基本都直接对应 charger IC 寄存器功能。class 名字：（见 ）。典型注册方：,  等 charger driver 会 ，然后被上层算法调用。目标对象：外部电源]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（五）- adapter_class.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151756355</link><guid>https://blog.csdn.net/itom1900/article/details/151756355</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 14:40:26 +0800</pubDate><description><![CDATA[这些是钩子，外部驱动在注册时提供实现。suspend/resume：挂起/恢复设备。get_property/get_status/get_output/get_cap：获取各种信息。set_cap/authentication/is_cc/set_wdt/enable_wdt/sync_volt/send_hardreset：设置或执行操作。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（四） - charger_class.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151755123</link><guid>https://blog.csdn.net/itom1900/article/details/151755123</guid><author>itom1900</author><pubDate>Tue, 16 Sep 2025 13:56:44 +0800</pubDate><description><![CDATA[它提供了一个抽象层，允许底层硬件驱动（如 mt6375-charger.c）注册 charger_device 对象，并通过 ops（操作函数指针）暴露标准化接口。函数按出现顺序列出，忽略了导出宏（EXPORT_SYMBOL）和重复的包装函数模式（所有 charger_dev_xxx 函数都是对 ops 中对应回调的包装，如果 ops 不存在，返回 -EOPNOTSUPP）。箭头（→）表示“调用”关系，虚线（-->）表示“可选/条件调用”（如 ops 不存在时不调用）。它们是导出函数，供高层使用。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（三） - power_supply_hwmon.c power_supply_sysfs.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151723030</link><guid>https://blog.csdn.net/itom1900/article/details/151723030</guid><author>itom1900</author><pubDate>Mon, 15 Sep 2025 17:58:33 +0800</pubDate><description><![CDATA[这两个文件都是Linux内核电源供应类（Power Supply Class）的辅助实现文件，位于电源供应框架中。它们分别处理硬件监控（hwmon）和sysfs接口的集成。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（二） - power_supply_core.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151722144</link><guid>https://blog.csdn.net/itom1900/article/details/151722144</guid><author>itom1900</author><pubDate>Mon, 15 Sep 2025 17:19:08 +0800</pubDate><description><![CDATA[的核心作用可以概括为：提供统一的电源管理框架；管理电源设备注册、属性访问、事件通知；封装sysfs 接口和 uevent 通知，屏蔽硬件细节；驱动开发者只需要实现，不关心底层通知和接口细节。简单来说，它是电源子系统的“大脑和中枢”，具体的电池/充电器只是“信息源”。]]></description><category></category></item><item><title><![CDATA[MTK Linux Charger驱动分析（一） - 概述]]></title><link>https://blog.csdn.net/itom1900/article/details/151721282</link><guid>https://blog.csdn.net/itom1900/article/details/151721282</guid><author>itom1900</author><pubDate>Mon, 15 Sep 2025 16:42:03 +0800</pubDate><description><![CDATA[MTK charger 驱动分成三层框架层（power_supply/charger_class） → MTK charger 层（mtk_charger + 算法插件） → PMIC 层（mt6360/mt6375等）你要先读框架，再读 MTK 层逻辑，最后去看具体 PMIC。区分 switch/linear charger 的关键代码在PMIC 层驱动。]]></description><category></category></item><item><title><![CDATA[MTK Linux DRM分析（三十八）- MTK mtk_fenc.c mtk_sync.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151189436</link><guid>https://blog.csdn.net/itom1900/article/details/151189436</guid><author>itom1900</author><pubDate>Thu, 04 Sep 2025 17:07:24 +0800</pubDate><description><![CDATA[驱动用途： mtk_fence 驱动是 MediaTek 显示子系统的一部分，负责管理显示缓冲区的同步和释放。它通过 Linux 的 fence 机制（sync_timeline 和 sync_file）协调 GPU 渲染和显示硬件的操作，支持多会话、多层显示场景（如主屏幕、外部显示器、内存显示等）。该驱动与 MediaTek DRM 框架紧密集成，处理缓冲区的分配、同步、呈现和释放，同时提供调试和性能跟踪功能。主要函数概览初始化缓冲区管理fence 释放时间线管理缓存管理功能。]]></description><category></category></item><item><title><![CDATA[MTK Linux DRM分析（三十七）- MTK phy-mtk-hdmi.c 和 phy-mtk-hdmi-mt8173.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151184549</link><guid>https://blog.csdn.net/itom1900/article/details/151184549</guid><author>itom1900</author><pubDate>Thu, 04 Sep 2025 14:07:53 +0800</pubDate><description><![CDATA[HDMI PHY驱动HDMI 的物理层接口主要就是HDMI Type-A 接口（19 pin），除此之外还有 Type-B、Type-C（Mini HDMI）、Type-D（Micro HDMI）、Type-E（车载专用）。是一个通用的 HDMI PHY 驱动框架，负责平台驱动注册、设备树解析、PHY 电源管理和时钟初始化。它通过 struct mtk_hdmi_phy_conf 支持不同型号的 HDMI PHY。]]></description><category></category></item><item><title><![CDATA[MTK Linux DRM分析（三十六）- MTK mtk_cec.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151176240</link><guid>https://blog.csdn.net/itom1900/article/details/151176240</guid><author>itom1900</author><pubDate>Thu, 04 Sep 2025 10:46:42 +0800</pubDate><description><![CDATA[这个驱动代码来自 MediaTek 的 HDMI CEC (Consumer Electronics Control) 相关模块，主要针对 MT8173 芯片平台实现。CEC 是 HDMI 标准的一部分，用于允许连接的设备（如电视、音箱、播放器）通过 HDMI 线缆进行相互控制，例如一键开机、音量调节等。这个驱动不是一个完整的 CEC 协议栈实现，而是专注于 HDMI 的热插拔检测 (Hot Plug Detect, HPD) 和中断处理，似乎是作为 HDMI 子系统的辅助模块，提供连接状态变化的通知功能。]]></description><category></category></item><item><title><![CDATA[MTK Linux DRM分析（三十五）- MTK mtk_hdmi_ddc.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151175364</link><guid>https://blog.csdn.net/itom1900/article/details/151175364</guid><author>itom1900</author><pubDate>Thu, 04 Sep 2025 10:01:38 +0800</pubDate><description><![CDATA[HDMI 接口的功能引脚分类HDMI（High Definition Multimedia Interface）是一个基于 TMDS（Transition Minimized Differential Signaling）的数字音视频接口。标准Type A HDMI 接口一共有19 根引脚TMDS 差分对（传输视频和音频数据）3 组数据通道：TMDS Data2±, TMDS Data1±, TMDS Data0±1 组时钟通道：TMDS Clock±DDC 通道。]]></description><category></category></item><item><title><![CDATA[MTK Linux DRM分析（三十四）- MTK mtk_hdmi.c]]></title><link>https://blog.csdn.net/itom1900/article/details/151173849</link><guid>https://blog.csdn.net/itom1900/article/details/151173849</guid><author>itom1900</author><pubDate>Thu, 04 Sep 2025 09:30:36 +0800</pubDate><description><![CDATA[整体结构: 这个驱动是 MediaTek MT8173 HDMI 的 DRM 桥接器实现，支持视频/音频输出、热插拔检测、EDID 读取、音频编解码等。核心是桥接器回调函数，用于 DRM 管道集成。关键组件: 寄存器操作（底层硬件控制）、音频配置（I2S/SPDIF）、DRM 桥接器/连接器、CEC HPD 处理、PHY/时钟管理。依赖: DRM 框架、PHY 子系统、CEC、I2C、设备树。]]></description><category></category></item></channel></rss>