You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/01/26 13:12:14 UTC

[incubator-nuttx] 05/13: drivers: video: altair: nxstyle fixes

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit cb5d8b53cb3dedac261dead66ebb57b2c556a570
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Tue Jan 26 09:14:35 2021 +0100

    drivers: video: altair: nxstyle fixes
    
    Nxstyle fixes to pass CI
    
    Signed-off-by: Alin Jerpelea <al...@sony.com>
---
 drivers/video/max7456.c         |  84 ++--
 drivers/video/ov2640.c          | 924 +++++++++++++++++++++++++++++++++-------
 drivers/video/video_framebuff.c |  50 ++-
 drivers/video/video_framebuff.h |  10 +-
 4 files changed, 852 insertions(+), 216 deletions(-)

diff --git a/drivers/video/max7456.c b/drivers/video/max7456.c
index 2a5f2af..d341c98 100644
--- a/drivers/video/max7456.c
+++ b/drivers/video/max7456.c
@@ -34,16 +34,17 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- *****************************************************************************/
+ ****************************************************************************/
 
-/*****************************************************************************
+/****************************************************************************
  * Theory of Operation
  *
  * The MAX7456 is a single-channel, monochrome, on-screen-display generator
  * that accepts an NTSC or PAL video input signal, overlays user-defined
  * character data, and renders the combined stream to CVBS (analog) output.
- * The typical use case then forwards that CVBS output to a video transmitter,
- * analog display, recording device, and/or other external components.
+ * The typical use case then forwards that CVBS output to a video
+ * transmitter, analog display, recording device, and/or other external
+ * components.
  *
  * The chip is fundamentally an SPI slave device with a register bank to
  * configure the chip's analog components, update values in the display frame
@@ -72,8 +73,8 @@
  *
  * Note: Although we use the term "frame buffer", we cannot use the NuttX
  * standard /dev/fbN interface because our buffer memory is accessible only
- * across SPI. This is an inexpensive, slow, simple chip, and you wouldn't use
- * it for intensive work, but you WOULD use it on a memory-constrained
+ * across SPI. This is an inexpensive, slow, simple chip, and you wouldn't
+ * use it for intensive work, but you WOULD use it on a memory-constrained
  * device. We keep our RAM footprint small by not keeping a local copy of the
  * framebuffer data.
  *
@@ -439,10 +440,10 @@ static int regaddr_from_name(FAR const char *name)
  *
  * Description:
  *   Reads @len bytes into @buf from @dev, starting at register address
- *   @addr. This is a low-level function used for reading a sequence of one or
- *   more register values, and isn't usually called directly unless you REALLY
- *   know what you are doing. Consider one of the register-specific helper
- *   functions defined below whenever possible.
+ *   @addr. This is a low-level function used for reading a sequence of one
+ *   or more register values, and isn't usually called directly unless you
+ *   REALLY know what you are doing. Consider one of the register-specific
+ *   helper functions defined below whenever possible.
  *
  * Note: The caller must hold @dev->lock before calling this function.
  *
@@ -505,8 +506,8 @@ static int __mx7_read_reg(FAR struct mx7_dev_s *dev,
  *   Writes @len bytes from @buf to @dev, starting at @addr. This is a
  *   low-level function used for updating a sequence of one or more register
  *   values, and it DOES NOT check that the register being requested is
- *   write-capable. This function isn't called directly unless you REALLY know
- *   what you are doing.
+ *   write-capable. This function isn't called directly unless you REALLY
+ *   know what you are doing.
  *
  *   Consider one of the register-specific helper functions defined below
  *   whenever possible. If a helper function for the register you desire to
@@ -628,7 +629,8 @@ static inline int __mx7_read_reg__dmm(FAR struct mx7_dev_s *dev)
  *
  ****************************************************************************/
 
-static inline int __mx7_write_reg__vm0(FAR struct mx7_dev_s *dev, uint8_t val)
+static inline int __mx7_write_reg__vm0(FAR struct mx7_dev_s *dev,
+                                       uint8_t val)
 {
   return __mx7_write_reg(dev, VM0, &val, sizeof(val));
 }
@@ -687,7 +689,8 @@ static inline int __mx7_write_reg__cmah(FAR struct mx7_dev_s *dev,
  *
  ****************************************************************************/
 
-static inline int __mx7_write_reg__cmm(FAR struct mx7_dev_s *dev, uint8_t val)
+static inline int __mx7_write_reg__cmm(FAR struct mx7_dev_s *dev,
+                                       uint8_t val)
 {
   return __mx7_write_reg(dev, CMM, &val, sizeof(val));
 }
@@ -789,7 +792,8 @@ static inline int __mx7_read_reg__cmdo(FAR struct mx7_dev_s *dev)
  *
  ****************************************************************************/
 
-static inline int __mx7_write_reg__dmm(FAR struct mx7_dev_s *dev, uint8_t val)
+static inline int __mx7_write_reg__dmm(FAR struct mx7_dev_s *dev,
+                                       uint8_t val)
 {
   return __mx7_write_reg(dev, DMM, &val, sizeof(val));
 }
@@ -966,7 +970,7 @@ static void mx7_reset(FAR struct mx7_dev_s *dev)
   __unlock(dev);
 }
 
-/************************************************************************
+/****************************************************************************
  * Name: __write_fb
  *
  * Description:
@@ -1143,7 +1147,8 @@ static ssize_t __write_fb(FAR struct mx7_dev_s *dev,
  *    Each row in the CA EEPROM is 64 bytes wide, but only the first 54 bytes
  *    are used. The rest are marked as "unused memory" in the datasheet. All
  *    64 bytes of each row are included in the data we return, if the user's
- *    request spans that area. We assume that the user understands the format.
+ *    request spans that area. We assume that the user understands the
+ *    format.
  *
  *    In total, the chip has 64 bytes per row x 256 rows of EEPROM.
  *
@@ -1241,6 +1246,7 @@ static ssize_t __read_cm(FAR struct mx7_dev_s *dev,
       /* The shadow RAM is large enough to hold an entire row, so we don't
        * need to go back for another until we've read all of this one.
        */
