On Mon, Jan 31, 2022 at 11:47:17AM +0000, conor.dooley@xxxxxxxxxxxxx wrote: > From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > > Add mpfs-rng and mpfs-generic-services as children of the system > controller. > > Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > --- > .../microchip,mpfs-sys-controller.yaml | 41 ++++++++++++++++++- > 1 file changed, 39 insertions(+), 2 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..5e9977bc114e 100644 > --- a/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml > +++ b/Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml > @@ -13,7 +13,6 @@ 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 > @@ -21,6 +20,38 @@ properties: > compatible: > const: microchip,mpfs-sys-controller > > + rng: > + type: object > + > + description: | > + The hardware random number generator on the Polarfire SoC is > + accessed via the mailbox interface provided by the system controller > + > + properties: > + compatible: > + const: microchip,mpfs-rng > + > + required: > + - compatible > + > + sysserv: > + type: object > + > + description: | > + The PolarFire SoC system controller is communicated with via a mailbox. > + This binding represents several of the functions provided by the system > + controller which do not belong in a specific subsystem, such as reading > + the fpga device certificate, all of which follow the same format: > + - a command + optional payload sent to the sys controller > + - a status + a payload returned to Linux > + > + properties: > + compatible: > + const: microchip,mpfs-generic-service > + > + required: > + - compatible > + > required: > - compatible > - mboxes > @@ -29,7 +60,13 @@ additionalProperties: false > > examples: > - | > - syscontroller: syscontroller { > + syscontroller { > compatible = "microchip,mpfs-sys-controller"; > mboxes = <&mbox 0>; > + rng: rng { > + compatible = "microchip,mpfs-rng"; > + }; > + sysserv: sysserv { > + compatible = "microchip,mpfs-generic-service"; > + }; You don't have any resources for the child nodes, so they don't need to be in DT. Just have the driver for "microchip,mpfs-sys-controller" create the sub devices you need. Rob