2024-06-12 11:59:11

by Jiaxun Yang

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

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 <[email protected]>
---
.../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 <[email protected]>
+
+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



2024-06-13 19:04:46

by Rob Herring (Arm)

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

On Wed, Jun 12, 2024 at 12:56:25PM +0100, Jiaxun Yang wrote:
> 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 <[email protected]>
> ---
> .../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 <[email protected]>
> +
> +properties:
> + compatible:
> + items:
> + - const: img,boston-platform-regs
> + - const: syscon
> + - const: simple-mfd

Why did you add 'simple-mfd'? That's not what is in use.

> +
> + reg:
> + maxItems: 1
> +
> + clock:

Really should be 'clock-controller', but if you don't plan to update the
DTS, then it is fine as-is.

> + 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:

Just '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
>

2024-06-13 19:32:17

by Jiaxun Yang

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



在2024年6月13日六月 下午8:04,Rob Herring写道:
> On Wed, Jun 12, 2024 at 12:56:25PM +0100, Jiaxun Yang wrote:
>> 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 <[email protected]>
>> ---
>> .../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 <[email protected]>
>> +
>> +properties:
>> + compatible:
>> + items:
>> + - const: img,boston-platform-regs
>> + - const: syscon
>> + - const: simple-mfd
>
> Why did you add 'simple-mfd'? That's not what is in use.
>

U-Boot needs this to probe sub-nodes such as reboot and clock :-(

I had updated dts in an earlier patch of this series.

Thanks
>>

--
- Jiaxun