Ken Van Hoeylandt 4fe4faf422
Devicetree updates (#481)
* **New Features**
  * Added I2S audio support (i2s0) for LilyGO TLora Pager, M5Stack Cardputer (standard & Adv), M5Stack Core2, M5Stack CoreS3, and Guition JC1060P; moved i2s0 entry in LilyGO TDeck.

* **Chores**
  * Device-tree grammar now separately recognizes and ignores line (//) and block (/* */) comments.
  * Added reference docs to severa DTS files

* **Documentation**
  * Reworked ideas/roadmap
2026-02-05 19:31:47 +01:00

49 lines
1.1 KiB
Plaintext

%import common.DIGIT -> DIGIT
%import common.LETTER -> LETTER
%import common.HEXDIGIT -> HEXDIGIT
%import common.SIGNED_INT -> SIGNED_INT
%import common.WS -> WS
%import common.SIGNED_NUMBER -> SIGNED_NUMBER
%import common.ESCAPED_STRING -> ESCAPED_STRING
%ignore WS
// Comment
SINGLE_LINE_COMMENT: /\/\/[^\n]*/
MULTI_LINE_COMMENT: /\/\*([^*]|\*+[^*\/])*\*+\//
%ignore SINGLE_LINE_COMMENT
%ignore MULTI_LINE_COMMENT
// Boolean
BOOLEAN: "true" | "false"
// Main
INCLUDE_C: /#include <[\w\/.\-]+>/
PROPERTY_NAME: /#?[a-zA-Z0-9_\-,]+/
QUOTE: "\""
QUOTED_TEXT: QUOTE /[^"]+/ QUOTE
quoted_text_array: QUOTED_TEXT ("," " "* QUOTED_TEXT)+
HEX_NUMBER: "0x" HEXDIGIT+
NUMBER: SIGNED_NUMBER | HEX_NUMBER
PHANDLE: /&[0-9a-zA-Z\-]+/
C_VARIABLE: /[0-9a-zA-Z_]+/
VALUE: NUMBER | PHANDLE | C_VARIABLE
value: VALUE
values: VALUE+
array: NUMBER+
property_value: quoted_text_array | QUOTED_TEXT | "<" value ">" | "<" values ">" | "[" array "]"
device_property: PROPERTY_NAME ["=" property_value] ";"
DEVICE_IDENTIFIER: /[a-zA-Z0-9_\-\/@]+/
device: DEVICE_IDENTIFIER "{" (device | device_property)* "};"
dts_version: /[0-9a-zA-Z\-]+/
start: "/" dts_version "/;" INCLUDE_C* device+