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