編寫mipsel mt7620 Led驅動(一)


1.看原理圖中知芯片上66引腳控制一個LED

 

2.在Datasheet中找出GPIO pin

image

3.在ProgrammingGuid  System Contrl中找到GPIO控制寄存器地址:

image

 

4.控制GPIO的寄存器偏移地址是image,起始地址是image,但這個起始地址是物理地址,因此還要確定相應的虛擬地址(這個可以根據mips手冊或者內核源代碼去查到),本屌絲在內核源代碼中查找到虛擬地址為:0xb0000000;(注下圖為內核源代碼rt_mmap.h中定義)

image

 

 

5.從分析

image中知道此寄存器地址的每一位控制着不同的pin腳的GPIO模式,那么本屌絲又去查看datasheet知:GPIO#68(即68引腳)對應GPIO控制寄存器的“RGMII2_GPIO_MODE”,如下圖:

image

,因此查看”21. GPIOMODE: GPIO Purpose Select (offset: 0x0060)“知道該寄存器地址的第10位控制着”RGMII2_GPIO_MODE”,如下圖:

image

從那么有以上1~5這五能夠確定: 怎樣設置pin:68 GPIO模式.

 

6.那么怎么把數據輸送到pin68引腳呢?查看“ProgrammingGuid 中的PROGRAMMABLE I/O” image

  image知pin68對應的寄存器基地址Register Descriptions (base: 0x1000_0600)對應虛擬地址為 #define RALINK_PIO_BASE         0xB0000600,偏移地址0x70

查看image此寄存器地址對應的各位知:共32位每一位分別對應40~71引腳,那么68引腳對應(68-40)即28

image

image

7.分析知還需要設置68引腳的方向:image

image

 

8.通過以上1~7卻定了:(1)怎么設置pin68引腳為GPIO MODE; (2)控制pin68的數據輸入輸出方向;(3)從哪個地址位輸入數據到pin68


免責聲明!

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



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