Re: [PATCH 1/2] dt-bindings: reset: Updated binding for Versal-NET reset driver

From: Krzysztof Kozlowski
Date: Mon Jul 17 2023 - 16:48:06 EST


On 17/07/2023 20:40, Conor Dooley wrote:
> On Mon, Jul 17, 2023 at 04:53:47PM +0530, Piyush Mehta wrote:
>> Added documentation and Versal-NET reset indices to describe about
>> Versal-Net reset driver bindings.
>>
>> In Versal-NET all reset indices includes Class, SubClass, Type, Index
>> information whereas class refers to clock, reset, power etc.,
>> Underlying firmware in Versal have such classification and expects
>> the ID to be this way.
>> [13:0] - Index bits
>> [19:14] - Type bits
>> [25:20] - SubClass bits
>> [31:26] - Class bits.
>
> Riight.. I'm not sure that describing these as "indices" is really all
> that valid, given only 13:0 are actually the index.
> I'd be inclined to say that the type/class/subclass stuff should not be
> part of the dt-bindings, and instead looked up inside the driver
> depending on the index.
>
> Hopefully Rob or Krzysztof can comment further.

This confuses me as well. I don't understand why do you need it in the
bindings. Nothing uses these values, so storing them as bindings seems
pointless.
>
> Thanks,
> Conor.
>
>>
>> Signed-off-by: Piyush Mehta <piyush.mehta@xxxxxxx>
>> ---
>> .../bindings/reset/xlnx,zynqmp-reset.yaml | 4 +
>> .../reset/xlnx-versal-net-resets.h | 127 ++++++++++++++++++
>> 2 files changed, 131 insertions(+)
>> create mode 100644 include/dt-bindings/reset/xlnx-versal-net-resets.h
>>
>> diff --git a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>> index 0d50f6a54af3..b996fc1d4e53 100644
>> --- a/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>> +++ b/Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.yaml
>> @@ -27,11 +27,15 @@ description: |
>> For list of all valid reset indices for Versal
>> <dt-bindings/reset/xlnx-versal-resets.h>
>>
>> + For list of all valid reset indices for Versal-NET
>> + <dt-bindings/reset/xlnx-versal-net-resets.h>
>> +
>> properties:
>> compatible:
>> enum:
>> - xlnx,zynqmp-reset
>> - xlnx,versal-reset
>> + - xlnx,versal-net-reset
>>
>> "#reset-cells":
>> const: 1
>> diff --git a/include/dt-bindings/reset/xlnx-versal-net-resets.h b/include/dt-bindings/reset/xlnx-versal-net-resets.h
>> new file mode 100644
>> index 000000000000..b3e7d5e4c33e
>> --- /dev/null
>> +++ b/include/dt-bindings/reset/xlnx-versal-net-resets.h
>> @@ -0,0 +1,127 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
>> +/*
>> + * Copyright (C) 2023 Advanced Micro Devices, Inc. All Rights Reserved.
>> + */
>> +
>> +#ifndef _DT_BINDINGS_VERSAL_NET_RESETS_H
>> +#define _DT_BINDINGS_VERSAL_NET_RESETS_H
>> +
>> +#define PM_RST_PMC_POR (0xc30c001U)

IDs start from 0 and are incremented by 1.

Best regards,
Krzysztof