dt-bindings: power: sysc-rmobile: Convert to json-schema

Convert the Renesas R-Mobile System Controller (SYSC) Device Tree
binding documentation to json-schema.

Document missing properties.
Drop consumer example, as it does not belong here.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/22150cfd2ef9d57e84eb53a5dfed8379627a9423.1620119210.git.geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Geert Uytterhoeven 2021-05-04 11:09:00 +02:00 committed by Rob Herring
parent 4fa9ee2e65
commit 4d92239b65
2 changed files with 121 additions and 100 deletions

View File

@ -1,100 +0,0 @@
DT bindings for the Renesas R-Mobile System Controller
== System Controller Node ==
The R-Mobile System Controller provides the following functions:
- Boot mode management,
- Reset generation,
- Power management.
Required properties:
- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as
fallback.
Examples with soctypes are:
- "renesas,sysc-r8a73a4" (R-Mobile APE6)
- "renesas,sysc-r8a7740" (R-Mobile A1)
- "renesas,sysc-sh73a0" (SH-Mobile AG5)
- reg: Two address start and address range blocks for the device:
- The first block refers to the normally accessible registers,
- the second block refers to the registers protected by the HPB
semaphore.
Optional nodes:
- pm-domains: This node contains a hierarchy of PM domain nodes, which should
match the Power Area Hierarchy in the Power Domain Specifications section of
the device's datasheet.
== PM Domain Nodes ==
Each of the PM domain nodes represents a PM domain, as documented by the
generic PM domain bindings in
Documentation/devicetree/bindings/power/power-domain.yaml.
The nodes should be named by the real power area names, and thus their names
should be unique.
Required properties:
- #power-domain-cells: Must be 0.
Optional properties:
- reg: If the PM domain is not always-on, this property must contain the bit
index number for the corresponding power area in the various Power
Control and Status Registers. The parent's node must contain the
following two properties:
- #address-cells: Must be 1,
- #size-cells: Must be 0.
If the PM domain is always-on, this property must be omitted.
Example:
This shows a subset of the r8a7740 PM domain hierarchy, containing the
C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain,
which is a subdomain of A4S.
sysc: system-controller@e6180000 {
compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
pm-domains {
pd_c5: c5 {
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <0>;
pd_a4s: a4s@10 {
reg = <10>;
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <0>;
pd_a3sp: a3sp@11 {
reg = <11>;
#power-domain-cells = <0>;
};
};
pd_a4su: a4su@20 {
reg = <20>;
#power-domain-cells = <0>;
};
};
};
};
== PM Domain Consumers ==
Hardware blocks belonging to a PM domain should contain a "power-domains"
property that is a phandle pointing to the corresponding PM domain node.
Example:
tpu: pwm@e6600000 {
compatible = "renesas,tpu-r8a7740", "renesas,tpu";
reg = <0xe6600000 0x100>;
clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
power-domains = <&pd_a3sp>;
#pwm-cells = <3>;
};

View File

@ -0,0 +1,121 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/renesas,sysc-rmobile.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas R-Mobile System Controller
maintainers:
- Geert Uytterhoeven <geert+renesas@glider.be>
- Magnus Damm <magnus.damm@gmail.com>
description: |
The R-Mobile System Controller provides the following functions:
- Boot mode management,
- Reset generation,
- Power management.
properties:
compatible:
items:
- enum:
- renesas,sysc-r8a73a4 # R-Mobile APE6
- renesas,sysc-r8a7740 # R-Mobile A1
- renesas,sysc-sh73a0 # SH-Mobile AG5
- const: renesas,sysc-rmobile # Generic SH/R-Mobile
reg:
items:
- description: Normally accessible register block
- description: Register block protected by the HPB semaphore
pm-domains:
type: object
description: |
This node contains a hierarchy of PM domain nodes, which should match the
Power Area Hierarchy in the Power Domain Specifications section of the
device's datasheet.
properties:
'#address-cells':
const: 1
'#size-cells':
const: 0
additionalProperties:
$ref: "#/$defs/pd-node"
required:
- compatible
- reg
- pm-domains
additionalProperties: false
$defs:
pd-node:
type: object
description:
PM domain node representing a PM domain. This node hould be named by
the real power area name, and thus its name should be unique.
properties:
reg:
maxItems: 1
description:
If the PM domain is not always-on, this property must contain the
bit index number for the corresponding power area in the various
Power Control and Status Registers.
If the PM domain is always-on, this property must be omitted.
'#address-cells':
const: 1
'#size-cells':
const: 0
'#power-domain-cells':
const: 0
required:
- '#power-domain-cells'
additionalProperties:
$ref: "#/$defs/pd-node"
examples:
- |
// This shows a subset of the r8a7740 PM domain hierarchy, containing the
// C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP
// domain, which is a subdomain of A4S.
sysc: system-controller@e6180000 {
compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
pm-domains {
pd_c5: c5 {
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <0>;
pd_a4s: a4s@10 {
reg = <10>;
#address-cells = <1>;
#size-cells = <0>;
#power-domain-cells = <0>;
pd_a3sp: a3sp@11 {
reg = <11>;
#power-domain-cells = <0>;
};
};
pd_a4su: a4su@20 {
reg = <20>;
#power-domain-cells = <0>;
};
};
};
};