xref: /linux/drivers/staging/media/ipu7/ipu7-boot.h (revision 8d2b0853add1d7534dc0794e3c8e0b9e8c4ec640)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2022 - 2025 Intel Corporation
4  */
5 
6 #ifndef IPU7_BOOT_H
7 #define IPU7_BOOT_H
8 
9 #include <linux/types.h>
10 
11 struct ipu7_bus_device;
12 struct syscom_queue_config;
13 
14 #define FW_QUEUE_CONFIG_SIZE(num_queues)	\
15 	(sizeof(struct syscom_queue_config) * (num_queues))
16 
17 int ipu7_boot_init_boot_config(struct ipu7_bus_device *adev,
18 			       struct syscom_queue_config *qconfigs,
19 			       int num_queues, u32 uc_freq,
20 			       dma_addr_t subsys_config, u8 major);
21 void ipu7_boot_release_boot_config(struct ipu7_bus_device *adev);
22 int ipu7_boot_start_fw(const struct ipu7_bus_device *adev);
23 int ipu7_boot_stop_fw(const struct ipu7_bus_device *adev);
24 u32 ipu7_boot_get_boot_state(const struct ipu7_bus_device *adev);
25 #endif
26