RE: [PATCH v7 0/7] firmware: support i.MX95 SCMI BBM/MISC Extenstion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux