Hifi4 DSP can be found on some i.MX8 platforms (e.g i.MX8QXP, i.MX8QM). This patch series introduces the layer that allows Host CPU to communicate with DSP. This layer provides a doorbell and clients can used that to notify DSP that a message is placed somewhere in the shared memory. The protocol used is request - reply. Usually, Host/DSP write a message in a shared memory area and notify the other side. The other side will also write a reply in a designated shared memory area and then ring the doorbell to let the counterpart that a message is ready. Changes since v1: (after Rob's and Oleksij comments) - removed imx_dsp_get_handle now drivers wanting to use DSP IPC will get a reference to dsp_ipc node in dts. - added chip name in compatible string fsl,imx8qxp-dsp - avoid memory leaks - make dt_binding_check works fine now! Daniel Baluta (2): firmware: imx: Add DSP IPC protocol interface dt-bindings: dsp: fsl: Add DSP IPC binding support .../devicetree/bindings/dsp/fsl,dsp_ipc.yaml | 44 ++++++ drivers/firmware/imx/Kconfig | 11 ++ drivers/firmware/imx/Makefile | 1 + drivers/firmware/imx/imx-dsp.c | 142 ++++++++++++++++++ include/linux/firmware/imx/dsp.h | 67 +++++++++ 5 files changed, 265 insertions(+) create mode 100644 Documentation/devicetree/bindings/dsp/fsl,dsp_ipc.yaml create mode 100644 drivers/firmware/imx/imx-dsp.c create mode 100644 include/linux/firmware/imx/dsp.h -- 2.17.1