From: Frank Rowand <frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: [DTSpec PATCH v2] Add items to Devicetree Source Format chapter
Date: Tue, 7 Jun 2016 13:49:59 -0700 [thread overview]
Message-ID: <57573377.4010001@gmail.com> (raw)
From: Frank Rowand <frank.rowand-mEdOJwZ7QcZBDgjK7y7TUQ@public.gmane.org>
Add items to Devicetree Source Format chapter
- Add naming convention for DTS files and DTS include files
- Add /include/ compiler directive
- Add ";" to end of node definition
- Add /delete-node/ and /delete-property/
- Add arithmetic, bitwise, logical, and ternary expressions
Note that cpp directives are not included in this patch, and
are not yet specified in this appendix.
Signed-off-by: Frank Rowand <frank.rowand-mEdOJwZ7QcZBDgjK7y7TUQ@public.gmane.org>
---
changes in v2
- arithmetic operators "and", "or" were incorrectly listed as as bitwise
- thus bitwise operators "and", "or" were incorrectly shown
- "exclusive or" operator added
- logical and arithmetic "not" operators added
- ternary operator added
- moved shift operators from arithmetic to bitwise
source/source-language.rst | 70 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 69 insertions(+), 1 deletion(-)
Index: b/source/source-language.rst
===================================================================
--- a/source/source-language.rst
+++ b/source/source-language.rst
@@ -9,6 +9,19 @@ devicetree in the form expected by the k
not a formal syntax definition of DTS, but describes the basic
constructs used to represent devicetrees.
+The name of DTS files should end with ".dts".
+
+Compiler directives
+-------------------
+
+Other source files can be included from a DTS file. The name of include
+files should end with ".dtsi". Included files can in turn include
+additional files.
+
+::
+
+ /include/ "FILE"
+
Node and property definitions
-----------------------------
@@ -21,11 +34,18 @@ preceded by a label.
[label:] node-name[@unit-address] {
[properties definitions]
[child nodes]
- }
+ };
Nodes may contain property definitions and/or child node definitions. If
both are present, properties shall come before child nodes.
+Previously defined nodes may be deleted.
+
+::
+
+ /delete-node/ node-name;
+ /delete-node/ &label;
+
Property definitions are name value pairs in the form:
::
@@ -39,6 +59,12 @@ form:
[label:] property-name;
+Previously defined properties may be deleted.
+
+::
+
+ /delete-property/ property-name;
+
Property values may be defined as an array of 32-bit integer cells, as
null-terminated strings, as bytestrings or a combination of these.
@@ -48,6 +74,48 @@ null-terminated strings, as bytestrings
::
interrupts = <17 0xc>;
+- values may be represented as arithmetic, bitwise, or logical expressions
+ within parenthesis.
+
+::
+
+ Arithmetic operators
+
+ + add
+ - subtract
+ * multiply
+ / divide
+
+::
+
+ Bitwise operators
+
+ & and
+ | or
+ ^ exclusive or
+ ~ not
+ << left shift
+ >> right shift
+
+::
+
+ Logical operators
+
+ < less than
+ > greater than
+ <= less than or equal
+ >= greater than or equal
+ == equal
+ != not equal
+ && and
+ || or
+ ! not
+
+::
+
+ Ternary operators
+
+ ?: (condition ? value_if_true : value_if_false)
- A 64-bit value is represented with two 32-bit cells. Example:
next reply other threads:[~2016-06-07 20:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 20:49 Frank Rowand [this message]
[not found] ` <57573377.4010001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-07 23:50 ` [DTSpec PATCH v2] Add items to Devicetree Source Format chapter David Gibson
[not found] ` <20160607235013.GP9226-RXTfZT5YzpxwFLYp8hBm2A@public.gmane.org>
2016-06-08 17:40 ` Frank Rowand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57573377.4010001@gmail.com \
--to=frowand.list-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).