Code Monkey home page Code Monkey logo

devicetree-specification's Introduction

Document master project for the Devicetree Specification

The latest release of the specification can be found at http://devicetree.org/specifications/ or https://github.com/devicetree-org/devicetree-specification/releases

This repository holds the source for the generation of the Devicetree Specification using Sphinx and LaTeX.

Mailing list: [email protected]

Build Instructions ci

Requirements:

On Debian and Ubuntu:

# apt-get install python-sphinx texlive texlive-latex-extra libalgorithm-diff-perl \
                 texlive-humanities texlive-generic-recommended graphviz \
                 texlive-generic-extra

If the version of python-sphinx installed is too old, then an additional new version can be installed with the Python package installer:

$ apt-get install python-pip
$ pip install --user --upgrade Sphinx
$ export SPHINXBUILD=~/.local/bin/sphinx-build

You will need latexdiff v1.2.1 or later to create the changebars PDF version of the document. Until distributions catch up with the latest release you will need to install it directly from the github repo.

$ git clone https://github.com/ftilmann/latexdiff
$ export PATH=$PWD/latexdiff/:$PATH

Export SPHINXBUILD (see above) if Sphinx was installed with pip --user, then follow Make commands below

On Mac OS X:

Install MacTeX

Install pip if you do not have it:

$ sudo easy_install pip

Install Sphinx

pip install --user --upgrade Sphinx
Or
sudo pip install --upgrade Sphinx

If you are using brew then you can install graphviz like this:

brew install graphviz

If you are using macports then you can install graphviz like this:

$ sudo port install graphviz

Make commands:

$ make latexpdf # For generating pdf
$ make html # For generating a hierarchy of html pages
$ make singlehtml # For generating a single html page

Output goes in ./build subdirectory.

License

This project is licensed under the Apache V2 license. More information can be found in the LICENSE and NOTICE file or online at:

http://www.apache.org/licenses/LICENSE-2.0

Contributions

Please submit all patches to the mailing list [email protected]. Contributions to the Devicetree Specification are managed by the gatekeepers, Grant Likely [email protected] and Rob Herring [email protected]

Anyone can contribute to the Devicetree Specification. Contributions to this project should conform to the Developer Certificate of Origin as defined at http://elinux.org/Developer_Certificate_Of_Origin. Commits to this project need to contain the following line to indicate the submitter accepts the DCO:

Signed-off-by: Your Name <[email protected]>

By contributing in this way, you agree to the terms as follows:

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

devicetree-specification's People

Contributors

ardrabczyk avatar bebarino avatar chagar01 avatar dbuenzli avatar ffainelli avatar galak avatar glikely avatar jaapkeuter avatar jeenuv avatar jhovold avatar lodagro avatar mani-sadhasivam avatar marcan avatar mbolivar-nordic avatar michalsimek avatar mmind avatar moore-bros avatar oohal avatar peda-r avatar property404 avatar redamaher avatar robherring avatar rpjday avatar schiffermtq avatar sjg20 avatar stewartsmith avatar tduszynski avatar wmamills avatar z3ntu avatar zhangpf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devicetree-specification's Issues

This repo has both master and main branches

This repo has both master and main branches. The main branch is ahead of master by 2 commits.
This is very confusing.
The master branch should be deleted to avoid confusion.
If the github rename master function is used [1] then support for a master alias is done.
My understanding is:

  • make master and main in sync
  • delete main
  • rename master to main using github control panel as described below

[1] https://github.com/github/renaming

Publish html version of the spec

It would be nice to publish an html version of the spec on the website at a stable, versioned, url (make html seems to work quite well). This is useful for cross referencing specific sections of the spec from other documents and for general online discussion; something that is less easy to do on PDF documents.

dma-ranges null and not present not well defined

If a node has ranges but not dma-ranges what should be done?

  • assume same translation as ranges? assume 1:1 translation?

Likewise is dma-ranges is present but has no value, does that mean direct mapped even when there is a ranges present?

Clarify ranges property

From a conversation on the devicetree-spec mailing list, I asked about how the length element in the ranges property is suppose to be used. A few questions asked (quoted response is from David Gibson):

If a child has a reg outside of the length is it not translated via the range?

Yes.

