Convert Texas Instruments Wakeup M3 Remote Processor from text to Dt
schema. Add optional resets and reset-names property which was missing
from legacy binding. make ti,hwmods deprecated as it no longer needed,
it is kept to support older board files without ti,sysc.

Signed-off-by: Bhargav Joshi <[email protected]>
---
 .../bindings/remoteproc/ti,am3352-wkup-m3.yaml     | 89 ++++++++++++++++++++++
 .../bindings/remoteproc/wkup_m3_rproc.txt          | 52 -------------
 2 files changed, 89 insertions(+), 52 deletions(-)

diff --git 
a/Documentation/devicetree/bindings/remoteproc/ti,am3352-wkup-m3.yaml 
b/Documentation/devicetree/bindings/remoteproc/ti,am3352-wkup-m3.yaml
new file mode 100644
index 000000000000..9e8a03acdec4
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/ti,am3352-wkup-m3.yaml
@@ -0,0 +1,89 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/ti,am3352-wkup-m3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TI AM33xx/AM43xx Wakeup M3 Remote Processor
+
+maintainers:
+  - Suman Anna <[email protected]>
+  - Bhargav Joshi <[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. This CM3 processor requires a
+  firmware binary to accomplish this. A wkup_m3 device node is used to
+  represent the Wakeup M3 processor instance within the SoC. It is added as a
+  child node of the parent interconnect bus (l4_wkup) through which it is
+  accessible to the MPU.
+
+properties:
+  compatible:
+    enum:
+      - ti,am3352-wkup-m3
+      - ti,am4372-wkup-m3
+
+  reg:
+    items:
+      - description: Address range for UMEM
+      - description: Address range for DMEM
+
+  reg-names:
+    items:
+      - const: umem
+      - const: dmem
+
+  ti,pm-firmware:
+    $ref: /schemas/types.yaml#/definitions/string
+    description:
+      Name of firmware file to be used for loading and booting the wkup_m3
+      remote processor.
+
+  resets:
+    maxItems: 1
+
+  reset-names:
+    items:
+      - const: rstctrl
+
+  ti,hwmods:
+    $ref: /schemas/types.yaml#/definitions/string
+    deprecated: true
+    description:
+      Name of the hwmod associated with the wkupm3 device.
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - ti,pm-firmware
+
+dependencies:
+  resets: [reset-names]
+  reset-names: [resets]
+
+additionalProperties: false
+
+examples:
+  - |
+    target-module@0 {
+        compatible = "ti,sysc-omap4", "ti,sysc";
+        reg = <0x0 0x4>;
+        reg-names = "rev";
+        #address-cells = <1>;
+        #size-cells = <1>;
+        ranges = <0x00000000 0x00000000 0x4000>,
+                 <0x00080000 0x00080000 0x2000>;
+
+        cpu@0 {
+            compatible = "ti,am3352-wkup-m3";
+            reg = <0x00000000 0x4000>,
+                  <0x00080000 0x2000>;
+            reg-names = "umem", "dmem";
+            resets = <&prm_wkup 3>;
+            reset-names = "rstctrl";
+            ti,pm-firmware = "am335x-pm-firmware.elf";
+        };
+    };
diff --git a/Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt 
b/Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt
deleted file mode 100644
index 3a70073797eb..000000000000
--- a/Documentation/devicetree/bindings/remoteproc/wkup_m3_rproc.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-TI Wakeup M3 Remoteproc 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. This CM3 processor requires a firmware
-binary to accomplish this. The wkup_m3 remoteproc driver handles the loading of
-the firmware and booting of the CM3.
-
-Wkup M3 Device Node:
-====================
-A wkup_m3 device node is used to represent the Wakeup M3 processor instance
-within the SoC. It is added as a child node of the parent interconnect bus
-(l4_wkup) through which it is accessible to the MPU.
-
-Required properties:
---------------------
-- compatible:          Should be one of,
-                               "ti,am3352-wkup-m3" for AM33xx SoCs
-                               "ti,am4372-wkup-m3" for AM43xx SoCs
-- reg:                 Should contain the address ranges for the two internal
-                       memory regions, UMEM and DMEM. The parent node should
-                       provide an appropriate ranges property for properly
-                       translating these into bus addresses.
-- reg-names:           Contains the corresponding names for the two memory
-                       regions. These should be named "umem" & "dmem".
-- ti,hwmods:           Name of the hwmod associated with the wkupm3 device.
-- ti,pm-firmware:      Name of firmware file to be used for loading and
-                       booting the wkup_m3 remote processor.
-
-Example:
---------
-/* AM33xx */
-ocp {
-        l4_wkup: l4_wkup@44c00000 {
-               compatible = "am335-l4-wkup", "simple-bus";
-               ranges = <0 0x44c00000 0x400000>;
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               wkup_m3: wkup_m3@100000 {
-                       compatible = "ti,am3352-wkup-m3";
-                       reg = <0x100000 0x4000>,
-                             <0x180000 0x2000>;
-                       reg-names = "umem", "dmem";
-                       ti,hwmods = "wkup_m3";
-                       ti,pm-firmware = "am335x-pm-firmware.elf";
-               };
-       };
-
-       ...
-};

---
base-commit: c6859eed755df351a3978b33cb92365f9b3e8f06
change-id: 20260719-ti-wkup_m3-edac718d0d7c

Best regards,
-- 
Bhargav


Reply via email to