cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

ov772x.h (1402B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * ov772x Camera
      4 *
      5 * Copyright (C) 2008 Renesas Solutions Corp.
      6 * Kuninori Morimoto <morimoto.kuninori@renesas.com>
      7 */
      8
      9#ifndef __OV772X_H__
     10#define __OV772X_H__
     11
     12/* for flags */
     13#define OV772X_FLAG_VFLIP	(1 << 0) /* Vertical flip image */
     14#define OV772X_FLAG_HFLIP	(1 << 1) /* Horizontal flip image */
     15
     16/*
     17 * for Edge ctrl
     18 *
     19 * strength also control Auto or Manual Edge Control Mode
     20 * see also OV772X_MANUAL_EDGE_CTRL
     21 */
     22struct ov772x_edge_ctrl {
     23	unsigned char strength;
     24	unsigned char threshold;
     25	unsigned char upper;
     26	unsigned char lower;
     27};
     28
     29#define OV772X_MANUAL_EDGE_CTRL		0x80 /* un-used bit of strength */
     30#define OV772X_EDGE_STRENGTH_MASK	0x1F
     31#define OV772X_EDGE_THRESHOLD_MASK	0x0F
     32#define OV772X_EDGE_UPPER_MASK		0xFF
     33#define OV772X_EDGE_LOWER_MASK		0xFF
     34
     35#define OV772X_AUTO_EDGECTRL(u, l)	\
     36{					\
     37	.upper = (u & OV772X_EDGE_UPPER_MASK),	\
     38	.lower = (l & OV772X_EDGE_LOWER_MASK),	\
     39}
     40
     41#define OV772X_MANUAL_EDGECTRL(s, t)			\
     42{							\
     43	.strength  = (s & OV772X_EDGE_STRENGTH_MASK) |	\
     44			OV772X_MANUAL_EDGE_CTRL,	\
     45	.threshold = (t & OV772X_EDGE_THRESHOLD_MASK),	\
     46}
     47
     48/**
     49 * struct ov772x_camera_info -	ov772x driver interface structure
     50 * @flags:		Sensor configuration flags
     51 * @edgectrl:		Sensor edge control
     52 */
     53struct ov772x_camera_info {
     54	unsigned long		flags;
     55	struct ov772x_edge_ctrl	edgectrl;
     56};
     57
     58#endif /* __OV772X_H__ */