RE: [PATCH v5 1/7] Documentation: firmware-guide: add NXP i.MX95 SCMI documentation

From: Peng Fan
Date: Mon Jul 15 2024 - 07:48:24 EST


> Subject: Re: [PATCH v5 1/7] Documentation: firmware-guide: add NXP
> i.MX95 SCMI documentation
>
> On Fri, Jun 21, 2024 at 03:04:36PM +0800, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@xxxxxxx>
> >
> > Add NXP i.MX95 System Control Management Interface(SCMI)
> vendor
> > extensions protocol documentation.
> >
>
> Hi,
>
> beside the final location of this file in the tree, and a few nitpicks down
> below.

Thanks for reviewing the patches. Except Documentation/firmware-guide,
I not have good idea where to put the API doc.

Sudeep,
Do you have any suggestions?

Thanks,
Peng.

>
> LGTM.
> Reviewed-by: Cristian Marussi <cristian.marussi@xxxxxxx>
>
> > Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
> > ---
>
> [snip]
>
> > +MISC_CONTROL_GET
> > +~~~~~~~~~~~~~~~~
> > +
> > +message_id: 0x4
> > +protocol_id: 0x84
> > +
> > ++------------------+-----------------------------------------------------------+
> > +|Parameters |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 index |Index of the control |
> > ++------------------+-----------------------------------------------------------+
> > +|Return values |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|int32 status |SUCCESS: if the control was get successfully.
> |
> > +| |NOT_FOUND: if the index is not valid. |
> > +| |DENIED: if the agent does not have permission to get
> the |
> > +| |control |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 num |Size of the return data in words, max 8
> |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 | |
> > +|val[0, num - 8] |value data array |
>
> val[0, num - 1] --- typo ?
>
> which I suppose means that this field is variable in size depending on
> num value...
>
> In the gneral SCMI spec I think usually we write something like
>
> uint32 val[N] with N as specified in num.
>
> ... but I am fine even with this val[0, num - 1] if it is intended to meanb
> this same thing, i.e. variable size field depending on another field.
>
> > ++------------------+-----------------------------------------------------------+
> > +
> > +MISC_CONTROL_ACTION
> > +~~~~~~~~~~~~~~~~~~~
> > +
> > +message_id: 0x5
> > +protocol_id: 0x84
> > +
> > ++------------------+-----------------------------------------------------------+
> > +|Parameters |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 index |Index of the control |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 action |Action for the control
> |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 numarg |Size of the argument data, max 8
> |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 | |
> > +|arg[0, numarg -1] |Argument data array |
> > ++------------------+-----------------------------------------------------------+
> > +|Return values |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|int32 status |SUCCESS: if the action was set successfully.
> |
> > +| |NOT_FOUND: if the index is not valid. |
> > +| |DENIED: if the agent does not have permission to get
> the |
> > +| |control |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 num |Size of the return data in words, max 8
> |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 | |
> > +|val[0:num-1] |value data array |
>
> val[0, num - 1] ... for consistency
>
> > ++------------------+-----------------------------------------------------------+
> > +
> > +MISC_DISCOVER_BUILD_INFO
> > +~~~~~~~~~~~~~~~~~~~~~~~~
> > +
> > +This function is used to obtain the build commit, data, time, number.
> > +
> > +message_id: 0x6
> > +protocol_id: 0x84
> > +
> > ++------------------+-----------------------------------------------------------+
> > +|Return values |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|int32 status |SUCCESS: if the build info was got successfully.
> |
> > +| |NOT_SUPPORTED: if the data is not available. |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 buildnum |Build number |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 buildcommit|Most significant 32 bits of the git commit
> hash |
> > ++------------------+-----------------------------------------------------------+
> > +|uint8 date[16] |Date of build. Null terminated ASCII string of up
> to 16 |
> > +| |bytes in length |
> > ++------------------+-----------------------------------------------------------+
> > +|uint8 time[16] |Time of build. Null terminated ASCII string of up
> to 16 |
> > +| |bytes in length |
> > ++------------------+-----------------------------------------------------------+
> > +
> > +MISC_ROM_PASSOVER_GET
> > +~~~~~~~~~~~~~~~~~~~~~
> > +
> > +ROM passover data is information exported by ROM and could be
> used by others.
> > +It includes boot device, instance, type, mode and etc. This function
> > +is used to obtain the ROM passover data. The returned block of
> words
> > +is structured as defined in the ROM passover section in the SoC RM.
> > +
> > +message_id: 0x7
> > +protocol_id: 0x84
> > +
> > ++------------------+-----------------------------------------------------------+
> > +|Return values |
> > ++------------------+-----------------------------------------------------------+
> > +|Name |Description |
> > ++------------------+-----------------------------------------------------------+
> > +|int32 status |SUCCESS: if the data was got successfully.
> |
> > +| |NOT_SUPPORTED: if the data is not available. |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32 num |Size of the passover data in words, max 13
> |
> > ++------------------+-----------------------------------------------------------+
> > +|uint32_t | |
> > +|data[0:num-1] |Passover data array |
> > ++------------------+-----------------------------------------------------------+
> > +
>
> data[0, num - 1] ... consistency
>
> Thanks,
> Cristian