Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound...
[pandora-kernel.git] / include / media / ov772x.h
index 57db48d..30d9629 100644 (file)
 #define OV772X_FLAG_VFLIP     0x00000001 /* Vertical flip image */
 #define OV772X_FLAG_HFLIP     0x00000002 /* Horizontal flip image */
 
+/*
+ * 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          buswidth;
        unsigned long          flags;
        struct soc_camera_link link;
+       struct ov772x_edge_ctrl edgectrl;
 };
 
 #endif /* __OV772X_H__ */