1/* SPDX-License-Identifier: GPL-2.0-only OR MIT */
2/* Copyright (c) 2023 Imagination Technologies Ltd. */
3
4#ifndef PVR_ROGUE_FWIF_RESETFRAMEWORK_H
5#define PVR_ROGUE_FWIF_RESETFRAMEWORK_H
6
7#include <linux/bits.h>
8#include <linux/types.h>
9
10#include "pvr_rogue_fwif_shared.h"
11
12struct rogue_fwif_rf_registers {
13	union {
14		u64 cdmreg_cdm_cb_base;
15		u64 cdmreg_cdm_ctrl_stream_base;
16	};
17	u64 cdmreg_cdm_cb_queue;
18	u64 cdmreg_cdm_cb;
19};
20
21struct rogue_fwif_rf_cmd {
22	/* THIS MUST BE THE LAST MEMBER OF THE CONTAINING STRUCTURE */
23	struct rogue_fwif_rf_registers fw_registers __aligned(8);
24};
25
26#define ROGUE_FWIF_RF_CMD_SIZE sizeof(struct rogue_fwif_rf_cmd)
27
28#endif /* PVR_ROGUE_FWIF_RESETFRAMEWORK_H */
29