MLK-25346: net: add imx-shmem-net driver
authorNitin Garg <nitin.garg@nxp.com>
Tue, 23 Mar 2021 20:37:57 +0000 (15:37 -0500)
committerNitin Garg <nitin.garg@nxp.com>
Fri, 9 Apr 2021 14:35:31 +0000 (09:35 -0500)
commit1730a5e196055cef89fe50dd63852ebc32cce135
tree5f722eed64254e983413f7e60e494eb011a047e3
parent2726a23e5d0e62eb472496a76c2228561adffc32
MLK-25346: net: add imx-shmem-net driver

This driver uses the shared memory and the mailbox units to
provide a virtual network interface toward a peer device on
the same SoC. This new driver is based on ivshmem-net driver,
where we replace ivshmem's registers by struct 'regs' in the
context, and push in MU all modifications to 'regs' value lstate.

FEATURES:
Only 2 identical devices in different HW partitions and connected
by an MU can talk to each other.
All MU transaction may timeout: if first message sent through MU,
then the driver will be probed again.
The driver supports peer's partition reset:
driver registers to SCFW service to receive a notification when
peer's partition resets.
The driver supports multiple devices
(i.e. multiple connections to different partitions).

Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com>
Signed-off-by: Nitin Garg <nitin.garg@nxp.com>
Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
Documentation/devicetree/bindings/net/imx-shmem-net.txt [new file with mode: 0644]
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/imx-shmem-net.c [new file with mode: 0644]