1. 程式人生 > >裝置樹(二)linux核心頂層am335x-evm.dts

裝置樹(二)linux核心頂層am335x-evm.dts

瞭解基本的dts知識之後,就可以為編寫自己的dts檔案了。Forlinx的OK335xD核心板和底板包含的資源有NANDFLASH、SDRAM、MMC、LCD、UART、USB、ETHERNET等等,因此dts檔案必須要提供對它們正確的描述。

第一步,複製相近硬體的dts檔案:
am335x-bone.dts -> maria_am335x.dts
am335x-bone-common.dtsi -> maria_am335x-common.dtsi

相比較於從頭重新編寫所有內容,在相近硬體的基礎上修改會簡單得多。am335x-bone開發板使用了TPS65217作為PMIC晶片,因此在它的基礎上進行修改。


第二步,修改第一個檔案maria_am335x.dts的內容:
#include "am335x-bone-common.dtsi" 改為
#include "maria_am335x-common.dtsi"

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
無需修改的程式碼:

&ldo3_reg {
        regulator-min-microvolt = <1800000>;

        regulator-max-microvolt = <3300000>;
        regulator-always-on;
};

&sham {
        status = "okay";
};

&aes {
        status = "okay";
};

&ldo3_reg是tps65217其中的一個輸出。此描述表示tps65217的LDO3輸出電平範圍為1.8V~3.3V,並一直開啟。

&sham 表示 SHA crypto Module!
&aes 表示 AES crypto Module!
(****找了半天也不知道這倆個東東到底是神馬~?記憶體對映裡面它們的地址也是reserved!)

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

總結:
maria_am335x.dts的內容非常少,因為大部分的描述並沒有放置在這裡,而是在更底層;
如果在這個檔案里加入從未有過的描述,則描述會被新增;
如果在這個文建立加入底層已有的描述,則描述會覆蓋底層;
這樣的策略保證了底層的通用程式碼基本不需要修改,all you have to do,就是更改和你的板子相關的兩個檔案xx.dts和xx-common.dts!