[GIT PULL] firmware: arm_scmi: Updates for v6.10
Sudeep Holla
sudeep.holla at arm.com
Fri Apr 26 03:50:29 PDT 2024
Hi ARM SoC Team,
Please pull !
The pinctrl changes are acked and agreed to via SoC tree by Linus Walleij
and the dt-bindings are acked by Rob H.
Regards,
Sudeep
-->8
The following changes since commit 4cece764965020c22cff7665b18a012006359095:
Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux.git tags/scmi-updates-6.10
for you to fetch changes up to eb524cb651b794f2529e36deb6b18523adc9ecaa:
pinctrl: Implementation of the generic scmi-pinctrl driver (2024-04-19 15:17:37 +0100)
----------------------------------------------------------------
Arm SCMI updates for v6.10
1. Basic support for SCMI v3.2 pincontrol protocol
SCMI v3.2 introduces pincontrol protocol which is intended for
controlling pins and their configuration. The pin control protocol
provides commands to:
- List the pins, groups of pins, available functions, and their
association with each other.
- Set the parameter configuration and multiplexing of the pins or
groups of pins
- Optionally request exclusive access to a pin or group of pins.
- Optionally configure the permissions of an agent to access a pin
or group of pins.
These changes adds basic support for the same in the SCMI core layer
and an implementation of the generic scmi-pinctrl driver with associated
DT bindings.
2. Framework support for multiple vendors custom protocols
With the fixed space for vendor protocols, the possibility of having
multiple vendors implementing distinct SCMI vendor protocols with
the same overlapping protocol number is very high and with the need
to support them all in a single kernel image or a module is also high.
In order to implement the same we assume:
- vendor protocols has to be tagged at build time with a vendor_id
- vendor protocols could also optionally be tagged at build time with
sub_vendor_id and implementation version
At the initialisation all the built vendor protocols are registered
with the SCMI core using a key derived from the above tags
3. Logging and tracing improvements
This includes using dev_err_probe() to bail out from probe, adding
message dump traces for bad and unexpected replies and widening of
the tag buffer in trace_scmi_dump_msg to allow diverse tag names
4. Miscellaneous updates or improvements
This includes adding the accessor function get_max_msg_size() used
in pinctl protocol, updation of dt-bindings examples for protocol at 13
to promote new bindings and simplification of scmi_devm_notifier_unregister
----------------------------------------------------------------
Arnd Bergmann (1):
firmware: arm_scmi: Avoid non-constant printk format strings
Cristian Marussi (6):
include: trace: Widen the tag buffer in trace_scmi_dump_msg
firmware: arm_scmi: Add helper to trace bad messages
firmware: arm_scmi: Add message dump traces for bad and unexpected replies
firmware: arm_scmi: Simplify scmi_devm_notifier_unregister
firmware: arm_scmi: Use dev_err_probe to bail out
firmware: arm_scmi: Add support for multiple vendors custom protocols
Peng Fan (5):
firmware: arm_scmi: Log the perf domain names in the error paths
firmware: arm_scmi: Introduce get_max_msg_size() helper/accessor
dt-bindings: firmware: Support SCMI pinctrl protocol
firmware: arm_scmi: Add basic support for SCMI v3.2 pincontrol protocol
pinctrl: Implementation of the generic scmi-pinctrl driver
Ulf Hansson (1):
dt-bindings: firmware: arm,scmi: Update examples for protocol at 13
.../devicetree/bindings/firmware/arm,scmi.yaml | 54 +-
MAINTAINERS | 1 +
drivers/firmware/arm_scmi/Makefile | 3 +-
drivers/firmware/arm_scmi/common.h | 11 +
drivers/firmware/arm_scmi/driver.c | 269 +++++-
drivers/firmware/arm_scmi/mailbox.c | 3 +
drivers/firmware/arm_scmi/notify.c | 30 +-
drivers/firmware/arm_scmi/perf.c | 15 +-
drivers/firmware/arm_scmi/pinctrl.c | 916 +++++++++++++++++++++
drivers/firmware/arm_scmi/protocols.h | 18 +
drivers/pinctrl/Kconfig | 11 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-scmi.c | 571 +++++++++++++
include/linux/scmi_protocol.h | 86 +-
include/trace/events/scmi.h | 6 +-
15 files changed, 1925 insertions(+), 70 deletions(-)
create mode 100644 drivers/firmware/arm_scmi/pinctrl.c
create mode 100644 drivers/pinctrl/pinctrl-scmi.c
More information about the linux-arm-kernel
mailing list