dt-bindings: soc: ti: wkup_m3_ipc: convert bindings to json-schema
Convert the wkup_m3_ipc bindings documentation to json-schema. Link: https://lore.kernel.org/linux-arm-kernel/20220221125522.l3tntb6i7yjxp6vb@flattered/ Suggested-by: Nishanth Menon <nm@ti.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Drew Fustini <dfustini@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220407154618.2297171-1-dfustini@baylibre.com
This commit is contained in:
committed by
Rob Herring
parent
0bd1767942
commit
c9cfafc51e
81
Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml
Normal file
81
Documentation/devicetree/bindings/soc/ti/wkup-m3-ipc.yaml
Normal file
@@ -0,0 +1,81 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/ti/wkup-m3-ipc.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Wakeup M3 IPC device
|
||||
|
||||
maintainers:
|
||||
- Dave Gerlach <d-gerlach@ti.com>
|
||||
- Drew Fustini <dfustini@baylibre.com>
|
||||
|
||||
description: |+
|
||||
The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
|
||||
(commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
|
||||
that cannot be controlled from the MPU, like suspend/resume and certain deep
|
||||
C-states for CPU Idle. Once the wkup_m3_ipc driver uses the wkup_m3_rproc driver
|
||||
to boot the wkup_m3, it handles communication with the CM3 using IPC registers
|
||||
present in the SoC's control module and a mailbox. The wkup_m3_ipc exposes an
|
||||
API to allow the SoC PM code to execute specific PM tasks.
|
||||
|
||||
Wkup M3 Device Node
|
||||
====================
|
||||
A wkup_m3_ipc device node is used to represent the IPC registers within an
|
||||
SoC.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,am3352-wkup-m3-ipc # for AM33xx SoCs
|
||||
- ti,am4372-wkup-m3-ipc # for AM43xx SoCs
|
||||
|
||||
reg:
|
||||
description:
|
||||
The IPC register address space to communicate with the Wakeup M3 processor
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
description: wkup_m3 interrupt that signals the MPU
|
||||
maxItems: 1
|
||||
|
||||
ti,rproc:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle to the wkup_m3 rproc node so the IPC driver can boot it
|
||||
|
||||
mboxes:
|
||||
description:
|
||||
phandles used by IPC framework to get correct mbox
|
||||
channel for communication. Must point to appropriate
|
||||
mbox_wkupm3 child node.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- ti,rproc
|
||||
- mboxes
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
mailbox: mailbox {
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
wkup_m3_ipc: wkup_m3_ipc@1324 {
|
||||
compatible = "ti,am3352-wkup-m3-ipc";
|
||||
reg = <0x1324 0x24>;
|
||||
interrupts = <78>;
|
||||
ti,rproc = <&wkup_m3>;
|
||||
mboxes = <&mailbox &mbox_wkupm3>;
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -1,57 +0,0 @@
|
||||
Wakeup M3 IPC Driver
|
||||
=====================
|
||||
|
||||
The TI AM33xx and AM43xx family of devices use a small Cortex M3 co-processor
|
||||
(commonly referred to as Wakeup M3 or CM3) to help with various low power tasks
|
||||
that cannot be controlled from the MPU, like suspend/resume and certain deep
|
||||
C-states for CPU Idle. Once the wkup_m3_ipc driver uses the wkup_m3_rproc driver
|
||||
to boot the wkup_m3, it handles communication with the CM3 using IPC registers
|
||||
present in the SoC's control module and a mailbox. The wkup_m3_ipc exposes an
|
||||
API to allow the SoC PM code to execute specific PM tasks.
|
||||
|
||||
Wkup M3 Device Node:
|
||||
====================
|
||||
A wkup_m3_ipc device node is used to represent the IPC registers within an
|
||||
SoC.
|
||||
|
||||
Required properties:
|
||||
--------------------
|
||||
- compatible: Should be,
|
||||
"ti,am3352-wkup-m3-ipc" for AM33xx SoCs
|
||||
"ti,am4372-wkup-m3-ipc" for AM43xx SoCs
|
||||
- reg: Contains the IPC register address space to communicate
|
||||
with the Wakeup M3 processor
|
||||
- interrupts: Contains the interrupt information for the wkup_m3
|
||||
interrupt that signals the MPU.
|
||||
- ti,rproc: phandle to the wkup_m3 rproc node so the IPC driver
|
||||
can boot it.
|
||||
- mboxes: phandles used by IPC framework to get correct mbox
|
||||
channel for communication. Must point to appropriate
|
||||
mbox_wkupm3 child node.
|
||||
|
||||
Example:
|
||||
--------
|
||||
/* AM33xx */
|
||||
l4_wkup: l4_wkup@44c00000 {
|
||||
...
|
||||
|
||||
scm: scm@210000 {
|
||||
compatible = "ti,am3-scm", "simple-bus";
|
||||
reg = <0x210000 0x2000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x210000 0x2000>;
|
||||
|
||||
...
|
||||
|
||||
wkup_m3_ipc: wkup_m3_ipc@1324 {
|
||||
compatible = "ti,am3352-wkup-m3-ipc";
|
||||
reg = <0x1324 0x24>;
|
||||
interrupts = <78>;
|
||||
ti,rproc = <&wkup_m3>;
|
||||
mboxes = <&mailbox &mbox_wkupm3>;
|
||||
};
|
||||
|
||||
...
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user