重要結構步驟:
在裝置樹中新增資訊
在驅動中呼叫系統提供的相關的函式
可參考官方文件
注意:pinctrl子系統不僅僅只是包括gpio,引入pinctrl最大的好處是標準化pin初始化。
2 使用pinctrl完成初始化的步驟
a:pinctrl裝置樹檔案中,新增描述
b:裝置樹中新增引用
c:驅動中使用:
三步:獲取乙個pinctrl控制代碼,獲取其中乙個狀態,選取其中乙個狀態設定
3 裝置樹中新增引用**
&leds_test_node ;
4 驅動**分析和測試
#include ***_probe(struct platform_device *pdev)
gpio子系統和裝置樹pinctrl子系統:gpio在裝置樹中的寫法、驅動中gpio的呼叫、管腳裝置樹配置等等
ps:裝置樹的引入是為了節省**,平台檔案中,對應pin的管理是很糟糕的,在裝置樹中新增了pinctrl子系統;pinctrl和原來的gpio子系統同時存在,大家先有這個概念。
linux的gpio系統官方文件:
documentation/devicetree/bindings/gpio/gpio.txt
三星的gpio系統官方文件:
documentation/devicetree/bindings/gpio/gpio-samsung.txt
1.2 pinctrl文件
linux的pinctrl系統官方文件:
documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
三星的pinctrl系統官方文件:
documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
原始碼檔案:
dt-bindings/pinctrl/samsung.h
arch/arm/boot/dts/exynos4412-pinctrl.dtsi
linux驅動之裝置樹
裝置樹語法及內部構成 裝置樹實戰 裝置樹其實是乙個檔案,這個檔案包含很多的節點,這些節點是專用來描述裝置的資訊,包括cpu的資訊,gpio的資訊等。資訊裡面包括很多的屬性。屬性中包括各種值 value,這些 value 是傳遞給核心使用的。核心可以解析出這些檔案資訊,然後給程式設計師使用。dtb c...
linux字元裝置驅動開發之裝置樹 2
裝置樹描述了裝置的詳細資訊 比如reg 暫存器位址 編寫驅動的目的在於獲取這些資訊.linux提供了一些of函式讀取這些資訊,include linux of.h.查詢節點相關函式 裝置節點 struct device node 通過節點名查詢指定的節點 from 節點,若為null,則從根節點查起...
裝置樹學習之(十)spi flash
開發板 tiny4412sdk s702 4gb flash 要移植的核心版本 linux 4.4.0 支援device tree u boot版本 友善之臂自帶的 u boot 2010.12 busybox版本 busybox 1.25 目標 驅動外接的8m的 spi flash,註冊為塊裝置。...