mt7628網口引腳設置成通用GPIO的方法


openwrt版本:18.06.2

 

  為了將mt7628網口對應的引腳設置成通用GPIO模式,需要如下兩個步驟:

  1. 將EPHY_APGIO_AIO_EN寄存器中[20:17]對應的位設置為1

  2. 修改設備樹,將引腳復用功能改為gpio

  Mt7628有5個網口,p0~p5。p1~p4這4個網口對應的引腳都受到兩個寄存器的控制,比如,網口p3和p4的引腳受到EPHY_APGIO_AIO_EN[4:1]和SD_MODE兩個寄存器的控制。

  EPHY_APGIO_AIO_EN這個寄存器如下,地址為0x3c,寄存器位含義如下圖所示,[20:17]這4位對應p1~p4這4個網口引腳的模式,為1表示對應網口引腳為數字模式,為0表示對應網口引腳為模擬模式,默認情況下[20:17]位都為0,因此對應模擬模式,也就是只能當網口使用。要想將某個網口的引腳設置成通用GPIO,就需要將[20:17]對應的位設置為1。

 

  綜上所述,比如我們需要將GPIO29設置成通用的GPIO,

  首先,我們需要將GPIO29所在的網口p4網口的引腳設置為數字模式,即設置EPHY_APGIO_AIO_EN第20位設置為1,如下,寫一個內核模塊設置EPHY_APGIO_AIO_EN寄存器

u32 cfg;
cfg = __raw_readl(sysc + 0x3c);
cfg |= 0x08 << 17;
__raw_writel(cfg, sysc + 0x3c);

  然后,p4網口對應的引腳在mt7620.c文件中默認被設置為sdxc模式,因此需要在設備樹文件中將引腳所在分組(sdmode)設置成gpio模式

 


參考博客,如有侵權,請聯系刪除

  http://blog.chinaunix.net/uid-22547469-id-5091963.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM