
Hi Alexey,
On Thu, 6 Jul 2023 at 14:16, Alexey Romanov avromanov@sberdevices.ru wrote:
At the moment, only smc API is a set of functions in arch/arm/mach-meson/sm.c. This approach is hard to configure and also doesn't contain any generic API for calling smc.
This patch add Meson SM driver with generic API (struct meson_sm_ops):
- sm_call()
- sm_call_write()
- sm_call_read()
A typical driver usage example is shown here:
- uclass_get_device_by_driver(UCLASS_FIRMWARE, "secure-monitor", &dev);
- handle = meson_sm_get_handle(dev);
- handle->ops.sm_call(dev, cmd, ...);
Signed-off-by: Alexey Romanov avromanov@sberdevices.ru
arch/arm/mach-meson/Kconfig | 1 + drivers/firmware/Kconfig | 10 ++ drivers/firmware/Makefile | 1 + drivers/firmware/meson/Kconfig | 6 + drivers/firmware/meson/Makefile | 3 + drivers/firmware/meson/meson_sm.c | 217 ++++++++++++++++++++++++++++++ include/meson/sm_handle.h | 38 ++++++ 7 files changed, 276 insertions(+) create mode 100644 drivers/firmware/meson/Kconfig create mode 100644 drivers/firmware/meson/Makefile create mode 100644 drivers/firmware/meson/meson_sm.c create mode 100644 include/meson/sm_handle.h
Please can you use the remoteproc uclass for this and add a proper driver?
Regards, SImon