newifi mini將led指示燈引出當gpio使用


之前買了個newifi mini的路由器,CPU是mt7620a的,有7個led指示燈。現在想要把控制led燈的gpio引出來,方便其他驅動或應用的開發。

一、硬件部分

1、聯想路由

clip_image002

現在想要把USB、5G、LAN、INTERNET這四個指示燈引出,原本是打算把WAN指示燈也引出來的,但是WAN指示燈沒有被當作普通的gpio使用,所以沒辦法引出(引出了也沒法當作gpio使用)。

2、將路由器拆開,去掉這四個led燈,以及對應的電容(如果不去掉,會影響i2c通訊),並將四個led燈對應的測試點連接杜邦線引出,認真觀察電路板可以看出。另外也多引出一條電源線,也就是led燈的正極。

clip_image004

二、軟件部分

1、進入/target/linux/ramips/dts/Y1.dts,修改如下

/dts-v1/;

/include/ "Y1.dtsi"

/ {
    compatible = "lenovo,Y1", "ralink,mt7620a-soc";
    model = "Lenovo Y1";

    ethernet@10100000 {
        pinctrl-names = "default";
        pinctrl-0 = <&ephy_pins>;
        mtd-mac-address = <&factory 0x4>;
        ralink,port-map = "llllw";
    };
    
    gpio-leds {
        compatible = "gpio-leds";
        power1 {
            label = "lenovo:blue:power";
            gpios = <&gpio0 9 1>;
        };
        wlan1 {
            label = "lenovo:blue:wifi";
            gpios = <&gpio3 0 1>;
        };
    };
};

2、編譯,重新燒寫固件。

三、測試

1、四個led燈對應的gpio如下:

USB:gpio52

5G:gpio50

LAN:gpio55

INTERNET:gpio51

2、依次輸入如下

root@OpenWrt:/sys/class/gpio# echo 50 > export
root@OpenWrt:/sys/class/gpio# echo 51 > export 
root@OpenWrt:/sys/class/gpio# echo 52 > export 
root@OpenWrt:/sys/class/gpio# echo 55 > export

3、將引出來的四個gpio外接led燈,依次輸入如下,並觀察哪盞led燈亮起:

root@OpenWrt:/sys/class/gpio# echo out >gpio50/direction 
root@OpenWrt:/sys/class/gpio# echo out >gpio51/direction 
root@OpenWrt:/sys/class/gpio# echo out >gpio52/direction 
root@OpenWrt:/sys/class/gpio# echo out >gpio55/direction

就可以知道哪個引線對應哪個gpio。


免責聲明!

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



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