[PATCH 0/4] soc: imx: add scu firmware api support
Dong Aisheng
aisheng.dong at nxp.com
Fri Apr 27 11:46:12 PDT 2018
Unlike the former i.MX Architectures, the new generation i.MX8 SoCs
(e.g. MX8QXP and MX8QM) contain a system controller which runs on a
dedicated Cortex-M core to provide power, clock, Pad, and resource
management. Communication between the host processor running
an OS and the system controller happens through a SCU protocol.
This patchset adds the SCU APIs which is implemented based on MU
and will be used by different system components.
It mainly consists of below parts:
1) MU library calls
1) Implementation of the IPC functions based on MUs (client side).
2) SCU firmware services APIs implementation ased on RPC calls which
are mostly generated by SCU firmware
Dong Aisheng (4):
soc: imx: add mu library functions support
dt-bindings: arm: fsl: add mu binding doc
dt-bindings: arm: fsl: add scu binding doc
soc: imx: add SC firmware IPC and APIs
.../devicetree/bindings/arm/freescale/fsl,mu.txt | 33 +
.../devicetree/bindings/arm/freescale/fsl,scu.txt | 40 ++
drivers/soc/imx/Kconfig | 7 +
drivers/soc/imx/Makefile | 2 +
drivers/soc/imx/imx_mu.c | 125 ++++
drivers/soc/imx/sc/Makefile | 8 +
drivers/soc/imx/sc/main/ipc.c | 270 ++++++++
drivers/soc/imx/sc/main/rpc.h | 123 ++++
drivers/soc/imx/sc/svc/irq/rpc.h | 41 ++
drivers/soc/imx/sc/svc/irq/rpc_clnt.c | 58 ++
drivers/soc/imx/sc/svc/misc/rpc.h | 58 ++
drivers/soc/imx/sc/svc/misc/rpc_clnt.c | 368 ++++++++++
drivers/soc/imx/sc/svc/pad/rpc.h | 55 ++
drivers/soc/imx/sc/svc/pad/rpc_clnt.c | 412 +++++++++++
drivers/soc/imx/sc/svc/pm/rpc.h | 58 ++
drivers/soc/imx/sc/svc/pm/rpc_clnt.c | 393 +++++++++++
drivers/soc/imx/sc/svc/rm/rpc.h | 70 ++
drivers/soc/imx/sc/svc/rm/rpc_clnt.c | 612 +++++++++++++++++
drivers/soc/imx/sc/svc/timer/rpc.h | 52 ++
drivers/soc/imx/sc/svc/timer/rpc_clnt.c | 295 ++++++++
include/soc/imx/mu.h | 21 +
include/soc/imx/sc/ipc.h | 46 ++
include/soc/imx/sc/scfw.h | 24 +
include/soc/imx/sc/sci.h | 35 +
include/soc/imx/sc/svc/irq/api.h | 139 ++++
include/soc/imx/sc/svc/misc/api.h | 395 +++++++++++
include/soc/imx/sc/svc/pad/api.h | 536 +++++++++++++++
include/soc/imx/sc/svc/pm/api.h | 559 +++++++++++++++
include/soc/imx/sc/svc/rm/api.h | 726 ++++++++++++++++++++
include/soc/imx/sc/svc/timer/api.h | 265 +++++++
include/soc/imx/sc/types.h | 764 +++++++++++++++++++++
31 files changed, 6590 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,mu.txt
create mode 100644 Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
create mode 100644 drivers/soc/imx/imx_mu.c
create mode 100644 drivers/soc/imx/sc/Makefile
create mode 100644 drivers/soc/imx/sc/main/ipc.c
create mode 100644 drivers/soc/imx/sc/main/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/irq/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/irq/rpc_clnt.c
create mode 100644 drivers/soc/imx/sc/svc/misc/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/misc/rpc_clnt.c
create mode 100644 drivers/soc/imx/sc/svc/pad/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/pad/rpc_clnt.c
create mode 100644 drivers/soc/imx/sc/svc/pm/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/pm/rpc_clnt.c
create mode 100644 drivers/soc/imx/sc/svc/rm/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/rm/rpc_clnt.c
create mode 100644 drivers/soc/imx/sc/svc/timer/rpc.h
create mode 100644 drivers/soc/imx/sc/svc/timer/rpc_clnt.c
create mode 100644 include/soc/imx/mu.h
create mode 100644 include/soc/imx/sc/ipc.h
create mode 100644 include/soc/imx/sc/scfw.h
create mode 100644 include/soc/imx/sc/sci.h
create mode 100644 include/soc/imx/sc/svc/irq/api.h
create mode 100644 include/soc/imx/sc/svc/misc/api.h
create mode 100644 include/soc/imx/sc/svc/pad/api.h
create mode 100644 include/soc/imx/sc/svc/pm/api.h
create mode 100644 include/soc/imx/sc/svc/rm/api.h
create mode 100644 include/soc/imx/sc/svc/timer/api.h
create mode 100644 include/soc/imx/sc/types.h
--
2.7.4
More information about the linux-arm-kernel
mailing list