zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    R-时空可视化
    zz温故知新:Tomcat调优&JVM内存性能调优
    《CarbonData》
    《RocketMQ》
    《LinuxTools》
    《为什么说 Prometheus 是足以取代 Zabbix 的监控神器?》
    《Zabbix》
    zz《百度地图商业选址》
    《Dapper》
    BZOJ 1601: [Usaco2008 Oct]灌水 最小生成树_超级源点
  • 原文地址:https://www.cnblogs.com/liang123/p/6325256.html
Copyright © 2011-2022 走看看