devicetree-org / devicetree-specification Goto Github PK
View Code? Open in Web Editor NEWDevicetree Specification document source files
License: Apache License 2.0
Devicetree Specification document source files
License: Apache License 2.0
In the spec we list clock-frequency
and timebase-frequency
properties as required in section 3.7 /cpus/cpu* Node Properties.
However that doesn't match:
https://github.com/devicetree-org/dt-schema/blob/master/schemas/cpus.yaml
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]
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?
We require that memory ranges defined in sub-nodes of /reserved-memory are
We require the usage of EfiReservedMemoryType for regions defined in the Memory Reservation Block.
The description in 5.3, "Memory Reservation Block" makes it clear that regions in the Memory Reservation Block may be mapped:
"More specifically, a client program shall not access memory in a reserved region unless other information provided by
the boot program explicitly indicates that it shall do so."
This implies that the operating system cannot deduct which memory regions may be mapped by looking only at the EFI memory map. It might be preferable to use EfiBootServicesData for the Memory Reservation Block as it is not meant to use the no-map semantics.
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)
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.
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:
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?
This is not enforced by the spec or by dtc, but sounds like something that would improve the dev experience.
Document standard alias names such as serialN and ethernetN.
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.
If a node has ranges but not dma-ranges what should be done?
Likewise is dma-ranges is present but has no value, does that mean direct mapped even when there is a ranges present?
The current device tree blob (provided by the dtb package which redirects to devicetree.org) does not work with my Firefly RK3399 SoC.
Something must have gone wrong since, many years ago (2019 or so), when the support was minimal, I managed to boot and install openbsd on the chip with the same standard method.
"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.
Document /firmware node. What should and should not go under it.
On p. 11, the property type is said to be a string list but the description says the type is a string.
The README links to https://github.com/devicetree-org/devicetree-specification-released
However GitHub tells me "This repository has been archived by the owner. It is now read-only." 😕
It also only contains version 0.1, whereas https://github.com/devicetree-org/devicetree-specification/releases says versions 0.2 and 0.3rc1 now exist!
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
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.
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.
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.
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.
On p. 40 it is said:
Each pair gives the physical address and size of a reserved memory region.
It is unclear whether the size
field unit is words or bytes.
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.
In the spec today we don't seem to make any comment about a phandle value of 0 or -1 being reserved for normal usage, and that such a value means the phandle reference should be ignored.
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.
The current Fig 2.3: Interrupt tree example is just blank in the PDF.
I am not sure how to fix it.
The HTML version of the document published on readthedocs.io doesn't show any information about the document version. There needs to be a clear banner to show when it is an unreleased version of the document.
http://devicetree-specification.readthedocs.io/en/latest/
There is no issue with the PDF copy on readthedocs.io because it already has a watermark showing the git commit id.
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.
Qualcomm currently does
/memory[@somewhere]/ddr_device_type
=
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.