msm8916 dt选用规则
1、AndroidBoard.mk 選則kernel build 默認配置文件:msm8916_defconfig
/device/qcom/msm8916/AndroidBoard.mk
#----------------------------------------------------------------------
# Compile Linux Kernel
#----------------------------------------------------------------------
ifeq ($(KERNEL_DEFCONFIG),)
? ? KERNEL_DEFCONFIG := msm8916_defconfig
endif
2、msm8916_defconfig選則platform id :CONFIG_ARCH_MSM8916
kernel/arch/arm/configs/msm8916_defconfig
CONFIG_ARCH_MSM8916=y
3、Makefile選則編譯哪些dts文件:
kernel/arch/arm/boot/dts/qcom/makefile
dtb-$(CONFIG_ARCH_MSM8916) += msm8916-sim.dtb \
msm8916-rumi.dtb \
msm8916-cdp.dtb \
msm8916-cdp-smb1360.dtb \
msm8916-mtp.dtb \
msm8916-mtp-smb1360.dtb \
msm8916-qrd-skuh.dtb \
msm8936-sim.dtb \
msm8936-rumi.dtb
最后這些dtb會被編譯到輸出文件:dt.img
其中msm8916-mtp.dts,包含如下platform id 信息。
/ {
model = "Qualcomm MSM 8916 MTP";
compatible = "qcom,msm8916-mtp", "qcom,msm8916", "qcom,mtp";
qcom,board-id = <8 0>;
};
4、 dt.img 最后通過mkbootimg工具,和其它東西打包到boot.img :
$OUT_HOSTBIN_DIR/mkbootimg --kernel $OUT_DIR/kernel --ramdisk $OUT_DIR/ramdisk.img \
--cmdline "$BOARD_KERNEL_CMDLINE" --base $BOARD_KERNEL_BASE --pagesize $BOARD_KERNEL_PAGESIZE \
--ramdisk_offset $BOARD_RAMDISK_OFFSET --tags_offset $BOARD_KERNEL_TAGS_OFFSET --dt $OUT_DIR/dt.img \
--output $OUT_DIR/boot.img
5、 lk通過tag傳遞給kernel :
bootable/bootloader/lk/app/aboot/aboot.c?
相應代碼,請搜索宏:DEVICE_TREE
總結
以上是生活随笔為你收集整理的msm8916 dt选用规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高通 MSM8K bootloader
- 下一篇: SMEM介绍