デバイスツリーのカーネル - - デバイスツリーに関連する文書の簡単な分析-iMX6開発ボードへの動き

支援機器のカーネルソースツリーでは、ツリーの機器は、プラットフォームのカーネルに古いバージョンのファイルを置き換えます。

    この文書では、いくつかの重要な文書のiMX6開発ボード(iMX6Q、iMX6D、iMX6PLUS)デバイスツリーに記述し、デバイスドライバのその後の分析では、これらの文書は、しばしば使用されています。

   分析デバイスのファイルツリー

    ここIMX6Qは分析するたとえば、iMX6D PLUSおよび分析方法は似ています。

    最初のスクリプトをコンパイル見える、示されるように、「build_android_kernel.sh」は以下のAndroidカーネルはスクリプトをコンパイルされ、「build_qt_kernel.sh」スクリプトはコンパイルされたカーネルは、Qtは、例えばコアのためのスクリプトをコンパイルするTであります

    「build_qt_kernel.sh」を開き、以下に示すように、デバイスがファイルツリーであることがわかります

    、 "Imx6q-topeet_10.1inch.dts"、 "imx6q-topeet_7inch.dts" と "imx6q-topeet_9.7inch.dts" "アーチ/腕/ブート/ DTS" ディレクトリの下に3。

    上記の図は、デバイス・ツリー・ビューの3つのファイル名、異なる画面解像度をサポートするように構成されるべきで、画面の一部に加えて、他の部分は同一でなければならないので、唯一の分析が存在することができる(実際このような場合には、関心が)自分自身で比較することができます。

    ここで例えば「imx6q-topeet_10.1inch.dts」に分析します。

    以下に示すように、「アーチ/腕/ブーツ/ DTS / imx6q-topeet_10.1inch.dts」を開き、次の呼び出しヘッダを見て、2つのヘッダファイル「imx6q.dtsi」と「imx6qdl-sabresd.dtsi」があります。このデバイスファイルツリーについて、そのほとんどは、すべてのグラフィックスについてでした。

    ここでは、図に示すように、次の図にうなずくファイル「imx6q-pinfunc.h」と「imx6qdl.dtsi」を参照して、「アーチ/腕/ブート/のDTS / imx6q.dtsi」を開いて、「imx6q.dtsi」と呼ば見えます。

    “imx6q-pinfunc.h”头文件,如果大家以前用过飞思卡尔的 arm 芯片,那么就会知道 这个是 IO 的宏定义头文件,这是很重要的一个文件,这个文件在后面会经常用到---

    “imx6q-pinfunc.h”在“arch/arm/boot/dts/imx6q-pinfunc.h”。

    另外像“dt-bindings”打头的设备树头文件,暂时不用过多关注。

    打开 “arch/arm/boot/dts/imx6qdl-sabresd.dtsi”文件,在其中可以搜到 “&iomuxc”,这个是飞思卡尔设备树文件中,给io初始化的地方。例如你要配置一个IO为输出,那么需要在这里初始化;另外一层意思就是,每一个IO都要初始化,一般我们默认 是在这个位置进行初始化。

    在这个文件下,我们可以找到常规的led,蜂鸣器和rs485的设备树注册,这表明设备树 注册都是在这个文件中,如果我们要新增加设备,需要在这里增加设备树代码,关于设备树代 码,我们后续再介绍。

   总结:

    这里分析出了以下几个重要的文件:

    1 关于屏幕(显卡)配置的设备树文件为以下几个文件(文件都在 arch/arm/boot/dts 目录下):

    mx6q-topeet_10.1inch.dts topeet_10.1inch.dts

    imx6q-topeet_7inch.dts topeet_7inch.dts

    imx6q-topeet_9.7inch.dts topeet_9.7inch.dts

    2 imx6的IO的宏定义在以下文件中:

    arch/arm/boot/dts/imx6q-pinfunc.h

    3 设备树对IO初始化和设备注册在以下文件中:

    arch/arm/boot/dts/imx6qdl-sabresd.dtsi

おすすめ

転載: www.cnblogs.com/mingyue77/p/11236217.html