[PATCH v7 0/7] firmware: support i.MX95 SCMI BBM/MISC Extenstion
Peng Fan
peng.fan at nxp.com
Fri Aug 16 04:22:43 PDT 2024
Hi Sudeep,
> Subject: [PATCH v7 0/7] firmware: support i.MX95 SCMI BBM/MISC
> Extension
Would you please give a look on patch [1-4]/7?
Cristian has gave his R-b, are the patches good for you to pick up?
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>
>
> Changes in v7:
> - Just correct R-b tag from Rob to drop quotes "", and rebased
> - Link to v6: https://lore.kernel.org/r/20240718-imx95-bbm-misc-v2-
> v6-0-18f008e16e9d at nxp.com
>
> Changes in v6:
> - Add R-b from Cristian for patch 2,3,4,5,6
> - Add a new function parameter 'bool enable' to rtc_alarm_set in patch
> 2
> - Drop dev_err per RTC maintainer, move devm_rtc_register to function
> end in patch 6
> - Address Cristian's comment to documentation. Also moved the
> documentation to patch 3, which adds the imx.rst under
> drivers/firmware/arm_scmi/imx
> - Add remove hook to cancel_delayed_work_sync in patch 7
> - Link to v5: https://lore.kernel.org/r/20240621-imx95-bbm-misc-v2-
> v5-0-b85a6bf778cb at nxp.com
>
> Changes in v5:
> - Collected missing comments in v1, I not intend to miss any, and sorry
> if I make something wrong.
> - Update the documentation per Cristian's comments. Not sure we
> need a new directory for firmware stuff, not firmware-guide direcotyr.
> - Added R-b for patch 3 "firmware: arm_scmi: add initial support for
> i.MX BBM protocol"
> - For patch 4, added comments in scmi_imx_misc_ctrl_validate_id, use
> num_sources in scmi_protocol_events, move
> scmi_imx_misc_protocol_init
> near init, use get_max_msg_size and drop MISC_MAX_VAL.
> - Separate the sm-bbm.c into rtc and key drivers with
> each has its own notifiy callback, put the driver in rtc and input
> directory, handle error return, add kconfig for each driver, use
> to_delayed_work, use READ/WRITE_ONCE, still keep ops as private,
> device_init_wakeup set false if failure.
> - For patch 5, Add kconfig for sm-misc.c. Only support one instance, so
> add a check
> ops in probe.
> - Link to v4: https://lore.kernel.org/r/20240524-imx95-bbm-misc-v2-
> v4-0-dc456995d590 at nxp.com
>
> 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 (7):
> 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: arm_scmi: add NXP i.MX95 SCMI documentation
> firmware: imx: add i.MX95 MISC driver
> rtc: support i.MX95 BBM RTC
> input: keyboard: support i.MX95 BBM module
>
> .../devicetree/bindings/firmware/arm,scmi.yaml | 5 +-
> .../bindings/firmware/nxp,imx95-scmi.yaml | 43 +
> 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 | 379 +++++++++
> drivers/firmware/arm_scmi/imx/imx-sm-misc.c | 315 ++++++++
> drivers/firmware/arm_scmi/imx/imx95.rst | 886
> +++++++++++++++++++++
> drivers/firmware/imx/Kconfig | 11 +
> drivers/firmware/imx/Makefile | 1 +
> drivers/firmware/imx/sm-misc.c | 119 +++
> drivers/input/keyboard/Kconfig | 11 +
> drivers/input/keyboard/Makefile | 1 +
> drivers/input/keyboard/imx-sm-bbm-key.c | 236 ++++++
> drivers/rtc/Kconfig | 8 +
> drivers/rtc/Makefile | 1 +
> drivers/rtc/rtc-imx-sm-bbm.c | 162 ++++
> include/linux/firmware/imx/sm.h | 33 +
> include/linux/scmi_imx_protocol.h | 59 ++
> 20 files changed, 2298 insertions(+), 1 deletion(-)
> ---
> base-commit: 668d33c9ff922c4590c58754ab064aaf53c387dd
> 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