xref: /linux/drivers/media/platform/rockchip/rkcif/rkcif-interface.h (revision 24f171c7e145f43b9f187578e89b0982ce87e54c)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Rockchip Camera Interface (CIF) Driver
4  *
5  * Abstraction for the INTERFACE and CROP parts of the different CIF variants.
6  * They shall be represented as V4L2 subdevice with one sink pad and one
7  * source pad. The sink pad is connected to a subdevice: either the subdevice
8  * provided by the driver of the companion chip connected to the DVP, or the
9  * subdevice provided by the MIPI CSI-2 receiver driver. The source pad is
10  * to V4l2 device(s) provided by one or many instance(s) of the DMA
11  * abstraction.
12  *
13  * Copyright (C) 2025 Michael Riesch <michael.riesch@wolfvision.net>
14  * Copyright (C) 2025 Collabora, Ltd.
15  */
16 
17 #ifndef _RKCIF_INTERFACE_H
18 #define _RKCIF_INTERFACE_H
19 
20 #include "rkcif-common.h"
21 
22 int rkcif_interface_register(struct rkcif_device *rkcif,
23 			     struct rkcif_interface *interface);
24 
25 void rkcif_interface_unregister(struct rkcif_interface *interface);
26 
27 const struct rkcif_input_fmt *
28 rkcif_interface_find_input_fmt(struct rkcif_interface *interface, bool ret_def,
29 			       u32 mbus_code);
30 
31 #endif
32