+
       do
         {
           __mx7_write_reg__cmal(dev, cmal);
@@ -1424,14 +1430,14 @@ static ssize_t mx7_write_fb(FAR struct file *filep, FAR const char *buf,
  *
  *   We use the approach you see here so that we don't have to have one
  *   distinct function (and a separate file_operations structure) for each of
- *   the many interfaces we're likely to create for interacting with this chip
- *   in its various useful ways. This schema also lets us re-use the interface
- *   code internally (see the test-pattern generator at startup.)
+ *   the many interfaces we're likely to create for interacting with this
+ *   chip in its various useful ways. This schema also lets us re-use the
+ *   interface code internally (see the test-pattern generator at startup.)
  *
- *   In general, any function we call from here uses the combination of seek()
- *   and write() to implement a zero-copy frame buffer. The seek() parameter
- *   sets the current cursor position, and successive write()s provide the
- *   character data starting at that position.
+ *   In general, any function we call from here uses the combination of
+ *   seek() and write() to implement a zero-copy frame buffer. The seek()
+ *   parameter sets the current cursor position, and successive write()s
+ *   provide the character data starting at that position.
  *
  *   TODO: At the moment, we have no mechanism for setting the character
  *   attribute (the LBC, BLK, and INV fields in DMM) for the data arriving
@@ -1439,9 +1445,9 @@ static ssize_t mx7_write_fb(FAR struct file *filep, FAR const char *buf,
  *   for the basic stuff.
  *
  *   The above isn't a hard problem to solve, I just don't need to solve it
- *   right now. And, I don't know what the most convenient solution would look
- *   like: the obvious choice is ioctl(), but I don't like ioctl() because I
- *   can't test it from the command line.
+ *   right now. And, I don't know what the most convenient solution would
+ *   look like: the obvious choice is ioctl(), but I don't like ioctl()
+ *   because I can't test it from the command line.
  *
  *   One idea is to have "fb", "blink", "inv", and other entry points for
  *   writing data with specific attributes. That has a nice feel to it,
@@ -1598,18 +1604,18 @@ static int mx7_debug_close(FAR struct file *filep)
  *   "/dev/osd0/VM0", etc., and reads from all of those interfaces arrive
  *   here.
  *
- *   Utilities like cat(1) will exit automatically at EOF, which can be tricky
- *   to deliver at the right time. We achieve this by reading the associated
- *   register value only once, when filep->f_pos is at the beginning of the
- *   "file" we're emulating. The value obtained is stored in dev->debug[], and
- *   we work our way through that and increment the "file position"
- *   accordingly to keep track (because the user may ask for only one byte
- *   at a time, and our register values require two bytes to express as
- *   ascii-hex text).
- *
- *   When we reach the end of dev->debug[], we return EOF. If the user wants a
- *   fresh copy, they can either close and reopen the interface, or move the
- *   file pointer back to 0 via a seek operation.
+ *   Utilities like cat(1) will exit automatically at EOF, which can be
+ *   tricky to deliver at the right time. We achieve this by reading the
+ *   associated register value only once, when filep->f_pos is at the
+ *   beginning of the "file" we're emulating. The value obtained is stored
+ *   in dev->debug[], and we work our way through that and increment the
+ *   "file position" accordingly to keep track (because the user may ask for
+ *   only one byte at a time, and our register values require two bytes to
+ *   express as ascii-hex text).
+ *
+ *   When we reach the end of dev->debug[], we return EOF. If the user wants
+ *   a fresh copy, they can either close and reopen the interface, or move
+ *   the file pointer back to 0 via a seek operation.
  *
  ****************************************************************************/
 
diff --git a/drivers/video/ov2640.c b/drivers/video/ov2640.c
index bb3e4f2..67bdd99 100644
--- a/drivers/video/ov2640.c
+++ b/drivers/video/ov2640.c
@@ -306,7 +306,12 @@ static int     ov2640_reset(FAR struct i2c_master_s *i2c);
 
 static const struct ovr2640_reg_s g_ov2640_reset[] =
 {
-  {0xff, 0x01}, {0x12, 0x80}
+  {
+    0xff, 0x01
+  },
+  {
+    0x12, 0x80
+  }
 };
 #define OV2640_RESET_NENTRIES ARRAY_NENTRIES(g_ov2640_reset)
 
@@ -315,40 +320,176 @@ static const struct ovr2640_reg_s g_ov2640_reset[] =
 
 static const struct ovr2640_reg_s g_ov2640_initialregs[] =
 {
-  {0xff, 0x00},  {0x2c, 0xff},  {0x2e, 0xdf},  {0xff, 0x01},  {0x3c, 0x32},
-  {0x11, 0x00},  {0x09, 0x02},  {0x04, 0x28},  {0x13, 0xe5},  {0x14, 0x48},
-  {0x2c, 0x0c},  {0x33, 0x78},  {0x3a, 0x33},  {0x3b, 0xfb},  {0x3e, 0x00},
-  {0x43, 0x11},  {0x16, 0x10},  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},
-  {0x37, 0x40},  {0x23, 0x00},  {0x34, 0xa0},  {0x06, 0x02},  {0x06, 0x88},
-  {0x07, 0xc0},  {0x0d, 0xb7},  {0x0e, 0x01},  {0x4c, 0x00},  {0x4a, 0x81},
-  {0x21, 0x99},  {0x24, 0x40},  {0x25, 0x38},  {0x26, 0x82},  {0x5c, 0x00},
-  {0x63, 0x00},  {0x46, 0x22},  {0x0c, 0x3a},  {0x5d, 0x55},  {0x5e, 0x7d},
-  {0x5f, 0x7d},  {0x60, 0x55},  {0x61, 0x70},  {0x62, 0x80},  {0x7c, 0x05},
-  {0x20, 0x80},  {0x28, 0x30},  {0x6c, 0x00},  {0x6d, 0x80},  {0x6e, 0x00},
-  {0x70, 0x02},  {0x71, 0x94},  {0x73, 0xc1},  {0x3d, 0x34},  {0x12, 0x04},
-  {0x5a, 0x57},  {0x4f, 0xbb},  {0x50, 0x9c},  {0xff, 0x00},  {0xe5, 0x7f},
-  {0xf9, 0xc0},  {0x41, 0x24},  {0xe0, 0x14},  {0x76, 0xff},  {0x33, 0xa0},
-  {0x42, 0x20},  {0x43, 0x18},  {0x4c, 0x00},  {0x87, 0xd0},  {0x88, 0x3f},
-  {0xd7, 0x03},  {0xd9, 0x10},  {0xd3, 0x82},  {0xc8, 0x08},  {0xc9, 0x80},
-  {0x7c, 0x00},  {0x7d, 0x00},  {0x7c, 0x03},  {0x7d, 0x48},  {0x7d, 0x48},
-  {0x7c, 0x08},  {0x7d, 0x20},  {0x7d, 0x10},  {0x7d, 0x0e},  {0x90, 0x00},
-  {0x91, 0x0e},  {0x91, 0x1a},  {0x91, 0x31},  {0x91, 0x5a},  {0x91, 0x69},
-  {0x91, 0x75},  {0x91, 0x7e},  {0x91, 0x88},  {0x91, 0x8f},  {0x91, 0x96},
-  {0x91, 0xa3},  {0x91, 0xaf},  {0x91, 0xc4},  {0x91, 0xd7},  {0x91, 0xe8},
-  {0x91, 0x20},  {0x92, 0x00},  {0x93, 0x06},  {0x93, 0xe3},  {0x93, 0x03},
-  {0x93, 0x03},  {0x93, 0x00},  {0x93, 0x02},  {0x93, 0x00},  {0x93, 0x00},
-  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},
-  {0x96, 0x00},  {0x97, 0x08},  {0x97, 0x19},  {0x97, 0x02},  {0x97, 0x0c},
-  {0x97, 0x24},  {0x97, 0x30},  {0x97, 0x28},  {0x97, 0x26},  {0x97, 0x02},
-  {0x97, 0x98},  {0x97, 0x80},  {0x97, 0x00},  {0x97, 0x00},  {0xa4, 0x00},
-  {0xa8, 0x00},  {0xc5, 0x11},  {0xc6, 0x51},  {0xbf, 0x80},  {0xc7, 0x10},
-  {0xb6, 0x66},  {0xb8, 0xa5},  {0xb7, 0x64},  {0xb9, 0x7c},  {0xb3, 0xaf},
-  {0xb4, 0x97},  {0xb5, 0xff},  {0xb0, 0xc5},  {0xb1, 0x94},  {0xb2, 0x0f},
-  {0xc4, 0x5c},  {0xa6, 0x00},  {0xa7, 0x20},  {0xa7, 0xd8},  {0xa7, 0x1b},
-  {0xa7, 0x31},  {0xa7, 0x00},  {0xa7, 0x18},  {0xa7, 0x20},  {0xa7, 0xd8},
-  {0xa7, 0x19},  {0xa7, 0x31},  {0xa7, 0x00},  {0xa7, 0x18},  {0xa7, 0x20},
-  {0xa7, 0xd8},  {0xa7, 0x19},  {0xa7, 0x31},  {0xa7, 0x00},  {0xa7, 0x18},
-  {0x7f, 0x00},  {0xe5, 0x1f},  {0xe1, 0x77},  {0xdd, 0x7f},  {0xc2, 0x0e}
+  {0xff, 0x00},
+  {0x2c, 0xff},
+  {0x2e, 0xdf},
+  {0xff, 0x01},
+  {0x3c, 0x32},
+  {0x11, 0x00},
+  {0x09, 0x02},
+  {0x04, 0x28},
+  {0x13, 0xe5},
+  {0x14, 0x48},
+  {0x2c, 0x0c},
+  {0x33, 0x78},
+  {0x3a, 0x33},
+  {0x3b, 0xfb},
+  {0x3e, 0x00},
+  {0x43, 0x11},
+  {0x16, 0x10},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x23, 0x00},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x06, 0x88},
+  {0x07, 0xc0},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0x4c, 0x00},
+  {0x4a, 0x81},
+  {0x21, 0x99},
+  {0x24, 0x40},
+  {0x25, 0x38},
+  {0x26, 0x82},
+  {0x5c, 0x00},
+  {0x63, 0x00},
+  {0x46, 0x22},
+  {0x0c, 0x3a},
+  {0x5d, 0x55},
+  {0x5e, 0x7d},
+  {0x5f, 0x7d},
+  {0x60, 0x55},
+  {0x61, 0x70},
+  {0x62, 0x80},
+  {0x7c, 0x05},
+  {0x20, 0x80},
+  {0x28, 0x30},
+  {0x6c, 0x00},
+  {0x6d, 0x80},
+  {0x6e, 0x00},
+  {0x70, 0x02},
+  {0x71, 0x94},
+  {0x73, 0xc1},
+  {0x3d, 0x34},
+  {0x12, 0x04},
+  {0x5a, 0x57},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0xff, 0x00},
+  {0xe5, 0x7f},
+  {0xf9, 0xc0},
+  {0x41, 0x24},
+  {0xe0, 0x14},
+  {0x76, 0xff},
+  {0x33, 0xa0},
+  {0x42, 0x20},
+  {0x43, 0x18},
+  {0x4c, 0x00},
+  {0x87, 0xd0},
+  {0x88, 0x3f},
+  {0xd7, 0x03},
+  {0xd9, 0x10},
+  {0xd3, 0x82},
+  {0xc8, 0x08},
+  {0xc9, 0x80},
+  {0x7c, 0x00},
+  {0x7d, 0x00},
+  {0x7c, 0x03},
+  {0x7d, 0x48},
+  {0x7d, 0x48},
+  {0x7c, 0x08},
+  {0x7d, 0x20},
+  {0x7d, 0x10},
+  {0x7d, 0x0e},
+  {0x90, 0x00},
+  {0x91, 0x0e},
+  {0x91, 0x1a},
+  {0x91, 0x31},
+  {0x91, 0x5a},
+  {0x91, 0x69},
+  {0x91, 0x75},
+  {0x91, 0x7e},
+  {0x91, 0x88},
+  {0x91, 0x8f},
+  {0x91, 0x96},
+  {0x91, 0xa3},
+  {0x91, 0xaf},
+  {0x91, 0xc4},
+  {0x91, 0xd7},
+  {0x91, 0xe8},
+  {0x91, 0x20},
+  {0x92, 0x00},
+  {0x93, 0x06},
+  {0x93, 0xe3},
+  {0x93, 0x03},
+  {0x93, 0x03},
+  {0x93, 0x00},
+  {0x93, 0x02},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x96, 0x00},
+  {0x97, 0x08},
+  {0x97, 0x19},
+  {0x97, 0x02},
+  {0x97, 0x0c},
+  {0x97, 0x24},
+  {0x97, 0x30},
+  {0x97, 0x28},
+  {0x97, 0x26},
+  {0x97, 0x02},
+  {0x97, 0x98},
+  {0x97, 0x80},
+  {0x97, 0x00},
+  {0x97, 0x00},
+  {0xa4, 0x00},
+  {0xa8, 0x00},
+  {0xc5, 0x11},
+  {0xc6, 0x51},
+  {0xbf, 0x80},
+  {0xc7, 0x10},
+  {0xb6, 0x66},
+  {0xb8, 0xa5},
+  {0xb7, 0x64},
+  {0xb9, 0x7c},
+  {0xb3, 0xaf},
+  {0xb4, 0x97},
+  {0xb5, 0xff},
+  {0xb0, 0xc5},
+  {0xb1, 0x94},
+  {0xb2, 0x0f},
+  {0xc4, 0x5c},
+  {0xa6, 0x00},
+  {0xa7, 0x20},
+  {0xa7, 0xd8},
+  {0xa7, 0x1b},
+  {0xa7, 0x31},
+  {0xa7, 0x00},
+  {0xa7, 0x18},
+  {0xa7, 0x20},
+  {0xa7, 0xd8},
+  {0xa7, 0x19},
+  {0xa7, 0x31},
+  {0xa7, 0x00},
+  {0xa7, 0x18},
+  {0xa7, 0x20},
+  {0xa7, 0xd8},
+  {0xa7, 0x19},
+  {0xa7, 0x31},
+  {0xa7, 0x00},
+  {0xa7, 0x18},
+  {0x7f, 0x00},
+  {0xe5, 0x1f},
+  {0xe1, 0x77},
+  {0xdd, 0x7f},
+  {0xc2, 0x0e}
 };
 #define OV2640_INITIALREGS_NENTRIES ARRAY_NENTRIES(g_ov2640_initialregs)
 
