forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: bus: simple-pm-bus: convert bindings to json-schema
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
1 parent
4b73b6f
commit 785ae74
Showing
2 changed files
with
75 additions
and
44 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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; | ||
}; |