xref: /linux/drivers/accel/ivpu/ivpu_hw_ip.h (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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