@@ -356,8 +497,16 @@ static const struct ovr2640_reg_s g_ov2640_initialregs[] =
 
 static const struct ovr2640_reg_s g_ov2640_resolution_common[] =
 {
-  {0xff, 0x00},  {0xe0, 0x04},  {0xc0, 0xc8},  {0xc1, 0x96},  {0x86, 0x3d},
-  {0x51, 0x90},  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x86, 0x3d},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
   {0x57, 0x00}
 };
 #define OV2640_RESOLUTION_COMMON_NENTRIES ARRAY_NENTRIES(g_ov2640_resolution_common)
@@ -365,7 +514,11 @@ static const struct ovr2640_reg_s g_ov2640_resolution_common[] =
 #if defined(CONFIG_OV2640_QCIF_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_qcif_resolution[] =
 {
-  {0x50, 0x9b},  {0x5a, 0x2c},  {0x5b, 0x24},  {0x5c, 0x00},  {0xd3, 0x04},
+  {0x50, 0x9b},
+  {0x5a, 0x2c},
+  {0x5b, 0x24},
+  {0x5c, 0x00},
+  {0xd3, 0x04},
   {0xe0, 0x00}
 };
 #define OV2640_QCIF_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_qcif_resolution)
@@ -373,7 +526,11 @@ static const struct ovr2640_reg_s g_ov2640_qcif_resolution[] =
 #elif defined(CONFIG_OV2640_QVGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_qvga_resolution[] =
 {
-  {0x50, 0x92},  {0x5a, 0x50},  {0x5b, 0x3c},  {0x5c, 0x00},  {0xd3, 0x04},
+  {0x50, 0x92},
+  {0x5a, 0x50},
+  {0x5b, 0x3c},
+  {0x5c, 0x00},
+  {0xd3, 0x04},
   {0xe0, 0x00},
 };
 #define OV2640_QVGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_qvga_resolution)
@@ -381,7 +538,11 @@ static const struct ovr2640_reg_s g_ov2640_qvga_resolution[] =
 #elif defined(CONFIG_OV2640_CIF_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_cif_resolution[] =
 {
-  {0x50, 0x92},  {0x5a, 0x58},  {0x5b, 0x48},  {0x5c, 0x00},  {0xd3, 0x08},
+  {0x50, 0x92},
+  {0x5a, 0x58},
+  {0x5b, 0x48},
+  {0x5c, 0x00},
+  {0xd3, 0x08},
   {0xe0, 0x00}
 };
 #define OV2640_CIF_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_cif_resolution)
@@ -389,7 +550,11 @@ static const struct ovr2640_reg_s g_ov2640_cif_resolution[] =
 #elif defined(CONFIG_OV2640_VGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_vga_resolution[] =
 {
-  {0x50, 0x80},  {0x5a, 0xa0},  {0x5b, 0x78},  {0x5c, 0x00},  {0xd3, 0x02},
+  {0x50, 0x80},
+  {0x5a, 0xa0},
+  {0x5b, 0x78},
+  {0x5c, 0x00},
+  {0xd3, 0x02},
   {0xe0, 0x00}
 };
 #define OV2640_VGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_vga_resolution)
