From: Ming Qian <ming.qian@xxxxxxx> This IP includes a jpeg wrapper and a jpeg engine, the wrapper is working on descriptor based manner. It supports up to 4 slots, each slot can have its own chained descriptors. Host won't configure the engine directly, but fill some descriptors to encode or decode one jpeg picture. Then configure the descriptors to certain slot register. The jpeg wrapper will schedule between different slots. When some slot is finished, the slot interrupt will be triggered. The purpose of slot is that engine can be shared across multiple VMS and os. Currently, power domains and interrupts are enabled for all 4 slots, but only one slot is used. There is no benefit in using more that one slot from within the same OS, as the slots are scheduled in round-robin manner and not executed in parallel. Use the property "nxp,slot" to assign a single slot, and just expose the parts of the h/w for the assigned slot. For example, only put slot 1's power-domains entry in the DT when slot 1 is assigned. If not specified, 0 is used by default. v5 - improve commit message - improve property description in bindings document - update patch based on linux-next next-20231017 (DTS patch already upstream) v4 - improve commit message - drop line making the property required, to avoid ABI break v3 - add vender prefix, change property slot to nxp,slot - add type for property slot in bindings document v2 - add a new property in bindings document Ming Qian (3): dt-bindings: media: imx-jpeg: Assign slot for imx jpeg encoder/decoder arm64: dts: imx8-ss-img: Add vendor prefix in slot property media: imx-jpeg: Add vendor prefix in slot property .../bindings/media/nxp,imx8-jpeg.yaml | 46 +++++++++---------- .../arm64/boot/dts/freescale/imx8-ss-img.dtsi | 4 +- .../media/platform/nxp/imx-jpeg/mxc-jpeg.c | 2 +- 3 files changed, 25 insertions(+), 27 deletions(-) base-commit: 4d5ab2376ec576af173e5eac3887ed0b51bd8566 prerequisite-patch-id: ecdb5f6c6975c1c8f10a56ef7fdb96d9f7d16720 -- 2.38.1