devicetree-spec.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [DTSpec PATCH v3] Add items to Devicetree Source Format chapter
@ 2016-06-08 17:44 Frank Rowand
       [not found] ` <57585979.1050402-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Frank Rowand @ 2016-06-08 17:44 UTC (permalink / raw)
  To: devicetree-spec-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Rob Herring
  Cc: David Gibson

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 v3
  - moved relational operators out of logical operators list into a
    relational operators list

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 |   75 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 74 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,53 @@ 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
+
+    &&   and
+    ||   or
+    !    not
+
+::
+
+    Relational operators
+
+    <    less than
+    >    greater than
+    <=   less than or equal
+    >=   greater than or equal
+    ==   equal
+    !=   not equal
+
+::
+
+    Ternary operators
+
+    ?:   (condition ? value_if_true : value_if_false)
 
 -  A 64-bit value is represented with two 32-bit cells. Example:
 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-06-14 14:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-08 17:44 [DTSpec PATCH v3] Add items to Devicetree Source Format chapter Frank Rowand
     [not found] ` <57585979.1050402-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-06-14 14:16   ` Rob Herring

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 NNTP newsgroup(s).