高通QCM6125平台TZ释放后使用GPIO导致死机问题

问题的根本原因是TZ侧没有释放完整。

释放QUPV3_0_SE0从TZ到AP侧,QUPv3的固件也从SPI改成了UART 2线。

 

 

但是出现了一个很奇怪的问题,AP侧可以使用UART,但是一旦使用GPIO0和GPIO1,就会导致系统死机。这个问题在于QUPAC_Access.c只是控制了QUPv3总线的归属和固件加载,但TZ子系统也会使用部分外设总线。而高通没有专门说明不释放TZ子系统所占用的外设总线会导致什么样的结果。

不过,在高通文档:80-NR553-2 Rev. B里有介绍如何在TZ子系统配置外设。从这点思路出发,将spi_devcfg.c中所使用的SPI1注释掉后重新编译,刷入devcfg.mbn后问题消失。

 

 除了以上情况,如果在XBL中使用某个QUPv3空余的GPIO,那么该总线的TZ属性必须是fifo模式或者从tz中删除。

posted @   PYPYN  阅读(1899)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示