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@xxxxxxx> > > 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@xxxxxxx > > 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@xxxxxxx > > 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@xxxxxxx > > 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@xxxxxxx > > 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@xxxxxxx > > 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@xxxxxxx > > --- > 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@xxxxxxx>