> 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@xxxxxxx> > To: Jonathan Corbet <corbet@xxxxxxx> > To: Shawn Guo <shawnguo@xxxxxxxxxx> > To: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > To: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> > To: Fabio Estevam <festevam@xxxxxxxxx> > To: Rob Herring <robh@xxxxxxxxxx> > To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx> > To: Conor Dooley <conor+dt@xxxxxxxxxx> > To: Sudeep Holla <sudeep.holla@xxxxxxx> > To: Cristian Marussi <cristian.marussi@xxxxxxx> > To: Peng Fan <peng.fan@xxxxxxx> > Cc: linux-doc@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Cc: imx@xxxxxxxxxxxxxxx > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > Cc: devicetree@xxxxxxxxxxxxxxx > > 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 (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@xxxxxxx>