• Nishanth Menon's avatar
    Makefile: Add ability to build dtb · 03b397a8
    Nishanth Menon authored
    This is a revamp of the original approach in:
    https://github.com/ARM-software/arm-trusted-firmware/pull/747
    
    
    
    Current build system has no means to automatically generate dtbs from
    dts, instead, stores the dtbs in the fdts/ folder. While this makes
    perfect sense for many reference platforms, this becomes a minor
    breakage in development flow for newer platforms.
    
    However, this can be solved by providing a rule for the dtbs while
    building the ATF binaries by purely describing which dts sources we
    need.
    
    For example, with this change, we will now be able to describe the
    dtbs we need for the platform in the corresponding platform.mk file:
    FDT_SOURCES += fdts/abc.dts
    
    This should be able to generate the abc.dtb appropriately.
    
    Since device trees are specification of hardware, we don't tie the rule
    to any specific BL, instead a generic rule is introduced.
    
    Further, this approach allows us to generate appropriate dtbs which may be
    need to be regenerated when a common dtsi gets updated, by just
    restricting changes to the dtsi alone, instead of synchronizing all the
    dtbs as well.
    
    If dtc is not available in default paths, but is available in an
    alternate location, it can be chosen by overriding the DTC variable
    such as 'make DTC=~/dtc/dtc ....`
    
    NOTE: dtbs are built only with the explicit make dtbs command. The rule
    is only available if the platform defines a FDT_SOURCES variable.
    Signed-off-by: default avatarBenjamin Fair <b-fair@ti.com>
    Signed-off-by: default avatarNishanth Menon <nm@ti.com>
    03b397a8
build_macros.mk 12.9 KB