What if the reg size of a child node overlaps the length? Do we translate up to the point the length specifies?

I believe so, yes.

If #size-cells of the node is 0, does that mean no length element?

I think so, yes, although I don't think I've ever seen a 'ranges'
property on a #size-cells = 0 node.

So if we update the spec, we should clarify such concerns w/ranges.

chapter2-devicetree-basics.rst refers to missing Appendix A

chapter2-devicetree-basics.rst and chapter1-introduction.rst refer to an Appendix A which does not exist:

".. note:: Most devicetrees in :abbr:DTS (Device Tree Syntax) (see Appendix A) will not
contain explicit phandle properties. The DTC tool automatically inserts
the phandle properties when the DTS is compiled into the binary DTB
format."

In chapter2-devicetree-basics.rst I would have expected an example comparing the device-tree before DTC translation without phandle and with phandle after translation.

[Question] Interrupt Mapping Example

Hi, I'm reading Interrupt mapping example (page20).
I see in sample device tree, it has following content:

interrupt-map = <
/* IDSEL 0x11 - PCI slot 1 */
0x8800 0 0 1 &open-pic 2 1 /* INTA */
0x8800 0 0 2 &open-pic 3 1 /* INTB */
0x8800 0 0 3 &open-pic 4 1 /* INTC */
0x8800 0 0 4 &open-pic 1 1 /* INTD */
/* IDSEL 0x12 - PCI slot 2 */
0x9000 0 0 1 &open-pic 3 1 /* INTA */
0x9000 0 0 2 &open-pic 4 1 /* INTB */
0x9000 0 0 3 &open-pic 1 1 /* INTC */
0x9000 0 0 4 &open-pic 2 1 /* INTD */
>;

Then, In the explain section, there is an example as bellow:

To perform a lookup of the open-pic interrupt source number for INTB for IDSEL 0x12 (slot 2), function 0x3, the following steps would be performed:
The child unit address and interrupt specifier form the value <0x9300 0 0 2>
...................................

I wonder why it is <0x9300 0 0> for unit address? Compare with the sample device tree, It's 0x90000 not 0x9300? Do I misunderstand some concept?

Rewrite the specs in Kaitai Struct and generate the text docs from KS specs

Kaitai Struct is a declarative language for documenting binary formats. It has an advantage that the specs can be compiled into code parsing the format in various programming languages, that can be just used in the programs.

Currently Kaitai Struct compiler doesn't have a backend generating rst docs. But since the language is YAML-based, the code generating the rst docs can be implemented out of the compiler.

It is suggested to

  1. rewrite all the parts of specs into ksy
  2. design a template language for docs to include parts of ksy specs
  3. generate the docs from templates containing the text that doesn't go into the specs and the specs.

Architecture bindings?

dma-coherent refers to "architectures which are by default non-coherent for I/O"
dma-noncoherent refers to "architectures which are by default coherent for I/O"

...but nothing in the DT spec spells out which architectures those might be. For example, the ACPI spec does talk about x86 being considered cache-coherent by default, and 32-bit Arm being considered non-cache-coherent by default.

In general, there is no section the spells out ISA implications for a device tree. Note that this would be different from "device bindings"...imho the ISA bindings totally make sense to be part of this document, but they ought to be in some document for sure. Curiously enough there's still PowerPC lingo in the DT spec - i.e. references to WIMG, e.g. in section on /memory node (with no definition of WIMG bit meaning... maybe this should be either made generic or updated to include another architecture as an example)

MIME type for DeviceTree dts files

We got a request to resolve a problem where *.dts files are associated with (only) DTS audio in the shared-mime-info database: https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/173

DTS audio is properly registered in the IANA media types registry with the *.dts extension: https://www.iana.org/assignments/media-types/audio/vnd.dts

The only doc I was able to find related to DeviceTree media types is https://pygments.org/docs/lexers/#lexers-for-devicetree-language but associating *.dts with a C source code media type would likely be a source for problems.

Do you have a suggestion or a ready specification that would tell the media type to use with these DeviceTree files?

Memory terminology WIMG and VLE used w/o reference or definition

The reserved memory section uses the terms WIMG and VLE.
The WIMG is expanded a bit but VLE is not.
I presume these are PowerPC terms. (a quick google reinforces this assumption.)
Do these statements only apply to PPC or are we suppose to translate to Arm and RISC-V?

