FILE
sun6i_csi.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.h
1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright (c) 2011-2018 Magewell Electronics Co., Ltd. (Nanjing) 4 * Author: Yong Deng <yong.deng@magewell.com> 5 * Copyright 2021-2022 Bootlin 6 * Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com> 7 */ 8 9#ifndef _SUN6I_CSI_H_ 10#define _SUN6I_CSI_H_ 11 12#include <media/v4l2-device.h> 13#include <media/videobuf2-v4l2.h> 14 15#include "sun6i_csi_bridge.h" 16#include "sun6i_csi_capture.h" 17 18#define SUN6I_CSI_NAME "sun6i-csi" 19#define SUN6I_CSI_DESCRIPTION "Allwinner A31 CSI Device" 20 21enum sun6i_csi_port { 22 SUN6I_CSI_PORT_PARALLEL = 0, 23 SUN6I_CSI_PORT_MIPI_CSI2 = 1, 24 SUN6I_CSI_PORT_ISP = 2, 25}; 26 27struct sun6i_csi_buffer { 28 struct vb2_v4l2_buffer v4l2_buffer; 29 struct list_head list; 30}; 31 32struct sun6i_csi_v4l2 { 33 struct v4l2_device v4l2_dev; 34 struct media_device media_dev; 35}; 36 37struct sun6i_csi_device { 38 struct device *dev; 39 struct v4l2_device *v4l2_dev; 40 struct media_device *media_dev; 41 42 struct sun6i_csi_v4l2 v4l2; 43 struct sun6i_csi_bridge bridge; 44 struct sun6i_csi_capture capture; 45 46 struct regmap *regmap; 47 struct clk *clock_mod; 48 struct clk *clock_ram; 49 struct reset_control *reset; 50 51 bool isp_available; 52}; 53 54struct sun6i_csi_variant { 55 unsigned long clock_mod_rate; 56}; 57 58/* ISP */ 59 60int sun6i_csi_isp_complete(struct sun6i_csi_device *csi_dev, 61 struct v4l2_device *v4l2_dev); 62 63#endif
~/
Read-only file preview.