1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) 2026 Renesas Electronics Corp. 4 * Copyright (C) 2026 Ideas on Board Oy 5 * Copyright (C) 2026 Ragnatech AB 6 */ 7 8 #ifndef __MEDIA_DCT_RPPX1_H__ 9 #define __MEDIA_DCT_RPPX1_H__ 10 11 #include <linux/v4l2-mediabus.h> 12 #include <linux/media/dreamchip/rppx1-config.h> 13 14 #include <media/videobuf2-core.h> 15 16 struct rppx1; 17 18 struct rppx1 *rppx1_create(void __iomem *base, struct device *dev); 19 20 void rppx1_destroy(struct rppx1 *rpp); 21 22 int rppx1_start(struct rppx1 *rpp, const struct v4l2_mbus_framefmt *input, 23 const struct v4l2_mbus_framefmt *hv, 24 const struct v4l2_mbus_framefmt *mv); 25 26 int rppx1_stop(struct rppx1 *rpp); 27 28 bool rppx1_interrupt(struct rppx1 *rpp, u32 *isc); 29 30 typedef int (*rppx1_reg_write)(void *priv, u32 offset, u32 value); 31 int rppx1_params(struct rppx1 *rpp, struct vb2_buffer *vb, size_t max_size, 32 rppx1_reg_write write, void *priv); 33 34 void rppx1_stats_fill_isr(struct rppx1 *rpp, u32 isc, void *buf); 35 36 #endif /* __MEDIA_DCT_RPPX1_H__ */ 37