cregit-Linux how code gets into the kernel

Release 4.11 drivers/media/i2c/et8ek8/et8ek8_reg.h

/*
 * et8ek8_reg.h
 *
 * Copyright (C) 2008 Nokia Corporation
 *
 * Contact: Sakari Ailus <sakari.ailus@iki.fi>
 *          Tuukka Toivonen <tuukkat76@gmail.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 * 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.
 */

#ifndef ET8EK8REGS_H

#define ET8EK8REGS_H

#include <linux/i2c.h>
#include <linux/types.h>
#include <linux/videodev2.h>
#include <linux/v4l2-subdev.h>

struct v4l2_mbus_framefmt;
struct v4l2_subdev_pad_mbus_code_enum;


struct et8ek8_mode {
	/* Physical sensor resolution and current image window */
	
u16 sensor_width;
	
u16 sensor_height;
	
u16 sensor_window_origin_x;
	
u16 sensor_window_origin_y;
	
u16 sensor_window_width;
	
u16 sensor_window_height;

	/* Image data coming from sensor (after scaling) */
	
u16 width;
	
u16 height;
	
u16 window_origin_x;
	
u16 window_origin_y;
	
u16 window_width;
	
u16 window_height;

	
u32 pixel_clock;		/* in Hz */
	
u32 ext_clock;			/* in Hz */
	
struct v4l2_fract timeperframe;
	
u32 max_exp;			/* Maximum exposure value */
	
u32 bus_format;			/* MEDIA_BUS_FMT_ */
	
u32 sensitivity;		/* 16.16 fixed point */
};


#define ET8EK8_REG_8BIT			1

#define ET8EK8_REG_16BIT		2

#define ET8EK8_REG_DELAY		100

#define ET8EK8_REG_TERM			0xff

struct et8ek8_reg {
	
u16 type;
	
u16 reg;			/* 16-bit offset */
	
u32 val;			/* 8/16/32-bit value */
};

/* Possible struct smia_reglist types. */

#define ET8EK8_REGLIST_STANDBY		0

#define ET8EK8_REGLIST_POWERON		1

#define ET8EK8_REGLIST_RESUME		2

#define ET8EK8_REGLIST_STREAMON		3

#define ET8EK8_REGLIST_STREAMOFF	4

#define ET8EK8_REGLIST_DISABLED		5


#define ET8EK8_REGLIST_MODE		10


#define ET8EK8_REGLIST_LSC_ENABLE	100

#define ET8EK8_REGLIST_LSC_DISABLE	101

#define ET8EK8_REGLIST_ANR_ENABLE	102

#define ET8EK8_REGLIST_ANR_DISABLE	103


struct et8ek8_reglist {
	
u32 type;
	
struct et8ek8_mode mode;
	
struct et8ek8_reg regs[];
};


#define ET8EK8_MAX_LEN			32

struct et8ek8_meta_reglist {
	
char version[ET8EK8_MAX_LEN];
	union {
		
struct et8ek8_reglist *ptr;
	} 
reglist[];
};

extern struct et8ek8_meta_reglist meta_reglist;

#endif /* ET8EK8REGS */

Overall Contributors

PersonTokensPropCommitsCommitProp
Pavel Machek220100.00%1100.00%
Total220100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.