Thread (19 messages) 19 messages, 5 authors, 2024-08-22

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

From: Peng Fan <peng.fan@nxp.com>
Date: 2024-08-22 06:02:10
Also in: arm-scmi, imx, linux-devicetree, linux-input, linux-rtc, lkml

Hi Sudeep,
Subject: RE: [PATCH v7 0/7] firmware: support i.MX95 SCMI BBM/MISC
Extension
With Cristian's transport patchset applied, there a minor conflict in Makefile
with this patchset. Please let me know if I need to send v8 to address
the Makefile conflict or you could help.

Thanks,
Peng.
Hi Sudeep,
quoted
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.
quoted
i.MX95 System Manager Firmware source:
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
gith
quoted
ub.com%2Fnxp-
&data=05%7C02%7Cpeng.fan%40nxp.com%7C1002bc37426b4344192
5
quoted
08dcbde5c496%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%
7C638594041757
quoted
286225%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ
QIjoiV2luMzIiLCJ
quoted
BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=Id8fggn%2
B%2B8NBRYzEHSr
quoted
LK3GYSDX8bA3%2FNHPibH5xuEk%3D&reserved=0
imx/imx-sm To generate html from the repo: make html

i.MX95 System Manager Firmware support vendor extension
protocol:
quoted
- Battery Backed Module(BBM) Protocol
  This protocol is intended provide access to the battery-backed
module.
quoted
  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@nxp.com>

Changes in v7:
- Just correct R-b tag from Rob to drop quotes "", and rebased
- Link to v6:
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240718-imx95-bbm-misc-v2-
&data=05%7C02%7Cpeng.fan%
quoted
40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1d3
bc2b4c6fa92cd99
quoted
c5c301635%7C0%7C0%7C638594041757299262%7CUnknown%7CT
WFpbGZsb3d8eyJWIjo
quoted
iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
%7C0%7C%7C%
quoted
7C&sdata=IelY7nn8UonmziY%2FTKQy0V5F68zDmX3fRJeS%2FNYxlRA%
3D&reserved=0
quoted
v6-0-18f008e16e9d@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
quoted
2
- Drop dev_err per RTC maintainer, move devm_rtc_register to
function
quoted
  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://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240621-imx95-bbm-misc-v2-
&data=05%7C02%7Cpeng.fan%
quoted
40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1d3
bc2b4c6fa92cd99
quoted
c5c301635%7C0%7C0%7C638594041757307547%7CUnknown%7CT
WFpbGZsb3d8eyJWIjo
quoted
iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
%7C0%7C%7C%
quoted
7C&sdata=TIgALwKaM0bL3%2F8%2BH5TURHjK4KM6Qadpr64dUEbla6
M%3D&reserved=0
quoted
v5-0-b85a6bf778cb@nxp.com

Changes in v5:
- Collected missing comments in v1, I not intend to miss any, and
sorry
quoted
  if I make something wrong.
- Update the documentation per Cristian's comments. Not sure we
need a
quoted
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
quoted
  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://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240524-imx95-bbm-misc-v2-
&data=05%7C02%7Cpeng.fan%
quoted
40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1d3
bc2b4c6fa92cd99
quoted
c5c301635%7C0%7C0%7C638594041757313869%7CUnknown%7CT
WFpbGZsb3d8eyJWIjo
quoted
iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
%7C0%7C%7C%
quoted
7C&sdata=NLUX8pWiyfLJXd9tLkWZHW9HxB00gVnKpNqGphH6PZk%3
D&reserved=0
quoted
v4-0-dc456995d590@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
quoted
  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://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240412-imx95-bbm-misc-v2-
&data=05%7C02%7Cpeng.fan%
quoted
40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1d3
bc2b4c6fa92cd99
quoted
c5c301635%7C0%7C0%7C638594041757319735%7CUnknown%7CT
WFpbGZsb3d8eyJWIjo
quoted
iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
%7C0%7C%7C%
quoted
7C&sdata=DsX6rHSn9UHxg00XUXdioRTDKikM9dlGWtyMOWSKQqc%3
D&reserved=0
quoted
v3-0-4380a4070980@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://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240405-imx95-bbm-misc-v2-
&data=05%7C02%7Cpeng.fan%
quoted
40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1d3
bc2b4c6fa92cd99
quoted
c5c301635%7C0%7C0%7C638594041757325573%7CUnknown%7CT
WFpbGZsb3d8eyJWIjo
quoted
iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
%7C0%7C%7C%
quoted
7C&sdata=xCKP6hjdqJIppJkmJsNhfZa85df%2BDYR%2B%2FawL6qQI5Xc
%3D&reserved
quoted
=0
v2-0-9fc9186856c2@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://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
lore
quoted
.kernel.org%2Fr%2F20240202-imx95-bbm-misc-v1-0-
&data=05%7C02%7Cpeng.fa
quoted
n%40nxp.com%7C1002bc37426b4344192508dcbde5c496%7C686ea1
d3bc2b4c6fa92cd
quoted
99c5c301635%7C0%7C0%7C638594041757331366%7CUnknown%7C
TWFpbGZsb3d8eyJWI
quoted
joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3
D%7C0%7C%7
quoted
C%7C&sdata=V5SX0eUuQo5nYcQD44C%2FSnq9M9cc2TlpeuoO2A2Mh
Ss%3D&reserved=0
quoted
3cb743020933@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
+++++++++
quoted
 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 [off-list ref]
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help