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