dt-bindings: soc: ti: Convert ti,sci-pm-domain to json schema
Convert the ti,sci-pm-domain to json schema for better checks and documentation. Differences being: - Drop consumer example as they are documented in the corresponding bindings themselves. - Drop phandle description for reset consumer or cell definition as it is redundant. Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Tero Kristo <kristo@kernel.org> Acked-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/20210426155457.21221-4-nm@ti.com Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
a7dbfa6f38
commit
fda55c7256
2 changed files with 59 additions and 65 deletions
|
@ -1,65 +0,0 @@
|
|||
Texas Instruments TI-SCI Generic Power Domain
|
||||
---------------------------------------------
|
||||
|
||||
Some TI SoCs contain a system controller (like the PMMC, etc...) that is
|
||||
responsible for controlling the state of the IPs that are present.
|
||||
Communication between the host processor running an OS and the system
|
||||
controller happens through a protocol known as TI-SCI [1].
|
||||
|
||||
[1] Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
|
||||
|
||||
PM Domain Node
|
||||
==============
|
||||
The PM domain node represents the global PM domain managed by the PMMC, which
|
||||
in this case is the implementation as documented by the generic PM domain
|
||||
bindings in Documentation/devicetree/bindings/power/power-domain.yaml. Because
|
||||
this relies on the TI SCI protocol to communicate with the PMMC it must be a
|
||||
child of the pmmc node.
|
||||
|
||||
Required Properties:
|
||||
--------------------
|
||||
- compatible: should be "ti,sci-pm-domain"
|
||||
- #power-domain-cells: Can be one of the following:
|
||||
1: Containing the device id of each node
|
||||
2: First entry should be device id
|
||||
Second entry should be one of the floowing:
|
||||
TI_SCI_PD_EXCLUSIVE: To allow device to be
|
||||
exclusively controlled by
|
||||
the requesting hosts.
|
||||
TI_SCI_PD_SHARED: To allow device to be shared
|
||||
by multiple hosts.
|
||||
|
||||
Example (K2G):
|
||||
-------------
|
||||
pmmc: pmmc {
|
||||
compatible = "ti,k2g-sci";
|
||||
...
|
||||
|
||||
k2g_pds: power-controller {
|
||||
compatible = "ti,sci-pm-domain";
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
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
|
||||
along with an index representing the device id to be passed to the PMMC
|
||||
for device control.
|
||||
|
||||
Required Properties:
|
||||
--------------------
|
||||
- power-domains: phandle pointing to the corresponding PM domain node
|
||||
and an ID representing the device.
|
||||
|
||||
See http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data for the list
|
||||
of valid identifiers for k2g.
|
||||
|
||||
Example (K2G):
|
||||
--------------------
|
||||
uart0: serial@2530c00 {
|
||||
compatible = "ns16550a";
|
||||
...
|
||||
power-domains = <&k2g_pds 0x002c>;
|
||||
};
|
59
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
Normal file
59
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
Normal file
|
@ -0,0 +1,59 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/ti/sci-pm-domain.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI-SCI generic power domain node bindings
|
||||
|
||||
maintainers:
|
||||
- Nishanth Menon <nm@ti.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/power/power-domain.yaml#
|
||||
|
||||
description: |
|
||||
Some TI SoCs contain a system controller (like the Power Management Micro
|
||||
Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
|
||||
the state of the various hardware modules present on the SoC. Communication
|
||||
between the host processor running an OS and the system controller happens
|
||||
through a protocol called TI System Control Interface (TI-SCI protocol).
|
||||
|
||||
This PM domain node represents the global PM domain managed by the TI-SCI
|
||||
controller. Since this relies on the TI SCI protocol to communicate with
|
||||
the TI-SCI controller, it must be a child of the TI-SCI controller node.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: ti,sci-pm-domain
|
||||
|
||||
"#power-domain-cells":
|
||||
enum: [1, 2]
|
||||
description:
|
||||
The two cells represent values that the TI-SCI controller defines.
|
||||
|
||||
The first cell should contain the device ID.
|
||||
|
||||
The second cell, if cell-value is 2, should be one of the following
|
||||
TI_SCI_PD_EXCLUSIVE - Allows the device to be exclusively controlled
|
||||
or
|
||||
TI_SCI_PD_SHARED - Allows the device to be shared by multiple hosts.
|
||||
Please refer to dt-bindings/soc/ti,sci_pm_domain.h for the definitions.
|
||||
|
||||
Please see http://processors.wiki.ti.com/index.php/TISCI for
|
||||
protocol documentation for the values to be used for different devices.
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
k2g_pds: power-controller {
|
||||
compatible = "ti,sci-pm-domain";
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
- |
|
||||
k3_pds: power-controller {
|
||||
compatible = "ti,sci-pm-domain";
|
||||
#power-domain-cells = <2>;
|
||||
};
|
Loading…
Add table
Reference in a new issue