From: Cristian Marussi <cristian.marussi@arm.com>
To: Peng Fan <peng.fan@nxp.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
Cristian Marussi <cristian.marussi@arm.com>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
arm-scmi@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/7] firmware: arm_scmi: imx: Support getting board info of MISC protocol
Date: Fri, 27 Jun 2025 14:45:47 +0100 [thread overview]
Message-ID: <aF6gi9ejloRphvgI@pluto> (raw)
In-Reply-To: <20250627-sm-misc-api-v1-v1-6-2b99481fe825@nxp.com>
On Fri, Jun 27, 2025 at 02:03:49PM +0800, Peng Fan wrote:
> MISC protocol supports getting board information. Add the API for user
> to retrieve the information from SM
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> .../firmware/arm_scmi/vendors/imx/imx-sm-misc.c | 30 ++++++++++++++++++++++
> include/linux/scmi_imx_protocol.h | 5 ++++
> 2 files changed, 35 insertions(+)
>
> diff --git a/drivers/firmware/arm_scmi/vendors/imx/imx-sm-misc.c b/drivers/firmware/arm_scmi/vendors/imx/imx-sm-misc.c
> index 1a6d75357b76ce6bb7d06461999b368c27f1fa43..35c63e7cb189475807ed1e6723dbcb61ab66800a 100644
> --- a/drivers/firmware/arm_scmi/vendors/imx/imx-sm-misc.c
> +++ b/drivers/firmware/arm_scmi/vendors/imx/imx-sm-misc.c
> @@ -29,6 +29,7 @@ enum scmi_imx_misc_protocol_cmd {
> SCMI_IMX_MISC_SI_INFO = 0xB,
> SCMI_IMX_MISC_CFG_INFO = 0xC,
> SCMI_IMX_MISC_SYSLOG = 0xD,
> + SCMI_IMX_MISC_BOARD_INFO = 0xE,
> SCMI_IMX_MISC_CTRL_NOTIFY = 0x8,
> };
>
> @@ -76,6 +77,11 @@ struct scmi_imx_misc_buildinfo_out {
> u8 buildtime[MISC_MAX_BUILDTIME];
> };
>
> +struct scmi_imx_misc_board_info_out {
> + __le32 attributes;
> + u8 brdname[MISC_MAX_BRDNAME];
> +};
> +
> struct scmi_imx_misc_cfg_info_out {
> __le32 msel;
> u8 cfgname[MISC_MAX_CFGNAME];
> @@ -334,6 +340,29 @@ static int scmi_imx_discover_build_info(const struct scmi_protocol_handle *ph,
> return ret;
> }
>
> +static int scmi_imx_misc_board_info(const struct scmi_protocol_handle *ph,
> + struct scmi_imx_misc_system_info *info)
> +{
> + struct scmi_imx_misc_board_info_out *out;
> + struct scmi_xfer *t;
> + int ret;
> +
> + ret = ph->xops->xfer_get_init(ph, SCMI_IMX_MISC_BOARD_INFO, 0, sizeof(*out), &t);
> + if (ret)
> + return ret;
> +
> + ret = ph->xops->do_xfer(ph, t);
> + if (!ret) {
> + out = t->rx.buf;
> + info->brd_attributes = le32_to_cpu(out->attributes);
> + strscpy(info->brdname, out->brdname, MISC_MAX_BRDNAME);
> + }
> +
> + ph->xops->xfer_put(ph, t);
> +
> + return ret;
> +}
> +
> static int scmi_imx_misc_cfg_info(const struct scmi_protocol_handle *ph,
> struct scmi_imx_misc_system_info *info)
> {
> @@ -446,6 +475,7 @@ static int scmi_imx_misc_syslog(const struct scmi_protocol_handle *ph, u16 size,
> }
>
> static const struct scmi_imx_misc_proto_ops scmi_imx_misc_proto_ops = {
> + .misc_board_info = scmi_imx_misc_board_info,
> .misc_cfg_info = scmi_imx_misc_cfg_info,
> .misc_ctrl_set = scmi_imx_misc_ctrl_set,
> .misc_ctrl_get = scmi_imx_misc_ctrl_get,
> diff --git a/include/linux/scmi_imx_protocol.h b/include/linux/scmi_imx_protocol.h
> index ff34d974046aa982fa9f5d46fc673412e01a532d..4950cd6f50aa7b3038bd519a7287e805f70e1cf5 100644
> --- a/include/linux/scmi_imx_protocol.h
> +++ b/include/linux/scmi_imx_protocol.h
> @@ -56,6 +56,7 @@ struct scmi_imx_misc_ctrl_notify_report {
> #define MISC_MAX_BUILDTIME 16
> #define MISC_MAX_CFGNAME 16
> #define MISC_MAX_SINAME 16
> +#define MISC_MAX_BRDNAME 16
>
> struct scmi_imx_misc_system_info {
> u32 buildnum;
> @@ -69,6 +70,8 @@ struct scmi_imx_misc_system_info {
> u32 sirev;
> u32 partnum;
> u8 siname[MISC_MAX_SINAME];
> + u32 brd_attributes;
> + u8 brdname[MISC_MAX_BRDNAME];
> };
Same comment here as before...
>
> struct scmi_imx_misc_sys_sleep_rec {
> @@ -89,6 +92,8 @@ struct scmi_imx_misc_syslog {
> };
>
> struct scmi_imx_misc_proto_ops {
> + int (*misc_board_info)(const struct scmi_protocol_handle *ph,
> + struct scmi_imx_misc_system_info *info);
> int (*misc_cfg_info)(const struct scmi_protocol_handle *ph,
> struct scmi_imx_misc_system_info *info);
> int (*misc_ctrl_set)(const struct scmi_protocol_handle *ph, u32 id,
>
Anyway, LGTM.
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Thanks,
Cristian
next prev parent reply other threads:[~2025-06-27 13:45 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-27 6:03 [PATCH 0/7] firmware: arm_scmi: imx: Dump syslog and system_info Peng Fan
2025-06-27 6:03 ` [PATCH 1/7] firmware: arm_scmi: imx: Add documentation for MISC_BOARD_INFO Peng Fan
2025-06-27 12:46 ` Cristian Marussi
2025-06-30 2:45 ` Peng Fan
2025-07-01 15:10 ` Peng Fan
2025-07-02 15:21 ` Sudeep Holla
2025-07-04 4:53 ` Peng Fan
2025-06-27 6:03 ` [PATCH 2/7] firmware: arm_scmi: imx: Support discovering buildinfo of MISC protocol Peng Fan
2025-06-27 12:48 ` Cristian Marussi
2025-07-02 15:21 ` Sudeep Holla
2025-07-04 5:12 ` Peng Fan
2025-07-04 8:59 ` Sudeep Holla
2025-07-08 16:10 ` Peng Fan
2025-07-08 15:38 ` Sudeep Holla
2025-06-27 6:03 ` [PATCH 3/7] firmware: arm_scmi: imx: Support getting cfg info " Peng Fan
2025-06-27 13:06 ` Cristian Marussi
2025-07-02 15:21 ` Sudeep Holla
2025-07-04 10:07 ` Peng Fan
2025-07-04 9:02 ` Sudeep Holla
2025-07-04 10:39 ` Peng Fan
2025-07-04 10:51 ` Sudeep Holla
2025-06-27 6:03 ` [PATCH 4/7] firmware: arm_scmi: imx: Support getting silicon " Peng Fan
2025-06-27 13:11 ` Cristian Marussi
2025-07-02 15:22 ` Sudeep Holla
2025-07-04 10:20 ` Peng Fan
2025-07-04 9:32 ` Sudeep Holla
2025-06-27 6:03 ` [PATCH 5/7] firmware: arm_scmi: imx: Support getting syslog " Peng Fan
2025-06-27 13:44 ` Cristian Marussi
2025-06-30 3:09 ` Peng Fan
2025-07-02 15:22 ` Sudeep Holla
2025-07-04 10:23 ` Peng Fan
2025-07-04 9:44 ` Sudeep Holla
2025-06-27 6:03 ` [PATCH 6/7] firmware: arm_scmi: imx: Support getting board info " Peng Fan
2025-06-27 13:45 ` Cristian Marussi [this message]
2025-06-30 2:50 ` Peng Fan
2025-06-27 6:03 ` [PATCH 7/7] firmware: imx: sm-misc: Dump syslog and system info Peng Fan
2025-06-27 14:11 ` Cristian Marussi
2025-06-30 3:34 ` Peng Fan
2025-06-27 18:49 ` kernel test robot
2025-06-28 14:28 ` kernel test robot
2025-07-02 15:22 ` Sudeep Holla
2025-07-04 10:28 ` Peng Fan
2025-07-04 9:45 ` Sudeep Holla
2025-07-04 10:44 ` Peng Fan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aF6gi9ejloRphvgI@pluto \
--to=cristian.marussi@arm.com \
--cc=arm-scmi@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peng.fan@nxp.com \
--cc=s.hauer@pengutronix.de \
--cc=shawnguo@kernel.org \
--cc=sudeep.holla@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.