media: staging/ipu7: add firmware parse, syscom interface and boot
authorBingbu Cao <bingbu.cao@intel.com>
Thu, 29 May 2025 04:13:19 +0000 (12:13 +0800)
committerHans Verkuil <hverkuil@xs4all.nl>
Thu, 3 Jul 2025 13:44:21 +0000 (15:44 +0200)
commitcc5de519299d35fe34905303186abd8cac252163
tree5a3885e8043175a6ab62b6b8571303be88d79aa7
parent71d81c25683a7cace187cdeeb232b51bb72a0d04
media: staging/ipu7: add firmware parse, syscom interface and boot

IPU7 irmware is generated and released as signed Code Partition
Directory (CPD) format file which is aligned with the SPI flash code
partition definition. The driver parses the CPD based on the layout.

Syscom is an inter-process(or) communication mechanism between an IPU and
host. Syscom uses message queues for message exchange between IPU and
host. Each message queue has its consumer and producer, host queue
messages to firmware as the producer and then firmware to dequeue the
messages as consumer and vice versa. IPU and host use shared registers or
memory to reside the read and write indices which are updated by consumer
and producer.

IPU7 firmware defined its boot sequence, driver setup the boot
configuration and program the boot parameters to start and run
the firmware.

Signed-off-by: Bingbu Cao <bingbu.cao@intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/staging/media/ipu7/ipu7-boot.c [new file with mode: 0644]
drivers/staging/media/ipu7/ipu7-boot.h [new file with mode: 0644]
drivers/staging/media/ipu7/ipu7-cpd.c [new file with mode: 0644]
drivers/staging/media/ipu7/ipu7-cpd.h [new file with mode: 0644]
drivers/staging/media/ipu7/ipu7-syscom.c [new file with mode: 0644]
drivers/staging/media/ipu7/ipu7-syscom.h [new file with mode: 0644]