From: BiscuitBobby <simeddon@xxxxxxxxx> Convert the generic hwspinlock bindings to DT schema. --- This is my first time converting bindings to dt schema, please let me know if I have overlooked anything. .../devicetree/bindings/hwlock/hwlock.txt | 59 ----------------- .../devicetree/bindings/hwlock/hwlock.yaml | 65 +++++++++++++++++++ 2 files changed, 65 insertions(+), 59 deletions(-) delete mode 100644 Documentation/devicetree/bindings/hwlock/hwlock.txt create mode 100644 Documentation/devicetree/bindings/hwlock/hwlock.yaml diff --git a/Documentation/devicetree/bindings/hwlock/hwlock.txt b/Documentation/devicetree/bindings/hwlock/hwlock.txt deleted file mode 100644 index 085d1f5c916a..000000000000 --- a/Documentation/devicetree/bindings/hwlock/hwlock.txt +++ /dev/null @@ -1,59 +0,0 @@ -Generic hwlock bindings -======================= - -Generic bindings that are common to all the hwlock platform specific driver -implementations. - -Please also look through the individual platform specific hwlock binding -documentations for identifying any additional properties specific to that -platform. - -hwlock providers: -================= - -Required properties: -- #hwlock-cells: Specifies the number of cells needed to represent a - specific lock. - -hwlock users: -============= - -Consumers that require specific hwlock(s) should specify them using the -property "hwlocks", and an optional "hwlock-names" property. - -Required properties: -- hwlocks: List of phandle to a hwlock provider node and an - associated hwlock args specifier as indicated by - #hwlock-cells. The list can have just a single hwlock - or multiple hwlocks, with each hwlock represented by - a phandle and a corresponding args specifier. - -Optional properties: -- hwlock-names: List of hwlock name strings defined in the same order - as the hwlocks, with one name per hwlock. Consumers can - use the hwlock-names to match and get a specific hwlock. - - -1. Example of a node using a single specific hwlock: - -The following example has a node requesting a hwlock in the bank defined by -the node hwlock1. hwlock1 is a hwlock provider with an argument specifier -of length 1. - - node { - ... - hwlocks = <&hwlock1 2>; - ... - }; - -2. Example of a node using multiple specific hwlocks: - -The following example has a node requesting two hwlocks, a hwlock within -the hwlock device node 'hwlock1' with #hwlock-cells value of 1, and another -hwlock within the hwlock device node 'hwlock2' with #hwlock-cells value of 2. - - node { - ... - hwlocks = <&hwlock1 2>, <&hwlock2 0 3>; - ... - }; diff --git a/Documentation/devicetree/bindings/hwlock/hwlock.yaml b/Documentation/devicetree/bindings/hwlock/hwlock.yaml new file mode 100644 index 000000000000..2492fdad3c6e --- /dev/null +++ b/Documentation/devicetree/bindings/hwlock/hwlock.yaml @@ -0,0 +1,65 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/hwlock/hwlock.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic Hardware Lock (hwlock) + +description: | + Generic bindings that are common to all the hwlock platform specific driver + implementations. + Please also look through the individual platform specific hwlock binding + documentations for identifying any additional properties specific to that + platform. + +maintainers: + - Bjorn Andersson <andersson@xxxxxxxxxx> + - Rob Herring <robh@xxxxxxxxxx> + - Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx> + - Conor Dooley <conor+dt@xxxxxxxxxx> + +properties: + $nodename: + pattern: "^hwlock(@.*)?" + + "#hwlock-cells": + description: | + Specifies the number of cells needed to represent a specific lock. + minimum: 1 + + hwlocks: + description: | + List of phandle to a hwlock provider node and an associated hwlock args + specifier as indicated by #hwlock-cells. The list can have just a single + hwlock or multiple hwlocks, with each hwlock represented by a phandle and + a corresponding args specifier. + + hwlock-names: + description: | + List of hwlock name strings defined in the same order as the hwlocks, + with one name per hwlock. Consumers can use the hwlock-names to match + and get a specific hwlock. + +patternProperties: + "^hwlock@[0-9a-f]+$": + type: object + description: Hardware lock provider node + +required: + - "#hwlock-cells" + +additionalProperties: true + +examples: + # Example 1: A node using a single specific hwlock + - | + node { + hwlocks = <&hwlock1 2>; + }; + + # Example 2: A node using multiple specific hwlocks + - | + node { + hwlocks = <&hwlock1 2>, <&hwlock2 0 3>; + }; -- 2.48.1