These terms should be in the "definition of terms" and an spec reference included.
If PPC terms, clarify how they should be handled for other architectures.

Build latexpdf error

Hi i have a error while creating the latexpdf Version
Here are my Log:

bd@build:~/devicetree-specification$ make latexpdf
Running Sphinx v1.3.6
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [latex]: all documents
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
processing devicetree-specification.tex... index license acknowledgements revhistory chapter1-introduction chapter2-devicetree-basics chapter3-devicenodes chapter4-device-bindings chapter5-flattened-format chapter6-source-language references
resolving references...
/home/bd/devicetree-specification/source/chapter1-introduction.rst:64: WARNING: no number is assigned for None: chapter-introduction
/home/bd/devicetree-specification/source/chapter1-introduction.rst:66: WARNING: no number is assigned for None: chapter-devicetree
/home/bd/devicetree-specification/source/chapter1-introduction.rst:68: WARNING: no number is assigned for None: chapter-device-node-requirements
/home/bd/devicetree-specification/source/chapter1-introduction.rst:71: WARNING: no number is assigned for None: chapter-device-bindings
/home/bd/devicetree-specification/source/chapter1-introduction.rst:73: WARNING: no number is assigned for None: chapter-fdt-structure
/home/bd/devicetree-specification/source/chapter1-introduction.rst:74: WARNING: no number is assigned for None: chapter-devicetree-source-format
/home/bd/devicetree-specification/source/chapter1-introduction.rst:92: WARNING: no number is assigned for None: chapter-devicetree-source-format
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:29: WARNING: no number is assigned for None: chapter-device-node-requirements
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:29: WARNING: no number is assigned for None: chapter-device-bindings
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:29: WARNING: no number is assigned for None: chapter-fdt-structure
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:461: WARNING: no number is assigned for None: chapter-device-node-requirements
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:461: WARNING: no number is assigned for None: chapter-device-bindings
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:850: WARNING: no number is assigned for None: sect-node-names
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:1177: WARNING: no number is assigned for None: sect-interrupt-map-mask
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:1304: WARNING: no number is assigned for None: sect-bindings-simple-bus
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:1380: WARNING: no number is assigned for None: sect-specifier-map-mask
/home/bd/devicetree-specification/source/chapter2-devicetree-basics.rst:1386: WARNING: no number is assigned for None: sect-specifier-map-pass-thru
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:72: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:130: WARNING: no number is assigned for None: sect-node-names
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:134: WARNING: no number is assigned for None: sect-fdt-memory-reservation-block
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:176: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:255: WARNING: no number is assigned for None: sect-standard-properties-ranges
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:333: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:476: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:516: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:520: WARNING: no number is assigned for None: sect-cpus-cpu-node-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:523: WARNING: no number is assigned for None: sect-cpu-node-example
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:679: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:733: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:784: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:844: WARNING: no number is assigned for None: sect-standard-properties-phandle
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:850: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter3-devicenodes.rst:919: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:27: WARNING: no number is assigned for None: sect-standard-properties-compatible
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:46: WARNING: no number is assigned for None: sect-standard-properties-compatible
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:49: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:49: WARNING: no number is assigned for None: sect-interrupts
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:55: WARNING: no number is assigned for None: chapter-device-bindings
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:59: WARNING: no number is assigned for None: sect-misc-properties
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:217: WARNING: no number is assigned for None: sect-standard-properties-virtual-reg
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:224: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:429: WARNING: no number is assigned for None: sect-standard-properties
/home/bd/devicetree-specification/source/chapter4-device-bindings.rst:451: WARNING: no number is assigned for None: sect-standard-properties-ranges
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:32: WARNING: no number is assigned for None: sect-fdt-header
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:32: WARNING: no number is assigned for None: sect-fdt-memory-reservation-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:32: WARNING: no number is assigned for None: sect-fdt-structure-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:32: WARNING: no number is assigned for None: sect-fdt-strings-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:63: WARNING: no number is assigned for None: sect-fdt-alignment
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:123: WARNING: no number is assigned for None: sect-fdt-structure-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:127: WARNING: no number is assigned for None: sect-fdt-strings-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:131: WARNING: no number is assigned for None: sect-fdt-memory-reservation-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:144: WARNING: no number is assigned for None: sect-fdt-versioning
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:248: WARNING: no number is assigned for None: sect-fdt-alignment
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:256: WARNING: no number is assigned for None: sect-reserved-memory-uefi
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:272: WARNING: no number is assigned for None: sect-fdt-alignment
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:291: WARNING: no number is assigned for None: sect-node-names
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:319: WARNING: no number is assigned for None: sect-property-values
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:322: WARNING: no number is assigned for None: sect-fdt-strings-block
/home/bd/devicetree-specification/source/chapter5-flattened-format.rst:376: WARNING: no number is assigned for None: sect-fdt-lexical-structure
/home/bd/devicetree-specification/source/chapter6-source-language.rst:257: WARNING: no number is assigned for None: sect-fdt-memory-reservation-block
writing... done
copying TeX support files...
done
build succeeded, 60 warnings.
make[1]: Verzeichnis „/home/bd/devicetree-specification/build/latex“ wird betreten
pdflatex  'devicetree-specification.tex'
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./devicetree-specification.tex
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 3 language(s) loaded.
(./sphinxmanual.cls
Document Class: sphinxmanual 2009/06/02 Document class (Sphinx manual)
(/usr/share/texlive/texmf-dist/tex/latex/base/report.cls
Document Class: report 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo)))
(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu)
(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu)))
(/usr/share/texlive/texmf-dist/tex/latex/cmap/cmap.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def)<<t1.cmap>>)
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
(/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def)))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty) (./fncychap.sty)
(/usr/share/texlive/texmf-dist/tex/latex/tools/longtable.sty) (./sphinx.sty
(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu)))
(/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
Style option: `fancybox' v1.4 <2010/05/15> (tvz)
) (/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty)
(./tabulary.sty (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty))
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
For additional information on amsmath, use the `?' option.
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty))
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty)
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty))
(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty)
(/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty)))
(/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
Style option: `fancyvrb' v2.7a, with DG/SPQR fixes, and firstline=lastline fix
<2008/02/07> (tvz) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
)) (/usr/share/texlive/texmf-dist/tex/latex/threeparttable/threeparttable.sty)
(/usr/share/texlive/texmf-dist/tex/latex/mdwtools/footnote.sty)
(/usr/share/texlive/texmf-dist/tex/latex/wrapfig/wrapfig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty)
(/usr/share/texlive/texmf-dist/tex/latex/upquote/upquote.sty)
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg)))
(/usr/share/texlive/texmf-dist/tex/generic/pdftex/pdfcolor.tex)
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty)
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty)
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty))

Package hyperref Message: Driver (autodetected): hpdftex.

(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/hypcap.sty)
(/usr/share/texlive/texmf-dist/tex/latex/caption/newfloat.sty)
(/usr/share/texlive/texmf-dist/tex/latex/capt-of/capt-of.sty)
(/usr/share/texlive/texmf-dist/tex/latex/needspace/needspace.sty))
(/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty)
(/usr/share/texlive/texmf-dist/tex/latex/eqparbox/eqparbox.sty
(/usr/share/texlive/texmf-dist/tex/latex/environ/environ.sty
(/usr/share/texlive/texmf-dist/tex/latex/trimspaces/trimspaces.sty)))
(/usr/share/texlive/texmf-dist/tex/latex/draftwatermark/draftwatermark.sty
(/usr/share/texlive/texmf-dist/tex/latex/everypage/everypage.sty))
Writing index file devicetree-specification.idx
(./devicetree-specification.aux)
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd)
(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty)
(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty))
(./devicetree-specification.out) (./devicetree-specification.out)
Underfull \hbox (badness 10000) in paragraph at lines 134--134

<devicetree-logo.png, id=109, 251.0178pt x 251.0178pt>
<use devicetree-logo.png> <use devicetree-logo.png>
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1phv.fd)<<ot1.cmap>><<oml.cmap
>><<oms.cmap>><<omx.cmap>> [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
} <./devicetree-logo.png>]

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is use
less on input line 134.

(./devicetree-specification.toc)
Adding blank page after the table of contents.

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is use
less on input line 134.

[1] [2]

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is use
less on input line 134.


Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is use
less on input line 134.


Package Fancyhdr Warning: \fancyhead's `E' option without twoside option is use
less on input line 134.

[1] (/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1ptm.fd)
Overfull \hbox (17.7366pt too wide) in paragraph at lines 219--282
[]
[2]
Chapter 1.
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd)

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is use
less on input line 379.

