Skip to content
Snippets Groups Projects
  • Sumit Garg's avatar
    4be3fe9d
    Makefile: Add support for DT bindings schema checks · 4be3fe9d
    Sumit Garg authored and Tom Rini's avatar Tom Rini committed
    
    This adds the build infrastructure for checking DT binding schema
    documents and validating dtb files using the binding schema. Here we use
    devicetree-rebasing subtree to provide the DT bindings. Along with that
    adapt dts/upstream/Bindings/Makefile to align with old U-Boot Kbuild
    infrastructure.
    
    Dependency:
    -----------
    
    The DT schema project must be installed in order to validate the DT schema
    binding documents and validate DTS files using the DT schema. The DT schema
    project can be installed with pip::
    
        pip3 install dtschema
    
    Note that 'dtschema' installation requires 'swig' and Python development
    files installed first. On Debian/Ubuntu systems::
    
        apt install swig python3-dev
    
    Testing:
    --------
    
    Build dts files and check using DT binding schema:
    $ make dtbs_check
    
    Optionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to
    use for validation. This makes it easier to find and fix errors
    generated by a specific schema.
    
    Note, at this point dtbs_check is an optional build target as there are
    many warnings generated due to custom DT properties used by many
    platforms in u-boot. It is expected with these checks that compliance
    with DT bindings to take place. Once that's done it can be added to CI
    builds to remain compliant with DT bindings.
    
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarSumit Garg <sumit.garg@linaro.org>
    4be3fe9d
    History
    Makefile: Add support for DT bindings schema checks
    Sumit Garg authored and Tom Rini's avatar Tom Rini committed
    
    This adds the build infrastructure for checking DT binding schema
    documents and validating dtb files using the binding schema. Here we use
    devicetree-rebasing subtree to provide the DT bindings. Along with that
    adapt dts/upstream/Bindings/Makefile to align with old U-Boot Kbuild
    infrastructure.
    
    Dependency:
    -----------
    
    The DT schema project must be installed in order to validate the DT schema
    binding documents and validate DTS files using the DT schema. The DT schema
    project can be installed with pip::
    
        pip3 install dtschema
    
    Note that 'dtschema' installation requires 'swig' and Python development
    files installed first. On Debian/Ubuntu systems::
    
        apt install swig python3-dev
    
    Testing:
    --------
    
    Build dts files and check using DT binding schema:
    $ make dtbs_check
    
    Optionally, DT_SCHEMA_FILES can be passed in with a schema file(s) to
    use for validation. This makes it easier to find and fix errors
    generated by a specific schema.
    
    Note, at this point dtbs_check is an optional build target as there are
    many warnings generated due to custom DT properties used by many
    platforms in u-boot. It is expected with these checks that compliance
    with DT bindings to take place. Once that's done it can be added to CI
    builds to remain compliant with DT bindings.
    
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Tested-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    Signed-off-by: default avatarSumit Garg <sumit.garg@linaro.org>