Message ID | 20240612-boston-syscon-v2-6-9f8e1a07fa63@flygoat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | MIPS: Boston: Fix syscon devicetree binding and node | expand |
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@flygoat.com> > --- > .../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@flygoat.com> > + > +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年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 <jiaxun.yang@flygoat.com> >> --- >> .../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@flygoat.com> >> + >> +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 >>
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@flygoat.com> + +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>; + }; + };
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@flygoat.com> --- .../devicetree/bindings/clock/img,boston-clock.txt | 31 --------- .../bindings/mfd/img,boston-platform-regs.yaml | 74 ++++++++++++++++++++++ 2 files changed, 74 insertions(+), 31 deletions(-)