summaryrefslogtreecommitdiffstats
path: root/scripts/dtc
Commit message (Collapse)AuthorAgeFilesLines
* scripts/dtc: Update to upstream version v1.5.1Ahmad Fatoum2019-10-0231-923/+435
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following commits from upstream dtc: 60e0db3d65a1 Ignore phandle properties in /aliases 95ce19c14064 README: update for Python 3 5345db19f615 livetree: simplify condition in get_node_by_path b8d6eca78210 libfdt: Allow #size-cells of 0 184f51099471 Makefile: Add EXTRA_CFLAGS variable 812b1956a076 libfdt: Tweak data handling to satisfy Coverity 5c715a44776a fdtoverlay: Ignore symbols in overlays which don't apply to the target tree b99353474850 fdtoverlay: Allow adding labels to __overlay__ nodes in overlays d6de81b81b68 pylibfdt: Add support for fdt_get_alias() 1c17714dbb3a pylibfdt: Correct the FdtSw example ad57e4574a37 tests: Add a failed test case for 'fdtoverlay' with long target path bbe3b36f542b fdtoverlay: Rework output allocation 6c2e61f08396 fdtoverlay: Improve error messages 297f5abb362e fdtoverlay: Check for truncated overlay blobs 702c1b6c0e73 README.license: Update to reflect SPDX tag usage 4097bbffcf1d dtc: Add GPLv2 SPDX tags to files missing license text 94f87cd5b7c5 libfdt: Add dual GPL/BSD SPDX tags to files missing license text c4ffc05574b1 tests: Replace license boilerplate with SPDX tags a5ac29baacd2 pylibfdt: Replace dual GPLv2/BSD license boilerplate with SPDX tags 7fb0f4db2eb7 libfdt: Replace GPL/BSD boilerplate/reference with SPDX tags acfe84f2c47e dtc: Replace GPLv2 boilerplate/reference with SPDX tags 87963ee20693 livetree: add missing type markers in generated overlay properties 825146d13dc0 Fix typos in various documentation and source files 25bb080c18d1 Update the GPL2 text to the latest revision 243176c4ce84 Fix bogus error on rebuild ce01b21098a4 libfdt: Add FDT_CREATE_FLAG_NO_NAME_DEDUP flag that trades size for speed fbb62754ce45 libfdt: Introduce fdt_create_with_flags() 228a44cce857 libfdt: Ensure fdt_add_property frees allocated name string on failure 8f695676227b Avoid assertion in check_interrupts_property() 5c3513f68921 Link tools and tests against libfdt shared library 00f9febf9c16 tests: Rename tests.sh to testutils.sh c5d45188f923 Clean up LDLIBS handling 6ef8fcd05b74 Rebuild libfdt shared object if versioning linker script changes 26ee65a16c38 Use Python3 by default cca6546244cb libfdt: Make fdt_get_max_phandle() an inline 730875016a6a libfdt: Add phandle generation helper 7dfb61ba96b1 libfdt: Use fdt_find_max_phandle() 2bc5b66d7f6c libfdt: Add new maximum phandle lookup function 7fcf8208b8a9 libfdt: add fdt_append_addrrange() ae795b2db7a4 checks: Do not omit nodes with labels if symbol generation is requested eac2ad495b29 Update version.lds again f67b47135523 Revert "libfdt: Add phandle generation helper" 54ea41c22415 libfdt: Add phandle generation helper 4762ad051ee0 checks: Fix spelling in check_graph_endpoint Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: mention dtc project in update-dtc-source.sh commit messageAhmad Fatoum2019-09-251-1/+1
| | | | | | | | | | | | update-dtc-source.sh generates the commit message after it runs to completion. The word upstream is often used to refer to the Linux kernel within barebox, so change the wording to refer explicitly to dtc upstream. Cc: Roland Hieber <r.hieber@pengutronix.de> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Acked-by: Roland Hieber <rhi@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: git rm old files as part of update processAhmad Fatoum2019-09-251-0/+3
| | | | | | | | | | To avoid keeping stale files in the scripts/dtc directory, care had to be taken to delete all files except for the ones native to barebox. Make this less error-prone by having careupdate-dtc-source.sh delete these files as part of the update process. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: reinstate building of fdtget along with dtcAhmad Fatoum2019-09-252-1/+390
| | | | | | | | | | | | | | Unlike Linux, barebox has a build-time dependency on the fdtget utility. For this reason, we can't import the kernel dtc Makefile by mere copying. Reinstate the fdtget-specific bits that got lost in the last dtc update. This fixes barebox imd generation which has caused following error message in master: gen-dtb-s: line 37: scripts/dtc/fdtget: No such file or directory Fixes: 4e731e48d4 ("scripts/dtc: Update to upstream version v1.5.0") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Reinstate barebox-specifics in update-dtc-source.shAhmad Fatoum2019-09-251-6/+5
| | | | | | | | | | The barebox update-dtc-source.sh differs from the Linux one in that it installs fdtget as well, because it's required for barebox IMD to work. Readd fdtget.c to DTC_SOURCE and while at it reinstate the old comments. Fixes: 46bdae84e8 ("dtc: Update update-dtc-source.sh from Linux") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Update to upstream version v1.5.0Sascha Hauer2019-08-1933-569/+926
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following commits from upstream: d37f6b2 Bump version to v1.5.0 a4b1a30 pylibfdt:tests: Extend the way how to find a Python module 625dd8a pylibfdt: Change how passing tests are recognized 3646316 pylibfdt: Test fdt.setprop take bytes on Python 3, add error handling cb0f454 pylibfdt: check_err accepts only integer as a first argument. 4b68c6b pylibfdt: Proper handling of bytes/unicode strings and octal literals 78e113e Use PRIxPTR for printing uintptr_t values ea7a8f6 libfdt: Fix FDT_ERR_NOTFOUND typos in documentation 5aafd7c libfdt: Fix fdt_getprop_by_offset() parameter name in documentation 7cbc550 checks: Add unit address check if node is enabled f267e67 checks: Fix crash with multiple source annotations 3616b9a checks: Use source position information for check failures 2bdbd07 checks: Make each message output atomic a1eff70 util: Add xa{v}sprintf_append functions 82a52ce libfdt: Add a test for fdt_getprop_by_offset() 607b858 PEP8 / Flake8 cleanups for setup.py f9c0a42 Remove broken objdir / srcdir support 5182b5e pylibfdt: Use common PREFIX variable d45bf1f Refine make tests_clean target 99284c4 Refine pylibfdt_clean target a4629cf Refine libfdt_clean target 08380fc tests: Use modern octal literals for Python 8113c00 pylibfdt: Allow switch to Python 3 via environment variable PYTHON 11738cf libfdt: Don't use memcpy to handle unaligned reads on ARM 86a288a checks: Restructure check_msg to decrease indentation 5667e7e annotations: add the annotation functionality 8e20ccf annotations: add positions ca930e2 tests: Don't lose errors from make checkm 43366bb tests: Property count valgrind errors in wrapped tests 5062516 srcpos: Remove srcpos_empty a3143fa Revert "annotations: add positions" 403cc79 checks: Update SPI bus check for 'spi-slave' baa1d2c annotations: add positions ff2ad38 Merge remote-tracking branch 'origin/pr/18' aa7254d libfdt: return correct value if #size-cells property is not present 49903ae use ptrdiff_t modifier for printing pointer differences da2b691 treesource: Fix dts output for phandles in middle of a sequence of ints 8f8b77a tests: Wrap check_align() calls with base_run_test() 522d81d Fix dts output with a REF_PATH marker e45198c Added test cases for target references 0fcffda Merge nodes with local target label references 1e4a092 pylibfdt: Don't have setup.py depend on where it's invoked from ca399b1 pylibfdt: Eliminate run_setup make function 98972f1 pylibfdt: Improved version extraction 7ba2be6 pylibfdt: Don't silence setup.py when V=1 7691f9d pylibfdt: Make SETUP make variable 855b996 pylibfdt: Simpler CFLAGS handling 47cafbe pylibfdt: Link extension module with libfdt rather than rebuilding dd695d6 pylibfdt: Correctly set build output directory 5932752 pylibfdt: We don't need include files from the base directory e84742a checks: fix simple-bus compatible matching 8c59a97 Fix missing labels when emitting dts format d448f9a Revert dts output formatting changes of spaces around brackets c86da84 Add support for YAML encoded output 361b5e7 Make type_marker_length helper public bfbfab0 pylibfdt: Add a means to add and delete notes 9005f41 pylibfdt: Allow delprop() to return errors b94c056 Make valgrind optional fd06c54 tests: Better testing of dtc -I fs mode c3f50c9 tests: Allow dtbs_equal_unordered to ignore mem reserves 0ac9fde dtc: trivial '-I fs -O dts' test 0fd1c8c pylibfdt: fdt_get_mem_rsv returns 2 uint64_t values 04853ca pylibfdt: Don't incorrectly / unnecessarily override uint64_t typemap 9619c86 Kill bogus TYPE_BLOB marker type ac68ff9 parser: add TYPE_STRING marker to path references 90a190e checks: add SPI bus checks 53a1bd5 checks: add I2C bus checks Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* dtc: Update update-dtc-source.sh from LinuxSascha Hauer2019-08-191-12/+13
| | | | | | This updates update-dtc-source.sh from Linux-5.3-rc4. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Update to upstream version v1.4.7Ahmad Fatoum2019-02-2026-5476/+1702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit was generated by running ./scripts/dtc/update-dtc-source.sh from the otherwise empty directory. Besides updating to the most recent dtc release (so that /omit-if-no-ref/ becomes available), it reinstates the dtc-lexer.l and dtc-parser.y files which were erroneously deleted in place of their pregenerated _shipped.c versions. Also removed are fdtputc.c and fdtdump.c, which aren't built or used anywhere. This adds the following commits from upstream: 88f18909db73 dtc: Bump version to v1.4.7 85bce8b2f06d tests: Correction to vg_prepare_blob() 57f7f9e7bc7c tests: Don't call memcmp() with NULL arguments c12b2b0c20eb libfdt: fdt_address_cells() and fdt_size_cells() 3fe0eeda0b7f livetree: Set phandle properties type to uint32 853649acceba pylibfdt: Support the sequential-write interface 9b0e4fe26093 tests: Improve fdt_resize() tests 1087504bb3e8 libfdt: Add necessary header padding in fdt_create() c72fa777e613 libfdt: Copy the struct region in fdt_resize() 32b9c6130762 Preserve datatype markers when emitting dts format 6dcb8ba408ec libfdt: Add helpers for accessing unaligned words 42607f21d43e tests: Fix incorrect check name 'prop_name_chars' 9d78c33bf8a1 tests: fix grep for checks error messages b770f3d1c13f pylibfdt: Support setting the name of a node 2f0d07e678e0 pylibfdt: Add functions to set and get properties as strings 354d3dc55939 pylibfdt: Update the bytearray size with pack() 3c374d46acce pylibfdt: Allow reading integer values from properties 49d32ce40bb4 pylibfdt: Use an unsigned type for fdt32_t 481246a0c13a pylibfdt: Avoid accessing the internal _fdt member in tests 9aafa33d99ed pylibfdt: Add functions to update properties 5a598671fdbf pylibfdt: Support device-tree creation/expansion 483e170625e1 pylibfdt: Add support for reading the memory reserve map 29bb05aa4200 pylibfdt: Add support for the rest of the header functions 582a7159a5d0 pylibfdt: Add support for fdt_next_node() f0f8c9169819 pylibfdt: Reorder functions to match libfdt.h 64a69d123935 pylibfdt: Return string instead of bytearray from getprop() 4d09a83420df fdtput: Add documentation e617cbe1bd67 fdtget: Add documentation 180a93924014 Use <inttypes.h> format specifiers in a bunch of places we should b9af3b396576 scripts/dtc: Fixed format mismatch in fprintf 4b8fcc3d015c libfdt: Add fdt_check_full() function c14223fb2292 tests: Use valgrind client requests for better checking 5b67d2b955a3 tests: Better handling of valgrind errors saving blobs e2556aaeb506 tests: Remove unused #define fb9c6abddaa8 Use size_t for blob lengths in utilfdt_read* 0112fda03bf6 libfdt: Add fdt_header_size() 6473a21d8bfe Consolidate utilfdt_read_len() variants d5db5382c5e5 libfdt: Safer access to memory reservations 719d582e98ec libfdt: Propagate name errors in fdt_getprop_by_offset() 70166d62a27f libfdt: Safer access to strings section eb890c0f77dc libfdt: Make fdt_check_header() more thorough 899d6fad93f3 libfdt: Improve sequential write state checking 04b5b4062ccd libfdt: Clean up header checking functions 44d3efedc816 Preserve datatype information when parsing dts f0be81bd8de0 Make Property a subclass of bytearray 24b1f3f064d4 pylibfdt: Add a method to access the device tree directly 84e414b0b5bc tests: Add a test case for the omit-if-no-ref keyword 4038fd90056e dtc: add ability to make nodes conditional on them being referenced e1f139ea4900 checks: drop warning for missing PCI bridge bus-range f4eba68d89ee checks: Print duplicate node name instead of parent name 46df1fb1b211 .travis.yml: Run valgrind checks via Travis 14a3002a1aee tests: Update valgrind suppressions for sw_tree1 02c5fe9debc0 tests: Remove valgrind error from tests/get_path df536831d02c checks: add graph binding checks 2347c96edcbe checks: add a check for duplicate unit-addresses of child nodes 8f1b35f88395 Correct overlay syntactic sugar for generating target-path fragments afbddcd418fb Suppress warnings on overlay fragments 119e27300359 Improve tests for dtc overlay generation 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 Fixes: 273dbe5f87 ("kbuild: generate lexer and parser during build instead of shipping") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: fix update-dtc-source.sh for barebox useAhmad Fatoum2019-02-201-12/+11
| | | | | | | | | | | | | | | Unlike Linux: - barebox' scripts/gen-dtb-s has a dependency on fdget, thus change the script to copy fdget.c as part of the update. - has the libfdt source files in the same directory as the rest - we don't have/need Makefile.libfdt Adjust the update-dtc-source.sh script to account for this, so it can be used to update the scripts/dtc directory. To do so, run the script while its directory is otherwise empty. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kbuild: generate lexer and parser during build instead of shippingMasahiro Yamada2019-01-032-844/+0
| | | | | | | | | | | | | | | | | | | | | | | | Recent kernel versions run flex and bison to generate lexers and parsers from real source files such as *.l and *.y . This provides better maintainability than version-controlling pre-generated C files with a "_shipped" suffix. This commit imports flex and bison rules from Linux, and deletes pre-generated parsers and lexers. Refer to the following commits in Linux: - 033dba2ec06c ("kbuild: prepare to remove C files pre-generated by flex and bison") - 29c833061c1d ("kconfig: generate lexer and parser during build instead of shipping") - e039139be8c2 ("scripts/dtc: generate lexer and parser during build instead of shipping") Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level MakefileMasahiro Yamada2019-01-031-3/+0
| | | | | | | | | | | | | | | Linux commit 9a8dfb394c046742b2ac7444ba42272e11e9989d Files suffixed by .lex.c, .tab.[ch] are generated lexers, parsers, respectively. Clean them up globally from the top Makefile. Some of the final host programs those lexer/parser are linked into are necessary for building external modules, but the intermediates are unneeded. They can be cleaned away by 'make clean' instead of 'make mrproper'. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignoreMasahiro Yamada2019-01-031-3/+0
| | | | | | | | | | Linux commit 598893002745690e57692ca5bf6fb9ff04604a1b These patterns are common to host programs that require lexer and parser. Move them to the top .gitignore. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: add fdtget to .gitignorePeter Mamonov2018-08-141-0/+1
| | | | | Signed-off-by: Peter Mamonov <pmamonov@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Reenable fdtgetSascha Hauer2018-08-092-51/+73
| | | | | | | | | | | | | | | compilation of fdtget was lost during the update to version 1.4.6. We need this tool internally for the build process when imd support is enabled. Apparently our dtc code comes from the Kernel which doesn't have the upstream version of fdtget.c and it doesn't compile. This patch changes fdtget.c to the upstream version as of 1.4.6. This isn't noticed in the Kernel because fdtget isn't compiled there. Fixes: 8a8982541 scripts/dtc: Update to upstream version 1.4.6 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Update to upstream version 1.4.6Pascal Vizeli2018-06-0736-1728/+4578
| | | | | Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: Update to upstream version 1.4.1Jan Luebbe2015-03-0532-2036/+2598
| | | | | Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts/dtc: import update-dtc-source.sh from kernel v4.0-rc1Jan Luebbe2015-03-053-28/+61
| | | | | | | | | | The original script was written by Grant Likely <grant.likely@linaro.org>. The version for barebox also imports some libfdt sources, so that we are able to compile the fdtget host tool. Also remove the unused non-kconfig makefiles. Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* dtc: compile fdtgetSascha Hauer2014-08-0713-2/+17
| | | | | | | | | | | | We need fdtget in subsequent patches, so compile it. Unfortunately this is not straight forward. fdtget needs libfdt, but the Kernel Build System is not prepared for compiling libraries for the host or binaries from files in multiple directories. This patch moves the libfdt files to the dtc toplevel directory and compiles fdtget as a binary from multiple source files but from the same directory. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* dtc: remove autogenerated modules.orderSascha Hauer2013-04-111-0/+0
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* dtc: add .gitignore for generated filesLucas Stach2013-04-031-0/+4
| | | | | Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* scripts: Add dtcSascha Hauer2013-03-1236-0/+14449
This adds the devicetree compiler to barebox. This is taken without changes from Linux v3.8 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>