06 Feb, 2020

1 commit

  • This is needed when importing mainline DTs into U-Boot, as some started
    using this /omit-if-no-ref/ tag, so won't compile with U-Boot's current
    dtc copy. This is just a cherry-pick of the patch introducing this
    feature.
    Original commit message from Maxime:
    ------------------
    A number of platforms have a need to reduce the number of DT nodes,
    mostly because of two similar constraints: the size of the DT blob, and
    the time it takes to parse it.

    As the DT is used in more and more SoCs, and by more projects, some
    constraints start to appear in bootloaders running from SRAM with an
    order of magnitude of 10kB. A typical DT is in the same order of
    magnitude, so any effort to reduce the blob size is welcome in such an
    environment.

    Some platforms also want to reach very fast boot time, and the time it
    takes to parse a typical DT starts to be noticeable.

    Both of these issues can be mitigated by reducing the number of nodes in
    the DT. The biggest provider of nodes is usually the pin controller and
    its subnodes, usually one for each valid pin configuration in a given
    SoC.

    Obviously, a single, fixed, set of these nodes will be used by a given
    board, so we can introduce a node property that will tell the DT
    compiler to drop the nodes when they are not referenced in the tree, and
    as such wouldn't be useful in the targetted system.

    Signed-off-by: Maxime Ripard
    Reviewed-by: Rob Herring
    Signed-off-by: Andre Przywara
    Reviewed-by: Simon Glass

    Maxime Ripard
     

31 May, 2018

