Add preview default settings for S5K4ECGX sensor registers,
which was copied from the reference code of Samsung S.LSI.

Signed-off-by: Sangwook Lee <sangwook....@linaro.org>
---
 drivers/media/video/s5k4ecgx_regs.h |  138 +++++++++++++++++++++++++++++++++++
 1 file changed, 138 insertions(+)
 create mode 100644 drivers/media/video/s5k4ecgx_regs.h

diff --git a/drivers/media/video/s5k4ecgx_regs.h 
b/drivers/media/video/s5k4ecgx_regs.h
new file mode 100644
index 0000000..e99b0e6
--- /dev/null
+++ b/drivers/media/video/s5k4ecgx_regs.h
@@ -0,0 +1,138 @@
+/*
+ * Samsung S5K4ECGX register tables for default values
+ *
+ * Copyright (C) 2012 Linaro
+ * Copyright (C) 2012 Insignal Co,. Ltd
+ *
+ * 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 __DRIVERS_MEDIA_VIDEO_S5K4ECGX_H__
+#define __DRIVERS_MEDIA_VIDEO_S5K4ECGX_H__
+
+struct regval_list {
+       u32     addr;
+       u16     val;
+};
+
+/* Configure 720x480 preview size */
+static const struct regval_list s5k4ecgx_720_prev[] = {
+       { 0x70000250, 0x0a00 },
+       { 0x70000252, 0x06a8 },
+       { 0x70000254, 0x0010 },
+       { 0x70000256, 0x0078 },
+       { 0x70000258, 0x0a00 },
+       { 0x7000025a, 0x06a8 },
+       { 0x7000025c, 0x0010 },
+       { 0x7000025e, 0x0078 },
+       { 0x70000494, 0x0a00 },
+
+       /*
+        * FIXME: according to the datasheet,
+        * 0x70000496~ 0x7000049c seems to be only for capture mode,
+        * but without these value, it doesn't work with preview mode.
+        */
+       { 0x70000496, 0x06a8 },
+       { 0x70000498, 0x0000 },
+       { 0x7000049a, 0x0000 },
+       { 0x7000049c, 0x0a00 },
+
+       { 0x7000049e, 0x06a8 },
+       { 0x700002a6, 0x02d0 },
+       { 0x700002a8, 0x01e0 },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+/* Configure 640x480 preview size */
+static const struct regval_list s5k4ecgx_640_prev[] = {
+       { 0x70000250, 0x0a00 },
+       { 0x70000252, 0x0780 },
+       { 0x70000254, 0x0010 },
+       { 0x70000256, 0x000c },
+       { 0x70000258, 0x0a00 },
+       { 0x7000025a, 0x0780 },
+       { 0x7000025c, 0x0010 },
+       { 0x7000025e, 0x000c },
+       { 0x70000494, 0x0a00 },
+       { 0x70000496, 0x0780 },
+       { 0x70000498, 0x0000 },
+       { 0x7000049a, 0x0000 },
+       { 0x7000049c, 0x0a00 },
+       { 0x7000049e, 0x0780 },
+       { 0x700002a6, 0x0280 },
+       { 0x700002a8, 0x01e0 },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+/* Configure 352x288 preview size */
+static const struct regval_list s5k4ecgx_352_prev[] = {
+       { 0x70000250, 0x0928 },
+       { 0x70000252, 0x0780 },
+       { 0x70000254, 0x007c },
+       { 0x70000256, 0x000c },
+       { 0x70000258, 0x0928 },
+       { 0x7000025a, 0x0780 },
+       { 0x7000025c, 0x007c },
+       { 0x7000025e, 0x000c },
+       { 0x70000494, 0x0928 },
+       { 0x70000496, 0x0780 },
+       { 0x70000498, 0x0000 },
+       { 0x7000049a, 0x0000 },
+       { 0x7000049c, 0x0928 },
+       { 0x7000049e, 0x0780 },
+       { 0x700002a6, 0x0160 },
+       { 0x700002a8, 0x0120 },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+/* Configure 176x144 preview size */
+static const struct regval_list s5k4ecgx_176_prev[] = {
+       { 0x70000250, 0x0928 },
+       { 0x70000252, 0x0780 },
+       { 0x70000254, 0x007c },
+       { 0x70000256, 0x000c },
+       { 0x70000258, 0x0928 },
+       { 0x7000025a, 0x0780 },
+       { 0x7000025c, 0x007c },
+       { 0x7000025e, 0x000c },
+       { 0x70000494, 0x0928 },
+       { 0x70000496, 0x0780 },
+       { 0x70000498, 0x0000 },
+       { 0x7000049a, 0x0000 },
+       { 0x7000049c, 0x0928 },
+       { 0x7000049e, 0x0780 },
+       { 0x700002a6, 0x00b0 },
+       { 0x700002a8, 0x0090 },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+/* Common setting 1 for preview */
+static const struct regval_list s5k4ecgx_com1_prev[] = {
+       { 0x700004a0, 0x0000 },
+       { 0x700004a2, 0x0000 },
+       { 0x70000262, 0x0001 },
+       { 0x70000a1e, 0x0028 },
+       { 0x70000ad4, 0x003c },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+/* Common setting 2 for preview */
+static const struct regval_list s5k4ecgx_com2_prev[] = {
+       { 0x700002aa, 0x0005 },
+       { 0x700002b4, 0x0052 },
+       { 0x700002be, 0x0000 },
+       { 0x700002c0, 0x0001 },
+       { 0x700002c2, 0x029a },
+       { 0x700002c4, 0x014d },
+       { 0x700002d0, 0x0000 },
+       { 0x700002d2, 0x0000 },
+       { 0x70000266, 0x0000 },
+       { 0x7000026a, 0x0001 },
+       { 0x7000024e, 0x0001 },
+       { 0x70000268, 0x0001 },
+       { 0xffffffff, 0x0000 }, /* End token */
+};
+
+#endif /* __DRIVERS_MEDIA_VIDEO_S5K4ECGX_H__ */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to