oleavr-rgl-a500-mini-linux-.../drivers/media/platform/sunxi-vfe/device/camera.h
Ole André Vadla Ravnås 169c65d57e Initial commit
2022-05-07 01:01:45 +02:00

106 lines
No EOL
3.6 KiB
C
Executable file

/*
* linux-3.10/drivers/media/platform/sunxi-vfe/device/camera.h
*
* Copyright (c) 2007-2017 Allwinnertech Co., Ltd.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
/*
* sunxi sensor header file
* Author:raymonxiu
*/
#ifndef __CAMERA__H__
#define __CAMERA__H__
#include <media/v4l2-subdev.h>
#include <linux/videodev2.h>
#include "../vfe.h"
#include "../vfe_subdev.h"
#include "../csi_cci/cci_helper.h"
#include "camera_cfg.h"
#include "../platform_cfg.h"
/*
* Basic window sizes. These probably belong somewhere more globally
* useful.
*/
#define ABS_SENSOR(x) ((x) > 0 ? (x) : -(x))
#define HXGA_WIDTH 4000
#define HXGA_HEIGHT 3000
#define QUXGA_WIDTH 3264
#define QUXGA_HEIGHT 2448
#define QSXGA_WIDTH 2592
#define QSXGA_HEIGHT 1936
#define QXGA_WIDTH 2048
#define QXGA_HEIGHT 1536
#define HD1080_WIDTH 1920
#define HD1080_HEIGHT 1080
#define UXGA_WIDTH 1600
#define UXGA_HEIGHT 1200
#define SXGA_WIDTH 1280
#define SXGA_HEIGHT 960
#define HD720_WIDTH 1280
#define HD720_HEIGHT 720
#define XGA_WIDTH 1024
#define XGA_HEIGHT 768
#define SVGA_WIDTH 800
#define SVGA_HEIGHT 600
#define VGA_WIDTH 640
#define VGA_HEIGHT 480
#define QVGA_WIDTH 320
#define QVGA_HEIGHT 240
#define CIF_WIDTH 352
#define CIF_HEIGHT 288
#define QCIF_WIDTH 176
#define QCIF_HEIGHT 144
#define CSI_GPIO_HIGH 1
#define CSI_GPIO_LOW 0
#define CCI_BITS_8 8
#define CCI_BITS_16 16
struct sensor_info {
struct v4l2_subdev sd;
struct sensor_format_struct *fmt; /* Current format */
enum standby_mode stby_mode;
unsigned int width;
unsigned int height;
unsigned int capture_mode; //V4L2_MODE_VIDEO/V4L2_MODE_IMAGE
unsigned int af_first_flag;
unsigned int init_first_flag;
unsigned int preview_first_flag;
unsigned int auto_focus; //0:not in contin_focus 1: contin_focus
unsigned int focus_status; //0:idle 1:busy
unsigned int low_speed; //0:high speed 1:low speed
int brightness;
int contrast;
int saturation;
int hue;
unsigned int hflip;
unsigned int vflip;
unsigned int gain;
unsigned int autogain;
unsigned int exp;
int exp_bias;
enum v4l2_exposure_auto_type autoexp;
unsigned int autowb;
enum v4l2_auto_n_preset_white_balance wb;
enum v4l2_colorfx clrfx;
enum v4l2_flash_led_mode flash_mode;
enum v4l2_power_line_frequency band_filter;
// enum v4l2_autofocus_ctrl af_ctrl;
struct v4l2_fract tpf;
struct sensor_win_size *current_wins;
struct flash_dev_info *fl_dev_info;
};
#endif //__CAMERA__H__