高通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中删除。

如果本文对你有帮助,请不要吝啬你的赞。转载请注明出处!PYPYN.COM