13d0407baSopenharmony_ci/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR MIT)
23d0407baSopenharmony_ci *
33d0407baSopenharmony_ci * Copyright (C) 2021 Rockchip Electronics Co., Ltd.
43d0407baSopenharmony_ci */
53d0407baSopenharmony_ci
63d0407baSopenharmony_ci#ifndef _UAPI_FEC_CONFIG_H
73d0407baSopenharmony_ci#define _UAPI_FEC_CONFIG_H
83d0407baSopenharmony_ci
93d0407baSopenharmony_ci#include <linux/types.h>
103d0407baSopenharmony_ci#include <linux/v4l2-controls.h>
113d0407baSopenharmony_ci
123d0407baSopenharmony_ci#define FEC_API_VERSION		KERNEL_VERSION(1, 0, 0)
133d0407baSopenharmony_cistruct fec_config {
143d0407baSopenharmony_ci	u32 mesh_density;
153d0407baSopenharmony_ci	u32 src_width;
163d0407baSopenharmony_ci	u32 src_height;
173d0407baSopenharmony_ci	u32 dst_width;
183d0407baSopenharmony_ci	u32 dst_height;
193d0407baSopenharmony_ci	u32 mesh_size;
203d0407baSopenharmony_ci	s32 buf_fd;
213d0407baSopenharmony_ci	u32 fec_bic_mode;
223d0407baSopenharmony_ci} __attribute__ ((packed));
233d0407baSopenharmony_ci
243d0407baSopenharmony_cistruct fec_params_cfg {
253d0407baSopenharmony_ci	u32 module_en_update;
263d0407baSopenharmony_ci	u32 module_ens;
273d0407baSopenharmony_ci	u32 module_cfg_update;
283d0407baSopenharmony_ci
293d0407baSopenharmony_ci	u32 frame_id;
303d0407baSopenharmony_ci	struct fec_config fec_cfg;
313d0407baSopenharmony_ci} __attribute__ ((packed));
323d0407baSopenharmony_ci
333d0407baSopenharmony_ci#endif
34