FILE
et8ek8_reg.h
File preview with syntax highlighting.
linux-6.19.14/drivers/media/i2c/et8ek8/et8ek8_reg.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * et8ek8_reg.h 4 * 5 * Copyright (C) 2008 Nokia Corporation 6 * 7 * Contact: Sakari Ailus <sakari.ailus@iki.fi> 8 * Tuukka Toivonen <tuukkat76@gmail.com> 9 */ 10 11#ifndef ET8EK8REGS_H 12#define ET8EK8REGS_H 13 14#include <linux/i2c.h> 15#include <linux/types.h> 16#include <linux/videodev2.h> 17#include <linux/v4l2-subdev.h> 18 19struct v4l2_mbus_framefmt; 20struct v4l2_subdev_pad_mbus_code_enum; 21 22struct et8ek8_mode { 23 /* Physical sensor resolution and current image window */ 24 u16 sensor_width; 25 u16 sensor_height; 26 u16 sensor_window_origin_x; 27 u16 sensor_window_origin_y; 28 u16 sensor_window_width; 29 u16 sensor_window_height; 30 31 /* Image data coming from sensor (after scaling) */ 32 u16 width; 33 u16 height; 34 u16 window_origin_x; 35 u16 window_origin_y; 36 u16 window_width; 37 u16 window_height; 38 39 u32 pixel_clock; /* in Hz */ 40 struct v4l2_fract timeperframe; 41 u32 max_exp; /* Maximum exposure value */ 42 u32 bus_format; /* MEDIA_BUS_FMT_ */ 43 u32 sensitivity; /* 16.16 fixed point */ 44}; 45 46#define ET8EK8_REG_8BIT 1 47#define ET8EK8_REG_16BIT 2 48#define ET8EK8_REG_DELAY 100 49#define ET8EK8_REG_TERM 0xff 50struct et8ek8_reg { 51 u16 type; 52 u16 reg; /* 16-bit offset */ 53 u32 val; /* 8/16/32-bit value */ 54}; 55 56/* Possible struct smia_reglist types. */ 57#define ET8EK8_REGLIST_STANDBY 0 58#define ET8EK8_REGLIST_POWERON 1 59#define ET8EK8_REGLIST_RESUME 2 60#define ET8EK8_REGLIST_STREAMON 3 61#define ET8EK8_REGLIST_STREAMOFF 4 62#define ET8EK8_REGLIST_DISABLED 5 63 64#define ET8EK8_REGLIST_MODE 10 65 66#define ET8EK8_REGLIST_LSC_ENABLE 100 67#define ET8EK8_REGLIST_LSC_DISABLE 101 68#define ET8EK8_REGLIST_ANR_ENABLE 102 69#define ET8EK8_REGLIST_ANR_DISABLE 103 70 71struct et8ek8_reglist { 72 u32 type; 73 struct et8ek8_mode mode; 74 struct et8ek8_reg regs[]; 75}; 76 77#define ET8EK8_MAX_LEN 32 78struct et8ek8_meta_reglist { 79 char version[ET8EK8_MAX_LEN]; 80 union { 81 struct et8ek8_reglist *ptr; 82 } reglist[]; 83}; 84 85extern struct et8ek8_meta_reglist meta_reglist; 86 87#endif /* ET8EK8REGS */
~/
Read-only file preview.