You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ut_SG560D/UM.9.14/external/dtc
quectel 55794fdde8 QCM6490:Alyssa:upload QCM6490 android12 base code.
Change-Id: If3e3c4e01b19443714d880ae669aaa8b39edfff7
4 years ago
..
Documentation QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
libfdt QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
pylibfdt QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
scripts QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
tests QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
.travis.yml QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
Android.bp QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
GPL QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
MODULE_LICENSE_GPL QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
Makefile QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
Makefile.convert-dtsv0 QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
Makefile.dtc QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
Makefile.utils QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
NOTICE QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
OWNERS QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
README QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
README.license QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
README.version QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
TODO QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
checks.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
convert-dtsv0-lexer.l QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
data.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
dtc-lexer.l QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
dtc-parser.y QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
dtc.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
dtc.h QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
dtdiff QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
fdtdump.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
fdtget.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
fdtoverlay.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
fdtput.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
flattree.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
fstree.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
livetree.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
srcpos.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
srcpos.h QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
treesource.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
util.c QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
util.h QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago
version_non_gen.h QCM6490:Alyssa:upload QCM6490 android12 base code. 4 years ago

README

The source tree contains the Device Tree Compiler (dtc) toolchain for
working with device tree source and binary files and also libfdt, a
utility library for reading and manipulating the binary format.

DTC and LIBFDT are maintained by:

David Gibson <david@gibson.dropbear.id.au>
Jon Loeliger <jdl@jdl.com>


Python library
--------------

A Python library is also available. To build this you will need to install
swig and Python development files. On Debian distributions:

   sudo apt-get install swig python-dev

The library provides an Fdt class which you can use like this:

$ PYTHONPATH=../pylibfdt python
>>> import libfdt
>>> fdt = libfdt.Fdt(open('test_tree1.dtb').read())
>>> node = fdt.path_offset('/subnode@1')
>>> print node
124
>>> prop_offset = fdt.first_property_offset(node)
>>> prop = fdt.get_property_by_offset(prop_offset)
>>> print '%s=%r' % (prop.name, prop.value)
compatible=bytearray(b'subnode1\x00')
>>> print '%s=%s' % (prop.name, prop.value)
compatible=subnode1
>>> node2 = fdt.path_offset('/')
>>> print fdt.getprop(node2, 'compatible')
test_tree1

You will find tests in tests/pylibfdt_tests.py showing how to use each
method. Help is available using the Python help command, e.g.:

    $ cd pylibfdt
    $ python -c "import libfdt; help(libfdt)"

If you add new features, please check code coverage:

    $ sudo apt-get install python-pip python-pytest
    $ sudo pip install coverage
    $ cd tests
    $ coverage run pylibfdt_tests.py
    $ coverage html
    # Open 'htmlcov/index.html' in your browser


To install the library via the normal setup.py method, use:

    ./pylibfdt/setup.py [--prefix=/path/to/install_dir]

If --prefix is not provided, the default prefix is used, typically '/usr'
or '/usr/local'. See Python's distutils documentation for details. You can
also install via the Makefile if you like, but the above is more common.

To install both libfdt and pylibfdt you can use:

    make install [SETUP_PREFIX=/path/to/install_dir] \
            [PREFIX=/path/to/install_dir]

To disable building the python library, even if swig and Python are available,
use:

    make NO_PYTHON=1


More work remains to support all of libfdt, including access to numeric
values.


Mailing list
------------
The following list is for discussion about dtc and libfdt implementation
mailto:devicetree-compiler@vger.kernel.org

Core device tree bindings are discussed on the devicetree-spec list:
mailto:devicetree-spec@vger.kernel.org