18a27ad81SWachowski, Karol /* SPDX-License-Identifier: GPL-2.0-only */ 28a27ad81SWachowski, Karol /* 38a27ad81SWachowski, Karol * Copyright (C) 2020-2024 Intel Corporation 48a27ad81SWachowski, Karol */ 58a27ad81SWachowski, Karol 68a27ad81SWachowski, Karol #ifndef __IVPU_HW_IP_H__ 78a27ad81SWachowski, Karol #define __IVPU_HW_IP_H__ 88a27ad81SWachowski, Karol 98a27ad81SWachowski, Karol #include "ivpu_drv.h" 108a27ad81SWachowski, Karol 118a27ad81SWachowski, Karol int ivpu_hw_ip_host_ss_configure(struct ivpu_device *vdev); 128a27ad81SWachowski, Karol void ivpu_hw_ip_idle_gen_enable(struct ivpu_device *vdev); 138a27ad81SWachowski, Karol void ivpu_hw_ip_idle_gen_disable(struct ivpu_device *vdev); 148a27ad81SWachowski, Karol int ivpu_hw_ip_pwr_domain_enable(struct ivpu_device *vdev); 158a27ad81SWachowski, Karol int ivpu_hw_ip_host_ss_axi_enable(struct ivpu_device *vdev); 168a27ad81SWachowski, Karol int ivpu_hw_ip_top_noc_enable(struct ivpu_device *vdev); 178a27ad81SWachowski, Karol u64 ivpu_hw_ip_read_perf_timer_counter(struct ivpu_device *vdev); 188a27ad81SWachowski, Karol void ivpu_hw_ip_snoop_disable(struct ivpu_device *vdev); 198a27ad81SWachowski, Karol void ivpu_hw_ip_tbu_mmu_enable(struct ivpu_device *vdev); 208a27ad81SWachowski, Karol int ivpu_hw_ip_soc_cpu_boot(struct ivpu_device *vdev); 218a27ad81SWachowski, Karol void ivpu_hw_ip_wdt_disable(struct ivpu_device *vdev); 228a27ad81SWachowski, Karol void ivpu_hw_ip_diagnose_failure(struct ivpu_device *vdev); 238a27ad81SWachowski, Karol u32 ivpu_hw_ip_ipc_rx_count_get(struct ivpu_device *vdev); 248a27ad81SWachowski, Karol void ivpu_hw_ip_irq_clear(struct ivpu_device *vdev); 25*2f7ffb06SJacek Lawrynowicz bool ivpu_hw_ip_irq_handler_37xx(struct ivpu_device *vdev, int irq); 26*2f7ffb06SJacek Lawrynowicz bool ivpu_hw_ip_irq_handler_40xx(struct ivpu_device *vdev, int irq); 278a27ad81SWachowski, Karol void ivpu_hw_ip_db_set(struct ivpu_device *vdev, u32 db_id); 288a27ad81SWachowski, Karol u32 ivpu_hw_ip_ipc_rx_addr_get(struct ivpu_device *vdev); 298a27ad81SWachowski, Karol void ivpu_hw_ip_ipc_tx_set(struct ivpu_device *vdev, u32 vpu_addr); 308a27ad81SWachowski, Karol void ivpu_hw_ip_irq_enable(struct ivpu_device *vdev); 318a27ad81SWachowski, Karol void ivpu_hw_ip_irq_disable(struct ivpu_device *vdev); 328a27ad81SWachowski, Karol void ivpu_hw_ip_diagnose_failure(struct ivpu_device *vdev); 338a27ad81SWachowski, Karol void ivpu_hw_ip_fabric_req_override_enable_50xx(struct ivpu_device *vdev); 348a27ad81SWachowski, Karol void ivpu_hw_ip_fabric_req_override_disable_50xx(struct ivpu_device *vdev); 358a27ad81SWachowski, Karol 368a27ad81SWachowski, Karol #endif /* __IVPU_HW_IP_H__ */ 37