@@ -397,7 +562,11 @@ static const struct ovr2640_reg_s g_ov2640_vga_resolution[] =
 #elif defined(CONFIG_OV2640_SVGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_svga_resolution[] =
 {
-  {0x50, 0x89},  {0x5a, 0xc8},  {0x5b, 0x96},  {0x5c, 0x00},  {0xd3, 0x02},
+  {0x50, 0x89},
+  {0x5a, 0xc8},
+  {0x5b, 0x96},
+  {0x5c, 0x00},
+  {0xd3, 0x02},
   {0xe0, 0x00}
 };
 #define OV2640_SVGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_svga_resolution)
@@ -405,24 +574,41 @@ static const struct ovr2640_reg_s g_ov2640_svga_resolution[] =
 #elif defined(CONFIG_OV2640_XVGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_xga_resolution[] =
 {
-  {0x50, 0x80},  {0x5a, 0x00},  {0x5b, 0xc0},  {0x5c, 0x01},  {0xd3, 0x02},
-  {0xe0, 0x00},  {0x50, 0x00}
+  {0x50, 0x80},
+  {0x5a, 0x00},
+  {0x5b, 0xc0},
+  {0x5c, 0x01},
+  {0xd3, 0x02},
+  {0xe0, 0x00},
+  {0x50, 0x00}
 };
 #define OV2640_XGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_xga_resolution)
 
 #elif defined(CONFIG_OV2640_SXGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_sxga_resolution[] =
 {
-  {0x50, 0x80},  {0x5a, 0x40},  {0x5b, 0x00},  {0x5c, 0x05},  {0xd3, 0x02},
-  {0xe0, 0x00},  {0x50, 0x00},  {0xd3, 0x82}
+  {0x50, 0x80},
+  {0x5a, 0x40},
+  {0x5b, 0x00},
+  {0x5c, 0x05},
+  {0xd3, 0x02},
+  {0xe0, 0x00},
+  {0x50, 0x00},
+  {0xd3, 0x82}
 };
 #define OV2640_SXGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_sxga_resolution)
 
 #elif defined(CONFIG_OV2640_UXGA_RESOLUTION)
 static const struct ovr2640_reg_s g_ov2640_uxga_resolution[] =
 {
-  {0x50, 0x80},  {0x5a, 0x90},  {0x5b, 0x2c},  {0x5c, 0x05},  {0xd3, 0x00},
-  {0xe0, 0x00},  {0x50, 0x00},  {0xd3, 0x80}
+  {0x50, 0x80},
+  {0x5a, 0x90},
+  {0x5b, 0x2c},
+  {0x5c, 0x05},
+  {0xd3, 0x00},
+  {0xe0, 0x00},
+  {0x50, 0x00},
+  {0xd3, 0x80}
 };
 #define OV2640_UXGA_RESOLUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_uxga_resolution)
 
@@ -434,14 +620,19 @@ static const struct ovr2640_reg_s g_ov2640_uxga_resolution[] =
 
 static const struct ovr2640_reg_s g_ov2640_colorfmt_common[] =
 {
-  {0xff, 0x00},  {0x05, 0x00}
+  {0xff, 0x00},
+  {0x05, 0x00}
 };
 #define OV2640_COLORFMT_COMMON_NENTRIES ARRAY_NENTRIES(g_ov2640_colorfmt_common)
 
 #if defined(CONFIG_OV2640_YUV422_COLORFMT)
 static const struct ovr2640_reg_s g_ov2640_yuv422_colorfmt[] =
 {
-  {0xda, 0x01},  {0xd7, 0x01},  {0x33, 0xa0},  {0xe1, 0x67},  {0xe0, 0x00},
+  {0xda, 0x01},
+  {0xd7, 0x01},
+  {0x33, 0xa0},
+  {0xe1, 0x67},
+  {0xe0, 0x00},
   {0x05, 0x00}
 };
 #define OV2640_YUV422_COLORFMT_NENTRIES ARRAY_NENTRIES(g_ov2640_yuv422_colorfmt)
@@ -449,7 +640,10 @@ static const struct ovr2640_reg_s g_ov2640_yuv422_colorfmt[] =
 #elif defined(CONFIG_OV2640_RGB565_COLORFMT)
 static const struct ovr2640_reg_s g_ov2640_rgb565_colorfmt[] =
 {
-  {0xda, 0x09},  {0xd7, 0x03},  {0xe0, 0x00},  {0x05, 0x00}
+  {0xda, 0x09},
+  {0xd7, 0x03},
+  {0xe0, 0x00},
+  {0x05, 0x00}
 };
 #define OV2640_RGB565_COLORFMT_NENTRIES ARRAY_NENTRIES(g_ov2640_rgb565_colorfmt)
 
