Linux
硬件分层架构设计哲学
2025年10月16日 在 Linux
2 分钟阅读
Why为何有此文 现代SoC中几乎所有高速和复杂外设接口,都遵循着一套通用的分层设计架构。这并非巧合,而是一种核心的设计哲学,旨在分离关注点 (Separation of Concerns),将复杂的软硬件交互问题分解为更小、更易于管理的部分。 这个哲学是SOC上外设接口常见的设计范式,在配置dts(设备树)的工作时,有这个范式在脑海中,对调试的迷茫感会减轻不少。 本文将首先阐述这一通用的三层架构模型,然后以USB接口为例,详细解析数据从外部设备到CPU的完整通路,最后探讨该模型的普适性与相关专 …
DTS(设备树)调试心得
2025年10月16日 在 Linux
少于1分钟
调试外部设备的dts的思路是这样的: 1. 逻辑节点 有一个逻辑节点,表示开发者可以控制的那个逻辑设备(例如usb)的全部(一般逻辑节点也在被写在板级或产品级的dtsi里面); 2. 控制器节点 逻辑节点里会有一个控制器节点(如何判断一个节点是不是控制器几点,可以参考如何从代码中判断出控制器controller节点是哪一个 3. phy节点 控制器节点里会有phy节点,而如果是usb3.0的话,会有两个phy,一个提供usb2.0,一个提供usb3.0的模式支持。 这是因为usb协议是向前兼容 …
Rockchip显示子系统关键概念解析
2025年08月18日 在 Linux
Categories:
少于1分钟
DTS中"帧率"的计算公式 一个模式mode的帧率原来并不是直接以一个字段的形式写到timing里的,而是靠时钟去计算 计算公式如下: $$ \begin{aligned} \text{Htotal} &= (\text{hsync\_len} + \text{hfront\_porch} + \text{hback\_porch} + \text{hactive}) \\ \text{Vtotal} &= (\text{vsync\_len} + …
LCDs(lvds) on RK3568 Bring-Up 数据流研究
2025年08月18日 在 Linux
Categories:
少于1分钟
背景知识 参考:How-to: 显示接口调试标准工作流程 (SOP) 参考:Rockchip显示子系统关键概念解析 举例: 以lvds为例 数据流-(硬件的视角) 好了,这一步就是要确定硬件是怎么接的,我们直接梳理整个数据流的图形 1. 数据从内存->vop 不论是从外设进来的,还是emmc上的, 都要搬进内存.所以数据流的起点是内存. 这里从内存给到vop里配置的那个具体的vp.在dts里配置vop的代码如下: &lvds_in_vp2 { status = …
How-to: 显示接口调试标准工作流程 (SOP)
2025年08月18日 在 Linux
Categories:
少于1分钟
How-to: 显示接口调试标准工作流程 (SOP) 阶段一:准备与信息收集 (Preparation & Info Gathering) 目标: 在写任何代码或DTS之前,确保你拥有所有必需的“图纸”和“说明书”。 获取硬件原理图 (Schematic): 这是你的依据。你需要知道: 显示接口(MIPI/LVDS)连接到了主控SoC的哪个物理接口?(DSI0 还是 DSI1?) 相关的控制引脚(RESET, POWER_ENABLE, BACKLIGHT_PWM)连接到了哪个GPIO …
How-to: RK3568下强制HDMI的配置
2025年08月18日 在 Linux
Categories:
4 分钟阅读
How-to:hdmi keep connected no matter what 原理图: 检测: 不是用gpio控制的 不管是设置hpd-state还是force_hpd;都是不起作用 display-timings 也不行 接下来就得考虑改变cmdline了…这是唯一可用的方式 解决办法(成功) 打开kernel/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c 修改函数dw_hdmi_phy_read_hpd 修改为如下: enum …
GMAC Bring-Up Debug Strategies
2025年07月25日 在 Linux
少于1分钟
最重要的就是这三个部分,缺一不可 a. 电源 电路图 说明 电源得先有,而且正常 “正常"的定义在手册里 第一类: AVDDL和DVDDL 要求1.2V左右 R209和R210的电压要求是1.2V左右 第二类: DVDD33和VDD33和AVDD33 要求3.3V左右 第三类: [特殊][小心]DVDD_RGMII Digital RGMII I/O, MDC/MDIO power, adjusted by CFG_LDO[1:0]. Note: When …
GMAC Bring Up Work Flow
2025年07月25日 在 Linux
少于1分钟
1. 从原理图判断是哪一个GMAC 从sdk提供的默认dts里就能够发现, gmac有两个, gmac0和gmac1. 1.1 此刻去找硬件工程师给的原理图,搜索一下gmac, 看看他用的是gmac1还是gmac0 具体如何确定,还得看原理图里使用的引脚, 跟dts里的哪一个gmac node的配置比较相似. 具体文件是在kernel/arch/arm64/boot/dts/rockchip/rk3568-pinctrl.dtsi. 在制作bsp(上一流程)的时候,就有分层了,这份dtsi属于最 …