Message ID | 20211217093325.30612-4-conor.dooley@microchip.com |
---|---|
State | New |
Headers | show |
Series | Update the Icicle Kit device tree | expand |
On Tuesday, December 21st, 2021 at 17:55, Rob Herring <robh@kernel.org> wrote: >On Fri, Dec 17, 2021 at 09:33:11AM +0000, conor.dooley@microchip.com wrote: >> From: Conor Dooley <conor.dooley@microchip.com> >> >> Make the system controller on the Polarfire SoC >> a "simple,mfd" so that the services can be child >> nodes of the system controller node. >> >> Signed-off-by: Conor Dooley <conor.dooley@microchip.com> >> --- >> .../microchip,mpfs-sys-controller.yaml | 33 +++++++++++++++++-- >> 1 file changed, 30 insertions(+), 3 deletions(-) >> >> diff --git a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml b/>Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml >> index f699772fedf3..014cb44b8f31 100644 >> --- a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml >> +++ b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml >> @@ -13,13 +13,34 @@ description: | >> The PolarFire SoC system controller is communicated with via a mailbox. >> This document describes the bindings for the client portion of that mailbox. >> >> - >> properties: >> mboxes: >> maxItems: 1 >> >> compatible: >> - const: microchip,mpfs-sys-controller >> + items: >> + - const: microchip,mpfs-sys-controller >> + - const: simple-mfd > >'simple-mfd' means there is zero dependency on the parent for the child >nodes. Isn't 'mboxes' a dependency? I suppose it is. I was going off what had been done for the bcm2835 firmware for the rpi its also a mailbox providing "services". (arm/bcm/raspberrypi,bcm2835-firmware.yaml) > >> + >> + hwrandom: >> + type: object >> + >> + properties: >> + compatible: >> + const: microchip,mpfs-rng >> + >> + required: >> + - compatible >> + >> + sysserv: >> + type: object >> + >> + properties: >> + compatible: >> + const: microchip,mpfs-generic-service >> + >> + required: >> + - compatible > >There's not really any need to have child nodes which have no resources. >The driver for microchip,mpfs-sys-controller can create child devices. I am assuming by this you mean say, take a list of boolean properties and convert those into child devices? There's a fairly decent number of services provided by the system controller and these children just represent the subset that we've implemented so far. Conor > >Rob
diff --git a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml index f699772fedf3..014cb44b8f31 100644 --- a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml +++ b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml @@ -13,13 +13,34 @@ description: | The PolarFire SoC system controller is communicated with via a mailbox. This document describes the bindings for the client portion of that mailbox. - properties: mboxes: maxItems: 1 compatible: - const: microchip,mpfs-sys-controller + items: + - const: microchip,mpfs-sys-controller + - const: simple-mfd + + hwrandom: + type: object + + properties: + compatible: + const: microchip,mpfs-rng + + required: + - compatible + + sysserv: + type: object + + properties: + compatible: + const: microchip,mpfs-generic-service + + required: + - compatible required: - compatible @@ -30,6 +51,12 @@ additionalProperties: false examples: - | syscontroller: syscontroller { - compatible = "microchip,mpfs-sys-controller"; + compatible = "microchip,mpfs-sys-controller", "simple-mfd"; mboxes = <&mbox 0>; + hwrandom: hwrandom { + compatible = "microchip,mpfs-rng"; + }; + sysserv: sysserv { + compatible = "microchip,mpfs-generic-service"; + }; };