@@ -461,44 +655,196 @@ static const struct ovr2640_reg_s g_ov2640_rgb565_colorfmt[] =
 #ifdef CONFIG_OV2640_JPEG
 static const struct ovr2640_reg_s g_ov2640_jpeg_init[] =
 {
-  {0xff, 0x00},  {0x2c, 0xff},  {0x2e, 0xdf},  {0xff, 0x01},  {0x3c, 0x32},
-  {0x11, 0x04},  {0x09, 0x02},  {0x04, 0x28},  {0x13, 0xe5},  {0x14, 0x48},
-  {0x2c, 0x0c},  {0x33, 0x78},  {0x3a, 0x33},  {0x3b, 0xfb},  {0x3e, 0x00},
-  {0x43, 0x11},  {0x16, 0x10},  {0x39, 0x92},  {0x35, 0xda},  {0x22, 0x1a},
-  {0x37, 0xc3},  {0x23, 0x00},  {0x34, 0xc0},  {0x36, 0x1a},  {0x06, 0x88},
-  {0x07, 0xc0},  {0x0d, 0x87},  {0x0e, 0x41},  {0x4c, 0x00},  {0x48, 0x00},
-  {0x5b, 0x00},  {0x42, 0x03},  {0x4a, 0x81},  {0x21, 0x99},  {0x24, 0x40},
-  {0x25, 0x38},  {0x26, 0x82},  {0x5c, 0x00},  {0x63, 0x00},  {0x61, 0x70},
-  {0x62, 0x80},  {0x7c, 0x05},  {0x20, 0x80},  {0x28, 0x30},  {0x6c, 0x00},
-  {0x6d, 0x80},  {0x6e, 0x00},  {0x70, 0x02},  {0x71, 0x94},  {0x73, 0xc1},
-  {0x12, 0x40},  {0x17, 0x11},  {0x18, 0x43},  {0x19, 0x00},  {0x1a, 0x4b},
-  {0x32, 0x09},  {0x37, 0xc0},  {0x4f, 0x60},  {0x50, 0xa8},  {0x6d, 0x00},
-  {0x3d, 0x38},  {0x46, 0x3f},  {0x4f, 0x60},  {0x0c, 0x3c},  {0xff, 0x00},
-  {0xe5, 0x7f},  {0xf9, 0xc0},  {0x41, 0x24},  {0xe0, 0x14},  {0x76, 0xff},
-  {0x33, 0xa0},  {0x42, 0x20},  {0x43, 0x18},  {0x4c, 0x00},  {0x87, 0xd5},
-  {0x88, 0x3f},  {0xd7, 0x03},  {0xd9, 0x10},  {0xd3, 0x82},  {0xc8, 0x08},
-  {0xc9, 0x80},  {0x7c, 0x00},  {0x7d, 0x00},  {0x7c, 0x03},  {0x7d, 0x48},
-  {0x7d, 0x48},  {0x7c, 0x08},  {0x7d, 0x20},  {0x7d, 0x10},  {0x7d, 0x0e},
-  {0x90, 0x00},  {0x91, 0x0e},  {0x91, 0x1a},  {0x91, 0x31},  {0x91, 0x5a},
-  {0x91, 0x69},  {0x91, 0x75},  {0x91, 0x7e},  {0x91, 0x88},  {0x91, 0x8f},
-  {0x91, 0x96},  {0x91, 0xa3},  {0x91, 0xaf},  {0x91, 0xc4},  {0x91, 0xd7},
-  {0x91, 0xe8},  {0x91, 0x20},  {0x92, 0x00},  {0x93, 0x06},  {0x93, 0xe3},
-  {0x93, 0x05},  {0x93, 0x05},  {0x93, 0x00},  {0x93, 0x04},  {0x93, 0x00},
-  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},  {0x93, 0x00},
-  {0x93, 0x00},  {0x96, 0x00},  {0x97, 0x08},  {0x97, 0x19},  {0x97, 0x02},
-  {0x97, 0x0c},  {0x97, 0x24},  {0x97, 0x30},  {0x97, 0x28},  {0x97, 0x26},
-  {0x97, 0x02},  {0x97, 0x98},  {0x97, 0x80},  {0x97, 0x00},  {0x97, 0x00},
-  {0xc3, 0xed},  {0xa4, 0x00},  {0xa8, 0x00},  {0xc5, 0x11},  {0xc6, 0x51},
-  {0xbf, 0x80},  {0xc7, 0x10},  {0xb6, 0x66},  {0xb8, 0xa5},  {0xb7, 0x64},
-  {0xb9, 0x7c},  {0xb3, 0xaf},  {0xb4, 0x97},  {0xb5, 0xff},  {0xb0, 0xc5},
-  {0xb1, 0x94},  {0xb2, 0x0f},  {0xc4, 0x5c},  {0xc0, 0x64},  {0xc1, 0x4b},
-  {0x8c, 0x00},  {0x86, 0x3d},  {0x50, 0x00},  {0x51, 0xc8},  {0x52, 0x96},
-  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x00},  {0x5a, 0xc8},  {0x5b, 0x96},
-  {0x5c, 0x00},  {0xd3, 0x00},  {0xc3, 0xed},  {0x7f, 0x00},  {0xda, 0x00},
-  {0xe5, 0x1f},  {0xe1, 0x67},  {0xe0, 0x00},  {0xdd, 0x7f},  {0x05, 0x00},
-  {0x12, 0x40},  {0xd3, 0x04},  {0xc0, 0x16},  {0xc1, 0x12},  {0x8c, 0x00},
-  {0x86, 0x3d},  {0x50, 0x00},  {0x51, 0x2c},  {0x52, 0x24},  {0x53, 0x00},
-  {0x54, 0x00},  {0x55, 0x00},  {0x5a, 0x2c},  {0x5b, 0x24},  {0x5c, 0x00},
+  {0xff, 0x00},
+  {0x2c, 0xff},
+  {0x2e, 0xdf},
+  {0xff, 0x01},
+  {0x3c, 0x32},
+  {0x11, 0x04},
+  {0x09, 0x02},
+  {0x04, 0x28},
+  {0x13, 0xe5},
+  {0x14, 0x48},
+  {0x2c, 0x0c},
+  {0x33, 0x78},
+  {0x3a, 0x33},
+  {0x3b, 0xfb},
+  {0x3e, 0x00},
+  {0x43, 0x11},
+  {0x16, 0x10},
+  {0x39, 0x92},
+  {0x35, 0xda},
+  {0x22, 0x1a},
+  {0x37, 0xc3},
+  {0x23, 0x00},
+  {0x34, 0xc0},
+  {0x36, 0x1a},
+  {0x06, 0x88},
+  {0x07, 0xc0},
+  {0x0d, 0x87},
+  {0x0e, 0x41},
+  {0x4c, 0x00},
+  {0x48, 0x00},
+  {0x5b, 0x00},
+  {0x42, 0x03},
+  {0x4a, 0x81},
+  {0x21, 0x99},
+  {0x24, 0x40},
+  {0x25, 0x38},
+  {0x26, 0x82},
+  {0x5c, 0x00},
+  {0x63, 0x00},
+  {0x61, 0x70},
+  {0x62, 0x80},
+  {0x7c, 0x05},
+  {0x20, 0x80},
+  {0x28, 0x30},
+  {0x6c, 0x00},
+  {0x6d, 0x80},
+  {0x6e, 0x00},
+  {0x70, 0x02},
+  {0x71, 0x94},
+  {0x73, 0xc1},
+  {0x12, 0x40},
+  {0x17, 0x11},
+  {0x18, 0x43},
+  {0x19, 0x00},
+  {0x1a, 0x4b},
+  {0x32, 0x09},
+  {0x37, 0xc0},
+  {0x4f, 0x60},
+  {0x50, 0xa8},
+  {0x6d, 0x00},
+  {0x3d, 0x38},
+  {0x46, 0x3f},
+  {0x4f, 0x60},
+  {0x0c, 0x3c},
+  {0xff, 0x00},
+  {0xe5, 0x7f},
+  {0xf9, 0xc0},
+  {0x41, 0x24},
+  {0xe0, 0x14},
+  {0x76, 0xff},
+  {0x33, 0xa0},
+  {0x42, 0x20},
+  {0x43, 0x18},
+  {0x4c, 0x00},
+  {0x87, 0xd5},
+  {0x88, 0x3f},
+  {0xd7, 0x03},
+  {0xd9, 0x10},
+  {0xd3, 0x82},
+  {0xc8, 0x08},
+  {0xc9, 0x80},
+  {0x7c, 0x00},
+  {0x7d, 0x00},
+  {0x7c, 0x03},
+  {0x7d, 0x48},
+  {0x7d, 0x48},
+  {0x7c, 0x08},
+  {0x7d, 0x20},
+  {0x7d, 0x10},
+  {0x7d, 0x0e},
+  {0x90, 0x00},
+  {0x91, 0x0e},
+  {0x91, 0x1a},
+  {0x91, 0x31},
+  {0x91, 0x5a},
+  {0x91, 0x69},
+  {0x91, 0x75},
+  {0x91, 0x7e},
+  {0x91, 0x88},
+  {0x91, 0x8f},
+  {0x91, 0x96},
+  {0x91, 0xa3},
+  {0x91, 0xaf},
+  {0x91, 0xc4},
+  {0x91, 0xd7},
+  {0x91, 0xe8},
+  {0x91, 0x20},
+  {0x92, 0x00},
+  {0x93, 0x06},
+  {0x93, 0xe3},
+  {0x93, 0x05},
+  {0x93, 0x05},
+  {0x93, 0x00},
+  {0x93, 0x04},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x93, 0x00},
+  {0x96, 0x00},
+  {0x97, 0x08},
+  {0x97, 0x19},
+  {0x97, 0x02},
+  {0x97, 0x0c},
+  {0x97, 0x24},
+  {0x97, 0x30},
+  {0x97, 0x28},
+  {0x97, 0x26},
+  {0x97, 0x02},
+  {0x97, 0x98},
+  {0x97, 0x80},
+  {0x97, 0x00},
+  {0x97, 0x00},
+  {0xc3, 0xed},
+  {0xa4, 0x00},
+  {0xa8, 0x00},
+  {0xc5, 0x11},
+  {0xc6, 0x51},
+  {0xbf, 0x80},
+  {0xc7, 0x10},
+  {0xb6, 0x66},
+  {0xb8, 0xa5},
+  {0xb7, 0x64},
+  {0xb9, 0x7c},
+  {0xb3, 0xaf},
+  {0xb4, 0x97},
+  {0xb5, 0xff},
+  {0xb0, 0xc5},
+  {0xb1, 0x94},
+  {0xb2, 0x0f},
+  {0xc4, 0x5c},
+  {0xc0, 0x64},
+  {0xc1, 0x4b},
+  {0x8c, 0x00},
+  {0x86, 0x3d},
+  {0x50, 0x00},
+  {0x51, 0xc8},
+  {0x52, 0x96},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x00},
+  {0x5a, 0xc8},
+  {0x5b, 0x96},
+  {0x5c, 0x00},
+  {0xd3, 0x00},
+  {0xc3, 0xed},
+  {0x7f, 0x00},
+  {0xda, 0x00},
+  {0xe5, 0x1f},
+  {0xe1, 0x67},
+  {0xe0, 0x00},
+  {0xdd, 0x7f},
+  {0x05, 0x00},
+  {0x12, 0x40},
+  {0xd3, 0x04},
+  {0xc0, 0x16},
+  {0xc1, 0x12},
+  {0x8c, 0x00},
+  {0x86, 0x3d},
+  {0x50, 0x00},
+  {0x51, 0x2c},
+  {0x52, 0x24},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x00},
+  {0x5a, 0x2c},
+  {0x5b, 0x24},
+  {0x5c, 0x00},
 };
 
 #define OV2640_JPEG_INIT_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_init)
