$ git log --pretty=format:'%h %s (%cs)%d'
47d7c01 libfdt: Fix bugs with unchecked usage of fdt_num_mem_rsv() (2026-04-17)
(HEAD -> master, main)
f551be7 libfdt: Standardise returns annotation in function documentation (2026-04-17)
53373d1 dtc: Remove unused dts_version in dtc-lexer.l (2026-03-27)
caf7465 libfdt: fdt_check_full: Handle FDT_NOP when FDT_END is expected (2026-03-04)
5976c4a libfdt: fdt_rw: Introduce fdt_downgrade_version() (2026-02-24)
5bb5bed fdtdump: Return an error code on wrong tag value (2026-02-24)
68b960e fdtdump: Remove dtb version check (2026-02-14)
adba02c dtc: Use a consistent type for basenamelen (2026-02-13)
8d15a63 libfdt: Verify alignment of sub-blocks in dtb (2026-01-28)
a26ef64 Restore phandle references from __fixups__ node (2026-01-16)
...
$ git cat-file blob HEAD:README.md
# Device Tree Compiler and libfdt
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>`](mailto:david@gibson.dropbear.id.au)
## Python library
A Python library wrapping libfdt is also available. To build this you
will need to install `swig` and Python development files. On Debian
distributions:
```
$ sudo apt-get install swig python3-dev
```
The library provides an `Fdt` class which you can use like this:
```
$ PYTHONPATH=../pylibfdt python3
>>> import libfdt
>>> fdt = libfdt.Fdt(open('test_tree1.dtb', mode='rb').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=%s' % (prop.name, prop.as_str()))
compatible=subnode1
>>> node2 = fdt.path_offset('/')
>>> print(fdt.getprop(node2, 'compatible').as_str())
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
$ python3 -c "import libfdt; help(libfdt)"
```
If you add new features, please check code coverage:
```
$ sudo apt-get install python3-coverage
$ cd tests
# It's just 'coverage' on most other distributions
$ python3-coverage run pylibfdt_tests.py
$ python3-coverage html
# Open 'htmlcov/index.html' in your browser
```
The library can be installed with pip from a local source tree:
```
$ pip install . [--user|--prefix=/path/to/install_dir]
```
Or directly from a remote git repo:
```
$ pip install git+git://git.kernel.org/pub/scm/utils/dtc/dtc.git@main
```
The install depends on libfdt shared library being installed on the
host system first. Generally, using `--user` or `--prefix` is not
necessary and pip will use the default location for the Python
installation which varies if the user is root or not.
You can also install everything via make if you like, but pip is
recommended.
To install both libfdt and pylibfdt you can use:
```
$ make install [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 lists
* The [devicetree-compiler](mailto:devicetree-compiler@vger.kernel.org)
list is for discussion about dtc and libfdt implementation.
* Core device tree bindings are discussed on the
[devicetree-spec](mailto:devicetree-spec@vger.kernel.org) list.
# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
main libfdt: Fix bugs with unchecked usage of fdt_num_mem_rsv() (2026-04-17)
* master libfdt: Fix bugs with unchecked usage of fdt_num_mem_rsv() (2026-04-17)
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
v1.7.2 DTC 1.7.2 (2024-11-06) tar.gz
v1.7.1 DTC 1.7.1 (2024-08-17) tar.gz
v1.7.0 DTC 1.7.0 (2023-02-09) tar.gz
v1.6.1 DTC 1.6.1 (2021-06-08) tar.gz
v1.6.0 DTC 1.6.0 (2020-03-04) tar.gz
v1.5.1 DTC 1.5.1 (2019-09-04) tar.gz
v1.5.0 DTC 1.5.0 (2019-03-06) tar.gz
v1.4.7 DTC 1.4.7 (2018-07-23) tar.gz
v1.4.6 DTC 1.4.6 (2018-01-03) tar.gz
v1.4.5 DTC 1.4.5 (2017-09-27) tar.gz
...
# associated public inboxes:
# (number on the left is used for dev purposes)
741 linux-devicetree
609 devicetree-compiler
300 lkml
233 u-boot
123 linuxppc-dev
65 linux-arm-kernel
47 xen-devel
23 kvmarm
21 qemu-devel
20 kexec
13 dri-devel
10 netdev
10 linux-kbuild
8 linux-renesas-soc
8 linux-omap
7 linux-mm
7 alsa-devel
7 linux-sh
7 openembedded-core
7 devicetree-spec
6 linux-samsung-soc
6 netfilter-devel
6 linux-fsdevel
6 linux-media
6 stable
6 linux-mips
6 linux-rdma
6 dpdk-dev
6 linux-bluetooth
6 intel-gfx
6 linux-arch
6 linux-s390
6 linux-um
5 linux-riscv
5 linux-crypto
5 linux-acpi
5 linux-scsi
5 linux-gpio
5 git
5 amd-gfx
5 linux-perf-users
4 linux-wireless
4 linux-xfs
4 linux-nfs
4 linux-mediatek
4 linux-arm-msm
4 linux-snps-arc
4 linux-rtc
4 linux-btrfs
4 linux-usb
4 selinux
4 linux-ext4
4 linux-security-module
4 kvm
4 linux-serial
4 linux-doc
4 linux-mmc
4 linux-api
4 linux-tegra
4 linux-fbdev
4 nouveau
4 sparclinux
4 buildroot
4 ltp
4 openembedded-devel
4 yocto-meta-virtualization
4 intel-wired-lan
4 intel-xe
4 qemu-riscv
4 linux-alpha
3 linux-mtd
3 bpf
3 linux-cifs
3 linux-amlogic
3 linux-iommu
3 fstests
3 linux-pm
3 linux-input
3 linux-kselftest
3 linux-clk
3 linux-iio
3 linux-pci
3 linux-ide
3 linux-watchdog
3 util-linux
3 linux-csky
3 linux-i2c
3 linux-pwm
3 linux-rockchip
3 platform-driver-x86
3 openbmc
3 linux-hardening
3 linux-cxl
3 linux-staging
3 ofono
3 yocto
3 yocto-meta-arm
3 yocto-meta-ti
3 yocto-meta-arago
3 openrisc
3 poky
3 linux-ia64
3 cluster-devel
3 grub-devel
3 kvm-ppc
3 linux-hexagon
3 igt-dev
2 linux-block
2 linux-nvme
2 linux-efi
2 linux-erofs
2 linux-hwmon
2 driverdev-devel
2 dmaengine
2 linux-parisc
2 linux-f2fs-devel
2 linux-modules
2 linux-rt-users
2 linux-trace-devel
2 workflows
2 linux-m68k
2 linux-i3c
2 backports
2 linux-kernel-mentees
2 linux-man
2 cip-dev
2 linux-audit
2 linux-spi
2 linux-sparse
2 lttng-dev
2 virtualization
2 linux-can
2 containers
2 linux-raid
2 dm-devel
2 target-devel
2 soc
2 rust-for-linux
2 linux-phy
2 linux-sunxi
2 mptcp
2 linux-coco
2 nvdimm
2 linux-bcachefs
2 llvm
2 fio
2 iwd
2 yocto-meta-freescale
2 yocto-toaster
2 yocto-docs
2 bitbake-devel
2 linux-patches
2 chrome-platform
2 outreachy
2 xenomai
2 damon
2 loongarch
2 imx
2 b4-sent
2 linux-trace-kernel
2 virtio-comment
2 autofs
2 linux-sound
2 reiserfs-devel
2 lvm-devel
2 virtio-fs
2 fuego
1 linux-fscrypt
1 cocci
1 live-patching
1 linux-integrity
1 linux-edac
1 linux-nvdimm
1 kernel-hardening
1 linux-next
1 linux-leds
1 kernelnewbies
1 linux-sgx
1 linux-hyperv
1 rcu
1 selinux-refpolicy
1 linux-spdx
1 linux-wpan
1 ksummit-discuss
1 wireguard
1 io-uring
1 tpmdd-devel
1 linux-unionfs
1 linux-firmware
1 linux-remoteproc
1 linux-dash
1 linux-bcache
1 mm-commits
1 linux-fpga
1 ceph-devel
1 xdp-newbies
1 phone-devel
1 dash
1 keyrings
1 linux-sctp
1 lustre-devel
1 ocfs2-devel
1 ath10k
1 ath11k
1 kernel-janitors
1 tools
1 regressions
1 ksummit
1 b43-dev
1 linux-nfc
1 ath9k-devel
1 ntfs3
1 ell
1 ntb
1 asahi
1 ath12k
1 oe-linux-nfc
1 oe-kbuild-all
1 oe-chipsec
1 batman
1 virtio-dev
1 v9fs
1 ecryptfs
1 kdevops
1 kbd
1 cpufreq
1 dccp
1 cgroups
1 initramfs
1 hail-devel
1 kvm-ia64
1 linux-8086
1 kernel-testers
1 linux-btrace
1 linux-embedded
1 linux-hams
1 linux-hotplug
1 linux-laptop
1 trinity
1 linux-metag
1 linux-x25
1 linux-nilfs
1 lvs-devel
1 netfilter
1 linux-oxnas
1 u-boot-amlogic
1 lm-sensors
1 acpica-devel
1 perfbook
1 smatch
1 x86-cpuid
1 wireless-regdb
1 powertop
1 dtrace
1 yocto-patches
1 lkmm
1 barebox
1 linux-aspeed
1 kvm-riscv
1 sophgo
1 qemu-rust
1 qemu-arm
git clone https://yhbt.net/lore/pub/scm/utils/dtc/dtc.git