2 commits

  • This adds the following commits from upstream:

    aadd0b65c987 checks: centralize printing of property names in failure messages
    88960e398907 checks: centralize printing of node path in check_msg
    f1879e1a50eb Add limited read-only support for older (V2 and V3) device tree to libfdt.
    37dea76e9700 srcpos: drop special handling of tab
    65893da4aee0 libfdt: overlay: Add missing license
    962a45ca034d Avoid installing pylibfdt when dependencies are missing
    cd6ea1b2bea6 Makefile: Split INSTALL out into INSTALL_{PROGRAM,LIB,DATA,SCRIPT}
    51b3a16338df Makefile.tests: Add LIBDL make(1) variable for portability sake
    333d533a8f4d Attempt to auto-detect stat(1) being used if not given proper invocation
    e54388015af1 dtc: Bump version to v1.4.6
    a1fe86f380cb fdtoverlay: Switch from using alloca to malloc
    c8d5472de3ff tests: Improve compatibility with other platforms
    c81d389a10cc checks: add chosen node checks
    e671852042a7 checks: add aliases node checks
    d0c44ebe3f42 checks: check for #{size,address}-cells without child nodes
    18a3d84bb802 checks: add string list check for *-names properties
    8fe94fd6f19f checks: add string list check
    6c5730819604 checks: add a string check for 'label' property
    a384191eba09 checks: fix sound-dai phandle with arg property check
    b260c4f610c0 Fix ambiguous grammar for devicetree rule
    fe667e382bac tests: Add some basic tests for the pci_bridge checks
    7975f6422260 Fix widespread incorrect use of strneq(), replace with new strprefixeq()
    fca296445eab Add strstarts() helper function
    cc392f089007 tests: Check non-matching cases for fdt_node_check_compatible()
    bba26a5291c8 livetree: avoid assertion of orphan phandles with overlays
    c8f8194d76cc implement strnlen for systems that need it
    c8b38f65fdec libfdt: Remove leading underscores from identifiers
    3b62fdaebfe5 Remove leading underscores from identifiers
    2d45d1c5c65e Replace FDT_VERSION() with stringify()
    2e6fe5a107b5 Fix some errors in comments
    b0ae9e4b0ceb tests: Correct warning in sw_tree1.c

    Commit c8b38f65fdec upstream ("libfdt: Remove leading underscores from
    identifiers") changed the multiple inclusion define protection, so the
    kernel's libfdt_env.h needs the corresponding update.

    Signed-off-by: Rob Herring
    [ Linux commit: 9130ba884640328bb78aaa4840e5ddf06ccafb1c ]
    [erosca: - Fixup conflicts in include/linux/libfdt_env.h caused by v2018.03-rc4
    commit b08c8c487083 ("libfdt: move headers to
    and ")
    - Fix build errors in lib/libfdt/fdt_ro.c, tools/libfdt/fdt_rw.c by:
    - s/_fdt_mem_rsv/fdt_mem_rsv_/
    - s/_fdt_offset_ptr/fdt_offset_ptr_/
    - s/_fdt_check_node_offset/fdt_check_node_offset_/
    - s/_fdt_check_prop_offset/fdt_check_prop_offset_/
    - s/_fdt_find_add_string/fdt_find_add_string_/]
    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Simon Glass
    Reviewed-by: Masahiro Yamada

    Rob Herring
     
  • Pickup the fix for handling unresolved phandles in overlays.

    This adds the following commits from upstream:

    c1e55a5513e9 checks: fix handling of unresolved phandles for dts plugins
    f8872e29ce06 tests: Avoid 64-bit arithmetic in assembler
    48c91c08bcfa libfdt: add stringlist functions to linker script

    Signed-off-by: Rob Herring
    [ Linux commit: e45fe7f788dd1395befe5639149ad8dacfbd94ab ]
    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Simon Glass
    Reviewed-by: Masahiro Yamada

    Rob Herring
     

17 Nov, 2017

1 commit

  • This adds the following commits from upstream:

    b1a6003 tests: Add a test for overlays syntactic sugar
    737b2df overlay: Add syntactic sugar version of overlays
    497432f checks: Use proper format modifier for size_t
    22a65c5 dtc: Bump version to v1.4.5
    c575d80 Add fdtoverlay to .gitignore
    b6a6f94 fdtoverlay: Sanity check blob size
    8c1eb15 pylibfdt: Use Python2 explicitly
    ee3d26f checks: add interrupts property check
    c1e7738 checks: add gpio binding properties check
    b3bbac0 checks: add phandle with arg property checks

    [ sync with Linux commit: 4201d057ea91c3d6efd2db65219bc91fae413bc2 ]

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

24 Sep, 2017

3 commits

  • This adds the following commits from upstream:

    fe50bd1ecc1d fdtget: Split out cell list display into a new function
    62d812308d11 README: Add a note about test_tree1.dts
    5bed86aee9e8 pylibfdt: Add support for fdt_subnode_offset()
    46f31b65b3b3 pylibfdt: Add support for fdt_node_offset_by_phandle()
    a3ae43723687 pylibfdt: Add support for fdt_parent_offset()
    a198af80344c pylibfdt: Add support for fdt_get_phandle()
    b9eba92ea50f tests: Return a failure code when any tests fail
    155faf6cc209 pylibfdt: Use local pylibfdt module
    50e5cd07f325 pylibfdt: Add a test for use of uint32_t
    ab78860f09f5 pylibfdt: Add stdint include to fix uint32_t
    36f511fb1113 tests: Add stacked overlay tests on fdtoverlay
    1bb00655d3e5 fdt: Allow stacked overlays phandle references
    a33c2247ac8d Introduce fdt_setprop_placeholder() method
    0016f8c2aa32 dtc: change default phandles to ePAPR style instead of both
    e3b9a9588a35 tests: fdtoverlay unit test
    42409146f2db fdtoverlay: A tool that applies overlays
    aae22722fc8d manual: Document missing options
    13ce6e1c2fc4 dtc: fix sprintf() format string error, again
    d990b8013889 Makefile: Fix build on MSYS2 and Cygwin
    51f56dedf8ea Clean up shared library compile/link options
    21a2bc896e3d Suppress expected error message in fdtdump test
    2a42b14d0d03 dtc: check.c fix compile error
    a10cb3c818d3 Fix get_node_by_path string equality check
    548aea2c436a fdtdump: Discourage use of fdtdump
    c2258841a785 fdtdump: Fix over-zealous version check
    9067ee4be0e6 Fix a few whitespace and style nits
    e56f2b07be38 pylibfdt: Use setup.py to build the swig file
    896f1c133265 pylibfdt: Use Makefile constructs to implement NO_PYTHON
    90db6d9989ca pylibfdt: Allow setup.py to operate stand-alone
    e20d9658cd8f Add Coverity Scan support
    b04a2cf08862 pylibfdt: Fix code style in setup.py
    1c5170d3a466 pylibfdt: Rename libfdt.swig to libfdt.i
    580a9f6c2880 Add a libfdt function to write a property placeholder
    ab15256d8d02 pylibfdt: Use the call function to simplify the Makefile
    9f2e3a3a1f19 pylibfdt: Use the correct libfdt version in the module
    e91c652af215 pylibfdt: Enable installation of Python module
    8a892fd85d94 pylibfdt: Allow building to be disabled
    741cdff85d3e .travis.yml: Add builds with and without Python library prerequisites
    14c4171f4f9a pylibfdt: Use package_dir to set the package directory
    89a5062ab231 pylibfdt: Use environment to pass C flags and files
    4e0e0d049757 pylibfdt: Allow pkg-config to be supplied in the environment
    6afd7d9688f5 Correct typo: s/pylibgfdt/pylibfdt/
    756ffc4f52f6 Build pylibfdt as part of the normal build process
    8cb3896358e9 Adjust libfdt.h to work with swig
    b40aa8359aff Mention pylibfdt in the documentation
    12cfb740cc76 Add tests for pylibfdt
    50f250701631 Add an initial Python library for libfdt
    cdbb2b6c7a3a checks: Warn on node name unit-addresses with '0x' or leading 0s
    4c15d5da17cc checks: Add bus checks for simple-bus buses
    33c3985226d3 checks: Add bus checks for PCI buses

    Signed-off-by: Tom Rini

    Tom Rini
     
  • This adds the following commits from upstream:

    558cd81bdd43 dtc: Bump version to v1.4.4
    c17a811c62eb fdtput: Remove star from value_len documentation
    194d5caaefcb fdtget: Use @return to document the return value
    d922ecdd017b tests: Make realloc_fdt() really allocate *fdt
    921cc17fec29 libfdt: overlay: Check the value of the right variable
    9ffdf60bf463 dtc: Simplify asm_emit_string() implementation
    881012e44386 libfdt: Change names of sparse helper macros
    bad5b28049e5 Fix assorted sparse warnings
    672ac09ea04d Clean up gcc attributes
    49300f2ade6a dtc: Don't abuse struct fdt_reserve_entry

    Signed-off-by: Tom Rini

    Tom Rini
     
  • Using the update-dtc-source.sh script from Linux v4.14-rc1 import the
    portions of dtc that we require. We bring in update-dtc-source.sh and
    scripts/dtc/Makefile from Linux v4.14-rc1. Rework DTC_FLAGS handling to
    not require a test.

    Signed-off-by: Tom Rini

    Tom Rini