@@ -507,8 +853,15 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_init[] =
 #ifdef CONFIG_OV2640_JPEG
 static const struct ovr2640_reg_s g_ov2640_yuv422[] =
 {
-  {0xff, 0x00},  {0x05, 0x00},  {0xda, 0x10},  {0xd7, 0x03},  {0xdf, 0x00},
-  {0x33, 0x80},  {0x3c, 0x40},  {0xe1, 0x77},  {0x00, 0x00}
+  {0xff, 0x00},
+  {0x05, 0x00},
+  {0xda, 0x10},
+  {0xd7, 0x03},
+  {0xdf, 0x00},
+  {0x33, 0x80},
+  {0x3c, 0x40},
+  {0xe1, 0x77},
+  {0x00, 0x00}
 };
 
 #define OV2640_YUV422_NENTRIES ARRAY_NENTRIES(g_ov2640_yuv422)
@@ -517,8 +870,14 @@ static const struct ovr2640_reg_s g_ov2640_yuv422[] =
 #ifdef CONFIG_OV2640_JPEG
 static const struct ovr2640_reg_s g_ov2640_jpeg[] =
 {
-  {0xe0, 0x14},  {0xe1, 0x77},  {0xe5, 0x1f},  {0xd7, 0x03},  {0xda, 0x10},
-  {0xe0, 0x00},  {0xff, 0x01},  {0x04, 0x08}
+  {0xe0, 0x14},
+  {0xe1, 0x77},
+  {0xe5, 0x1f},
+  {0xd7, 0x03},
+  {0xda, 0x10},
+  {0xe0, 0x00},
+  {0xff, 0x01},
+  {0x04, 0x08}
 };
 
 #define OV2640_JPEG_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg)
