On Tuesday, December 21st, 2021 at 17:55, Rob Herring <robh@xxxxxxxxxx> wrote: >On Fri, Dec 17, 2021 at 09:33:11AM +0000, conor.dooley@xxxxxxxxxxxxx wrote: >> From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> >> >> 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@xxxxxxxxxxxxx> >> --- >> .../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