Kernel 和设备树
Kernel defconfig
在 yocto 环境下执行
devtool menuconfig linux-mthreads
MTT E300 SoC 相关配置路径:
- Platform selection > MTT E300 SoC Family
- Device Drivers > SOC (System On Chip) specific Drivers > Moore Threads 64-bit ARM SoCs drivers > Moore Threads MTT E300 SoC & MTT E300 PWM support
- 其他驱动配置由相关章节描述;
建立 defconfig 文件
-
进入 arch/arm64/configs 目录,输入:
cp aimodule_defconfig boardx_defconfig -
修改 yocto meta 文件(meta/meta-m1000/recipes-kernel/linux/linux- mthreads_6.6.bbappend)以关联 kernel 和 boardx_defconfig,如图所示:
设备树
以下列出相关设备树文件(设备树源文件格式为 .dts,设备树包含文件格式为 .dtsi)
$ls arch/arm64/boot/dts/m1000/
m1000-main.dtsi m1000-aimodule.dts m1000-aimodule.dtsi
m1000-isp.dtsi m1000-videv.dtsi m1000-pmu.dtsi
m1000-smmu.dtsi
步骤 1:建立设备树文件
- 进入 arch/arm64/boot/dts/m1000/目录,输入:
cp m1000-aimodule.dts boardx.dtscp m1000-aimodule.dtsi boardx.dtsi
- 修改 Makefile 文件增加:
dtb-$(CONFIG_ARCH_M1000_SOC) += boardx.dtb
步骤 2:配置设备树
MTT E300 的设备树文件分为 .dtsi(设备树包含文件)和 .dts(设备树源文件)两种。.dts 文件中 include 了 .dtsi 文件。其中主要的配置在 m1000-main.dtsi/m1000-aimodule.dts 文件中,管脚相关的配置在 m1000-aimodule.dtsi 等其他文件中。用户自己的设备树文件(如上一节中的 boardx.dts 文件)中应包含这两个文件,如下图所示:
一般情况下,用户无需修改 m1000-main.dtsi/m1000-aimodule.dtsi。如果确实需要修改其中的某个配置项,不建议直接修改该文件,而是在 m1000- aimodule.dts 文件中重新定义这个配置项。
步骤 3:编译设备树 dtb
-
修改 yocto meta 文件(meta/meta-m1000/conf/machine/aimodule.conf)以关联 kernel 和 boardx.dtb,如图所示:
-
执行编译 kernel 命令即可同时生成 boardx.dtb

