====
DTSh
====

**DTSh** is a Devicetree Source (DTS) files viewer with a shell-like command line interface:

- *navigate* and *visualize* the devicetree
- *search* for devices, bindings, buses or interrupts with flexible criteria
- redirect command output to files (text, HTML, SVG) to *document* hardware configurations
  or illustrate notes
- *rich* Textual User Interface, command line auto-completion, command history, user themes

::

   $ dtsh build/zephyr/zephyr.dts
   dtsh (0.2.5): A Devicetree Shell
   How to exit: q, or quit, or exit, or press Ctrl-D

   /
   > cd &flash_controller

   /soc/flash-controller@4001e000
   > tree -l
                                 Description
                                 ─────────────────────────────────────────────────────────────────
   flash-controller@4001e000     Nordic NVMC (Non-Volatile Memory Controller)
   └── flash@0                   Flash node
       └── partitions            This binding is used to describe fixed partitions of a flash (or…
            ├── partition@0      Each child node of the fixed-partitions node represents…
            ├── partition@c000   Each child node of the fixed-partitions node represents…
            ├── partition@82000  Each child node of the fixed-partitions node represents…
            └── partition@f8000  Each child node of the fixed-partitions node represents…

You can use it with:

- all DTS files generated by **Zephyr** at build-time (aka ``build/zephyr/zephyr.dts``)
- arbitrary DTS files with bindings compatible with Zephyr's `Devicetre bindings syntax <https://docs.zephyrproject.org/latest/build/dts/bindings-syntax.html>`_

Status
******

DTSh 0.2.x mirror and package the code base that serves as a proposal to upstream DTSh
as a new Zephyr extension to West: `RFC - DTSh, shell-like interface with Devicetree <https://github.com/zephyrproject-rtos/zephyr/pull/59863>`_

This is the stable and maintained branch: if you have DTSh 0.1.x installed, please upgrade with
e.g. ``pip install -U dtsh``.

Please refer to the `DTSh project documentation <http://dottspina.github.io/dtsh>`_.
