裝置樹之pinctrl(itop4412平台)

2021-10-01 12:03:51 字數 1049 閱讀 9944

重要結構步驟:

在裝置樹中新增資訊

在驅動中呼叫系統提供的相關的函式

可參考官方文件

注意: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,註冊為塊裝置。...