@@ -529,14 +888,45 @@ static const struct ovr2640_reg_s g_ov2640_jpeg[] =
 #ifdef CONFIG_OV2640_JPEG_QCIF_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_qcif_resolution[] =
 {
-  {0xff, 0x01},  {0x12, 0x40},  {0x17, 0x11},  {0x18, 0x43},  {0x19, 0x00},
-  {0x1a, 0x4b},  {0x32, 0x09},  {0x4f, 0xca},  {0x50, 0xa8},  {0x5a, 0x23},
-  {0x6d, 0x00},  {0x39, 0x12},  {0x35, 0xda},  {0x22, 0x1a},  {0x37, 0xc3},
-  {0x23, 0x00},  {0x34, 0xc0},  {0x36, 0x1a},  {0x06, 0x88},  {0x07, 0xc0},
-  {0x0d, 0x87},  {0x0e, 0x41},  {0x4c, 0x00},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0x64},  {0xc1, 0x4b},  {0x86, 0x35},  {0x50, 0x92},  {0x51, 0xc8},
-  {0x52, 0x96},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x00},  {0x57, 0x00},
-  {0x5a, 0x2c},  {0x5b, 0x24},  {0x5c, 0x00},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x12, 0x40},
+  {0x17, 0x11},
+  {0x18, 0x43},
+  {0x19, 0x00},
+  {0x1a, 0x4b},
+  {0x32, 0x09},
+  {0x4f, 0xca},
+  {0x50, 0xa8},
+  {0x5a, 0x23},
+  {0x6d, 0x00},
+  {0x39, 0x12},
+  {0x35, 0xda},
+  {0x22, 0x1a},
+  {0x37, 0xc3},
+  {0x23, 0x00},
+  {0x34, 0xc0},
+  {0x36, 0x1a},
+  {0x06, 0x88},
+  {0x07, 0xc0},
+  {0x0d, 0x87},
+  {0x0e, 0x41},
+  {0x4c, 0x00},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0x64},
+  {0xc1, 0x4b},
+  {0x86, 0x35},
+  {0x50, 0x92},
+  {0x51, 0xc8},
+  {0x52, 0x96},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x00},
+  {0x57, 0x00},
+  {0x5a, 0x2c},
+  {0x5b, 0x24},
+  {0x5c, 0x00},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_QCIF_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_qcif_resolution)
@@ -547,14 +937,45 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_qcif_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_QVGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_qvga_resolution[] =
 {
-  {0xff, 0x01},  {0x12, 0x40},  {0x17, 0x11},  {0x18, 0x43},  {0x19, 0x00},
-  {0x1a, 0x4b},  {0x32, 0x09},  {0x4f, 0xca},  {0x50, 0xa8},  {0x5a, 0x23},
-  {0x6d, 0x00},  {0x39, 0x12},  {0x35, 0xda},  {0x22, 0x1a},  {0x37, 0xc3},
-  {0x23, 0x00},  {0x34, 0xc0},  {0x36, 0x1a},  {0x06, 0x88},  {0x07, 0xc0},
-  {0x0d, 0x87},  {0x0e, 0x41},  {0x4c, 0x00},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0x64},  {0xc1, 0x4b},  {0x86, 0x35},  {0x50, 0x89},  {0x51, 0xc8},
-  {0x52, 0x96},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x00},  {0x57, 0x00},
-  {0x5a, 0x50},  {0x5b, 0x3c},  {0x5c, 0x00},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x12, 0x40},
+  {0x17, 0x11},
+  {0x18, 0x43},
+  {0x19, 0x00},
+  {0x1a, 0x4b},
+  {0x32, 0x09},
+  {0x4f, 0xca},
+  {0x50, 0xa8},
+  {0x5a, 0x23},
+  {0x6d, 0x00},
+  {0x39, 0x12},
+  {0x35, 0xda},
+  {0x22, 0x1a},
+  {0x37, 0xc3},
+  {0x23, 0x00},
+  {0x34, 0xc0},
+  {0x36, 0x1a},
+  {0x06, 0x88},
+  {0x07, 0xc0},
+  {0x0d, 0x87},
+  {0x0e, 0x41},
+  {0x4c, 0x00},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0x64},
+  {0xc1, 0x4b},
+  {0x86, 0x35},
+  {0x50, 0x89},
+  {0x51, 0xc8},
+  {0x52, 0x96},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x00},
+  {0x57, 0x00},
+  {0x5a, 0x50},
+  {0x5b, 0x3c},
+  {0x5c, 0x00},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_QVGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_qvga_resolution)
@@ -565,14 +986,45 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_qvga_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_CIF_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_cif_resolution[] =
 {
-  {0xff, 0x01},  {0x12, 0x40},  {0x17, 0x11},  {0x18, 0x43},  {0x19, 0x00},
-  {0x1a, 0x4b},  {0x32, 0x09},  {0x4f, 0xca},  {0x50, 0xa8},  {0x5a, 0x23},
-  {0x6d, 0x00},  {0x39, 0x12},  {0x35, 0xda},  {0x22, 0x1a},  {0x37, 0xc3},
-  {0x23, 0x00},  {0x34, 0xc0},  {0x36, 0x1a},  {0x06, 0x88},  {0x07, 0xc0},
-  {0x0d, 0x87},  {0x0e, 0x41},  {0x4c, 0x00},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0x64},  {0xc1, 0x4b},  {0x86, 0x35},  {0x50, 0x89},  {0x51, 0xc8},
-  {0x52, 0x96},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x00},  {0x57, 0x00},
-  {0x5a, 0x58},  {0x5b, 0x48},  {0x5c, 0x00},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x12, 0x40},
+  {0x17, 0x11},
+  {0x18, 0x43},
+  {0x19, 0x00},
+  {0x1a, 0x4b},
+  {0x32, 0x09},
+  {0x4f, 0xca},
+  {0x50, 0xa8},
+  {0x5a, 0x23},
+  {0x6d, 0x00},
+  {0x39, 0x12},
+  {0x35, 0xda},
+  {0x22, 0x1a},
+  {0x37, 0xc3},
+  {0x23, 0x00},
+  {0x34, 0xc0},
+  {0x36, 0x1a},
+  {0x06, 0x88},
+  {0x07, 0xc0},
+  {0x0d, 0x87},
+  {0x0e, 0x41},
+  {0x4c, 0x00},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0x64},
+  {0xc1, 0x4b},
+  {0x86, 0x35},
+  {0x50, 0x89},
+  {0x51, 0xc8},
+  {0x52, 0x96},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x00},
+  {0x57, 0x00},
+  {0x5a, 0x58},
+  {0x5b, 0x48},
+  {0x5c, 0x00},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_CIF_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_cif_resolution)
@@ -583,14 +1035,46 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_cif_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_VGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_vga_resolution[] =
 {
-  {0xff, 0x01},  {0x11, 0x01},  {0x12, 0x00},  {0x17, 0x11},  {0x18, 0x75},
-  {0x32, 0x36},  {0x19, 0x01},  {0x1a, 0x97},  {0x03, 0x0f},  {0x37, 0x40},
-  {0x4f, 0xbb},  {0x50, 0x9c},  {0x5a, 0x57},  {0x6d, 0x80},  {0x3d, 0x34},
-  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},  {0x37, 0x40},  {0x34, 0xa0},
-  {0x06, 0x02},  {0x0d, 0xb7},  {0x0e, 0x01},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0xc8},  {0xc1, 0x96},  {0x86, 0x3d},  {0x50, 0x89},  {0x51, 0x90},
-  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},  {0x57, 0x00},
-  {0x5a, 0xa0},  {0x5b, 0x78},  {0x5c, 0x00},  {0xd3, 0x04},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x11, 0x01},
+  {0x12, 0x00},
+  {0x17, 0x11},
+  {0x18, 0x75},
+  {0x32, 0x36},
+  {0x19, 0x01},
+  {0x1a, 0x97},
+  {0x03, 0x0f},
+  {0x37, 0x40},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0x5a, 0x57},
+  {0x6d, 0x80},
+  {0x3d, 0x34},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x86, 0x3d},
+  {0x50, 0x89},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
+  {0x57, 0x00},
+  {0x5a, 0xa0},
+  {0x5b, 0x78},
+  {0x5c, 0x00},
+  {0xd3, 0x04},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_VGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_vga_resolution)
@@ -601,14 +1085,46 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_vga_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_SVGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_svga_resolution[] =
 {
-  {0xff, 0x01},  {0x11, 0x01},  {0x12, 0x00},  {0x17, 0x11},  {0x18, 0x75},
-  {0x32, 0x36},  {0x19, 0x01},  {0x1a, 0x97},  {0x03, 0x0f},  {0x37, 0x40},
-  {0x4f, 0xbb},  {0x50, 0x9c},  {0x5a, 0x57},  {0x6d, 0x80},  {0x3d, 0x34},
-  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},  {0x37, 0x40},  {0x34, 0xa0},
-  {0x06, 0x02},  {0x0d, 0xb7},  {0x0e, 0x01},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0xc8},  {0xc1, 0x96},  {0x86, 0x35},  {0x50, 0x89},  {0x51, 0x90},
-  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},  {0x57, 0x00},
-  {0x5a, 0xc8},  {0x5b, 0x96},  {0x5c, 0x00},  {0xd3, 0x02},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x11, 0x01},
+  {0x12, 0x00},
+  {0x17, 0x11},
+  {0x18, 0x75},
+  {0x32, 0x36},
+  {0x19, 0x01},
+  {0x1a, 0x97},
+  {0x03, 0x0f},
+  {0x37, 0x40},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0x5a, 0x57},
+  {0x6d, 0x80},
+  {0x3d, 0x34},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x86, 0x35},
+  {0x50, 0x89},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
+  {0x57, 0x00},
+  {0x5a, 0xc8},
+  {0x5b, 0x96},
+  {0x5c, 0x00},
+  {0xd3, 0x02},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_SVGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_svga_resolution)
@@ -619,14 +1135,44 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_svga_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_XVGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_xvga_resolution[] =
 {
-  {0xff, 0x01},  {0x11, 0x01},  {0x12, 0x00},  {0x17, 0x11},  {0x18, 0x75},
-  {0x32, 0x36},  {0x19, 0x01},  {0x1a, 0x97},  {0x03, 0x0f},  {0x37, 0x40},
-  {0x4f, 0xbb},  {0x50, 0x9c},  {0x5a, 0x57},  {0x6d, 0x80},  {0x3d, 0x34},
-  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},  {0x37, 0x40},  {0x34, 0xa0},
-  {0x06, 0x02},  {0x0d, 0xb7},  {0x0e, 0x01},  {0xff, 0x00},  {0xc0, 0xc8},
-  {0xc1, 0x96},  {0x8c, 0x00},  {0x86, 0x3d},  {0x50, 0x00},  {0x51, 0x90},
-  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},  {0x5a, 0x00},
-  {0x5b, 0xc0},  {0x5c, 0x01},  {0xd3, 0x02}
+  {0xff, 0x01},
+  {0x11, 0x01},
+  {0x12, 0x00},
+  {0x17, 0x11},
+  {0x18, 0x75},
+  {0x32, 0x36},
+  {0x19, 0x01},
+  {0x1a, 0x97},
+  {0x03, 0x0f},
+  {0x37, 0x40},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0x5a, 0x57},
+  {0x6d, 0x80},
+  {0x3d, 0x34},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0xff, 0x00},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x8c, 0x00},
+  {0x86, 0x3d},
+  {0x50, 0x00},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
+  {0x5a, 0x00},
+  {0x5b, 0xc0},
+  {0x5c, 0x01},
+  {0xd3, 0x02}
 };
 
 #define OV2640_JPEG_XVGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_xvga_resolution)
