26 Jan, 2019
1 commit
-
The dtoc tests need to be adapted to dtoc being changed to output platdata
structs as const, which has been introduced in commit 7d05d3a8e35f ("dtoc:
make generated platdata structs const").Fixes: 7d05d3a8e35f ("dtoc: make generated platdata structs const")
Signed-off-by: Simon Goldschmidt
Reviewed-by: Simon Glass
Tested-by: Simon Glass
16 Jan, 2019
1 commit
-
The platdata initialization structs are currently generated into .rwdata.
Make sure the are put into .rodata by generating them as const.Signed-off-by: Simon Goldschmidt
Reviewed-by: Simon Glass
09 Oct, 2018
1 commit
-
This does not set the correct value at present. Fix it.
Signed-off-by: Simon Glass
08 Oct, 2018
4 commits
-
At present the tests run one after the other using a single CPU. This is
not very efficient. Bring in the concurrencytest module and run the tests
concurrently, using one process for each CPU by default. A -P option
allows this to be overridden, which is necessary for code-coverage to
function correctly.This requires fixing a few tests which are currently not fully
independent.At some point we might consider doing this across all pytests in U-Boot.
There is a pytest version that supports specifying the number of processes
to use, but it did not work for me.Signed-off-by: Simon Glass
-
There are a few test cases which print output. Suppress this so that tests
can run silently in the normal case.Signed-off-by: Simon Glass
-
At present 'make check' leaves some temporary directories around. Part of
this is because we call tools.PrepareOutputDir() twice in some cases,
without calling tools.FinaliseOutputDir() in between.Fix this.
Signed-off-by: Simon Glass
-
This module is often available in the sandbox_spl build created by
'make check'. Use this as a default path so that just typing 'binman -t'
(without setting PYTHONPATH) will generally run the tests.Signed-off-by: Simon Glass
29 Sep, 2018
5 commits
-
Support creating an Fdt object without having to write the data to a file
first.Signed-off-by: Simon Glass
-
Add a few more functions which allow creating and modifying property
values. If only we could do this so easily in the real world.Signed-off-by: Simon Glass
-
Add a way to add new nodes and sync them back to the blob.
Signed-off-by: Simon Glass
-
This should be big endian, since that is what device tree uses. Fix it.
Signed-off-by: Simon Glass
-
At present we require the caller to manually update the device tree using
individual calls to libfdt functions. This is not ideal. It would be
better if we could make changes using the Python structure and then call a
Sync() function to write them back.Add this feature to the Fdt class. Update binman and the tests to match.
Signed-off-by: Simon Glass
08 Aug, 2018
1 commit
-
The enhanced pylibfdt support in U-Boot needed for binman was a
placeholder while upstreaming of this work continued. This is now
complete, so bring in the changes and update the tools as needed.There are quite a few changes since we decided to split the
implementation into three fdt classes instead of two.The Fdt.del_node() method was unfortunately missed in this process and
will be dealt with later. It exists in U-Boot but not upstream.Further syncing of libfdt probably needs to wait until we assess the
code-size impact of all the new checking code on SPL and possibly provide
a way to disable it.Signed-off-by: Simon Glass
02 Aug, 2018
5 commits
-
Add a function which can decode a property containing a list of phandles.
This is useful for finding nodes linked to a property. Also provide a way
to look up a single phandle and get the Fdt object from a Node.Signed-off-by: Simon Glass
-
This is useful for clients that want to find a node. Export it so it can
be used by others.Signed-off-by: Simon Glass
-
It is sometimes useful to have an area of the image which is all zeroes,
or all 0xff. This can often be achieved by padding the size of an an
existing entry and setting the pad byte for an entry or image.But it is useful to have an explicit means of adding blocks of repeating
data to the image. Add a 'fill' entry type to handle this.Signed-off-by: Simon Glass
-
Sometimes it is useful to pass binman the value of an entry property from
the command line. For example some entries need access to files and it is
not always convenient to put these filenames in the image definition
(device tree).Add a -a option which can be used like this:
-a=
where
is the property to set
is the value to set it toSigned-off-by: Simon Glass
-
This module has a few missing comments. Add them.
Signed-off-by: Simon Glass
09 Jul, 2018
14 commits
-
Add a few simple functions to add a placeholder integer property, and
set its value.Signed-off-by: Simon Glass
-
At present some warnings are printed to indicate failures which are a
known part of running the tests. Suppress these.Signed-off-by: Simon Glass
-
Add more tests to increase dtoc code coverage to 100%.
Correct a whitespace error in some test .dts files at the same time.
Signed-off-by: Simon Glass
-
Add a -T option to run a code-coverage test on dtoc. At present this is
about 96%. Future work will increase it to 100%.Signed-off-by: Simon Glass
-
Fix some comments and a printf string which is incorrect.
Signed-off-by: Simon Glass
-
At present a property with a single phandle looks like an integer value
to dtoc. Correct this by adjusting it in the phandle-processing code.Add a test for this.
Signed-off-by: Simon Glass
-
At present the algortihm is not correct since it will return the root node
if the requested node is not found and there are no slashes in the
requested node name. Fix this and add a test.Signed-off-by: Simon Glass
-
At present the Fdt class does not keep track of property offsets if they
change due to removal of properties. Update the code to handle this, and
add a test.Signed-off-by: Simon Glass
-
At present only some of the fdt functionality is tested. Add more tests to
cover the rest of it. Also turn on test coverage, which is now 100% with
a small exclusion for a Python 3 feature.Signed-off-by: Simon Glass
-
At present the Fdt class has its own copy of the device tree. This is
confusing an unnecessary now that pylibfdt has its own. Drop it and
provide access functions to the buffer.This allows us to move the rest of the implementation to use pylibfdt
methods instead of directly calling libfdt stubs.Signed-off-by: Simon Glass
-
Now that pylibfdt supports a fuller API we don't need to directly call
the libfdt stubs. Update the code to use the Fdt methods instead.Some other cases remain which will be tidied up in a later commit, since
they need larger changes.Signed-off-by: Simon Glass
-
When a test fails due to an output mismatch (e.g. due to a new property
being adding to a test file) it is currently hard to update the test to
the new output. In particular the tabs in the file are written as \t in
the Python tests.To make this easier, write both the expected and actual results to /tmp
to allow use of meld, and copying into the test.Signed-off-by: Simon Glass
-
At present this module is tested via the dtoc tests. This is a bit painful
since the tests are at a higher level and so failures are more difficult
to diagnose.Add some tests that exercise the fdt module directly.
Signed-off-by: Simon Glass
-
This provides various patches sent to the devicetree-compiler mailing list
to enhance the Python bindings. A final version of this patch may be
created once upstreaming is complete, but if it takes too long, this can
act as a placeholder.New pylibfdt features:
- Support for most remaining, relevant libfdt functions
- Support for sequential-write functionsChanges are applied to existing U-Boot tools as needed.
Signed-off-by: Simon Glass
07 May, 2018
1 commit
-
When U-Boot started using SPDX tags we were among the early adopters and
there weren't a lot of other examples to borrow from. So we picked the
area of the file that usually had a full license text and replaced it
with an appropriate SPDX-License-Identifier: entry. Since then, the
Linux Kernel has adopted SPDX tags and they place it as the very first
line in a file (except where shebangs are used, then it's second line)
and with slightly different comment styles than us.In part due to community overlap, in part due to better tag visibility
and in part for other minor reasons, switch over to that style.This commit changes all instances where we have a single declared
license in the tag as both the before and after are identical in tag
contents. There's also a few places where I found we did not have a tag
and have introduced one.Signed-off-by: Tom Rini
05 Mar, 2018
1 commit
-
Thomas reported U-Boot failed to build host tools if libfdt-devel
package is installed because tools include libfdt headers from
/usr/include/ instead of using internal ones.This commit moves the header code:
include/libfdt.h -> include/linux/libfdt.h
include/libfdt_env.h -> include/linux/libfdt_env.hand replaces include directives:
#include -> #include
#include -> #includeReported-by: Thomas Petazzoni
Signed-off-by: Masahiro Yamada
29 Jan, 2018
1 commit
-
All of these host tools are apparently written for Python2,
not Python3.Use 'python2' in the shebang line according to PEP 394
(https://www.python.org/dev/peps/pep-0394/).Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
16 Jan, 2018
1 commit
-
The system device-tree compiler may not be new enough to run the tests we
use in U-Boot (e.g. with binman). Allow use of a DTC environment variable
to point to the correct dtc. If not defined, the dtc on the default PATH
is used.Signed-off-by: Simon Glass
23 Nov, 2017
2 commits
-
The tool has changed slightly since it was originally written. Update the
tests to suit.Signed-off-by: Simon Glass
-
These warnings are not useful for binman tests. Disable them.
Signed-off-by: Simon Glass
15 Sep, 2017
2 commits
-
Add a header that indicates that the files generated by dtoc should not be
modified.Signed-off-by: Simon Glass
Tested-by: Kever Yang -
At present dtoc has a very simplistic view of phandles. It assumes that
a property has only a single phandle with a single argument (i.e. two
cells per property).This is not true in many cases. Enhance the implementation to scan all
phandles in a property and to use the correct number of arguments (which
can be 0, 1, 2 or more) when generating the C code. For the struct
definitions, use a struct which can hold the maximum number of arguments
used by the property.Signed-off-by: Simon Glass
Tested-by: Kever Yang