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 <[email protected]>
Signed-off-by: Drew Fustini <[email protected]>
---
.../bindings/soc/ti/wkup_m3_ipc.txt | 57 -------------
.../bindings/soc/ti/wkup_m3_ipc.yaml | 81 +++++++++++++++++++
2 files changed, 81 insertions(+), 57 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt
create mode 100644 Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.yaml
Changes in v2:
- removed unnecessary line breaks and shorten property descriptions
diff --git a/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt b/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt
deleted file mode 100644
index 401550487ed6..000000000000
--- a/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.txt
+++ /dev/null
@@ -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>;
- };
-
- ...
- };
- };
diff --git a/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.yaml b/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.yaml
new file mode 100644
index 000000000000..50cc89c2d1c3
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/ti/wkup_m3_ipc.yaml
@@ -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 <[email protected]>
+ - Drew Fustini <[email protected]>
+
+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>;
+ };
+ };
+...
--
2.32.0
On Thu, Apr 07, 2022 at 05:18:25PM +0200, Krzysztof Kozlowski wrote:
> On 07/04/2022 16:17, Drew Fustini wrote:
> > 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 <[email protected]>
> > Signed-off-by: Drew Fustini <[email protected]>
> > ---
> > .../bindings/soc/ti/wkup_m3_ipc.txt | 57 -------------
> > .../bindings/soc/ti/wkup_m3_ipc.yaml | 81 +++++++++++++++++++
>
> Changes look good, thanks for fixing, although I forgot about one thing
> - all other files are using 'hyphens' in file name, so please keep it
> consistent with them.
>
> Reviewed-by: Krzysztof Kozlowski <[email protected]>
Thank you for your fast responses. I've submitted v3.
-Drew
On 07/04/2022 16:17, Drew Fustini wrote:
> 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 <[email protected]>
> Signed-off-by: Drew Fustini <[email protected]>
> ---
> .../bindings/soc/ti/wkup_m3_ipc.txt | 57 -------------
> .../bindings/soc/ti/wkup_m3_ipc.yaml | 81 +++++++++++++++++++
Changes look good, thanks for fixing, although I forgot about one thing
- all other files are using 'hyphens' in file name, so please keep it
consistent with them.
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof