Skip to content

Commit

Permalink
dt-bindings: bus: simple-pm-bus: convert bindings to json-schema
Browse files Browse the repository at this point in the history
Convert Simple Power-Managed Bus bindings documentation to json-schema.

As a side effect of this change only simple-pm-bus is used in example. A
follow-up patch will provide an example for the separately documented
Renesas Bus State Controller (BSC) that uses "renesas,bsc-sh73a0" and
"renesas,bsc" compat strings.

Signed-off-by: Simon Horman <[email protected]>
Signed-off-by: Rob Herring <[email protected]>
  • Loading branch information
horms authored and robherring committed Oct 1, 2019
1 parent 4b73b6f commit 785ae74
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 44 deletions.
44 changes: 0 additions & 44 deletions Documentation/devicetree/bindings/bus/simple-pm-bus.txt

This file was deleted.

75 changes: 75 additions & 0 deletions Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Simple Power-Managed Bus

maintainers:
- Geert Uytterhoeven <[email protected]>

description: |
A Simple Power-Managed Bus is a transparent bus that doesn't need a real
driver, as it's typically initialized by the boot loader.
However, its bus controller is part of a PM domain, or under the control
of a functional clock. Hence, the bus controller's PM domain and/or
clock must be enabled for child devices connected to the bus (either
on-SoC or externally) to function.
While "simple-pm-bus" follows the "simple-bus" set of properties, as
specified in the Devicetree Specification, it is not an extension of
"simple-bus".
properties:
$nodename:
pattern: "^bus(@[0-9a-f]+)?$"

compatible:
contains:
const: simple-pm-bus
description:
Shall contain "simple-pm-bus" in addition to a optional bus-specific
compatible strings defined in individual pm-bus bindings.

'#address-cells':
enum: [ 1, 2 ]

'#size-cells':
enum: [ 1, 2 ]

ranges: true

clocks: true
# Functional clocks
# Required if power-domains is absent, optional otherwise

power-domains:
# Required if clocks is absent, optional otherwise
minItems: 1

required:
- compatible
- '#address-cells'
- '#size-cells'
- ranges

anyOf:
- required:
- clocks
- required:
- power-domains

examples:
- |
#include <dt-bindings/clock/qcom,gcc-msm8996.h>
#include <dt-bindings/interrupt-controller/irq.h>
bus {
power-domains = <&gcc AGGRE0_NOC_GDSC>;
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
};

0 comments on commit 785ae74

Please sign in to comment.