Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Nishanth Menon and committed by
Rob Herring
fda55c72 a7dbfa6f

+59 -65
-65
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
··· 1 - Texas Instruments TI-SCI Generic Power Domain 2 - --------------------------------------------- 3 - 4 - Some TI SoCs contain a system controller (like the PMMC, etc...) that is 5 - responsible for controlling the state of the IPs that are present. 6 - Communication between the host processor running an OS and the system 7 - controller happens through a protocol known as TI-SCI [1]. 8 - 9 - [1] Documentation/devicetree/bindings/arm/keystone/ti,sci.txt 10 - 11 - PM Domain Node 12 - ============== 13 - The PM domain node represents the global PM domain managed by the PMMC, which 14 - in this case is the implementation as documented by the generic PM domain 15 - bindings in Documentation/devicetree/bindings/power/power-domain.yaml. Because 16 - this relies on the TI SCI protocol to communicate with the PMMC it must be a 17 - child of the pmmc node. 18 - 19 - Required Properties: 20 - -------------------- 21 - - compatible: should be "ti,sci-pm-domain" 22 - - #power-domain-cells: Can be one of the following: 23 - 1: Containing the device id of each node 24 - 2: First entry should be device id 25 - Second entry should be one of the floowing: 26 - TI_SCI_PD_EXCLUSIVE: To allow device to be 27 - exclusively controlled by 28 - the requesting hosts. 29 - TI_SCI_PD_SHARED: To allow device to be shared 30 - by multiple hosts. 31 - 32 - Example (K2G): 33 - ------------- 34 - pmmc: pmmc { 35 - compatible = "ti,k2g-sci"; 36 - ... 37 - 38 - k2g_pds: power-controller { 39 - compatible = "ti,sci-pm-domain"; 40 - #power-domain-cells = <1>; 41 - }; 42 - }; 43 - 44 - PM Domain Consumers 45 - =================== 46 - Hardware blocks belonging to a PM domain should contain a "power-domains" 47 - property that is a phandle pointing to the corresponding PM domain node 48 - along with an index representing the device id to be passed to the PMMC 49 - for device control. 50 - 51 - Required Properties: 52 - -------------------- 53 - - power-domains: phandle pointing to the corresponding PM domain node 54 - and an ID representing the device. 55 - 56 - See http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data for the list 57 - of valid identifiers for k2g. 58 - 59 - Example (K2G): 60 - -------------------- 61 - uart0: serial@2530c00 { 62 - compatible = "ns16550a"; 63 - ... 64 - power-domains = <&k2g_pds 0x002c>; 65 - };
+59
Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/soc/ti/sci-pm-domain.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: TI-SCI generic power domain node bindings 8 + 9 + maintainers: 10 + - Nishanth Menon <nm@ti.com> 11 + 12 + allOf: 13 + - $ref: /schemas/power/power-domain.yaml# 14 + 15 + description: | 16 + Some TI SoCs contain a system controller (like the Power Management Micro 17 + Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling 18 + the state of the various hardware modules present on the SoC. Communication 19 + between the host processor running an OS and the system controller happens 20 + through a protocol called TI System Control Interface (TI-SCI protocol). 21 + 22 + This PM domain node represents the global PM domain managed by the TI-SCI 23 + controller. Since this relies on the TI SCI protocol to communicate with 24 + the TI-SCI controller, it must be a child of the TI-SCI controller node. 25 + 26 + properties: 27 + compatible: 28 + const: ti,sci-pm-domain 29 + 30 + "#power-domain-cells": 31 + enum: [1, 2] 32 + description: 33 + The two cells represent values that the TI-SCI controller defines. 34 + 35 + The first cell should contain the device ID. 36 + 37 + The second cell, if cell-value is 2, should be one of the following 38 + TI_SCI_PD_EXCLUSIVE - Allows the device to be exclusively controlled 39 + or 40 + TI_SCI_PD_SHARED - Allows the device to be shared by multiple hosts. 41 + Please refer to dt-bindings/soc/ti,sci_pm_domain.h for the definitions. 42 + 43 + Please see http://processors.wiki.ti.com/index.php/TISCI for 44 + protocol documentation for the values to be used for different devices. 45 + 46 + additionalProperties: false 47 + 48 + examples: 49 + - | 50 + k2g_pds: power-controller { 51 + compatible = "ti,sci-pm-domain"; 52 + #power-domain-cells = <1>; 53 + }; 54 + 55 + - | 56 + k3_pds: power-controller { 57 + compatible = "ti,sci-pm-domain"; 58 + #power-domain-cells = <2>; 59 + };