FILE
ipu7-isys-csi2.h
File preview with syntax highlighting.
linux-6.19.14/drivers/staging/media/ipu7/ipu7-isys-csi2.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2013 - 2025 Intel Corporation 4 */ 5 6#ifndef IPU7_ISYS_CSI2_H 7#define IPU7_ISYS_CSI2_H 8 9#include <linux/container_of.h> 10#include <linux/types.h> 11 12#include "ipu7-isys-subdev.h" 13#include "ipu7-isys-video.h" 14 15struct ipu7_isys; 16struct ipu7_isys_csi2_pdata; 17struct ipu7_isys_stream; 18 19#define IPU7_NR_OF_CSI2_VC 16U 20#define INVALID_VC_ID -1 21#define IPU7_NR_OF_CSI2_SINK_PADS 1U 22#define IPU7_CSI2_PAD_SINK 0U 23#define IPU7_NR_OF_CSI2_SRC_PADS 8U 24#define IPU7_CSI2_PAD_SRC 1U 25#define IPU7_NR_OF_CSI2_PADS (IPU7_NR_OF_CSI2_SINK_PADS + \ 26 IPU7_NR_OF_CSI2_SRC_PADS) 27 28/* 29 * struct ipu7_isys_csi2 30 * 31 * @nlanes: number of lanes in the receiver 32 */ 33struct ipu7_isys_csi2 { 34 struct ipu7_isys_subdev asd; 35 struct ipu7_isys_csi2_pdata *pdata; 36 struct ipu7_isys *isys; 37 struct ipu7_isys_video av[IPU7_NR_OF_CSI2_SRC_PADS]; 38 39 void __iomem *base; 40 u32 receiver_errors; 41 u32 legacy_irq_mask; 42 unsigned int nlanes; 43 unsigned int port; 44 unsigned int phy_mode; 45 unsigned int stream_count; 46}; 47 48#define ipu7_isys_subdev_to_csi2(__sd) \ 49 container_of(__sd, struct ipu7_isys_csi2, asd) 50 51#define to_ipu7_isys_csi2(__asd) container_of(__asd, struct ipu7_isys_csi2, asd) 52 53s64 ipu7_isys_csi2_get_link_freq(struct ipu7_isys_csi2 *csi2); 54int ipu7_isys_csi2_init(struct ipu7_isys_csi2 *csi2, struct ipu7_isys *isys, 55 void __iomem *base, unsigned int index); 56void ipu7_isys_csi2_cleanup(struct ipu7_isys_csi2 *csi2); 57void ipu7_isys_csi2_sof_event_by_stream(struct ipu7_isys_stream *stream); 58void ipu7_isys_csi2_eof_event_by_stream(struct ipu7_isys_stream *stream); 59int ipu7_isys_csi2_get_remote_desc(u32 source_stream, 60 struct ipu7_isys_csi2 *csi2, 61 struct media_entity *source_entity, 62 struct v4l2_mbus_frame_desc_entry *entry, 63 int *nr_queues); 64#endif /* IPU7_ISYS_CSI2_H */
~/
Read-only file preview.