[PATCH v2 6/8] dt-bindings: mfd: Add img,boston-platform-regs

From: Jiaxun Yang
Date: Wed Jun 12 2024 - 07:58:40 EST


This compatible has been used in arch/mips/boot/dts/img/boston.dts
for a while but never documented properly.

Write a new binding for this device.
This also covers old img,boston-clock binding so remove that binding.

Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
---
.../devicetree/bindings/clock/img,boston-clock.txt | 31 ---------
.../bindings/mfd/img,boston-platform-regs.yaml | 74 ++++++++++++++++++++++
2 files changed, 74 insertions(+), 31 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/img,boston-clock.txt b/Documentation/devicetree/bindings/clock/img,boston-clock.txt
deleted file mode 100644
index 7bc5e9ffb624..000000000000
--- a/Documentation/devicetree/bindings/clock/img,boston-clock.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Binding for Imagination Technologies MIPS Boston clock sources.
-
-This binding uses the common clock binding[1].
-
-[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
-
-The device node must be a child node of the syscon node corresponding to the
-Boston system's platform registers.
-
-Required properties:
-- compatible : Should be "img,boston-clock".
-- #clock-cells : Should be set to 1.
- Values available for clock consumers can be found in the header file:
- <dt-bindings/clock/boston-clock.h>
-
-Example:
-
- system-controller@17ffd000 {
- compatible = "img,boston-platform-regs", "syscon";
- reg = <0x17ffd000 0x1000>;
-
- clk_boston: clock {
- compatible = "img,boston-clock";
- #clock-cells = <1>;
- };
- };
-
- uart0: uart@17ffe000 {
- /* ... */
- clocks = <&clk_boston BOSTON_CLK_SYS>;
- };
diff --git a/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml b/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml
new file mode 100644
index 000000000000..bf94de38a89f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/img,boston-platform-regs.yaml
@@ -0,0 +1,74 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/img,boston-platform-regs.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Imagination Technologies Boston Platform Registers
+
+maintainers:
+ - Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
+
+properties:
+ compatible:
+ items:
+ - const: img,boston-platform-regs
+ - const: syscon
+ - const: simple-mfd
+
+ reg:
+ maxItems: 1
+
+ clock:
+ type: object
+
+ description: Boston Clock Controller Device Node
+ The clock consumer should specify the desired clock by having the clock
+ ID in its "clocks" phandle cell.
+ See include/dt-bindings/clock/boston-clock.h for the full list of boston
+ clock IDs.
+
+ properties:
+ "#clock-cells":
+ const: 1
+
+ compatible:
+ const: img,boston-clock
+
+ required:
+ - "#clock-cells"
+ - compatible
+
+ additionalProperties: false
+
+ syscon-reboot:
+ $ref: /schemas/power/reset/syscon-reboot.yaml#
+
+required:
+ - compatible
+ - reg
+ - clock
+ - syscon-reboot
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/boston-clock.h>
+
+ plat_regs: system-controller@17ffd000 {
+ compatible = "img,boston-platform-regs", "syscon", "simple-mfd";
+ reg = <0x17ffd000 0x1000>;
+
+ clk_boston: clock {
+ compatible = "img,boston-clock";
+ #clock-cells = <1>;
+ };
+
+ reboot: syscon-reboot {
+ compatible = "syscon-reboot";
+ regmap = <&plat_regs>;
+ offset = <0x10>;
+ mask = <0x10>;
+ };
+ };

--
2.43.0