Re: [PATCH 06/13] dt-bindings: rng: add bindings for microchip mpfs rng
From: Rob Herring
Date: Mon Nov 29 2021 - 15:11:03 EST
On Wed, Nov 10, 2021 at 09:46:23AM +0000, Conor.Dooley@xxxxxxxxxxxxx wrote:
> On 10/11/2021 07:43, Krzysztof Kozlowski wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >
> > On 09/11/2021 14:36, Conor.Dooley@xxxxxxxxxxxxx wrote:
> >> On 09/11/2021 12:56, Krzysztof Kozlowski wrote:
> >>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>>
> >>> On 09/11/2021 13:54, Conor.Dooley@xxxxxxxxxxxxx wrote:
> >>>> On 08/11/2021 21:16, Krzysztof Kozlowski wrote:
> >>>>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>>>>
> >>>>> On 08/11/2021 16:05, conor.dooley@xxxxxxxxxxxxx wrote:
> >>>>>> From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> >>>>>>
> >>>>>> Add device tree bindings for the hardware rng device accessed via
> >>>>>> the system services on the Microchip PolarFire SoC.
> >>>>>>
> >>>>>> Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> >>>>>> ---
> >>>>>> .../bindings/rng/microchip,mpfs-rng.yaml | 31 +++++++++++++++++++
> >>>>>> 1 file changed, 31 insertions(+)
> >>>>>> create mode 100644 Documentation/devicetree/bindings/rng/microchip,mpfs-rng.yaml
> >>>>>>
> >>>>>> diff --git a/Documentation/devicetree/bindings/rng/microchip,mpfs-rng.yaml b/Documentation/devicetree/bindings/rng/microchip,mpfs-rng.yaml
> >>>>>> new file mode 100644
> >>>>>> index 000000000000..e8ecb3538a86
> >>>>>> --- /dev/null
> >>>>>> +++ b/Documentation/devicetree/bindings/rng/microchip,mpfs-rng.yaml
> >>>>>> @@ -0,0 +1,31 @@
> >>>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>>>>> +%YAML 1.2
> >>>>>> +---
> >>>>>> +$id: "http://devicetree.org/schemas/rng/microchip,mpfs-rng.yaml#"
> >>>>>> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
> >>>>>> +
> >>>>>> +title: Microchip MPFS random number generator
> >>>>>> +
> >>>>>> +maintainers:
> >>>>>> + - Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> >>>>>> +
> >>>>>> +properties:
> >>>>>> + compatible:
> >>>>>> + const: microchip,polarfire-soc-rng
> >>>>>> +
> >>>>>> + syscontroller:
> >>>>>> + maxItems: 1
> >>>>>> + description: name of the system controller device node
> >>>>>
> >>>>> There are several issues with this:
> >>>>> 1. You need to describe the type.
> >>>>> 2. Description is not helpful (just copying the name of property) and
> >>>>> actually misleading because you do not put there the name of device node.
> >>>>> 3. What is it? Looks like syscon (or sometimes called sysreg). If yes,
> >>>>> please use existing syscon bindings.
> >>>> 1 & 2 - Correct, it is bad & I'll write a better description for it.
> >>>> 3 - Its a system controller implemented as a mailbox. The syscontroller
> >>>> is the mailbox client, which the rng and generic drivers both use.
> >>>
> >>> I understood that pointed device node is a mailbox, not this node. But
> >>> here, what is it here? How do you use it here?
> >> The system controller is the means of access to the random number
> >> generator. The phandle to the sys controller is provided here so that
> >> the rng driver can locate the mailbox client through which it requests
> >> random numbers.
> >
> > I am asking this to understand whether there is a generic or existing
> > property which should be used instead.
> >
> > If I understand correctly, the rng driver needs a mailbox client?
> Correct, it needs one. Binding for that is here:
> Documentation/devicetree/bindings/soc/microchip/microchip,polarfire-soc-sys-controller.yaml
The rng node and others should be a child of the sys controller node.
Rob