GPIO 測試驅動¶
注意
此模組已被更靈活的 Configfs GPIO 模擬器 所取代。新開發應使用該 API,並鼓勵現有開發儘快遷移。此模組將繼續維護,但不會新增新功能。
GPIO 測試驅動 (gpio-mockup) 提供了一種建立模擬 GPIO 晶片以用於測試目的的方法。這些晶片暴露的線路可以透過標準 GPIO 字元裝置介面訪問,也可以透過專用的 debugfs 目錄結構進行操作。
使用模組引數建立模擬晶片¶
載入 gpio-mockup 驅動時,可以向模組傳遞一些引數。
gpio_mockup_ranges
該引數接受一個由整數對組成的陣列。每對定義了基準 GPIO 號(非負整數)和該晶片的最後一個 GPIO 號之後的第一個數字。如果基準 GPIO 為 -1,gpiolib 將自動分配。而後面的引數是晶片暴露的線路數量。
示例:gpio_mockup_ranges=-1,8,-1,16,405,409
上述命令列建立了三個晶片。第一個將暴露 8 條線路,第二個 16 條,第三個 4 條。第三個晶片的基準 GPIO 設定為 405,而前兩個晶片將自動分配。
gpio_mockup_named_lines
該引數不接受任何引數。它讓驅動知道其暴露的 GPIO 線路應該被命名。
名稱格式為:gpio-mockup-X-Y,其中 X 是模擬晶片的 ID,Y 是線路偏移量。
操作模擬線路¶
每個模擬晶片都會在 /sys/kernel/debug/gpio-mockup/ 中建立自己的子目錄。該目錄以晶片的標籤命名。還會建立一個以晶片名稱命名的符號連結,指向標籤目錄。
在每個子目錄中,每條 GPIO 線路都有一個獨立的屬性。屬性的名稱表示線路在晶片中的偏移量。
讀取線路屬性會返回當前值。寫入它(0 或 1)會改變模擬上拉/下拉電阻的配置(1 - 上拉,0 - 下拉)。