|  | /* | 
|  | * ov772x Camera | 
|  | * | 
|  | * Copyright (C) 2008 Renesas Solutions Corp. | 
|  | * Kuninori Morimoto <morimoto.kuninori@renesas.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. | 
|  | */ | 
|  |  | 
|  | #ifndef __OV772X_H__ | 
|  | #define __OV772X_H__ | 
|  |  | 
|  | #include <media/soc_camera.h> | 
|  |  | 
|  | /* for flags */ | 
|  | #define OV772X_FLAG_VFLIP	(1 << 0) /* Vertical flip image */ | 
|  | #define OV772X_FLAG_HFLIP	(1 << 1) /* Horizontal flip image */ | 
|  | #define OV772X_FLAG_8BIT	(1 << 2) /* default 10 bit */ | 
|  |  | 
|  | /* | 
|  | * for Edge ctrl | 
|  | * | 
|  | * strength also control Auto or Manual Edge Control Mode | 
|  | * see also OV772X_MANUAL_EDGE_CTRL | 
|  | */ | 
|  | struct ov772x_edge_ctrl { | 
|  | unsigned char strength; | 
|  | unsigned char threshold; | 
|  | unsigned char upper; | 
|  | unsigned char lower; | 
|  | }; | 
|  |  | 
|  | #define OV772X_MANUAL_EDGE_CTRL	0x80 /* un-used bit of strength */ | 
|  | #define EDGE_STRENGTH_MASK	0x1F | 
|  | #define EDGE_THRESHOLD_MASK	0x0F | 
|  | #define EDGE_UPPER_MASK		0xFF | 
|  | #define EDGE_LOWER_MASK		0xFF | 
|  |  | 
|  | #define OV772X_AUTO_EDGECTRL(u, l)	\ | 
|  | {					\ | 
|  | .upper = (u & EDGE_UPPER_MASK),	\ | 
|  | .lower = (l & EDGE_LOWER_MASK),	\ | 
|  | } | 
|  |  | 
|  | #define OV772X_MANUAL_EDGECTRL(s, t)					\ | 
|  | {									\ | 
|  | .strength  = (s & EDGE_STRENGTH_MASK) | OV772X_MANUAL_EDGE_CTRL,\ | 
|  | .threshold = (t & EDGE_THRESHOLD_MASK),				\ | 
|  | } | 
|  |  | 
|  | /* | 
|  | * ov772x camera info | 
|  | */ | 
|  | struct ov772x_camera_info { | 
|  | unsigned long		flags; | 
|  | struct ov772x_edge_ctrl	edgectrl; | 
|  | }; | 
|  |  | 
|  | #endif /* __OV772X_H__ */ |