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