dt-bindings: Add schema for known '/aliases' property names
diff mbox series

Message ID 20210413221324.2261097-1-robh@kernel.org
State New
Headers show
Series
  • dt-bindings: Add schema for known '/aliases' property names
Related show

Commit Message

Rob Herring April 13, 2021, 10:13 p.m. UTC
'/aliases' node property names haven't ever been documented. There's
some names such as 'serial' which are pretty much standard. Then there
are other (mostly) platform specific names which sneak in as a way to
have indices for devices. Let's add a schema so that any new alias names
can be reviewed.

The list of property names consists of common aliases which are widely
used and ones which are used by the kernel, but are marked deprecated.
New users of deprecated names are allowed, but discouraged. There's
still more names which are present in DT files, but not used in the
kernel or u-boot (it's not trivial to check u-boot usage though). These
will generate warnings.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../devicetree/bindings/aliases.yaml          | 101 ++++++++++++++++++
 1 file changed, 101 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/aliases.yaml

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/aliases.yaml b/Documentation/devicetree/bindings/aliases.yaml
new file mode 100644
index 000000000000..223adbe4a2e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/aliases.yaml
@@ -0,0 +1,101 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/aliases.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: '/aliases' node properties
+
+maintainers:
+  - Rob Herring <robh@kernel.org>
+
+description: |
+  This schema defines the list of known alias names.
+
+properties:
+  $nodename:
+    const: aliases
+
+patternProperties:
+  '^ethernet[0-9]+$': true
+  '^i2c[0-9]+$': true
+  '^mmc[0-9]+$': true
+  '^serial[0-9]+$': true
+  '^spi[0-9]+$': true
+  '^rtc[0-9]+$': true
+  '^watchdog[0-9]+$': true
+  '^usb[0-9]+$': true
+
+  # Deprecated aliases in use. Don't add to this list.
+  '^display[0-9]+$':
+    deprecated: true
+
+  '^dmc[0-9]+$':
+    deprecated: true
+
+  '^fimc[0-9]+$':
+    deprecated: true
+
+  '^fimc-lite[0-9]+$':
+    deprecated: true
+
+  '^fiu[0-9]+$':
+    deprecated: true
+
+  '^gpio[0-9]+$':
+    deprecated: true
+
+  '^gsc[0-9]+$':
+    deprecated: true
+
+  '^hsuart[0-9]+$':
+    deprecated: true
+
+  '^ipu[0-9]+$':
+    deprecated: true
+
+  '^mdio-gpio[0-9]+$':
+    deprecated: true
+
+  '^mshc[0-9]+$':
+    deprecated: true
+
+  '^mu[0-9]+$':
+    deprecated: true
+
+  '^phy[0-9]+$':
+    deprecated: true
+
+  '^pinctrl[0-9]+$':
+    deprecated: true
+
+  '^rproc[0-9]+$':
+    deprecated: true
+
+  '^sai[0-9]+$':
+    deprecated: true
+
+  '^saif[0-9]+$':
+    deprecated: true
+
+  '^ssc[0-9]+$':
+    deprecated: true
+
+  '^stmpe-i2c[0-9]+$':
+    deprecated: true
+
+  '^timer[0-9]+$':
+    deprecated: true
+
+  '^tmuctrl[0-9]+$':
+    deprecated: true
+
+  '^usbdrdphy[0-9]+$':
+    deprecated: true
+
+  '^usbphy[0-9]+$':
+    deprecated: true
+
+additionalProperties: false
+
+...