On Wed, Oct 02, 2019 at 06:40:46PM +0200, Krzysztof Kozlowski wrote:
Convert generic PWM bindings to DT schema format using json-schema. The consumer bindings are split to separate file.
Signed-off-by: Krzysztof Kozlowski krzk@kernel.org
Changes since v2:
- Change also pwm-sprd.txt
Changes since v1:
- Indent example with four spaces (more readable),
- Change pattern for pwm nodes,
- Remove $ref from #cells.
diff --git a/Documentation/devicetree/bindings/pwm/pwm-consumers.yaml b/Documentation/devicetree/bindings/pwm/pwm-consumers.yaml new file mode 100644 index 000000000000..39c844fe6338 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/pwm-consumers.yaml @@ -0,0 +1,76 @@ +# SPDX-License-Identifier: GPL-2.0 +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/pwm-consumers.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Specifying PWM information for devices
+maintainers:
- Thierry Reding thierry.reding@gmail.com
+description: |
- PWM properties should be named "pwms". The exact meaning of each pwms
- property must be documented in the device tree binding for each device.
- An optional property "pwm-names" may contain a list of strings to label
- each of the PWM devices listed in the "pwms" property. If no "pwm-names"
- property is given, the name of the user node will be used as fallback.
- Drivers for devices that use more than a single PWM device can use the
- "pwm-names" property to map the name of the PWM device requested by the
- pwm_get() call to an index into the list given by the "pwms" property.
+properties:
- pwms:
- $ref: /schemas/types.yaml#/definitions/phandle-array
- description: |
Phandle to PWM controller node and pwm-specifier (controller specific).
pwm-specifier typically encodes the chip-relative PWM number and the PWM
period in nanoseconds.
Optionally, the pwm-specifier can encode a number of flags (defined in
<dt-bindings/pwm/pwm.h>) in a third cell:
- PWM_POLARITY_INVERTED: invert the PWM signal polarity
- pwm-names:
- $ref: /schemas/types.yaml#/definitions/string-array
- description:
A list of strings to label each of the PWM devices listed in the "pwms"
property. If no "pwm-names" property is given, the name of the user node
will be used as fallback.
+required:
- pwms
This schema is never applied because it has no 'select' which is only automatic for $nodename or compatible. You could include this from other schemas, but why? Any consumer still has to list these properties to define their specific constraints.
We already have a schema in dtschema for consumer side. It's just missing descriptions which needs relicensing from this.
+dependencies:
- pwm-names: [ pwms ]