AM/DM37xx MPU GPIO_120~GPIO_129 extended-drain GPIOs無法作為標準的GPIO使用,是什麼原因?,dm37xxgpio
請參考: https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/537/p/103699/1482774#1482774
Omap系列的處理器,標準GPIO都是1.8V的電壓,由於SD/TF卡這一塊的電壓非常特殊,有1.8V,也有3.0V,兩種標準,所以TI做了相容設計,GPIO120~GPIO129這幾個引腳可以工作在1.8V模式,也可以工作在3.0V模式,TI是如何?的呢?那就是PBIAS技術,多數OEM在使用這幾個引腳的時候,遇到不能作為標準GPIO使用的問題,無論怎樣配置,這幾個引腳一直是低電平狀態。
相應針對PBIAS0和PBIAS1模組控制的寄存器配置時序如下,從上到下,不能錯,在TF卡驅動初始化時做(工作在3.0V電壓):
CONTROL_WKUP_CTRL: GPIO_IO_PWRDNZ=0
CONTROL_PBIAS_LITE:PBIASLITEPWRDNZ0=0,PBIASLITEPWRDNZ1=0
Sleep(100)
CONTROL_PBIAS_LITE:PBIASLITEVMODE0=1,PBIASLITEPWRDNZ0=1,PBIASLITEVMODE1=1,PBIASLITEPWRDNZ1=1
CONTROL_WKUP_CTRL: GPIO_IO_PWRDNZ=1
CONTROL_DEVCONF1: 1<<24 //why?
注意事項:
不要把PBIAS配置工作在1.8V,而外部給vdds_x和vdds_mmc1引腳提供的電壓是3.0V,這樣會損壞器件,關於這一塊的注意事項,請參考AM/DM37x TRM Version R P.2538頁的介紹。
2、參考設計原理圖上為什麼vdds_x和vdds_mmc1要同時串連到一個LDO電源引腳上?
關於這一塊的設計說明,以下串連MMC interface部分會有詳細介紹:
http://processors.wiki.ti.com/index.php/AM37x/DM37x_Schematic_Checklist?keyMatch=vdds_x&tisearch=Search-EN-Everything