Question

I am looking for a tool which can graphically represent the hardware device tree used in linux kernel. I am trying to understand linux kernel for particular arm chipset. It would be a really useful tool to have.

Was it helpful?

Solution 3

You can try the Component inspector tool.

enter image description here

It is part of QorIQ Configuration Suite which is a plugin for Eclipse.

Download here. (Requires registration. Free to download.)


Personally as i am on the cmd-line most of the time, and quite addicted to vi, i find its built-in code folding capabilities are somewhat sufficient as long as the dts is properly indented.

Setup hot-keys commands to fold/expand blocks of code in vi
by adding the following lines to .vimrc :

nnoremap <silent> <F5> zfa}<CR>
nnoremap <silent> <F6> zo<CR>

With the above setup, to fold a block/node, simply move the cursor onto any of its lines(except the title) and hit F5. To expand a folded block/node, move to the line with the folded title and hit F6.

Here is what a partially folded dts looks like in vi. enter image description here

OTHER TIPS

dtc -O dts

sudo apt-get install device-tree-compiler
dtc -I dtb -O dts -o a.dts a.dtb

gives a well indented textual representation of the device tree a.dts, which is easy to understand with a text editor. Or dump it to stdout with:

dtc -I dtb -O dts -o - a.dtb

The source code for dtc is present in the kernel tree itself at scripts/dtc/dtc.c

Tested on Ubuntu 16.04, with the device tree of Raspberry Pi 2, found in the first partition of 2016-05-27-raspbian-jessie-qemu.img.

For convenience I have in my .bashrc:

dtbs() ( dtc -I dtb -O dts -o - "$1" )
dtsb() ( dtc -I dts -O dtb -o - "$1" )

dtc can also extract the DTS from /proc of a live kernel as shown at: https://unix.stackexchange.com/questions/265890/is-it-possible-to-get-the-information-for-a-device-tree-using-sys-of-a-running

On linux we can directly open dtb file by using fdtdump

fdtdump dtb_file.dtb > /tmp/test.txt 

As many of you have figured out after reading this question, it appears that the Component Inspector Tool is no longer available.

Visual Studio Code (free) provides an extension through the marketplace called DeviceTree which helps in navigating device tree files (NOTE: - .dts-only files are supported for now). It does not appear to be as good as the Component Inspector Tool but it does perform basic functions like highlighting and collapsing.

There are few tools:

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top