diff mbox series

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

Message ID 20210413221324.2261097-1-robh@kernel.org
State Changes Requested, archived
Headers show
Series dt-bindings: Add schema for known '/aliases' property names | expand

Checks

Context Check Description
robh/checkpatch success
robh/dt-meta-schema fail build log

Commit Message

Rob Herring (Arm) 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
diff mbox series

Patch

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
+
+...