[3]
Underfull \hbox (badness 10000) in paragraph at lines 383--386
[]\T1/ptm/m/n/10 Examples of de-vice-tree con-structs are fre-quently shown in
\T1/ptm/m/it/10 De-vice-tree Syn-tax \T1/ptm/m/n/10 form. See
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ts1phv.fd)

LaTeX Warning: Hyper reference `references:ieee1275' on page 4 undefined on inp
ut line 392.


LaTeX Warning: Hyper reference `references:chrp' on page 4 undefined on input l
ine 394.


LaTeX Warning: Hyper reference `references:papr' on page 4 undefined on input l
ine 395.


LaTeX Warning: Hyper reference `references:epapr' on page 4 undefined on input
line 426.

[4] [5]
Chapter 2.

! LaTeX Error: Unknown float option `H'.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.564 \begin{figure}[H]

Generic node name for vibration motor / haptics

Hi, there are increasingly kernel drivers for vibration motors added for phones and similar devices. In mainline Linux vibrator, haptics and haptic-feedback (and maybe more?) is used so it's probably a good idea to standardize a name in the devicetree spec.

vibrator is currently used 19 times, haptics 3 times and haptic-feedback 4 times.

I'd be happy to submit a PR adding this to the spec but I'm not sure which of the names is preferred - or even a completely different one.

enhancement: addition of /delete-label/

Currently it is not possible to delete label independently from deleting entire node.

This is very inconvenient because it does not allow to move labels from node to node, when needed, without redefining
the node again.

References to labels may be used for property values (or as phandles), but when referenced node needs to be changed, due to lack of /delete-label/, it is required to remove property referencing the label for each node and then add it back referencing node with different label. This could be much easier if label could be removed from one node and added to another.

Property inheritance

Should something in the spec explicitly say properties are never inherited?

2.3.5 says "The #address-cells and #size-cells properties are not inherited from ancestors in the device tree. They shall be explicitly defined", but that makes it sound like /some/ properties could be inherited.

Interrupt parent phandle typos in interrupt-map example

In the PCI interrupt-map example, &open-pic should be &open_pic (with a label added to /soc/open-pic, which can't have - in it), or &{/soc/open-pic}.

Unrelated, and not sure I've read closely enough: Why is the interrupt parent unit address included in interrupt-map? The phandle already points to its node, so it seems redundant.

Invalid MAC address in example

"Table 4.9: mac-address Property" contains an example for the use of this property:

mac-address = [ 01 02 03 04 05 06 ];

This MAC address is a group address, therefore cannot be used as source address.

Please replace the 01 by a even value, e.g.:

mac-address = [ 02 03 04 05 06 07 ];

which constitutes a locally administered address.

Provide more information about RAM from the bootloader

Qualcomm currently does

/memory[@somewhere]/ddr_device_type =

  • 5 - LPDDR3 # 3X never existed, 3E (3 overclocked) - did
  • 6 - LPDDR4
  • 7 - LPDDR4X
  • 8 - LPDDR5
  • 9 - LPDDR5X

with 1, 2, 3, 4 presumably going to LPDDR(1 / 2_S2 / 2_S4 / 2N), though no sources prove that

Introducing a common property to propagate that information to the operating system seems rather useful. In this Qualcomm-specific example, many on-SoC IP blocks need different settings based on the DDR type.

Codify array values syntax

Currently dtc happily eats both:

val = <0 1 2 3 4 5 6 7>;

in the same way as:

val = <0 1>, <2 3>, <4 5>, <6 7>;

so long as the -cells values match.

Requiring the second format (one entry per <...>) would allow to dynamically derive -cells values and reduce boilerplate (by e.g. defaulting to #address-cells == #size-cells == <2> when ARRAY_SIZE(reg) is a multiple of 4 etc., while still allowing to manually override it where it's not obvious.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.