-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dt-bindings: arm: keystone: Convert ti,sci to json schema
Convert the ti,sci to json schema for better checks and documentation. NOTE: This change does introduce a stricter naming convention for TI-SCI controller nodes. Signed-off-by: Nishanth Menon <[email protected]> Reviewed-by: Tero Kristo <[email protected]> Acked-by: Stephen Boyd <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Rob Herring <[email protected]>
- Loading branch information
1 parent
fda55c7
commit 5a9652f
Showing
2 changed files
with
129 additions
and
86 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
129 changes: 129 additions & 0 deletions
129
Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
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,129 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only or BSD-2-Clause) | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/arm/keystone/ti,sci.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: TI-SCI controller device node bindings | ||
|
||
maintainers: | ||
- Nishanth Menon <[email protected]> | ||
|
||
description: | | ||
Texas Instrument's processors including those belonging to Keystone generation | ||
of processors have separate hardware entity which is now responsible for the | ||
management of the System on Chip (SoC) system. These include various system | ||
level functions as well. | ||
An example of such an SoC is K2G, which contains the system control hardware | ||
block called Power Management Micro Controller (PMMC). This hardware block is | ||
initialized early into boot process and provides services to Operating Systems | ||
on multiple processors including ones running Linux. | ||
See http://processors.wiki.ti.com/index.php/TISCI for protocol definition. | ||
The TI-SCI node describes the Texas Instrument's System Controller entity node. | ||
This parent node may optionally have additional children nodes which describe | ||
specific functionality such as clocks, power domain, reset or additional | ||
functionality as may be required for the SoC. This hierarchy also describes the | ||
relationship between the TI-SCI parent node to the child node. | ||
properties: | ||
$nodename: | ||
pattern: "^system-controller@[0-9a-f]+$" | ||
|
||
compatible: | ||
oneOf: | ||
- description: System controller on TI 66AK2G SoC and other K3 SoCs | ||
items: | ||
- const: ti,k2g-sci | ||
- description: System controller on TI AM654 SoC | ||
items: | ||
- const: ti,am654-sci | ||
|
||
reg-names: | ||
description: | | ||
Specifies the debug messages memory mapped region that is optionally | ||
made available from TI-SCI controller. | ||
const: debug_messages | ||
|
||
reg: | ||
minItems: 1 | ||
|
||
mbox-names: | ||
description: | | ||
Specifies the mailboxes used to communicate with TI-SCI Controller | ||
made available from TI-SCI controller. | ||
items: | ||
- const: rx | ||
- const: tx | ||
|
||
mboxes: | ||
minItems: 2 | ||
|
||
ti,system-reboot-controller: | ||
description: Determines If system reboot can be triggered by SoC reboot | ||
type: boolean | ||
|
||
ti,host-id: | ||
$ref: /schemas/types.yaml#/definitions/uint32 | ||
description: | | ||
Value corresponding to the host ID assigned by Firmware | ||
for identification of host processing entities such as virtual machines. | ||
power-controller: | ||
type: object | ||
$ref: /schemas/soc/ti/sci-pm-domain.yaml# | ||
|
||
clock-controller: | ||
type: object | ||
$ref: /schemas/clock/ti,sci-clk.yaml# | ||
|
||
reset-controller: | ||
type: object | ||
$ref: /schemas/reset/ti,sci-reset.yaml# | ||
|
||
required: | ||
- compatible | ||
- mbox-names | ||
- mboxes | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
pmmc: system-controller@2921800 { | ||
compatible = "ti,k2g-sci"; | ||
ti,system-reboot-controller; | ||
mbox-names = "rx", "tx"; | ||
mboxes= <&msgmgr 5 2>, | ||
<&msgmgr 0 0>; | ||
reg-names = "debug_messages"; | ||
reg = <0x02921800 0x800>; | ||
}; | ||
- | | ||
dmsc: system-controller@44083000 { | ||
compatible = "ti,k2g-sci"; | ||
ti,host-id = <12>; | ||
mbox-names = "rx", "tx"; | ||
mboxes= <&secure_proxy_main 11>, | ||
<&secure_proxy_main 13>; | ||
reg-names = "debug_messages"; | ||
reg = <0x44083000 0x1000>; | ||
k3_pds: power-controller { | ||
compatible = "ti,sci-pm-domain"; | ||
#power-domain-cells = <2>; | ||
}; | ||
k3_clks: clock-controller { | ||
compatible = "ti,k2g-sci-clk"; | ||
#clock-cells = <2>; | ||
}; | ||
k3_reset: reset-controller { | ||
compatible = "ti,sci-reset"; | ||
#reset-cells = <2>; | ||
}; | ||
}; |