Ideas for guide content
Here are some miscellaneous ideas for content for the DT guide, and random other material as well:
- Overview
- Tools
- compiler
- schema checker
- Initialization
- Syntax
- properties
- basic types: strings, u32s, arrays
- #<foo>-cells
- <foo>-names
- phandles
- arguments
- Conventions
- when to use vendor qualifier
- Debugging
- API
- Resources
- Tutorials
- papers, presentations and articles
Some specific questions (from Device-tree documentation project)
1. What is a phandle? How is it used? What rules are there for defining them? For referencing them?
2. How are #foo-cells used?
3. What are the rules for naming attributes? when should vendor qualifiers be used and when not?
4. How does device-tree interact with device instantiation - when is the device node created?, who creates it, when is the initcall called? when is the probe function called?
5. How does device-tree interact with platform/bus instantiation? Do buses instantiate their children device nodes, or does the probe routine do this?
6. what is the kernel API for interacting with device-tree? What things are parsed automatically, vs. require manual (coded) parsing?
Additions:
- Accessing DT info
- Tools
- many, many more:
- diff
- config from .dtc
- create overlay from diff
- decompile (already in dtc compiler)
- grep
- utils from the dtc (compiler) git repository
- fdtdump
- fdtget
- fdtput
- How to make a driver more debug-able
- glossary / definitions
- device creation and driver binding ordering dependencies
- Future work in the pipeline (current state, direction, etc)
- overlays
- schema validation
- static boot ordering to reduce delays due to dependencies