diff mbox series

[v6,02/12] dt-bindings: soc/microchip: add services as sub devs of sys ctrlr

Message ID 20220207162637.1658677-3-conor.dooley@microchip.com
State New
Headers show
Series Update the Icicle Kit device tree | expand

Commit Message

Conor Dooley Feb. 7, 2022, 4:26 p.m. UTC
From: Conor Dooley <conor.dooley@microchip.com>

Document mpfs-rng and mpfs-generic-service as subdevices of the system
controller.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
---
 .../microchip,mpfs-sys-controller.yaml        | 35 +++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

Comments

Rob Herring (Arm) Feb. 7, 2022, 8:07 p.m. UTC | #1
On Mon, Feb 07, 2022 at 04:26:28PM +0000, conor.dooley@microchip.com wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Document mpfs-rng and mpfs-generic-service as subdevices of the system
> controller.
> 
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
> ---
>  .../microchip,mpfs-sys-controller.yaml        | 35 +++++++++++++++++--
>  1 file changed, 33 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..b02c8bd72605 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,7 @@ additionalProperties: false
>  
>  examples:
>    - |
> -    syscontroller: syscontroller {
> +    syscontroller {
>        compatible = "microchip,mpfs-sys-controller";
>        mboxes = <&mbox 0>;

Removing the child nodes in the example doesn't address my comment. You 
still have them in the schema. IOW, this patch should be dropped unless 
you have reasons for child nodes other than I want to partition the OS 
drivers a certain way and creating DT nodes instantiates them for me.

>      };
> -- 
> 2.35.1
> 
>
Conor Dooley Feb. 7, 2022, 8:32 p.m. UTC | #2
On 07/02/2022 20:07, Rob Herring wrote:
> On Mon, Feb 07, 2022 at 04:26:28PM +0000, conor.dooley@microchip.com wrote:
>> From: Conor Dooley <conor.dooley@microchip.com>
>>
>> Document mpfs-rng and mpfs-generic-service as subdevices of the system
>> controller.
>>
>> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
>> Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
>> ---
>>   .../microchip,mpfs-sys-controller.yaml        | 35 +++++++++++++++++--
>>   1 file changed, 33 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..b02c8bd72605 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,7 @@ additionalProperties: false
>>   
>>   examples:
>>     - |
>> -    syscontroller: syscontroller {
>> +    syscontroller {
>>         compatible = "microchip,mpfs-sys-controller";
>>         mboxes = <&mbox 0>;
> 
> Removing the child nodes in the example doesn't address my comment. You
> still have them in the schema. IOW, this patch should be dropped unless
> you have reasons for child nodes other than I want to partition the OS
> drivers a certain way and creating DT nodes instantiates them for me.
> 
Obviously dropping this patch doesn't prevent me from instantiating the 
sub devices since it's not going to be done via DT anymore. Would you 
rather I replaced this patch with one adding a link to the online 
documentation [0] for them in the main description? I had left them in 
as I wasn't sure if you wanted the descriptions dropped entirely or not.

And yes, partition of the services is why I had originally gone for 
different drivers for the different aspects. Some of the services, like 
the RNG or reprogramming the FPGA from Linux have obvious subsystems to 
put them under, if it was just the eclectic mix of Microchip FPGA 
specific items I'd have not bothered with the partitioning.

Cheers,
Conor.

[0] 
https://onlinedocs.microchip.com/pr/GUID-1409CF11-8EF9-4C24-A94E-70979A688632-en-US-1/index.html
>>       };
>> -- 
>> 2.35.1
>>
>>
> 
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
diff mbox series

Patch

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..b02c8bd72605 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,7 @@  additionalProperties: false
 
 examples:
   - |
-    syscontroller: syscontroller {
+    syscontroller {
       compatible = "microchip,mpfs-sys-controller";
       mboxes = <&mbox 0>;
     };