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