@@ -637,14 +1183,46 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_xvga_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_SXVGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_sxvga_resolution[] =
 {
-  {0xff, 0x01},  {0x11, 0x01},  {0x12, 0x00},  {0x17, 0x11},  {0x18, 0x75},
-  {0x32, 0x36},  {0x19, 0x01},  {0x1a, 0x97},  {0x03, 0x0f},  {0x37, 0x40},
-  {0x4f, 0xbb},  {0x50, 0x9c},  {0x5a, 0x57},  {0x6d, 0x80},  {0x3d, 0x34},
-  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},  {0x37, 0x40},  {0x34, 0xa0},
-  {0x06, 0x02},  {0x0d, 0xb7},  {0x0e, 0x01},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0xc8},  {0xc1, 0x96},  {0x86, 0x3d},  {0x50, 0x00},  {0x51, 0x90},
-  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},  {0x57, 0x00},
-  {0x5a, 0x40},  {0x5b, 0xf0},  {0x5c, 0x01},  {0xd3, 0x02},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x11, 0x01},
+  {0x12, 0x00},
+  {0x17, 0x11},
+  {0x18, 0x75},
+  {0x32, 0x36},
+  {0x19, 0x01},
+  {0x1a, 0x97},
+  {0x03, 0x0f},
+  {0x37, 0x40},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0x5a, 0x57},
+  {0x6d, 0x80},
+  {0x3d, 0x34},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x86, 0x3d},
+  {0x50, 0x00},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
+  {0x57, 0x00},
+  {0x5a, 0x40},
+  {0x5b, 0xf0},
+  {0x5c, 0x01},
+  {0xd3, 0x02},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_SXVGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_sxvga_resolution)
@@ -655,14 +1233,46 @@ static const struct ovr2640_reg_s g_ov2640_jpeg_sxvga_resolution[] =
 #ifdef CONFIG_OV2640_JPEG_UXGA_RESOLUTION
 static const struct ovr2640_reg_s g_ov2640_jpeg_uxga_resolution[] =
 {
-  {0xff, 0x01},  {0x11, 0x01},  {0x12, 0x00},  {0x17, 0x11},  {0x18, 0x75},
-  {0x32, 0x36},  {0x19, 0x01},  {0x1a, 0x97},  {0x03, 0x0f},  {0x37, 0x40},
-  {0x4f, 0xbb},  {0x50, 0x9c},  {0x5a, 0x57},  {0x6d, 0x80},  {0x3d, 0x34},
-  {0x39, 0x02},  {0x35, 0x88},  {0x22, 0x0a},  {0x37, 0x40},  {0x34, 0xa0},
-  {0x06, 0x02},  {0x0d, 0xb7},  {0x0e, 0x01},  {0xff, 0x00},  {0xe0, 0x04},
-  {0xc0, 0xc8},  {0xc1, 0x96},  {0x86, 0x3d},  {0x50, 0x00},  {0x51, 0x90},
-  {0x52, 0x2c},  {0x53, 0x00},  {0x54, 0x00},  {0x55, 0x88},  {0x57, 0x00},
-  {0x5a, 0x90},  {0x5b, 0x2c},  {0x5c, 0x05},  {0xd3, 0x02},  {0xe0, 0x00}
+  {0xff, 0x01},
+  {0x11, 0x01},
+  {0x12, 0x00},
+  {0x17, 0x11},
+  {0x18, 0x75},
+  {0x32, 0x36},
+  {0x19, 0x01},
+  {0x1a, 0x97},
+  {0x03, 0x0f},
+  {0x37, 0x40},
+  {0x4f, 0xbb},
+  {0x50, 0x9c},
+  {0x5a, 0x57},
+  {0x6d, 0x80},
+  {0x3d, 0x34},
+  {0x39, 0x02},
+  {0x35, 0x88},
+  {0x22, 0x0a},
+  {0x37, 0x40},
+  {0x34, 0xa0},
+  {0x06, 0x02},
+  {0x0d, 0xb7},
+  {0x0e, 0x01},
+  {0xff, 0x00},
+  {0xe0, 0x04},
+  {0xc0, 0xc8},
+  {0xc1, 0x96},
+  {0x86, 0x3d},
+  {0x50, 0x00},
+  {0x51, 0x90},
+  {0x52, 0x2c},
+  {0x53, 0x00},
+  {0x54, 0x00},
+  {0x55, 0x88},
+  {0x57, 0x00},
+  {0x5a, 0x90},
+  {0x5b, 0x2c},
+  {0x5c, 0x05},
+  {0xd3, 0x02},
+  {0xe0, 0x00}
 };
 
 #define OV2640_JPEG_UXGA_RESOUTION_NENTRIES ARRAY_NENTRIES(g_ov2640_jpeg_uxga_resolution)
diff --git a/drivers/video/video_framebuff.c b/drivers/video/video_framebuff.c
index 02c525b..37a5b9e 100644
--- a/drivers/video/video_framebuff.c
+++ b/drivers/video/video_framebuff.c
@@ -33,6 +33,7 @@
 /****************************************************************************
  * Private Functions
  ****************************************************************************/
+
 static void init_buf_chain(video_framebuff_t *fbuf)
 {
   int i;
@@ -83,14 +84,17 @@ static inline vbuf_container_t *dequeue_vbuf_unsafe(video_framebuff_t *fbuf)
         {
           fbuf->vbuf_tail->next = fbuf->vbuf_top->next;
         }
+
       fbuf->vbuf_top = fbuf->vbuf_top->next;
     }
+
   return ret;
 }
 
 /****************************************************************************
  * Public Functions
  ****************************************************************************/
+
 void video_framebuff_init(video_framebuff_t *fbuf)
 {
   fbuf->mode = V4L2_BUF_MODE_RING;
@@ -117,25 +121,28 @@ int video_framebuff_realloc_container(video_framebuff_t *fbuf, int sz)
 
   if (fbuf->vbuf_alloced == NULL || fbuf->container_size != sz)
     {
-        if (fbuf->container_size != sz)
-          {
-            if (fbuf->vbuf_alloced != NULL)
-              {
-                kmm_free(fbuf->vbuf_alloced);
-              }
-            fbuf->vbuf_alloced   = NULL;
-            fbuf->container_size = 0;
-          }
-        if (sz > 0)
-          {
-            fbuf->vbuf_alloced
-             = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz);
-            if (fbuf->vbuf_alloced == NULL)
-              {
-                return -ENOMEM;
-              }
-          }
-        fbuf->container_size = sz;
+      if (fbuf->container_size != sz)
+        {
+          if (fbuf->vbuf_alloced != NULL)
+            {
+              kmm_free(fbuf->vbuf_alloced);
+            }
+
+          fbuf->vbuf_alloced   = NULL;
+          fbuf->container_size = 0;
+        }
+
+      if (sz > 0)
+        {
+          fbuf->vbuf_alloced
+            = (vbuf_container_t *)kmm_malloc(sizeof(vbuf_container_t)*sz);
+          if (fbuf->vbuf_alloced == NULL)
+            {
+              return -ENOMEM;
+            }
+        }
+
+      fbuf->container_size = sz;
     }
 
   cleanup_container(fbuf);
@@ -154,6 +161,7 @@ vbuf_container_t *video_framebuff_get_container(video_framebuff_t *fbuf)
       fbuf->vbuf_empty = ret->next;
       ret->next        = NULL;
     }
+
   nxsem_post(&fbuf->lock_empty);
 
   return ret;
@@ -197,6 +205,7 @@ void video_framebuff_queue_container(video_framebuff_t *fbuf,
     {
       fbuf->vbuf_tail->next = NULL;
     }
+
   leave_critical_section(flags);
 }
 
@@ -210,6 +219,7 @@ vbuf_container_t *video_framebuff_dq_valid_container(video_framebuff_t *fbuf)
     {
       ret = dequeue_vbuf_unsafe(fbuf);
     }
+
   leave_critical_section(flags);
 
   return ret;
@@ -262,8 +272,10 @@ void video_framebuff_change_mode(video_framebuff_t  *fbuf,
               fbuf->vbuf_next_dma = fbuf->vbuf_top;
             }
         }
+
       fbuf->mode = mode;
     }
+
   leave_critical_section(flags);
 }
 
diff --git a/drivers/video/video_framebuff.h b/drivers/video/video_framebuff.h
index ba6767f..06feff3 100644
--- a/drivers/video/video_framebuff.h
+++ b/drivers/video/video_framebuff.h
@@ -21,12 +21,20 @@
 #ifndef __VIDEO_VIDEO_FRAMEBUFF_H__
 #define __VIDEO_VIDEO_FRAMEBUFF_H__
 
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
 #include <nuttx/video/video.h>
 #include <nuttx/semaphore.h>
 
+/****************************************************************************
+ * Public Functions Definistions
+ ****************************************************************************/
+
 struct vbuf_container_s
 {
-  struct v4l2_buffer       buf;    /* Buffer information */
+  struct v4l2_buffer       buf;   /* Buffer information */
   struct vbuf_container_s *next;  /* pointer to next buffer */
 };