[PATCH 0/4] soc: imx: add scu firmware api support

Oleksij Rempel o.rempel at pengutronix.de
Mon Apr 30 22:59:04 PDT 2018


Hi,

On Sat, Apr 28, 2018 at 02:46:12AM +0800, Dong Aisheng wrote:
> 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


Hm... I fail to see the difference between remoteproc, virtio, rpmsg and other
existing frameworks in kernel with this functionality. Why do we need
vendor/soc specific framework once again?

> 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
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180501/d310bbdb/attachment.sig>


More information about the linux-arm-kernel mailing list