[PATCH v4 0/6] firmware: support i.MX95 SCMI BBM/MISC Extenstion

Peng Fan peng.fan at nxp.com
Mon Jun 17 02:42:58 PDT 2024


> Subject: [PATCH v4 0/6] firmware: support i.MX95 SCMI BBM/MISC
> Extenstion

Any comments for the driver and doc part?

Thanks,
Peng.

> 
> i.MX95 System Manager Firmware source: https://github.com/nxp-
> imx/imx-sm To generate html from the repo: make html
> 
> i.MX95 System Manager Firmware support vendor extension protocol:
> - Battery Backed Module(BBM) Protocol
>   This protocol is intended provide access to the battery-backed module.
>   This contains persistent storage (GPR), an RTC, and the ON/OFF
> button.
>   The protocol can also provide access to similar functions implemented
> via
>   external board components. The BBM protocol provides functions to:
> 
>   - Describe the protocol version.
>   - Discover implementation attributes.
>   - Read/write GPR
>   - Discover the RTCs available in the system.
>   - Read/write the RTC time in seconds and ticks
>   - Set an alarm (per LM) in seconds
>   - Get notifications on RTC update, alarm, or rollover.
>   - Get notification on ON/OFF button activity.
> 
> - MISC Protocol for misc settings
>   This includes controls that are misc settings/actions that must be
> exposed
>   from the SM to agents. They are device specific and are usually define
> to
>   access bit fields in various mix block control modules, IOMUX_GPR,
> and other
>   GPR/CSR owned by the SM.
>   This protocol supports the following functions:
> 
>   - Describe the protocol version.
>   - Discover implementation attributes.
>   - Set/Get a control.
>   - Initiate an action on a control.
>   - Obtain platform (i.e. SM) build information.
>   - Obtain ROM passover data.
>   - Read boot/shutdown/reset information for the LM or the system.
> 
> This patchset is to support the two protocols and users that use the
> protocols. The upper protocol infomation is also included in patch 1
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> To: Jonathan Corbet <corbet at lwn.net>
> To: Shawn Guo <shawnguo at kernel.org>
> To: Sascha Hauer <s.hauer at pengutronix.de>
> To: Pengutronix Kernel Team <kernel at pengutronix.de>
> To: Fabio Estevam <festevam at gmail.com>
> To: Rob Herring <robh at kernel.org>
> To: Krzysztof Kozlowski <krzk+dt at kernel.org>
> To: Conor Dooley <conor+dt at kernel.org>
> To: Sudeep Holla <sudeep.holla at arm.com>
> To: Cristian Marussi <cristian.marussi at arm.com>
> To: Peng Fan <peng.fan at nxp.com>
> Cc: linux-doc at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> Cc: imx at lists.linux.dev
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: devicetree at vger.kernel.org
> 
> Changes in v4:
> - Rebased to next-20240520
> - Added vendor/sub-vendor, currently the sub-vendor is "i.MX95 EVK",
>   this may not be proper, I will check with firmware owner on this to
>   seen any update. please still help review other parts of the patchset.
> - Added constrain value in binding doc, change the property name from
>   nxp,wakeup-sources to nxp,ctrl-ids to match firmware definition.
> - Put i.MX code under new directory imx/
> - Change the misc event from three to one, the code in previous
> patchset
>   was wrong.
> - Link to v3: https://lore.kernel.org/r/20240412-imx95-bbm-misc-v2-
> v3-0-4380a4070980 at nxp.com
> 
> Changes in v3:
> - Update cover letter and patch commit log to include more
> information.
> - Add documentation for BBM and MISC protocols under
>   Documentation/firmware-guide/nxp. Not sure if this is a good place.
> - Fix the bindings, hope I have addressed the issues.
>   Drop imx,scmi.yaml.
>   Add nxp,imx95-scmi.yaml for NXP vendor protocol properties.
>   Add constraints, add nxp prefix for NXP vendor properties.
>   Use anyOf in arm,scmi.yaml to ref vendor yaml.
> - Use cpu_to_le32 per Cristian
> - Link to v2: https://lore.kernel.org/r/20240405-imx95-bbm-misc-v2-
> v2-0-9fc9186856c2 at nxp.com
> 
> Changes in v2:
> - Sorry for late update since v1.
> - Add a new patch 1
> - Address imx,scmi.yaml issues
> - Address comments for imx-sm-bbm.c and imx-sm-misc.c
> - I not add vendor id since related patches not landed in linux-next.
> - Link to v1: https://lore.kernel.org/r/20240202-imx95-bbm-misc-v1-0-
> 3cb743020933 at nxp.com
> 
> ---
> Peng Fan (6):
>       Documentation: firmware-guide: add NXP i.MX95 SCMI
> documentation
>       dt-bindings: firmware: add i.MX95 SCMI Extension protocol
>       firmware: arm_scmi: add initial support for i.MX BBM protocol
>       firmware: arm_scmi: add initial support for i.MX MISC protocol
>       firmware: imx: support i.MX95 BBM module
>       firmware: imx: add i.MX95 MISC driver
> 
>  .../devicetree/bindings/firmware/arm,scmi.yaml     |   5 +-
>  .../bindings/firmware/nxp,imx95-scmi.yaml          |  43 +
>  Documentation/firmware-guide/index.rst             |  10 +
>  Documentation/firmware-guide/nxp/imx95-scmi.rst    | 877
> +++++++++++++++++++++
>  Documentation/firmware-guide/nxp/index.rst         |  10 +
>  drivers/firmware/arm_scmi/Kconfig                  |   2 +
>  drivers/firmware/arm_scmi/Makefile                 |   1 +
>  drivers/firmware/arm_scmi/imx/Kconfig              |  23 +
>  drivers/firmware/arm_scmi/imx/Makefile             |   3 +
>  drivers/firmware/arm_scmi/imx/imx-sm-bbm.c         | 380 +++++++++
>  drivers/firmware/arm_scmi/imx/imx-sm-misc.c        | 303 +++++++
>  drivers/firmware/imx/Makefile                      |   2 +
>  drivers/firmware/imx/sm-bbm.c                      | 314 ++++++++
>  drivers/firmware/imx/sm-misc.c                     | 108 +++
>  include/linux/firmware/imx/sm.h                    |  33 +
>  include/linux/scmi_imx_protocol.h                  |  64 ++
>  16 files changed, 2177 insertions(+), 1 deletion(-)
> ---
> base-commit: 81ec2bad50c0c1bd3c66389fda32a6f2cf922508
> change-id: 20240405-imx95-bbm-misc-v2-b5e9d24adc42
> 
> Best regards,
> --
> Peng Fan <peng.fan at nxp.com>



More information about the linux-arm-kernel mailing list