当前位置: 首页 > news >正文

高通平台TE GPIO选择和配置说明

在Qualcomm平台进行Display Panel Bringup时,TE(Tearing Effect)引脚的选择需要同时满足Linux/Android 阶段、XBL 阶段以及Panel XM 配置要求。若TE GPIO选择不符合平台限制,可能导致显示同步异常、帧同步失败或屏幕刷新异常等问题。
1. Linux/Android 阶段 TE GPIO 配置要求
根据 Qualcomm 文档中关于TE配置的说明,TE对应的GPIO需要支持类似以下类型的function:

mdp_vsync_p_mria
mdp_vsync_p_mrib
mdp_vsync_s_mria
其他平台支持的 mdp_vsync_* function

也就是说,所选择的 GPIO 必须具备 MDP VSYNC 相关复用功能,不能随意选择普通 GPIO 作为 TE 引脚。
同时,文档中也明确说明:当在 .dtsi 文件中修改 TE 对应的 GPIO 时,驱动中还需要同步配置 MDP 相关寄存器,否则仅修改设备树可能无法使新的 TE GPIO 生效。
示例配置如下:

/* * To select GPIO pin [X], configure qcom,platform-te-gpio * in vendor/qcom/proprietary/display-devicetree/display/ * parrot-sde-display-pinctrl.dtsi */ qcom,platform-te-gpio = <&tlmm X 0>; pmx_sde_te { sde_te_active: sde_te_active { mux { pins = "gpioX"; function = "mdp_vsync_p"; }; config { pins = "gpioX"; drive-strength = <2>; bias-pull-down; }; }; sde_te_suspend: sde_te_suspend { mux { pins = "gpioX"; function = "mdp_vsync_p"; }; config { pins = "gpioX"; drive-strength = <2>; bias-pull-down; }; }; };

其中,gpioX 需要替换为实际使用的 GPIO 编号,function 需要根据平台支持情况选择对应的 mdp_vsync_* 功能。
2. XBL 阶段 TE GPIO 配置要求
根据 Qualcomm 文档,每个芯片平台可用的 TLMM TE GPIO 会在如下路径中定义:

boot_images/QcomPkg/SocPkg/<ChipsetName>/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.c

在该文件中,平台会通过 TE GPIO function table 定义当前芯片支持的 TE GPIO 范围:

/* Display TE gpio function table */ MDPPlatformTeGpioFunctionType gMDPTeGpioTable[MDP_TE_GPIO_MAX] = { ... };

主显示器和副显示器的 TE GPIO 引脚必须位于该表定义的有效范围内,才能确保 XBL 阶段和后续显示驱动阶段功能正常。
Qualcomm 平台中,主显示器和副显示器通常会提供默认 GPIO 配置,例如:

MDPPlatformPanelGpioType sDefaultMDPPanelGpio = { 24, // uDispResetGpio MDP_TE_GPIO_82, // eDispTeGpio 26, // eDispModeGpio }; /* Secondary panel GPIO setting */ MDPPlatformPanelGpioType sSecondaryPanelGPIO = { 25, // uDispResetGpio MDP_TE_GPIO_83, // eDispTeGpio 0, // eDispModeGpio };

如果 OEM 项目需要使用不同的 TE GPIO,需要修改对应结构体中的 eDispTeGpio 成员,并确保所选择的 GPIO 已在 gMDPTeGpioTable 中定义。
3. Panel XML 中的 DSI TE VSYNC 映射配置
除 XBL 阶段的 GPIO 配置外,还需要在 Panel XML 配置文件中通过 DSITEvSyncSelect 属性,将 TLMM GPIO 映射到 Adreno DPU 的 mdp_vsync 信号。
相关配置可参考 Qualcomm 文档,如下:

配置格式如下:

<DSITEvSyncSelect>x</DSITEvSyncSelect>

DSITEvSyncSelect 的取值含义如下:

<!--
0: mdp_vsync_p
1: mdp_vsync_s
2: mdp_vsync_e
-->

例如,若需要将 MDP_TE_GPIO_84,即 mdp_vsync_e,配置为主显示器 TE 来源,则 XBL 中可配置如下:

MDPPlatformPanelGpioType sDefaultMDPPanelGpio = { 24, // uDispResetGpio MDP_TE_GPIO_84, // eDispTeGpio 26, // eDispModeGpio };

同时,Panel XML 中需要配置:

<DSITEvSyncSelect>2</DSITEvSyncSelect>

将 mdp_vsync_e 映射到主显示器的 mdp_vsync 信号。

http://www.cnnetsun.cn/news/2951406.html

相关文章:

  • 智慧树刷课插件终极指南:3分钟实现视频自动连播与倍速播放
  • 2026 年国内主流堡垒机厂商核心竞争力分析
  • 第1.3章:StarRocks部署--单机快速验证指南
  • FinFET源漏外延工艺:从原理到实战,揭秘芯片性能提升的核心技术
  • AI NAS大战一触即发,ibbot青春版凭PopLang引擎降维打击
  • NarratoAI终极教程:3步打造专业级AI视频解说,免费开源让创作更简单
  • MidScene:用自然语言开启全平台AI自动化新纪元
  • 2026年试了7款录音转文字工具,准确率稳定性性价比真实体验
  • 制动信号人工采集效率低,LabVIEW定制调试
  • 【毕业设计】基于 JavaWeb 的游戏知识库(战舰世界)管理系统设计与研发(源码+文档+远程调试,全bao定制等)
  • 无需纯化,直接在天然环境中玩转分子互作
  • 5步构建企业级Windows日志监控平台:从零部署到智能告警
  • Freescale e500虚拟化技术栈:KVM/QEMU实现与vcpu规范深度解析
  • SDN 基本应用实践 —— 使用命令行实现简易防火墙功能实验报告
  • 《某宝》扫码登录爬虫实战:从模拟登录到数据采集的完整指南
  • Umi-OCR终极指南:免费开源的离线文字识别神器,三步实现高效批量处理
  • CF1842G Tenzing and Random Operations题解
  • NFC技术赋能户外装备数字化转型:从产品连接到生态构建
  • 从汇编到C:嵌入式开发转型实战与CodeWarrior工具链应用
  • 【共创季稿事节】鸿蒙原生ArkTS布局方式之Flex+flexShrink弹性压缩布局
  • 半导体MES系统架构设计与核心模块解析——从零到生产级的完整指南
  • PostgreSQL 技术日报 (6月16日)|Neon 自动化再进一步,逻辑复制冲突日志迎来 v50 更新
  • 一场正在发生的范式转变:Loop Engineering(循环工程)
  • 嵌入式Linux IEEE 1588与PME硬件驱动配置与性能调优实战
  • Claude语义压缩层移除:从可控压缩到原始输入的架构迁移
  • 告别焦虑!非技术背景转行AI产品,你只需懂这个就够了!
  • uView-Plus 3.0:如何用Vue 3跨端UI框架解决多平台开发痛点
  • Hermes Agent + 通义千问3.6本地智能体部署全指南
  • JMeter常数吞吐量定时器五大模式详解与实战选型指南
  • Java毕设选题推荐:基于 SpringBoot 的日常查勤登记与核验系统设计与研究 高校学生查勤信息化管理系统的设计与研究【附源码、mysql、文档、调试+代码讲解+全bao等】