Message ID | 20250321-ramrod-scabby-a1869f9979b6@spud (mailing list archive) |
---|---|
State | Under Review |
Headers | show |
Series | Redo PolarFire SoC's mailbox/clock devicestrees and related code | expand |
On Fri, Mar 21, 2025 at 05:22:35PM +0000, Conor Dooley wrote: > +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region > + > +maintainers: > + - Conor Dooley <conor.dooley@microchip.com> > + > +description: > + An wide assortment of registers that control elements of the MSS on PolarFire > + SoC, including pinmuxing, resets and clocks among others. > + > +properties: > + compatible: > + items: > + - const: microchip,mpfs-mss-top-sysreg > + - const: syscon > + - const: simple-mfd You need to list the children if you use simple-mfd. Commit msg mentioned clock controller, so where is it? > + > + reg: > + maxItems: 1 > + > + '#reset-cells': > + description: > + The AHB/AXI peripherals on the PolarFire SoC have reset support, so > + from CLK_ENVM to CLK_CFM. The reset consumer should specify the > + desired peripheral via the clock ID in its "resets" phandle cell. > + See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list > + of PolarFire clock/reset IDs. > + const: 1 Best regards, Krzysztof
On Tue, Mar 25, 2025 at 09:13:22AM +0100, Krzysztof Kozlowski wrote: > On Fri, Mar 21, 2025 at 05:22:35PM +0000, Conor Dooley wrote: > > +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region > > + > > +maintainers: > > + - Conor Dooley <conor.dooley@microchip.com> > > + > > +description: > > + An wide assortment of registers that control elements of the MSS on PolarFire > > + SoC, including pinmuxing, resets and clocks among others. > > + > > +properties: > > + compatible: > > + items: > > + - const: microchip,mpfs-mss-top-sysreg > > + - const: syscon > > + - const: simple-mfd > > You need to list the children if you use simple-mfd. Commit msg > mentioned clock controller, so where is it? I don't think a child node is required here, there's not enough clock-related properties for it to require one. However, I think you're correct about missing properties in a general sense - there should be a #clock-cells here and a clocks/clock-names too. The reason there aren't is because the existing driver (that binds to microchip,mpfs-clkcfg) looks this node up by compatible, and implements the clock parent for this node etc. Obviously that's not an excuse to leave the properties out, so I'll add them even though they're going to end up ignored. > > + reg: > > + maxItems: 1 > > + > > + '#reset-cells': > > + description: > > + The AHB/AXI peripherals on the PolarFire SoC have reset support, so > > + from CLK_ENVM to CLK_CFM. The reset consumer should specify the > > + desired peripheral via the clock ID in its "resets" phandle cell. > > + See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list > > + of PolarFire clock/reset IDs. > > + const: 1 > > Best regards, > Krzysztof >
On 25/03/2025 17:03, Conor Dooley wrote: > On Tue, Mar 25, 2025 at 09:13:22AM +0100, Krzysztof Kozlowski wrote: >> On Fri, Mar 21, 2025 at 05:22:35PM +0000, Conor Dooley wrote: >>> +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region >>> + >>> +maintainers: >>> + - Conor Dooley <conor.dooley@microchip.com> >>> + >>> +description: >>> + An wide assortment of registers that control elements of the MSS on PolarFire >>> + SoC, including pinmuxing, resets and clocks among others. >>> + >>> +properties: >>> + compatible: >>> + items: >>> + - const: microchip,mpfs-mss-top-sysreg >>> + - const: syscon >>> + - const: simple-mfd >> >> You need to list the children if you use simple-mfd. Commit msg >> mentioned clock controller, so where is it? > > I don't think a child node is required here, there's not enough Then this is not a simple-mfd. Best regards, Krzysztof
On Wed, Mar 26, 2025 at 07:53:55AM +0100, Krzysztof Kozlowski wrote: > On 25/03/2025 17:03, Conor Dooley wrote: > > On Tue, Mar 25, 2025 at 09:13:22AM +0100, Krzysztof Kozlowski wrote: > >> On Fri, Mar 21, 2025 at 05:22:35PM +0000, Conor Dooley wrote: > >>> +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region > >>> + > >>> +maintainers: > >>> + - Conor Dooley <conor.dooley@microchip.com> > >>> + > >>> +description: > >>> + An wide assortment of registers that control elements of the MSS on PolarFire > >>> + SoC, including pinmuxing, resets and clocks among others. > >>> + > >>> +properties: > >>> + compatible: > >>> + items: > >>> + - const: microchip,mpfs-mss-top-sysreg > >>> + - const: syscon > >>> + - const: simple-mfd > >> > >> You need to list the children if you use simple-mfd. Commit msg > >> mentioned clock controller, so where is it? > > > > I don't think a child node is required here, there's not enough > > Then this is not a simple-mfd. The pinctrl will have one, whenever I get around to actually working on that. I can leave the simple-mfd out until I establish exactly what that's going to look like if that's what you want?
On 26/03/2025 12:00, Conor Dooley wrote: > On Wed, Mar 26, 2025 at 07:53:55AM +0100, Krzysztof Kozlowski wrote: >> On 25/03/2025 17:03, Conor Dooley wrote: >>> On Tue, Mar 25, 2025 at 09:13:22AM +0100, Krzysztof Kozlowski wrote: >>>> On Fri, Mar 21, 2025 at 05:22:35PM +0000, Conor Dooley wrote: >>>>> +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region >>>>> + >>>>> +maintainers: >>>>> + - Conor Dooley <conor.dooley@microchip.com> >>>>> + >>>>> +description: >>>>> + An wide assortment of registers that control elements of the MSS on PolarFire >>>>> + SoC, including pinmuxing, resets and clocks among others. >>>>> + >>>>> +properties: >>>>> + compatible: >>>>> + items: >>>>> + - const: microchip,mpfs-mss-top-sysreg >>>>> + - const: syscon >>>>> + - const: simple-mfd >>>> >>>> You need to list the children if you use simple-mfd. Commit msg >>>> mentioned clock controller, so where is it? >>> >>> I don't think a child node is required here, there's not enough >> >> Then this is not a simple-mfd. > > The pinctrl will have one, whenever I get around to actually working on > that. I can leave the simple-mfd out until I establish exactly what > that's going to look like if that's what you want? I want complete hardware, so simple-mfd with children, but if that is not possible for some reason then at least accurate picture, thus drop simple-mfd for now. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml new file mode 100644 index 000000000000..4794e4c6fc1f --- /dev/null +++ b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml @@ -0,0 +1,49 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region + +maintainers: + - Conor Dooley <conor.dooley@microchip.com> + +description: + An wide assortment of registers that control elements of the MSS on PolarFire + SoC, including pinmuxing, resets and clocks among others. + +properties: + compatible: + items: + - const: microchip,mpfs-mss-top-sysreg + - const: syscon + - const: simple-mfd + + reg: + maxItems: 1 + + '#reset-cells': + description: + The AHB/AXI peripherals on the PolarFire SoC have reset support, so + from CLK_ENVM to CLK_CFM. The reset consumer should specify the + desired peripheral via the clock ID in its "resets" phandle cell. + See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list + of PolarFire clock/reset IDs. + const: 1 + +required: + - compatible + - reg + - '#reset-cells' + +additionalProperties: false + +examples: + - | + syscon@20002000 { + compatible = "microchip,mpfs-mss-top-sysreg", "syscon", "simple-mfd"; + reg = <0x20002000 0x1000>; + #reset-cells = <1>; + }; +