From mboxrd@z Thu Jan 1 00:00:00 1970 From: aisheng.dong@nxp.com (Dong Aisheng) Date: Sun, 17 Jun 2018 20:49:45 +0800 Subject: [PATCH V2 0/4] soc: imx: add scu firmware api support Message-ID: <1529239789-26849-1-git-send-email-aisheng.dong@nxp.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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 | 32 + .../devicetree/bindings/arm/freescale/fsl,scu.txt | 38 + drivers/soc/imx/Kconfig | 7 + drivers/soc/imx/Makefile | 2 + drivers/soc/imx/imx_mu.c | 165 +++++ drivers/soc/imx/sc/Makefile | 8 + drivers/soc/imx/sc/main/ipc.c | 250 +++++++ drivers/soc/imx/sc/main/rpc.h | 81 +++ drivers/soc/imx/sc/svc/irq/rpc.h | 23 + drivers/soc/imx/sc/svc/irq/rpc_clnt.c | 58 ++ drivers/soc/imx/sc/svc/misc/rpc.h | 40 ++ drivers/soc/imx/sc/svc/misc/rpc_clnt.c | 368 ++++++++++ drivers/soc/imx/sc/svc/pad/rpc.h | 37 + drivers/soc/imx/sc/svc/pad/rpc_clnt.c | 53 ++ drivers/soc/imx/sc/svc/pm/rpc.h | 40 ++ drivers/soc/imx/sc/svc/pm/rpc_clnt.c | 393 +++++++++++ drivers/soc/imx/sc/svc/rm/rpc.h | 52 ++ drivers/soc/imx/sc/svc/rm/rpc_clnt.c | 612 +++++++++++++++++ drivers/soc/imx/sc/svc/timer/rpc.h | 34 + drivers/soc/imx/sc/svc/timer/rpc_clnt.c | 295 ++++++++ include/soc/imx/mu.h | 24 + 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 | 61 ++ 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, 5626 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