// SPDX-License-Identifier: GPL-2.0
/*
* V4L2 sensor driver for OmniVision OV64A40
*
* Copyright (C) 2023 Ideas On Board Oy
* Copyright (C) 2023 Arducam
*/
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regulator/consumer.h>
#include <media/v4l2-cci.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-mediabus.h>
#include <media/v4l2-subdev.h>
#define OV64A40_XCLK_FREQ 24000000
#define OV64A40_NATIVE_WIDTH 9286
#define OV64A40_NATIVE_HEIGHT 6976
#define OV64A40_PIXEL_ARRAY_TOP 0
#define OV64A40_PIXEL_ARRAY_LEFT 0
#define OV64A40_PIXEL_ARRAY_WIDTH 9248
#define OV64A40_PIXEL_ARRAY_HEIGHT 6944
#define OV64A40_PIXEL_RATE 300000000
#define OV64A40_LINK_FREQ_360M 360000000
#define OV64A40_LINK_FREQ_456M 456000000
#define OV64A40_PLL1_PRE_DIV0 CCI_REG8(0 x0301)
#define OV64A40_PLL1_PRE_DIV CCI_REG8(0 x0303)
#define OV64A40_PLL1_MULTIPLIER CCI_REG16(0 x0304)
#define OV64A40_PLL1_M_DIV CCI_REG8(0 x0307)
#define OV64A40_PLL2_SEL_BAK_SA1 CCI_REG8(0 x0320)
#define OV64A40_PLL2_PRE_DIV CCI_REG8(0 x0323)
#define OV64A40_PLL2_MULTIPLIER CCI_REG16(0 x0324)
#define OV64A40_PLL2_PRE_DIV0 CCI_REG8(0 x0326)
#define OV64A40_PLL2_DIVDAC CCI_REG8(0 x0329)
#define OV64A40_PLL2_DIVSP CCI_REG8(0 x032d)
#define OV64A40_PLL2_DACPREDIV CCI_REG8(0 x032e)
/* TODO: validate vblank_min, it's not characterized in the datasheet. */
#define OV64A40_VBLANK_MIN 128
#define OV64A40_VTS_MAX 0 xffffff
#define OV64A40_REG_MEC_LONG_EXPO CCI_REG24(0 x3500)
#define OV64A40_EXPOSURE_MIN 16
#define OV64A40_EXPOSURE_MARGIN 32
#define OV64A40_REG_MEC_LONG_GAIN CCI_REG16(0 x3508)
#define OV64A40_ANA_GAIN_MIN 0 x80
#define OV64A40_ANA_GAIN_MAX 0 x7ff
#define OV64A40_ANA_GAIN_DEFAULT 0 x80
#define OV64A40_REG_TIMING_CTRL0 CCI_REG16(0 x3800)
#define OV64A40_REG_TIMING_CTRL2 CCI_REG16(0 x3802)
#define OV64A40_REG_TIMING_CTRL4 CCI_REG16(0 x3804)
#define OV64A40_REG_TIMING_CTRL6 CCI_REG16(0 x3806)
#define OV64A40_REG_TIMING_CTRL8 CCI_REG16(0 x3808)
#define OV64A40_REG_TIMING_CTRLA CCI_REG16(0 x380a)
#define OV64A40_REG_TIMING_CTRLC CCI_REG16(0 x380c)
#define OV64A40_REG_TIMING_CTRLE CCI_REG16(0 x380e)
#define OV64A40_REG_TIMING_CTRL10 CCI_REG16(0 x3810)
#define OV64A40_REG_TIMING_CTRL12 CCI_REG16(0 x3812)
/*
* Careful: a typo in the datasheet calls this register
* OV64A40_REG_TIMING_CTRL20.
*/
#define OV64A40_REG_TIMING_CTRL14 CCI_REG8(0 x3814)
#define OV64A40_REG_TIMING_CTRL15 CCI_REG8(0 x3815)
#define OV64A40_ODD_INC_SHIFT 4
#define OV64A40_SKIPPING_CONFIG(_odd, _even) \
(((_odd) << OV64A40_ODD_INC_SHIFT) | (_even))
#define OV64A40_REG_TIMING_CTRL_20 CCI_REG8(0 x3820)
#define OV64A40_TIMING_CTRL_20_VFLIP BIT(2 )
#define OV64A40_TIMING_CTRL_20_VBIN BIT(1 )
#define OV64A40_REG_TIMING_CTRL_21 CCI_REG8(0 x3821)
#define OV64A40_TIMING_CTRL_21_HBIN BIT(4 )
#define OV64A40_TIMING_CTRL_21_HFLIP BIT(2 )
#define OV64A40_TIMING_CTRL_21_DSPEED BIT(0 )
#define OV64A40_TIMING_CTRL_21_HBIN_CONF \
(OV64A40_TIMING_CTRL_21_HBIN | \
OV64A40_TIMING_CTRL_21_DSPEED)
#define OV64A40_REG_TIMINGS_VTS_HIGH CCI_REG8(0 x3840)
#define OV64A40_REG_TIMINGS_VTS_MID CCI_REG8(0 x380e)
#define OV64A40_REG_TIMINGS_VTS_LOW CCI_REG8(0 x380f)
/* The test pattern control is weirdly named PRE_ISP_2325_D2V2_TOP_1 in TRM. */
#define OV64A40_REG_TEST_PATTERN CCI_REG8(0 x50c1)
#define OV64A40_TEST_PATTERN_DISABLED 0 x00
#define OV64A40_TEST_PATTERN_TYPE1 BIT(0 )
#define OV64A40_TEST_PATTERN_TYPE2 (BIT(4 ) | BIT(0 ))
#define OV64A40_TEST_PATTERN_TYPE3 (BIT(5 ) | BIT(0 ))
#define OV64A40_TEST_PATTERN_TYPE4 (BIT(5 ) | BIT(4 ) | BIT(0 ))
#define OV64A40_REG_CHIP_ID CCI_REG24(0 x300a)
#define OV64A40_CHIP_ID 0 x566441
#define OV64A40_REG_SMIA CCI_REG8(0 x0100)
#define OV64A40_REG_SMIA_STREAMING BIT(0 )
enum ov64a40_link_freq_ids {
OV64A40_LINK_FREQ_456M_ID,
OV64A40_LINK_FREQ_360M_ID,
OV64A40_NUM_LINK_FREQ,
};
static const char * const ov64a40_supply_names[] = {
/* Supplies can be enabled in any order */
"avdd" , /* Analog (2.8V) supply */
"dovdd" , /* Digital Core (1.8V) supply */
"dvdd" , /* IF (1.1V) supply */
};
static const char * const ov64a40_test_pattern_menu[] = {
"Disabled" ,
"Type1" ,
"Type2" ,
"Type3" ,
"Type4" ,
};
static const int ov64a40_test_pattern_val[] = {
OV64A40_TEST_PATTERN_DISABLED,
OV64A40_TEST_PATTERN_TYPE1,
OV64A40_TEST_PATTERN_TYPE2,
OV64A40_TEST_PATTERN_TYPE3,
OV64A40_TEST_PATTERN_TYPE4,
};
static const unsigned int ov64a40_mbus_codes[] = {
MEDIA_BUS_FMT_SBGGR10_1X10,
MEDIA_BUS_FMT_SGRBG10_1X10,
MEDIA_BUS_FMT_SGBRG10_1X10,
MEDIA_BUS_FMT_SRGGB10_1X10,
};
static const struct cci_reg_sequence ov64a40_init[] = {
{ CCI_REG8(0 x0103), 0 x01 }, { CCI_REG8(0 x0301), 0 x88 },
{ CCI_REG8(0 x0304), 0 x00 }, { CCI_REG8(0 x0305), 0 x96 },
{ CCI_REG8(0 x0306), 0 x03 }, { CCI_REG8(0 x0307), 0 x00 },
{ CCI_REG8(0 x0345), 0 x2c }, { CCI_REG8(0 x034a), 0 x02 },
{ CCI_REG8(0 x034b), 0 x02 }, { CCI_REG8(0 x0350), 0 xc0 },
{ CCI_REG8(0 x0360), 0 x09 }, { CCI_REG8(0 x3012), 0 x31 },
{ CCI_REG8(0 x3015), 0 xf0 }, { CCI_REG8(0 x3017), 0 xf0 },
{ CCI_REG8(0 x301d), 0 xf6 }, { CCI_REG8(0 x301e), 0 xf1 },
{ CCI_REG8(0 x3022), 0 xf0 }, { CCI_REG8(0 x3400), 0 x08 },
{ CCI_REG8(0 x3608), 0 x41 }, { CCI_REG8(0 x3421), 0 x02 },
{ CCI_REG8(0 x3500), 0 x00 }, { CCI_REG8(0 x3501), 0 x00 },
{ CCI_REG8(0 x3502), 0 x18 }, { CCI_REG8(0 x3504), 0 x0c },
{ CCI_REG8(0 x3508), 0 x01 }, { CCI_REG8(0 x3509), 0 x00 },
{ CCI_REG8(0 x350a), 0 x01 }, { CCI_REG8(0 x350b), 0 x00 },
{ CCI_REG8(0 x350b), 0 x00 }, { CCI_REG8(0 x3540), 0 x00 },
{ CCI_REG8(0 x3541), 0 x00 }, { CCI_REG8(0 x3542), 0 x08 },
{ CCI_REG8(0 x3548), 0 x01 }, { CCI_REG8(0 x3549), 0 xa0 },
{ CCI_REG8(0 x3549), 0 x00 }, { CCI_REG8(0 x3549), 0 x00 },
{ CCI_REG8(0 x3549), 0 x00 }, { CCI_REG8(0 x3580), 0 x00 },
{ CCI_REG8(0 x3581), 0 x00 }, { CCI_REG8(0 x3582), 0 x04 },
{ CCI_REG8(0 x3588), 0 x01 }, { CCI_REG8(0 x3589), 0 xf0 },
{ CCI_REG8(0 x3589), 0 x00 }, { CCI_REG8(0 x3589), 0 x00 },
{ CCI_REG8(0 x3589), 0 x00 }, { CCI_REG8(0 x360d), 0 x83 },
{ CCI_REG8(0 x3616), 0 xa0 }, { CCI_REG8(0 x3617), 0 x31 },
{ CCI_REG8(0 x3623), 0 x10 }, { CCI_REG8(0 x3633), 0 x03 },
{ CCI_REG8(0 x3634), 0 x03 }, { CCI_REG8(0 x3635), 0 x77 },
{ CCI_REG8(0 x3640), 0 x19 }, { CCI_REG8(0 x3641), 0 x80 },
{ CCI_REG8(0 x364d), 0 x0f }, { CCI_REG8(0 x3680), 0 x80 },
{ CCI_REG8(0 x3682), 0 x00 }, { CCI_REG8(0 x3683), 0 x00 },
{ CCI_REG8(0 x3684), 0 x07 }, { CCI_REG8(0 x3688), 0 x01 },
{ CCI_REG8(0 x3689), 0 x08 }, { CCI_REG8(0 x368a), 0 x26 },
{ CCI_REG8(0 x368b), 0 xc8 }, { CCI_REG8(0 x368e), 0 x70 },
{ CCI_REG8(0 x368f), 0 x00 }, { CCI_REG8(0 x3692), 0 x04 },
{ CCI_REG8(0 x3693), 0 x00 }, { CCI_REG8(0 x3696), 0 xd1 },
{ CCI_REG8(0 x3697), 0 xe0 }, { CCI_REG8(0 x3698), 0 x80 },
{ CCI_REG8(0 x3699), 0 x2b }, { CCI_REG8(0 x369a), 0 x00 },
{ CCI_REG8(0 x369d), 0 x00 }, { CCI_REG8(0 x369e), 0 x14 },
{ CCI_REG8(0 x369f), 0 x20 }, { CCI_REG8(0 x36a5), 0 x80 },
{ CCI_REG8(0 x36a6), 0 x00 }, { CCI_REG8(0 x36a7), 0 x00 },
{ CCI_REG8(0 x36a8), 0 x00 }, { CCI_REG8(0 x36b5), 0 x17 },
{ CCI_REG8(0 x3701), 0 x30 }, { CCI_REG8(0 x3706), 0 x2b },
{ CCI_REG8(0 x3709), 0 x8d }, { CCI_REG8(0 x370b), 0 x4f },
{ CCI_REG8(0 x3711), 0 x00 }, { CCI_REG8(0 x3712), 0 x01 },
{ CCI_REG8(0 x3713), 0 x00 }, { CCI_REG8(0 x3720), 0 x08 },
{ CCI_REG8(0 x3727), 0 x22 }, { CCI_REG8(0 x3728), 0 x01 },
{ CCI_REG8(0 x375e), 0 x00 }, { CCI_REG8(0 x3760), 0 x08 },
{ CCI_REG8(0 x3761), 0 x10 }, { CCI_REG8(0 x3762), 0 x08 },
{ CCI_REG8(0 x3765), 0 x10 }, { CCI_REG8(0 x3766), 0 x18 },
{ CCI_REG8(0 x376a), 0 x08 }, { CCI_REG8(0 x376b), 0 x00 },
{ CCI_REG8(0 x376d), 0 x1b }, { CCI_REG8(0 x3791), 0 x2b },
{ CCI_REG8(0 x3793), 0 x2b }, { CCI_REG8(0 x3795), 0 x2b },
{ CCI_REG8(0 x3797), 0 x4f }, { CCI_REG8(0 x3799), 0 x4f },
{ CCI_REG8(0 x379b), 0 x4f }, { CCI_REG8(0 x37a0), 0 x22 },
{ CCI_REG8(0 x37da), 0 x04 }, { CCI_REG8(0 x37f9), 0 x02 },
{ CCI_REG8(0 x37fa), 0 x02 }, { CCI_REG8(0 x37fb), 0 x02 },
{ CCI_REG8(0 x3814), 0 x11 }, { CCI_REG8(0 x3815), 0 x11 },
{ CCI_REG8(0 x3820), 0 x40 }, { CCI_REG8(0 x3821), 0 x04 },
{ CCI_REG8(0 x3822), 0 x00 }, { CCI_REG8(0 x3823), 0 x04 },
{ CCI_REG8(0 x3827), 0 x08 }, { CCI_REG8(0 x3828), 0 x00 },
{ CCI_REG8(0 x382a), 0 x81 }, { CCI_REG8(0 x382e), 0 x70 },
{ CCI_REG8(0 x3837), 0 x10 }, { CCI_REG8(0 x3839), 0 x00 },
{ CCI_REG8(0 x383b), 0 x00 }, { CCI_REG8(0 x383c), 0 x00 },
{ CCI_REG8(0 x383d), 0 x10 }, { CCI_REG8(0 x383f), 0 x00 },
{ CCI_REG8(0 x384c), 0 x02 }, { CCI_REG8(0 x384d), 0 x8c },
{ CCI_REG8(0 x3852), 0 x00 }, { CCI_REG8(0 x3856), 0 x10 },
{ CCI_REG8(0 x3857), 0 x10 }, { CCI_REG8(0 x3858), 0 x20 },
{ CCI_REG8(0 x3859), 0 x20 }, { CCI_REG8(0 x3894), 0 x00 },
{ CCI_REG8(0 x3895), 0 x00 }, { CCI_REG8(0 x3896), 0 x00 },
{ CCI_REG8(0 x3897), 0 x00 }, { CCI_REG8(0 x3900), 0 x40 },
{ CCI_REG8(0 x3aed), 0 x6e }, { CCI_REG8(0 x3af1), 0 x73 },
{ CCI_REG8(0 x3d86), 0 x12 }, { CCI_REG8(0 x3d87), 0 x30 },
{ CCI_REG8(0 x3d8c), 0 xab }, { CCI_REG8(0 x3d8d), 0 xb0 },
{ CCI_REG8(0 x3f00), 0 x12 }, { CCI_REG8(0 x3f00), 0 x12 },
{ CCI_REG8(0 x3f00), 0 x12 }, { CCI_REG8(0 x3f01), 0 x03 },
{ CCI_REG8(0 x4009), 0 x01 }, { CCI_REG8(0 x400e), 0 xc6 },
{ CCI_REG8(0 x400f), 0 x00 }, { CCI_REG8(0 x4010), 0 x28 },
{ CCI_REG8(0 x4011), 0 x01 }, { CCI_REG8(0 x4012), 0 x0c },
{ CCI_REG8(0 x4015), 0 x00 }, { CCI_REG8(0 x4016), 0 x1f },
{ CCI_REG8(0 x4017), 0 x00 }, { CCI_REG8(0 x4018), 0 x07 },
{ CCI_REG8(0 x401a), 0 x40 }, { CCI_REG8(0 x4028), 0 x01 },
{ CCI_REG8(0 x4504), 0 x00 }, { CCI_REG8(0 x4506), 0 x01 },
{ CCI_REG8(0 x4508), 0 x00 }, { CCI_REG8(0 x4509), 0 x35 },
{ CCI_REG8(0 x450a), 0 x08 }, { CCI_REG8(0 x450c), 0 x00 },
{ CCI_REG8(0 x450d), 0 x20 }, { CCI_REG8(0 x450e), 0 x00 },
{ CCI_REG8(0 x450f), 0 x20 }, { CCI_REG8(0 x451e), 0 x00 },
{ CCI_REG8(0 x451f), 0 x00 }, { CCI_REG8(0 x4523), 0 x00 },
{ CCI_REG8(0 x4526), 0 x00 }, { CCI_REG8(0 x4527), 0 x18 },
{ CCI_REG8(0 x4580), 0 x01 }, { CCI_REG8(0 x4583), 0 x00 },
{ CCI_REG8(0 x4584), 0 x00 }, { CCI_REG8(0 x45c0), 0 xa1 },
{ CCI_REG8(0 x4602), 0 x08 }, { CCI_REG8(0 x4603), 0 x05 },
{ CCI_REG8(0 x4606), 0 x12 }, { CCI_REG8(0 x4607), 0 x30 },
{ CCI_REG8(0 x460b), 0 x00 }, { CCI_REG8(0 x460d), 0 x00 },
{ CCI_REG8(0 x4640), 0 x00 }, { CCI_REG8(0 x4641), 0 x24 },
{ CCI_REG8(0 x4643), 0 x08 }, { CCI_REG8(0 x4645), 0 x14 },
{ CCI_REG8(0 x4648), 0 x0a }, { CCI_REG8(0 x4649), 0 x06 },
{ CCI_REG8(0 x464a), 0 x00 }, { CCI_REG8(0 x464b), 0 x30 },
{ CCI_REG8(0 x4800), 0 x04 }, { CCI_REG8(0 x4802), 0 x02 },
{ CCI_REG8(0 x480b), 0 x10 }, { CCI_REG8(0 x480c), 0 x80 },
{ CCI_REG8(0 x480e), 0 x04 }, { CCI_REG8(0 x480f), 0 x32 },
{ CCI_REG8(0 x481b), 0 x12 }, { CCI_REG8(0 x4833), 0 x30 },
{ CCI_REG8(0 x4837), 0 x08 }, { CCI_REG8(0 x484b), 0 x27 },
{ CCI_REG8(0 x4850), 0 x42 }, { CCI_REG8(0 x4851), 0 xaa },
{ CCI_REG8(0 x4860), 0 x01 }, { CCI_REG8(0 x4861), 0 xec },
{ CCI_REG8(0 x4862), 0 x25 }, { CCI_REG8(0 x4888), 0 x00 },
{ CCI_REG8(0 x4889), 0 x03 }, { CCI_REG8(0 x488c), 0 x60 },
{ CCI_REG8(0 x4910), 0 x28 }, { CCI_REG8(0 x4911), 0 x01 },
{ CCI_REG8(0 x4912), 0 x0c }, { CCI_REG8(0 x491a), 0 x40 },
{ CCI_REG8(0 x4915), 0 x00 }, { CCI_REG8(0 x4916), 0 x0f },
{ CCI_REG8(0 x4917), 0 x00 }, { CCI_REG8(0 x4918), 0 x07 },
{ CCI_REG8(0 x4a10), 0 x28 }, { CCI_REG8(0 x4a11), 0 x01 },
{ CCI_REG8(0 x4a12), 0 x0c }, { CCI_REG8(0 x4a1a), 0 x40 },
{ CCI_REG8(0 x4a15), 0 x00 }, { CCI_REG8(0 x4a16), 0 x0f },
{ CCI_REG8(0 x4a17), 0 x00 }, { CCI_REG8(0 x4a18), 0 x07 },
{ CCI_REG8(0 x4d00), 0 x04 }, { CCI_REG8(0 x4d01), 0 x5a },
{ CCI_REG8(0 x4d02), 0 xbb }, { CCI_REG8(0 x4d03), 0 x84 },
{ CCI_REG8(0 x4d04), 0 xd1 }, { CCI_REG8(0 x4d05), 0 x68 },
{ CCI_REG8(0 xc4fa), 0 x10 }, { CCI_REG8(0 x3b56), 0 x0a },
{ CCI_REG8(0 x3b57), 0 x0a }, { CCI_REG8(0 x3b58), 0 x0c },
{ CCI_REG8(0 x3b59), 0 x10 }, { CCI_REG8(0 x3a1d), 0 x30 },
{ CCI_REG8(0 x3a1e), 0 x30 }, { CCI_REG8(0 x3a21), 0 x30 },
{ CCI_REG8(0 x3a22), 0 x30 }, { CCI_REG8(0 x3992), 0 x02 },
{ CCI_REG8(0 x399e), 0 x02 }, { CCI_REG8(0 x39fb), 0 x30 },
{ CCI_REG8(0 x39fc), 0 x30 }, { CCI_REG8(0 x39fd), 0 x30 },
{ CCI_REG8(0 x39fe), 0 x30 }, { CCI_REG8(0 x3a6d), 0 x83 },
{ CCI_REG8(0 x3a5e), 0 x83 }, { CCI_REG8(0 xc500), 0 x12 },
{ CCI_REG8(0 xc501), 0 x12 }, { CCI_REG8(0 xc502), 0 x12 },
{ CCI_REG8(0 xc503), 0 x12 }, { CCI_REG8(0 xc505), 0 x12 },
{ CCI_REG8(0 xc506), 0 x12 }, { CCI_REG8(0 xc507), 0 x12 },
{ CCI_REG8(0 xc508), 0 x12 }, { CCI_REG8(0 x3a77), 0 x12 },
{ CCI_REG8(0 x3a73), 0 x12 }, { CCI_REG8(0 x3a7b), 0 x12 },
{ CCI_REG8(0 x3a7f), 0 x12 }, { CCI_REG8(0 x3b2e), 0 x13 },
{ CCI_REG8(0 x3b29), 0 x13 }, { CCI_REG8(0 xc439), 0 x13 },
{ CCI_REG8(0 xc469), 0 x13 }, { CCI_REG8(0 xc41c), 0 x89 },
{ CCI_REG8(0 x3618), 0 x80 }, { CCI_REG8(0 xc514), 0 x51 },
{ CCI_REG8(0 xc515), 0 x2c }, { CCI_REG8(0 xc516), 0 x16 },
{ CCI_REG8(0 xc517), 0 x0d }, { CCI_REG8(0 x3615), 0 x7f },
{ CCI_REG8(0 x3632), 0 x99 }, { CCI_REG8(0 x3642), 0 x00 },
{ CCI_REG8(0 x3645), 0 x80 }, { CCI_REG8(0 x3702), 0 x2a },
{ CCI_REG8(0 x3703), 0 x2a }, { CCI_REG8(0 x3708), 0 x2f },
{ CCI_REG8(0 x3721), 0 x15 }, { CCI_REG8(0 x3744), 0 x28 },
{ CCI_REG8(0 x3991), 0 x0c }, { CCI_REG8(0 x371d), 0 x24 },
{ CCI_REG8(0 x371f), 0 x0c }, { CCI_REG8(0 x374b), 0 x03 },
{ CCI_REG8(0 x37d0), 0 x00 }, { CCI_REG8(0 x391d), 0 x55 },
{ CCI_REG8(0 x391e), 0 x52 }, { CCI_REG8(0 x399d), 0 x0c },
{ CCI_REG8(0 x3a2f), 0 x01 }, { CCI_REG8(0 x3a30), 0 x01 },
{ CCI_REG8(0 x3a31), 0 x01 }, { CCI_REG8(0 x3a32), 0 x01 },
{ CCI_REG8(0 x3a34), 0 x01 }, { CCI_REG8(0 x3a35), 0 x01 },
{ CCI_REG8(0 x3a36), 0 x01 }, { CCI_REG8(0 x3a37), 0 x01 },
{ CCI_REG8(0 x3a43), 0 x01 }, { CCI_REG8(0 x3a44), 0 x01 },
{ CCI_REG8(0 x3a45), 0 x01 }, { CCI_REG8(0 x3a46), 0 x01 },
{ CCI_REG8(0 x3a48), 0 x01 }, { CCI_REG8(0 x3a49), 0 x01 },
{ CCI_REG8(0 x3a4a), 0 x01 }, { CCI_REG8(0 x3a4b), 0 x01 },
{ CCI_REG8(0 x3a50), 0 x14 }, { CCI_REG8(0 x3a54), 0 x14 },
{ CCI_REG8(0 x3a60), 0 x20 }, { CCI_REG8(0 x3a6f), 0 x20 },
{ CCI_REG8(0 x3ac5), 0 x01 }, { CCI_REG8(0 x3ac6), 0 x01 },
{ CCI_REG8(0 x3ac7), 0 x01 }, { CCI_REG8(0 x3ac8), 0 x01 },
{ CCI_REG8(0 x3ac9), 0 x01 }, { CCI_REG8(0 x3aca), 0 x01 },
{ CCI_REG8(0 x3acb), 0 x01 }, { CCI_REG8(0 x3acc), 0 x01 },
{ CCI_REG8(0 x3acd), 0 x01 }, { CCI_REG8(0 x3ace), 0 x01 },
{ CCI_REG8(0 x3acf), 0 x01 }, { CCI_REG8(0 x3ad0), 0 x01 },
{ CCI_REG8(0 x3ad1), 0 x01 }, { CCI_REG8(0 x3ad2), 0 x01 },
{ CCI_REG8(0 x3ad3), 0 x01 }, { CCI_REG8(0 x3ad4), 0 x01 },
{ CCI_REG8(0 x3add), 0 x1f }, { CCI_REG8(0 x3adf), 0 x24 },
{ CCI_REG8(0 x3aef), 0 x1f }, { CCI_REG8(0 x3af0), 0 x24 },
{ CCI_REG8(0 x3b92), 0 x08 }, { CCI_REG8(0 x3b93), 0 x08 },
{ CCI_REG8(0 x3b94), 0 x08 }, { CCI_REG8(0 x3b95), 0 x08 },
{ CCI_REG8(0 x3be7), 0 x1e }, { CCI_REG8(0 x3be8), 0 x26 },
{ CCI_REG8(0 xc44a), 0 x20 }, { CCI_REG8(0 xc44c), 0 x20 },
{ CCI_REG8(0 xc483), 0 x00 }, { CCI_REG8(0 xc484), 0 x00 },
{ CCI_REG8(0 xc485), 0 x00 }, { CCI_REG8(0 xc486), 0 x00 },
{ CCI_REG8(0 xc487), 0 x01 }, { CCI_REG8(0 xc488), 0 x01 },
{ CCI_REG8(0 xc489), 0 x01 }, { CCI_REG8(0 xc48a), 0 x01 },
{ CCI_REG8(0 xc4c1), 0 x00 }, { CCI_REG8(0 xc4c2), 0 x00 },
{ CCI_REG8(0 xc4c3), 0 x00 }, { CCI_REG8(0 xc4c4), 0 x00 },
{ CCI_REG8(0 xc4c6), 0 x10 }, { CCI_REG8(0 xc4c7), 0 x10 },
{ CCI_REG8(0 xc4c8), 0 x10 }, { CCI_REG8(0 xc4c9), 0 x10 },
{ CCI_REG8(0 xc4ca), 0 x10 }, { CCI_REG8(0 xc4cb), 0 x10 },
{ CCI_REG8(0 xc4cc), 0 x10 }, { CCI_REG8(0 xc4cd), 0 x10 },
{ CCI_REG8(0 xc4ea), 0 x07 }, { CCI_REG8(0 xc4eb), 0 x07 },
{ CCI_REG8(0 xc4ec), 0 x07 }, { CCI_REG8(0 xc4ed), 0 x07 },
{ CCI_REG8(0 xc4ee), 0 x07 }, { CCI_REG8(0 xc4f6), 0 x10 },
{ CCI_REG8(0 xc4f7), 0 x10 }, { CCI_REG8(0 xc4f8), 0 x10 },
{ CCI_REG8(0 xc4f9), 0 x10 }, { CCI_REG8(0 xc518), 0 x0e },
{ CCI_REG8(0 xc519), 0 x0e }, { CCI_REG8(0 xc51a), 0 x0e },
{ CCI_REG8(0 xc51b), 0 x0e }, { CCI_REG8(0 xc51c), 0 x0e },
{ CCI_REG8(0 xc51d), 0 x0e }, { CCI_REG8(0 xc51e), 0 x0e },
{ CCI_REG8(0 xc51f), 0 x0e }, { CCI_REG8(0 xc520), 0 x0e },
{ CCI_REG8(0 xc521), 0 x0e }, { CCI_REG8(0 xc522), 0 x0e },
{ CCI_REG8(0 xc523), 0 x0e }, { CCI_REG8(0 xc524), 0 x0e },
{ CCI_REG8(0 xc525), 0 x0e }, { CCI_REG8(0 xc526), 0 x0e },
{ CCI_REG8(0 xc527), 0 x0e }, { CCI_REG8(0 xc528), 0 x0e },
{ CCI_REG8(0 xc529), 0 x0e }, { CCI_REG8(0 xc52a), 0 x0e },
{ CCI_REG8(0 xc52b), 0 x0e }, { CCI_REG8(0 xc52c), 0 x0e },
{ CCI_REG8(0 xc52d), 0 x0e }, { CCI_REG8(0 xc52e), 0 x0e },
{ CCI_REG8(0 xc52f), 0 x0e }, { CCI_REG8(0 xc530), 0 x0e },
{ CCI_REG8(0 xc531), 0 x0e }, { CCI_REG8(0 xc532), 0 x0e },
{ CCI_REG8(0 xc533), 0 x0e }, { CCI_REG8(0 xc534), 0 x0e },
{ CCI_REG8(0 xc535), 0 x0e }, { CCI_REG8(0 xc536), 0 x0e },
{ CCI_REG8(0 xc537), 0 x0e }, { CCI_REG8(0 xc538), 0 x0e },
{ CCI_REG8(0 xc539), 0 x0e }, { CCI_REG8(0 xc53a), 0 x0e },
{ CCI_REG8(0 xc53b), 0 x0e }, { CCI_REG8(0 xc53c), 0 x0e },
{ CCI_REG8(0 xc53d), 0 x0e }, { CCI_REG8(0 xc53e), 0 x0e },
{ CCI_REG8(0 xc53f), 0 x0e }, { CCI_REG8(0 xc540), 0 x0e },
{ CCI_REG8(0 xc541), 0 x0e }, { CCI_REG8(0 xc542), 0 x0e },
{ CCI_REG8(0 xc543), 0 x0e }, { CCI_REG8(0 xc544), 0 x0e },
{ CCI_REG8(0 xc545), 0 x0e }, { CCI_REG8(0 xc546), 0 x0e },
{ CCI_REG8(0 xc547), 0 x0e }, { CCI_REG8(0 xc548), 0 x0e },
{ CCI_REG8(0 xc549), 0 x0e }, { CCI_REG8(0 xc57f), 0 x22 },
{ CCI_REG8(0 xc580), 0 x22 }, { CCI_REG8(0 xc581), 0 x22 },
{ CCI_REG8(0 xc582), 0 x22 }, { CCI_REG8(0 xc583), 0 x22 },
{ CCI_REG8(0 xc584), 0 x22 }, { CCI_REG8(0 xc585), 0 x22 },
{ CCI_REG8(0 xc586), 0 x22 }, { CCI_REG8(0 xc587), 0 x22 },
{ CCI_REG8(0 xc588), 0 x22 }, { CCI_REG8(0 xc589), 0 x22 },
{ CCI_REG8(0 xc58a), 0 x22 }, { CCI_REG8(0 xc58b), 0 x22 },
{ CCI_REG8(0 xc58c), 0 x22 }, { CCI_REG8(0 xc58d), 0 x22 },
{ CCI_REG8(0 xc58e), 0 x22 }, { CCI_REG8(0 xc58f), 0 x22 },
{ CCI_REG8(0 xc590), 0 x22 }, { CCI_REG8(0 xc591), 0 x22 },
{ CCI_REG8(0 xc592), 0 x22 }, { CCI_REG8(0 xc598), 0 x22 },
{ CCI_REG8(0 xc599), 0 x22 }, { CCI_REG8(0 xc59a), 0 x22 },
{ CCI_REG8(0 xc59b), 0 x22 }, { CCI_REG8(0 xc59c), 0 x22 },
{ CCI_REG8(0 xc59d), 0 x22 }, { CCI_REG8(0 xc59e), 0 x22 },
{ CCI_REG8(0 xc59f), 0 x22 }, { CCI_REG8(0 xc5a0), 0 x22 },
{ CCI_REG8(0 xc5a1), 0 x22 }, { CCI_REG8(0 xc5a2), 0 x22 },
{ CCI_REG8(0 xc5a3), 0 x22 }, { CCI_REG8(0 xc5a4), 0 x22 },
{ CCI_REG8(0 xc5a5), 0 x22 }, { CCI_REG8(0 xc5a6), 0 x22 },
{ CCI_REG8(0 xc5a7), 0 x22 }, { CCI_REG8(0 xc5a8), 0 x22 },
{ CCI_REG8(0 xc5a9), 0 x22 }, { CCI_REG8(0 xc5aa), 0 x22 },
{ CCI_REG8(0 xc5ab), 0 x22 }, { CCI_REG8(0 xc5b1), 0 x2a },
{ CCI_REG8(0 xc5b2), 0 x2a }, { CCI_REG8(0 xc5b3), 0 x2a },
{ CCI_REG8(0 xc5b4), 0 x2a }, { CCI_REG8(0 xc5b5), 0 x2a },
{ CCI_REG8(0 xc5b6), 0 x2a }, { CCI_REG8(0 xc5b7), 0 x2a },
{ CCI_REG8(0 xc5b8), 0 x2a }, { CCI_REG8(0 xc5b9), 0 x2a },
{ CCI_REG8(0 xc5ba), 0 x2a }, { CCI_REG8(0 xc5bb), 0 x2a },
{ CCI_REG8(0 xc5bc), 0 x2a }, { CCI_REG8(0 xc5bd), 0 x2a },
{ CCI_REG8(0 xc5be), 0 x2a }, { CCI_REG8(0 xc5bf), 0 x2a },
{ CCI_REG8(0 xc5c0), 0 x2a }, { CCI_REG8(0 xc5c1), 0 x2a },
{ CCI_REG8(0 xc5c2), 0 x2a }, { CCI_REG8(0 xc5c3), 0 x2a },
{ CCI_REG8(0 xc5c4), 0 x2a }, { CCI_REG8(0 xc5ca), 0 x2a },
{ CCI_REG8(0 xc5cb), 0 x2a }, { CCI_REG8(0 xc5cc), 0 x2a },
{ CCI_REG8(0 xc5cd), 0 x2a }, { CCI_REG8(0 xc5ce), 0 x2a },
{ CCI_REG8(0 xc5cf), 0 x2a }, { CCI_REG8(0 xc5d0), 0 x2a },
{ CCI_REG8(0 xc5d1), 0 x2a }, { CCI_REG8(0 xc5d2), 0 x2a },
{ CCI_REG8(0 xc5d3), 0 x2a }, { CCI_REG8(0 xc5d4), 0 x2a },
{ CCI_REG8(0 xc5d5), 0 x2a }, { CCI_REG8(0 xc5d6), 0 x2a },
{ CCI_REG8(0 xc5d7), 0 x2a }, { CCI_REG8(0 xc5d8), 0 x2a },
{ CCI_REG8(0 xc5d9), 0 x2a }, { CCI_REG8(0 xc5da), 0 x2a },
{ CCI_REG8(0 xc5db), 0 x2a }, { CCI_REG8(0 xc5dc), 0 x2a },
{ CCI_REG8(0 xc5dd), 0 x2a }, { CCI_REG8(0 xc5e8), 0 x22 },
{ CCI_REG8(0 xc5ea), 0 x22 }, { CCI_REG8(0 x4540), 0 x12 },
{ CCI_REG8(0 x4541), 0 x30 }, { CCI_REG8(0 x3d86), 0 x12 },
{ CCI_REG8(0 x3d87), 0 x30 }, { CCI_REG8(0 x4606), 0 x12 },
{ CCI_REG8(0 x4607), 0 x30 }, { CCI_REG8(0 x4648), 0 x0a },
{ CCI_REG8(0 x4649), 0 x06 }, { CCI_REG8(0 x3220), 0 x12 },
{ CCI_REG8(0 x3221), 0 x30 }, { CCI_REG8(0 x40c2), 0 x12 },
{ CCI_REG8(0 x49c2), 0 x12 }, { CCI_REG8(0 x4ac2), 0 x12 },
{ CCI_REG8(0 x40c3), 0 x30 }, { CCI_REG8(0 x49c3), 0 x30 },
{ CCI_REG8(0 x4ac3), 0 x30 }, { CCI_REG8(0 x36b0), 0 x12 },
{ CCI_REG8(0 x36b1), 0 x30 }, { CCI_REG8(0 x45cb), 0 x12 },
{ CCI_REG8(0 x45cc), 0 x30 }, { CCI_REG8(0 x4585), 0 x12 },
{ CCI_REG8(0 x4586), 0 x30 }, { CCI_REG8(0 x36b2), 0 x12 },
{ CCI_REG8(0 x36b3), 0 x30 }, { CCI_REG8(0 x5a40), 0 x75 },
{ CCI_REG8(0 x5a41), 0 x75 }, { CCI_REG8(0 x5a42), 0 x75 },
{ CCI_REG8(0 x5a43), 0 x75 }, { CCI_REG8(0 x5a44), 0 x75 },
{ CCI_REG8(0 x5a45), 0 x75 }, { CCI_REG8(0 x5a46), 0 x75 },
{ CCI_REG8(0 x5a47), 0 x75 }, { CCI_REG8(0 x5a48), 0 x75 },
{ CCI_REG8(0 x5a49), 0 x75 }, { CCI_REG8(0 x5a4a), 0 x75 },
{ CCI_REG8(0 x5a4b), 0 x75 }, { CCI_REG8(0 x5a4c), 0 x75 },
{ CCI_REG8(0 x5a4d), 0 x75 }, { CCI_REG8(0 x5a4e), 0 x75 },
{ CCI_REG8(0 x5a4f), 0 x75 }, { CCI_REG8(0 x5a50), 0 x75 },
{ CCI_REG8(0 x5a51), 0 x75 }, { CCI_REG8(0 x5a52), 0 x75 },
{ CCI_REG8(0 x5a53), 0 x75 }, { CCI_REG8(0 x5a54), 0 x75 },
{ CCI_REG8(0 x5a55), 0 x75 }, { CCI_REG8(0 x5a56), 0 x75 },
{ CCI_REG8(0 x5a57), 0 x75 }, { CCI_REG8(0 x5a58), 0 x75 },
{ CCI_REG8(0 x5a59), 0 x75 }, { CCI_REG8(0 x5a5a), 0 x75 },
{ CCI_REG8(0 x5a5b), 0 x75 }, { CCI_REG8(0 x5a5c), 0 x75 },
{ CCI_REG8(0 x5a5d), 0 x75 }, { CCI_REG8(0 x5a5e), 0 x75 },
{ CCI_REG8(0 x5a5f), 0 x75 }, { CCI_REG8(0 x5a60), 0 x75 },
{ CCI_REG8(0 x5a61), 0 x75 }, { CCI_REG8(0 x5a62), 0 x75 },
{ CCI_REG8(0 x5a63), 0 x75 }, { CCI_REG8(0 x5a64), 0 x75 },
{ CCI_REG8(0 x5a65), 0 x75 }, { CCI_REG8(0 x5a66), 0 x75 },
{ CCI_REG8(0 x5a67), 0 x75 }, { CCI_REG8(0 x5a68), 0 x75 },
{ CCI_REG8(0 x5a69), 0 x75 }, { CCI_REG8(0 x5a6a), 0 x75 },
{ CCI_REG8(0 x5a6b), 0 x75 }, { CCI_REG8(0 x5a6c), 0 x75 },
{ CCI_REG8(0 x5a6d), 0 x75 }, { CCI_REG8(0 x5a6e), 0 x75 },
{ CCI_REG8(0 x5a6f), 0 x75 }, { CCI_REG8(0 x5a70), 0 x75 },
{ CCI_REG8(0 x5a71), 0 x75 }, { CCI_REG8(0 x5a72), 0 x75 },
{ CCI_REG8(0 x5a73), 0 x75 }, { CCI_REG8(0 x5a74), 0 x75 },
{ CCI_REG8(0 x5a75), 0 x75 }, { CCI_REG8(0 x5a76), 0 x75 },
{ CCI_REG8(0 x5a77), 0 x75 }, { CCI_REG8(0 x5a78), 0 x75 },
{ CCI_REG8(0 x5a79), 0 x75 }, { CCI_REG8(0 x5a7a), 0 x75 },
{ CCI_REG8(0 x5a7b), 0 x75 }, { CCI_REG8(0 x5a7c), 0 x75 },
{ CCI_REG8(0 x5a7d), 0 x75 }, { CCI_REG8(0 x5a7e), 0 x75 },
{ CCI_REG8(0 x5a7f), 0 x75 }, { CCI_REG8(0 x5a80), 0 x75 },
{ CCI_REG8(0 x5a81), 0 x75 }, { CCI_REG8(0 x5a82), 0 x75 },
{ CCI_REG8(0 x5a83), 0 x75 }, { CCI_REG8(0 x5a84), 0 x75 },
{ CCI_REG8(0 x5a85), 0 x75 }, { CCI_REG8(0 x5a86), 0 x75 },
{ CCI_REG8(0 x5a87), 0 x75 }, { CCI_REG8(0 x5a88), 0 x75 },
{ CCI_REG8(0 x5a89), 0 x75 }, { CCI_REG8(0 x5a8a), 0 x75 },
{ CCI_REG8(0 x5a8b), 0 x75 }, { CCI_REG8(0 x5a8c), 0 x75 },
{ CCI_REG8(0 x5a8d), 0 x75 }, { CCI_REG8(0 x5a8e), 0 x75 },
{ CCI_REG8(0 x5a8f), 0 x75 }, { CCI_REG8(0 x5a90), 0 x75 },
{ CCI_REG8(0 x5a91), 0 x75 }, { CCI_REG8(0 x5a92), 0 x75 },
{ CCI_REG8(0 x5a93), 0 x75 }, { CCI_REG8(0 x5a94), 0 x75 },
{ CCI_REG8(0 x5a95), 0 x75 }, { CCI_REG8(0 x5a96), 0 x75 },
{ CCI_REG8(0 x5a97), 0 x75 }, { CCI_REG8(0 x5a98), 0 x75 },
{ CCI_REG8(0 x5a99), 0 x75 }, { CCI_REG8(0 x5a9a), 0 x75 },
{ CCI_REG8(0 x5a9b), 0 x75 }, { CCI_REG8(0 x5a9c), 0 x75 },
{ CCI_REG8(0 x5a9d), 0 x75 }, { CCI_REG8(0 x5a9e), 0 x75 },
{ CCI_REG8(0 x5a9f), 0 x75 }, { CCI_REG8(0 x5aa0), 0 x75 },
{ CCI_REG8(0 x5aa1), 0 x75 }, { CCI_REG8(0 x5aa2), 0 x75 },
{ CCI_REG8(0 x5aa3), 0 x75 }, { CCI_REG8(0 x5aa4), 0 x75 },
{ CCI_REG8(0 x5aa5), 0 x75 }, { CCI_REG8(0 x5aa6), 0 x75 },
{ CCI_REG8(0 x5aa7), 0 x75 }, { CCI_REG8(0 x5aa8), 0 x75 },
{ CCI_REG8(0 x5aa9), 0 x75 }, { CCI_REG8(0 x5aaa), 0 x75 },
{ CCI_REG8(0 x5aab), 0 x75 }, { CCI_REG8(0 x5aac), 0 x75 },
{ CCI_REG8(0 x5aad), 0 x75 }, { CCI_REG8(0 x5aae), 0 x75 },
{ CCI_REG8(0 x5aaf), 0 x75 }, { CCI_REG8(0 x5ab0), 0 x75 },
{ CCI_REG8(0 x5ab1), 0 x75 }, { CCI_REG8(0 x5ab2), 0 x75 },
{ CCI_REG8(0 x5ab3), 0 x75 }, { CCI_REG8(0 x5ab4), 0 x75 },
{ CCI_REG8(0 x5ab5), 0 x75 }, { CCI_REG8(0 x5ab6), 0 x75 },
{ CCI_REG8(0 x5ab7), 0 x75 }, { CCI_REG8(0 x5ab8), 0 x75 },
{ CCI_REG8(0 x5ab9), 0 x75 }, { CCI_REG8(0 x5aba), 0 x75 },
{ CCI_REG8(0 x5abb), 0 x75 }, { CCI_REG8(0 x5abc), 0 x75 },
{ CCI_REG8(0 x5abd), 0 x75 }, { CCI_REG8(0 x5abe), 0 x75 },
{ CCI_REG8(0 x5abf), 0 x75 }, { CCI_REG8(0 x5ac0), 0 x75 },
{ CCI_REG8(0 x5ac1), 0 x75 }, { CCI_REG8(0 x5ac2), 0 x75 },
{ CCI_REG8(0 x5ac3), 0 x75 }, { CCI_REG8(0 x5ac4), 0 x75 },
{ CCI_REG8(0 x5ac5), 0 x75 }, { CCI_REG8(0 x5ac6), 0 x75 },
{ CCI_REG8(0 x5ac7), 0 x75 }, { CCI_REG8(0 x5ac8), 0 x75 },
{ CCI_REG8(0 x5ac9), 0 x75 }, { CCI_REG8(0 x5aca), 0 x75 },
{ CCI_REG8(0 x5acb), 0 x75 }, { CCI_REG8(0 x5acc), 0 x75 },
{ CCI_REG8(0 x5acd), 0 x75 }, { CCI_REG8(0 x5ace), 0 x75 },
{ CCI_REG8(0 x5acf), 0 x75 }, { CCI_REG8(0 x5ad0), 0 x75 },
{ CCI_REG8(0 x5ad1), 0 x75 }, { CCI_REG8(0 x5ad2), 0 x75 },
{ CCI_REG8(0 x5ad3), 0 x75 }, { CCI_REG8(0 x5ad4), 0 x75 },
{ CCI_REG8(0 x5ad5), 0 x75 }, { CCI_REG8(0 x5ad6), 0 x75 },
{ CCI_REG8(0 x5ad7), 0 x75 }, { CCI_REG8(0 x5ad8), 0 x75 },
{ CCI_REG8(0 x5ad9), 0 x75 }, { CCI_REG8(0 x5ada), 0 x75 },
{ CCI_REG8(0 x5adb), 0 x75 }, { CCI_REG8(0 x5adc), 0 x75 },
{ CCI_REG8(0 x5add), 0 x75 }, { CCI_REG8(0 x5ade), 0 x75 },
{ CCI_REG8(0 x5adf), 0 x75 }, { CCI_REG8(0 x5ae0), 0 x75 },
{ CCI_REG8(0 x5ae1), 0 x75 }, { CCI_REG8(0 x5ae2), 0 x75 },
{ CCI_REG8(0 x5ae3), 0 x75 }, { CCI_REG8(0 x5ae4), 0 x75 },
{ CCI_REG8(0 x5ae5), 0 x75 }, { CCI_REG8(0 x5ae6), 0 x75 },
{ CCI_REG8(0 x5ae7), 0 x75 }, { CCI_REG8(0 x5ae8), 0 x75 },
{ CCI_REG8(0 x5ae9), 0 x75 }, { CCI_REG8(0 x5aea), 0 x75 },
{ CCI_REG8(0 x5aeb), 0 x75 }, { CCI_REG8(0 x5aec), 0 x75 },
{ CCI_REG8(0 x5aed), 0 x75 }, { CCI_REG8(0 x5aee), 0 x75 },
{ CCI_REG8(0 x5aef), 0 x75 }, { CCI_REG8(0 x5af0), 0 x75 },
{ CCI_REG8(0 x5af1), 0 x75 }, { CCI_REG8(0 x5af2), 0 x75 },
{ CCI_REG8(0 x5af3), 0 x75 }, { CCI_REG8(0 x5af4), 0 x75 },
{ CCI_REG8(0 x5af5), 0 x75 }, { CCI_REG8(0 x5af6), 0 x75 },
{ CCI_REG8(0 x5af7), 0 x75 }, { CCI_REG8(0 x5af8), 0 x75 },
{ CCI_REG8(0 x5af9), 0 x75 }, { CCI_REG8(0 x5afa), 0 x75 },
{ CCI_REG8(0 x5afb), 0 x75 }, { CCI_REG8(0 x5afc), 0 x75 },
{ CCI_REG8(0 x5afd), 0 x75 }, { CCI_REG8(0 x5afe), 0 x75 },
{ CCI_REG8(0 x5aff), 0 x75 }, { CCI_REG8(0 x5b00), 0 x75 },
{ CCI_REG8(0 x5b01), 0 x75 }, { CCI_REG8(0 x5b02), 0 x75 },
{ CCI_REG8(0 x5b03), 0 x75 }, { CCI_REG8(0 x5b04), 0 x75 },
{ CCI_REG8(0 x5b05), 0 x75 }, { CCI_REG8(0 x5b06), 0 x75 },
{ CCI_REG8(0 x5b07), 0 x75 }, { CCI_REG8(0 x5b08), 0 x75 },
{ CCI_REG8(0 x5b09), 0 x75 }, { CCI_REG8(0 x5b0a), 0 x75 },
{ CCI_REG8(0 x5b0b), 0 x75 }, { CCI_REG8(0 x5b0c), 0 x75 },
{ CCI_REG8(0 x5b0d), 0 x75 }, { CCI_REG8(0 x5b0e), 0 x75 },
{ CCI_REG8(0 x5b0f), 0 x75 }, { CCI_REG8(0 x5b10), 0 x75 },
{ CCI_REG8(0 x5b11), 0 x75 }, { CCI_REG8(0 x5b12), 0 x75 },
{ CCI_REG8(0 x5b13), 0 x75 }, { CCI_REG8(0 x5b14), 0 x75 },
{ CCI_REG8(0 x5b15), 0 x75 }, { CCI_REG8(0 x5b16), 0 x75 },
{ CCI_REG8(0 x5b17), 0 x75 }, { CCI_REG8(0 x5b18), 0 x75 },
{ CCI_REG8(0 x5b19), 0 x75 }, { CCI_REG8(0 x5b1a), 0 x75 },
{ CCI_REG8(0 x5b1b), 0 x75 }, { CCI_REG8(0 x5b1c), 0 x75 },
{ CCI_REG8(0 x5b1d), 0 x75 }, { CCI_REG8(0 x5b1e), 0 x75 },
{ CCI_REG8(0 x5b1f), 0 x75 }, { CCI_REG8(0 x5b20), 0 x75 },
{ CCI_REG8(0 x5b21), 0 x75 }, { CCI_REG8(0 x5b22), 0 x75 },
{ CCI_REG8(0 x5b23), 0 x75 }, { CCI_REG8(0 x5b24), 0 x75 },
{ CCI_REG8(0 x5b25), 0 x75 }, { CCI_REG8(0 x5b26), 0 x75 },
{ CCI_REG8(0 x5b27), 0 x75 }, { CCI_REG8(0 x5b28), 0 x75 },
{ CCI_REG8(0 x5b29), 0 x75 }, { CCI_REG8(0 x5b2a), 0 x75 },
{ CCI_REG8(0 x5b2b), 0 x75 }, { CCI_REG8(0 x5b2c), 0 x75 },
{ CCI_REG8(0 x5b2d), 0 x75 }, { CCI_REG8(0 x5b2e), 0 x75 },
{ CCI_REG8(0 x5b2f), 0 x75 }, { CCI_REG8(0 x5b30), 0 x75 },
{ CCI_REG8(0 x5b31), 0 x75 }, { CCI_REG8(0 x5b32), 0 x75 },
{ CCI_REG8(0 x5b33), 0 x75 }, { CCI_REG8(0 x5b34), 0 x75 },
{ CCI_REG8(0 x5b35), 0 x75 }, { CCI_REG8(0 x5b36), 0 x75 },
{ CCI_REG8(0 x5b37), 0 x75 }, { CCI_REG8(0 x5b38), 0 x75 },
{ CCI_REG8(0 x5b39), 0 x75 }, { CCI_REG8(0 x5b3a), 0 x75 },
{ CCI_REG8(0 x5b3b), 0 x75 }, { CCI_REG8(0 x5b3c), 0 x75 },
{ CCI_REG8(0 x5b3d), 0 x75 }, { CCI_REG8(0 x5b3e), 0 x75 },
{ CCI_REG8(0 x5b3f), 0 x75 }, { CCI_REG8(0 x5b40), 0 x75 },
{ CCI_REG8(0 x5b41), 0 x75 }, { CCI_REG8(0 x5b42), 0 x75 },
{ CCI_REG8(0 x5b43), 0 x75 }, { CCI_REG8(0 x5b44), 0 x75 },
{ CCI_REG8(0 x5b45), 0 x75 }, { CCI_REG8(0 x5b46), 0 x75 },
{ CCI_REG8(0 x5b47), 0 x75 }, { CCI_REG8(0 x5b48), 0 x75 },
{ CCI_REG8(0 x5b49), 0 x75 }, { CCI_REG8(0 x5b4a), 0 x75 },
{ CCI_REG8(0 x5b4b), 0 x75 }, { CCI_REG8(0 x5b4c), 0 x75 },
{ CCI_REG8(0 x5b4d), 0 x75 }, { CCI_REG8(0 x5b4e), 0 x75 },
{ CCI_REG8(0 x5b4f), 0 x75 }, { CCI_REG8(0 x5b50), 0 x75 },
{ CCI_REG8(0 x5b51), 0 x75 }, { CCI_REG8(0 x5b52), 0 x75 },
{ CCI_REG8(0 x5b53), 0 x75 }, { CCI_REG8(0 x5b54), 0 x75 },
{ CCI_REG8(0 x5b55), 0 x75 }, { CCI_REG8(0 x5b56), 0 x75 },
{ CCI_REG8(0 x5b57), 0 x75 }, { CCI_REG8(0 x5b58), 0 x75 },
{ CCI_REG8(0 x5b59), 0 x75 }, { CCI_REG8(0 x5b5a), 0 x75 },
{ CCI_REG8(0 x5b5b), 0 x75 }, { CCI_REG8(0 x5b5c), 0 x75 },
{ CCI_REG8(0 x5b5d), 0 x75 }, { CCI_REG8(0 x5b5e), 0 x75 },
{ CCI_REG8(0 x5b5f), 0 x75 }, { CCI_REG8(0 x5b80), 0 x75 },
{ CCI_REG8(0 x5b81), 0 x75 }, { CCI_REG8(0 x5b82), 0 x75 },
{ CCI_REG8(0 x5b83), 0 x75 }, { CCI_REG8(0 x5b84), 0 x75 },
{ CCI_REG8(0 x5b85), 0 x75 }, { CCI_REG8(0 x5b86), 0 x75 },
{ CCI_REG8(0 x5b87), 0 x75 }, { CCI_REG8(0 x5b88), 0 x75 },
{ CCI_REG8(0 x5b89), 0 x75 }, { CCI_REG8(0 x5b8a), 0 x75 },
{ CCI_REG8(0 x5b8b), 0 x75 }, { CCI_REG8(0 x5b8c), 0 x75 },
{ CCI_REG8(0 x5b8d), 0 x75 }, { CCI_REG8(0 x5b8e), 0 x75 },
{ CCI_REG8(0 x5b8f), 0 x75 }, { CCI_REG8(0 x5b90), 0 x75 },
{ CCI_REG8(0 x5b91), 0 x75 }, { CCI_REG8(0 x5b92), 0 x75 },
{ CCI_REG8(0 x5b93), 0 x75 }, { CCI_REG8(0 x5b94), 0 x75 },
{ CCI_REG8(0 x5b95), 0 x75 }, { CCI_REG8(0 x5b96), 0 x75 },
{ CCI_REG8(0 x5b97), 0 x75 }, { CCI_REG8(0 x5b98), 0 x75 },
{ CCI_REG8(0 x5b99), 0 x75 }, { CCI_REG8(0 x5b9a), 0 x75 },
{ CCI_REG8(0 x5b9b), 0 x75 }, { CCI_REG8(0 x5b9c), 0 x75 },
{ CCI_REG8(0 x5b9d), 0 x75 }, { CCI_REG8(0 x5b9e), 0 x75 },
{ CCI_REG8(0 x5b9f), 0 x75 }, { CCI_REG8(0 x5ba0), 0 x75 },
{ CCI_REG8(0 x5ba1), 0 x75 }, { CCI_REG8(0 x5ba2), 0 x75 },
{ CCI_REG8(0 x5ba3), 0 x75 }, { CCI_REG8(0 x5ba4), 0 x75 },
{ CCI_REG8(0 x5ba5), 0 x75 }, { CCI_REG8(0 x5ba6), 0 x75 },
{ CCI_REG8(0 x5ba7), 0 x75 }, { CCI_REG8(0 x5ba8), 0 x75 },
{ CCI_REG8(0 x5ba9), 0 x75 }, { CCI_REG8(0 x5baa), 0 x75 },
{ CCI_REG8(0 x5bab), 0 x75 }, { CCI_REG8(0 x5bac), 0 x75 },
{ CCI_REG8(0 x5bad), 0 x75 }, { CCI_REG8(0 x5bae), 0 x75 },
{ CCI_REG8(0 x5baf), 0 x75 }, { CCI_REG8(0 x5bb0), 0 x75 },
{ CCI_REG8(0 x5bb1), 0 x75 }, { CCI_REG8(0 x5bb2), 0 x75 },
{ CCI_REG8(0 x5bb3), 0 x75 }, { CCI_REG8(0 x5bb4), 0 x75 },
{ CCI_REG8(0 x5bb5), 0 x75 }, { CCI_REG8(0 x5bb6), 0 x75 },
{ CCI_REG8(0 x5bb7), 0 x75 }, { CCI_REG8(0 x5bb8), 0 x75 },
{ CCI_REG8(0 x5bb9), 0 x75 }, { CCI_REG8(0 x5bba), 0 x75 },
{ CCI_REG8(0 x5bbb), 0 x75 }, { CCI_REG8(0 x5bbc), 0 x75 },
{ CCI_REG8(0 x5bbd), 0 x75 }, { CCI_REG8(0 x5bbe), 0 x75 },
{ CCI_REG8(0 x5bbf), 0 x75 }, { CCI_REG8(0 x5bc0), 0 x75 },
{ CCI_REG8(0 x5bc1), 0 x75 }, { CCI_REG8(0 x5bc2), 0 x75 },
{ CCI_REG8(0 x5bc3), 0 x75 }, { CCI_REG8(0 x5bc4), 0 x75 },
{ CCI_REG8(0 x5bc5), 0 x75 }, { CCI_REG8(0 x5bc6), 0 x75 },
{ CCI_REG8(0 x5bc7), 0 x75 }, { CCI_REG8(0 x5bc8), 0 x75 },
{ CCI_REG8(0 x5bc9), 0 x75 }, { CCI_REG8(0 x5bca), 0 x75 },
{ CCI_REG8(0 x5bcb), 0 x75 }, { CCI_REG8(0 x5bcc), 0 x75 },
{ CCI_REG8(0 x5bcd), 0 x75 }, { CCI_REG8(0 x5bce), 0 x75 },
{ CCI_REG8(0 x5bcf), 0 x75 }, { CCI_REG8(0 x5bd0), 0 x75 },
{ CCI_REG8(0 x5bd1), 0 x75 }, { CCI_REG8(0 x5bd2), 0 x75 },
{ CCI_REG8(0 x5bd3), 0 x75 }, { CCI_REG8(0 x5bd4), 0 x75 },
{ CCI_REG8(0 x5bd5), 0 x75 }, { CCI_REG8(0 x5bd6), 0 x75 },
{ CCI_REG8(0 x5bd7), 0 x75 }, { CCI_REG8(0 x5bd8), 0 x75 },
{ CCI_REG8(0 x5bd9), 0 x75 }, { CCI_REG8(0 x5bda), 0 x75 },
{ CCI_REG8(0 x5bdb), 0 x75 }, { CCI_REG8(0 x5bdc), 0 x75 },
{ CCI_REG8(0 x5bdd), 0 x75 }, { CCI_REG8(0 x5bde), 0 x75 },
{ CCI_REG8(0 x5bdf), 0 x75 }, { CCI_REG8(0 x5be0), 0 x75 },
{ CCI_REG8(0 x5be1), 0 x75 }, { CCI_REG8(0 x5be2), 0 x75 },
{ CCI_REG8(0 x5be3), 0 x75 }, { CCI_REG8(0 x5be4), 0 x75 },
{ CCI_REG8(0 x5be5), 0 x75 }, { CCI_REG8(0 x5be6), 0 x75 },
{ CCI_REG8(0 x5be7), 0 x75 }, { CCI_REG8(0 x5be8), 0 x75 },
{ CCI_REG8(0 x5be9), 0 x75 }, { CCI_REG8(0 x5bea), 0 x75 },
{ CCI_REG8(0 x5beb), 0 x75 }, { CCI_REG8(0 x5bec), 0 x75 },
{ CCI_REG8(0 x5bed), 0 x75 }, { CCI_REG8(0 x5bee), 0 x75 },
{ CCI_REG8(0 x5bef), 0 x75 }, { CCI_REG8(0 x5bf0), 0 x75 },
{ CCI_REG8(0 x5bf1), 0 x75 }, { CCI_REG8(0 x5bf2), 0 x75 },
{ CCI_REG8(0 x5bf3), 0 x75 }, { CCI_REG8(0 x5bf4), 0 x75 },
{ CCI_REG8(0 x5bf5), 0 x75 }, { CCI_REG8(0 x5bf6), 0 x75 },
{ CCI_REG8(0 x5bf7), 0 x75 }, { CCI_REG8(0 x5bf8), 0 x75 },
{ CCI_REG8(0 x5bf9), 0 x75 }, { CCI_REG8(0 x5bfa), 0 x75 },
{ CCI_REG8(0 x5bfb), 0 x75 }, { CCI_REG8(0 x5bfc), 0 x75 },
{ CCI_REG8(0 x5bfd), 0 x75 }, { CCI_REG8(0 x5bfe), 0 x75 },
{ CCI_REG8(0 x5bff), 0 x75 }, { CCI_REG8(0 x5c00), 0 x75 },
{ CCI_REG8(0 x5c01), 0 x75 }, { CCI_REG8(0 x5c02), 0 x75 },
{ CCI_REG8(0 x5c03), 0 x75 }, { CCI_REG8(0 x5c04), 0 x75 },
{ CCI_REG8(0 x5c05), 0 x75 }, { CCI_REG8(0 x5c06), 0 x75 },
{ CCI_REG8(0 x5c07), 0 x75 }, { CCI_REG8(0 x5c08), 0 x75 },
{ CCI_REG8(0 x5c09), 0 x75 }, { CCI_REG8(0 x5c0a), 0 x75 },
{ CCI_REG8(0 x5c0b), 0 x75 }, { CCI_REG8(0 x5c0c), 0 x75 },
{ CCI_REG8(0 x5c0d), 0 x75 }, { CCI_REG8(0 x5c0e), 0 x75 },
{ CCI_REG8(0 x5c0f), 0 x75 }, { CCI_REG8(0 x5c10), 0 x75 },
{ CCI_REG8(0 x5c11), 0 x75 }, { CCI_REG8(0 x5c12), 0 x75 },
{ CCI_REG8(0 x5c13), 0 x75 }, { CCI_REG8(0 x5c14), 0 x75 },
{ CCI_REG8(0 x5c15), 0 x75 }, { CCI_REG8(0 x5c16), 0 x75 },
{ CCI_REG8(0 x5c17), 0 x75 }, { CCI_REG8(0 x5c18), 0 x75 },
{ CCI_REG8(0 x5c19), 0 x75 }, { CCI_REG8(0 x5c1a), 0 x75 },
{ CCI_REG8(0 x5c1b), 0 x75 }, { CCI_REG8(0 x5c1c), 0 x75 },
{ CCI_REG8(0 x5c1d), 0 x75 }, { CCI_REG8(0 x5c1e), 0 x75 },
{ CCI_REG8(0 x5c1f), 0 x75 }, { CCI_REG8(0 x5c20), 0 x75 },
{ CCI_REG8(0 x5c21), 0 x75 }, { CCI_REG8(0 x5c22), 0 x75 },
{ CCI_REG8(0 x5c23), 0 x75 }, { CCI_REG8(0 x5c24), 0 x75 },
{ CCI_REG8(0 x5c25), 0 x75 }, { CCI_REG8(0 x5c26), 0 x75 },
{ CCI_REG8(0 x5c27), 0 x75 }, { CCI_REG8(0 x5c28), 0 x75 },
{ CCI_REG8(0 x5c29), 0 x75 }, { CCI_REG8(0 x5c2a), 0 x75 },
{ CCI_REG8(0 x5c2b), 0 x75 }, { CCI_REG8(0 x5c2c), 0 x75 },
{ CCI_REG8(0 x5c2d), 0 x75 }, { CCI_REG8(0 x5c2e), 0 x75 },
{ CCI_REG8(0 x5c2f), 0 x75 }, { CCI_REG8(0 x5c30), 0 x75 },
{ CCI_REG8(0 x5c31), 0 x75 }, { CCI_REG8(0 x5c32), 0 x75 },
{ CCI_REG8(0 x5c33), 0 x75 }, { CCI_REG8(0 x5c34), 0 x75 },
{ CCI_REG8(0 x5c35), 0 x75 }, { CCI_REG8(0 x5c36), 0 x75 },
{ CCI_REG8(0 x5c37), 0 x75 }, { CCI_REG8(0 x5c38), 0 x75 },
{ CCI_REG8(0 x5c39), 0 x75 }, { CCI_REG8(0 x5c3a), 0 x75 },
{ CCI_REG8(0 x5c3b), 0 x75 }, { CCI_REG8(0 x5c3c), 0 x75 },
{ CCI_REG8(0 x5c3d), 0 x75 }, { CCI_REG8(0 x5c3e), 0 x75 },
{ CCI_REG8(0 x5c3f), 0 x75 }, { CCI_REG8(0 x5c40), 0 x75 },
{ CCI_REG8(0 x5c41), 0 x75 }, { CCI_REG8(0 x5c42), 0 x75 },
{ CCI_REG8(0 x5c43), 0 x75 }, { CCI_REG8(0 x5c44), 0 x75 },
{ CCI_REG8(0 x5c45), 0 x75 }, { CCI_REG8(0 x5c46), 0 x75 },
{ CCI_REG8(0 x5c47), 0 x75 }, { CCI_REG8(0 x5c48), 0 x75 },
{ CCI_REG8(0 x5c49), 0 x75 }, { CCI_REG8(0 x5c4a), 0 x75 },
{ CCI_REG8(0 x5c4b), 0 x75 }, { CCI_REG8(0 x5c4c), 0 x75 },
{ CCI_REG8(0 x5c4d), 0 x75 }, { CCI_REG8(0 x5c4e), 0 x75 },
{ CCI_REG8(0 x5c4f), 0 x75 }, { CCI_REG8(0 x5c50), 0 x75 },
{ CCI_REG8(0 x5c51), 0 x75 }, { CCI_REG8(0 x5c52), 0 x75 },
{ CCI_REG8(0 x5c53), 0 x75 }, { CCI_REG8(0 x5c54), 0 x75 },
{ CCI_REG8(0 x5c55), 0 x75 }, { CCI_REG8(0 x5c56), 0 x75 },
{ CCI_REG8(0 x5c57), 0 x75 }, { CCI_REG8(0 x5c58), 0 x75 },
{ CCI_REG8(0 x5c59), 0 x75 }, { CCI_REG8(0 x5c5a), 0 x75 },
{ CCI_REG8(0 x5c5b), 0 x75 }, { CCI_REG8(0 x5c5c), 0 x75 },
{ CCI_REG8(0 x5c5d), 0 x75 }, { CCI_REG8(0 x5c5e), 0 x75 },
{ CCI_REG8(0 x5c5f), 0 x75 }, { CCI_REG8(0 x5c60), 0 x75 },
{ CCI_REG8(0 x5c61), 0 x75 }, { CCI_REG8(0 x5c62), 0 x75 },
{ CCI_REG8(0 x5c63), 0 x75 }, { CCI_REG8(0 x5c64), 0 x75 },
{ CCI_REG8(0 x5c65), 0 x75 }, { CCI_REG8(0 x5c66), 0 x75 },
{ CCI_REG8(0 x5c67), 0 x75 }, { CCI_REG8(0 x5c68), 0 x75 },
{ CCI_REG8(0 x5c69), 0 x75 }, { CCI_REG8(0 x5c6a), 0 x75 },
{ CCI_REG8(0 x5c6b), 0 x75 }, { CCI_REG8(0 x5c6c), 0 x75 },
{ CCI_REG8(0 x5c6d), 0 x75 }, { CCI_REG8(0 x5c6e), 0 x75 },
{ CCI_REG8(0 x5c6f), 0 x75 }, { CCI_REG8(0 x5c70), 0 x75 },
{ CCI_REG8(0 x5c71), 0 x75 }, { CCI_REG8(0 x5c72), 0 x75 },
{ CCI_REG8(0 x5c73), 0 x75 }, { CCI_REG8(0 x5c74), 0 x75 },
{ CCI_REG8(0 x5c75), 0 x75 }, { CCI_REG8(0 x5c76), 0 x75 },
{ CCI_REG8(0 x5c77), 0 x75 }, { CCI_REG8(0 x5c78), 0 x75 },
{ CCI_REG8(0 x5c79), 0 x75 }, { CCI_REG8(0 x5c7a), 0 x75 },
{ CCI_REG8(0 x5c7b), 0 x75 }, { CCI_REG8(0 x5c7c), 0 x75 },
{ CCI_REG8(0 x5c7d), 0 x75 }, { CCI_REG8(0 x5c7e), 0 x75 },
{ CCI_REG8(0 x5c7f), 0 x75 }, { CCI_REG8(0 x5c80), 0 x75 },
{ CCI_REG8(0 x5c81), 0 x75 }, { CCI_REG8(0 x5c82), 0 x75 },
{ CCI_REG8(0 x5c83), 0 x75 }, { CCI_REG8(0 x5c84), 0 x75 },
{ CCI_REG8(0 x5c85), 0 x75 }, { CCI_REG8(0 x5c86), 0 x75 },
{ CCI_REG8(0 x5c87), 0 x75 }, { CCI_REG8(0 x5c88), 0 x75 },
{ CCI_REG8(0 x5c89), 0 x75 }, { CCI_REG8(0 x5c8a), 0 x75 },
{ CCI_REG8(0 x5c8b), 0 x75 }, { CCI_REG8(0 x5c8c), 0 x75 },
{ CCI_REG8(0 x5c8d), 0 x75 }, { CCI_REG8(0 x5c8e), 0 x75 },
{ CCI_REG8(0 x5c8f), 0 x75 }, { CCI_REG8(0 x5c90), 0 x75 },
{ CCI_REG8(0 x5c91), 0 x75 }, { CCI_REG8(0 x5c92), 0 x75 },
{ CCI_REG8(0 x5c93), 0 x75 }, { CCI_REG8(0 x5c94), 0 x75 },
{ CCI_REG8(0 x5c95), 0 x75 }, { CCI_REG8(0 x5c96), 0 x75 },
{ CCI_REG8(0 x5c97), 0 x75 }, { CCI_REG8(0 x5c98), 0 x75 },
{ CCI_REG8(0 x5c99), 0 x75 }, { CCI_REG8(0 x5c9a), 0 x75 },
{ CCI_REG8(0 x5c9b), 0 x75 }, { CCI_REG8(0 x5c9c), 0 x75 },
{ CCI_REG8(0 x5c9d), 0 x75 }, { CCI_REG8(0 x5c9e), 0 x75 },
{ CCI_REG8(0 x5c9f), 0 x75 }, { CCI_REG8(0 x5ca0), 0 x75 },
{ CCI_REG8(0 x5ca1), 0 x75 }, { CCI_REG8(0 x5ca2), 0 x75 },
{ CCI_REG8(0 x5ca3), 0 x75 }, { CCI_REG8(0 x5ca4), 0 x75 },
{ CCI_REG8(0 x5ca5), 0 x75 }, { CCI_REG8(0 x5ca6), 0 x75 },
{ CCI_REG8(0 x5ca7), 0 x75 }, { CCI_REG8(0 x5ca8), 0 x75 },
{ CCI_REG8(0 x5ca9), 0 x75 }, { CCI_REG8(0 x5caa), 0 x75 },
{ CCI_REG8(0 x5cab), 0 x75 }, { CCI_REG8(0 x5cac), 0 x75 },
{ CCI_REG8(0 x5cad), 0 x75 }, { CCI_REG8(0 x5cae), 0 x75 },
{ CCI_REG8(0 x5caf), 0 x75 }, { CCI_REG8(0 x5cb0), 0 x75 },
{ CCI_REG8(0 x5cb1), 0 x75 }, { CCI_REG8(0 x5cb2), 0 x75 },
{ CCI_REG8(0 x5cb3), 0 x75 }, { CCI_REG8(0 x5cb4), 0 x75 },
{ CCI_REG8(0 x5cb5), 0 x75 }, { CCI_REG8(0 x5cb6), 0 x75 },
{ CCI_REG8(0 x5cb7), 0 x75 }, { CCI_REG8(0 x5cb8), 0 x75 },
{ CCI_REG8(0 x5cb9), 0 x75 }, { CCI_REG8(0 x5cba), 0 x75 },
{ CCI_REG8(0 x5cbb), 0 x75 }, { CCI_REG8(0 x5cbc), 0 x75 },
{ CCI_REG8(0 x5cbd), 0 x75 }, { CCI_REG8(0 x5cbe), 0 x75 },
{ CCI_REG8(0 x5cbf), 0 x75 }, { CCI_REG8(0 x5cc0), 0 x75 },
{ CCI_REG8(0 x5cc1), 0 x75 }, { CCI_REG8(0 x5cc2), 0 x75 },
{ CCI_REG8(0 x5cc3), 0 x75 }, { CCI_REG8(0 x5cc4), 0 x75 },
{ CCI_REG8(0 x5cc5), 0 x75 }, { CCI_REG8(0 x5cc6), 0 x75 },
{ CCI_REG8(0 x5cc7), 0 x75 }, { CCI_REG8(0 x5cc8), 0 x75 },
{ CCI_REG8(0 x5cc9), 0 x75 }, { CCI_REG8(0 x5cca), 0 x75 },
{ CCI_REG8(0 x5ccb), 0 x75 }, { CCI_REG8(0 x5ccc), 0 x75 },
{ CCI_REG8(0 x5ccd), 0 x75 }, { CCI_REG8(0 x5cce), 0 x75 },
{ CCI_REG8(0 x5ccf), 0 x75 }, { CCI_REG8(0 x5cd0), 0 x75 },
{ CCI_REG8(0 x5cd1), 0 x75 }, { CCI_REG8(0 x5cd2), 0 x75 },
{ CCI_REG8(0 x5cd3), 0 x75 }, { CCI_REG8(0 x5cd4), 0 x75 },
{ CCI_REG8(0 x5cd5), 0 x75 }, { CCI_REG8(0 x5cd6), 0 x75 },
{ CCI_REG8(0 x5cd7), 0 x75 }, { CCI_REG8(0 x5cd8), 0 x75 },
{ CCI_REG8(0 x5cd9), 0 x75 }, { CCI_REG8(0 x5cda), 0 x75 },
{ CCI_REG8(0 x5cdb), 0 x75 }, { CCI_REG8(0 x5cdc), 0 x75 },
{ CCI_REG8(0 x5cdd), 0 x75 }, { CCI_REG8(0 x5cde), 0 x75 },
{ CCI_REG8(0 x5cdf), 0 x75 }, { CCI_REG8(0 x5ce0), 0 x75 },
{ CCI_REG8(0 x5ce1), 0 x75 }, { CCI_REG8(0 x5ce2), 0 x75 },
{ CCI_REG8(0 x5ce3), 0 x75 }, { CCI_REG8(0 x5ce4), 0 x75 },
{ CCI_REG8(0 x5ce5), 0 x75 }, { CCI_REG8(0 x5ce6), 0 x75 },
{ CCI_REG8(0 x5ce7), 0 x75 }, { CCI_REG8(0 x5ce8), 0 x75 },
{ CCI_REG8(0 x5ce9), 0 x75 }, { CCI_REG8(0 x5cea), 0 x75 },
{ CCI_REG8(0 x5ceb), 0 x75 }, { CCI_REG8(0 x5cec), 0 x75 },
{ CCI_REG8(0 x5ced), 0 x75 }, { CCI_REG8(0 x5cee), 0 x75 },
{ CCI_REG8(0 x5cef), 0 x75 }, { CCI_REG8(0 x5cf0), 0 x75 },
{ CCI_REG8(0 x5cf1), 0 x75 }, { CCI_REG8(0 x5cf2), 0 x75 },
{ CCI_REG8(0 x5cf3), 0 x75 }, { CCI_REG8(0 x5cf4), 0 x75 },
{ CCI_REG8(0 x5cf5), 0 x75 }, { CCI_REG8(0 x5cf6), 0 x75 },
{ CCI_REG8(0 x5cf7), 0 x75 }, { CCI_REG8(0 x5cf8), 0 x75 },
{ CCI_REG8(0 x5cf9), 0 x75 }, { CCI_REG8(0 x5cfa), 0 x75 },
{ CCI_REG8(0 x5cfb), 0 x75 }, { CCI_REG8(0 x5cfc), 0 x75 },
{ CCI_REG8(0 x5cfd), 0 x75 }, { CCI_REG8(0 x5cfe), 0 x75 },
{ CCI_REG8(0 x5cff), 0 x75 }, { CCI_REG8(0 x5d00), 0 x75 },
{ CCI_REG8(0 x5d01), 0 x75 }, { CCI_REG8(0 x5d02), 0 x75 },
{ CCI_REG8(0 x5d03), 0 x75 }, { CCI_REG8(0 x5d04), 0 x75 },
{ CCI_REG8(0 x5d05), 0 x75 }, { CCI_REG8(0 x5d06), 0 x75 },
{ CCI_REG8(0 x5d07), 0 x75 }, { CCI_REG8(0 x5d08), 0 x75 },
{ CCI_REG8(0 x5d09), 0 x75 }, { CCI_REG8(0 x5d0a), 0 x75 },
{ CCI_REG8(0 x5d0b), 0 x75 }, { CCI_REG8(0 x5d0c), 0 x75 },
{ CCI_REG8(0 x5d0d), 0 x75 }, { CCI_REG8(0 x5d0e), 0 x75 },
{ CCI_REG8(0 x5d0f), 0 x75 }, { CCI_REG8(0 x5d10), 0 x75 },
{ CCI_REG8(0 x5d11), 0 x75 }, { CCI_REG8(0 x5d12), 0 x75 },
{ CCI_REG8(0 x5d13), 0 x75 }, { CCI_REG8(0 x5d14), 0 x75 },
{ CCI_REG8(0 x5d15), 0 x75 }, { CCI_REG8(0 x5d16), 0 x75 },
{ CCI_REG8(0 x5d17), 0 x75 }, { CCI_REG8(0 x5d18), 0 x75 },
{ CCI_REG8(0 x5d19), 0 x75 }, { CCI_REG8(0 x5d1a), 0 x75 },
{ CCI_REG8(0 x5d1b), 0 x75 }, { CCI_REG8(0 x5d1c), 0 x75 },
{ CCI_REG8(0 x5d1d), 0 x75 }, { CCI_REG8(0 x5d1e), 0 x75 },
{ CCI_REG8(0 x5d1f), 0 x75 }, { CCI_REG8(0 x5d20), 0 x75 },
{ CCI_REG8(0 x5d21), 0 x75 }, { CCI_REG8(0 x5d22), 0 x75 },
{ CCI_REG8(0 x5d23), 0 x75 }, { CCI_REG8(0 x5d24), 0 x75 },
{ CCI_REG8(0 x5d25), 0 x75 }, { CCI_REG8(0 x5d26), 0 x75 },
{ CCI_REG8(0 x5d27), 0 x75 }, { CCI_REG8(0 x5d28), 0 x75 },
{ CCI_REG8(0 x5d29), 0 x75 }, { CCI_REG8(0 x5d2a), 0 x75 },
{ CCI_REG8(0 x5d2b), 0 x75 }, { CCI_REG8(0 x5d2c), 0 x75 },
{ CCI_REG8(0 x5d2d), 0 x75 }, { CCI_REG8(0 x5d2e), 0 x75 },
{ CCI_REG8(0 x5d2f), 0 x75 }, { CCI_REG8(0 x5d30), 0 x75 },
{ CCI_REG8(0 x5d31), 0 x75 }, { CCI_REG8(0 x5d32), 0 x75 },
{ CCI_REG8(0 x5d33), 0 x75 }, { CCI_REG8(0 x5d34), 0 x75 },
{ CCI_REG8(0 x5d35), 0 x75 }, { CCI_REG8(0 x5d36), 0 x75 },
{ CCI_REG8(0 x5d37), 0 x75 }, { CCI_REG8(0 x5d38), 0 x75 },
{ CCI_REG8(0 x5d39), 0 x75 }, { CCI_REG8(0 x5d3a), 0 x75 },
{ CCI_REG8(0 x5d3b), 0 x75 }, { CCI_REG8(0 x5d3c), 0 x75 },
{ CCI_REG8(0 x5d3d), 0 x75 }, { CCI_REG8(0 x5d3e), 0 x75 },
{ CCI_REG8(0 x5d3f), 0 x75 }, { CCI_REG8(0 x5d40), 0 x75 },
{ CCI_REG8(0 x5d41), 0 x75 }, { CCI_REG8(0 x5d42), 0 x75 },
{ CCI_REG8(0 x5d43), 0 x75 }, { CCI_REG8(0 x5d44), 0 x75 },
{ CCI_REG8(0 x5d45), 0 x75 }, { CCI_REG8(0 x5d46), 0 x75 },
{ CCI_REG8(0 x5d47), 0 x75 }, { CCI_REG8(0 x5d48), 0 x75 },
{ CCI_REG8(0 x5d49), 0 x75 }, { CCI_REG8(0 x5d4a), 0 x75 },
{ CCI_REG8(0 x5d4b), 0 x75 }, { CCI_REG8(0 x5d4c), 0 x75 },
{ CCI_REG8(0 x5d4d), 0 x75 }, { CCI_REG8(0 x5d4e), 0 x75 },
{ CCI_REG8(0 x5d4f), 0 x75 }, { CCI_REG8(0 x5d50), 0 x75 },
{ CCI_REG8(0 x5d51), 0 x75 }, { CCI_REG8(0 x5d52), 0 x75 },
{ CCI_REG8(0 x5d53), 0 x75 }, { CCI_REG8(0 x5d54), 0 x75 },
{ CCI_REG8(0 x5d55), 0 x75 }, { CCI_REG8(0 x5d56), 0 x75 },
{ CCI_REG8(0 x5d57), 0 x75 }, { CCI_REG8(0 x5d58), 0 x75 },
{ CCI_REG8(0 x5d59), 0 x75 }, { CCI_REG8(0 x5d5a), 0 x75 },
{ CCI_REG8(0 x5d5b), 0 x75 }, { CCI_REG8(0 x5d5c), 0 x75 },
{ CCI_REG8(0 x5d5d), 0 x75 }, { CCI_REG8(0 x5d5e), 0 x75 },
{ CCI_REG8(0 x5d5f), 0 x75 }, { CCI_REG8(0 x5d60), 0 x75 },
{ CCI_REG8(0 x5d61), 0 x75 }, { CCI_REG8(0 x5d62), 0 x75 },
{ CCI_REG8(0 x5d63), 0 x75 }, { CCI_REG8(0 x5d64), 0 x75 },
{ CCI_REG8(0 x5d65), 0 x75 }, { CCI_REG8(0 x5d66), 0 x75 },
{ CCI_REG8(0 x5d67), 0 x75 }, { CCI_REG8(0 x5d68), 0 x75 },
{ CCI_REG8(0 x5d69), 0 x75 }, { CCI_REG8(0 x5d6a), 0 x75 },
{ CCI_REG8(0 x5d6b), 0 x75 }, { CCI_REG8(0 x5d6c), 0 x75 },
{ CCI_REG8(0 x5d6d), 0 x75 }, { CCI_REG8(0 x5d6e), 0 x75 },
{ CCI_REG8(0 x5d6f), 0 x75 }, { CCI_REG8(0 x5d70), 0 x75 },
{ CCI_REG8(0 x5d71), 0 x75 }, { CCI_REG8(0 x5d72), 0 x75 },
{ CCI_REG8(0 x5d73), 0 x75 }, { CCI_REG8(0 x5d74), 0 x75 },
{ CCI_REG8(0 x5d75), 0 x75 }, { CCI_REG8(0 x5d76), 0 x75 },
{ CCI_REG8(0 x5d77), 0 x75 }, { CCI_REG8(0 x5d78), 0 x75 },
{ CCI_REG8(0 x5d79), 0 x75 }, { CCI_REG8(0 x5d7a), 0 x75 },
{ CCI_REG8(0 x5d7b), 0 x75 }, { CCI_REG8(0 x5d7c), 0 x75 },
{ CCI_REG8(0 x5d7d), 0 x75 }, { CCI_REG8(0 x5d7e), 0 x75 },
{ CCI_REG8(0 x5d7f), 0 x75 }, { CCI_REG8(0 x5d80), 0 x75 },
{ CCI_REG8(0 x5d81), 0 x75 }, { CCI_REG8(0 x5d82), 0 x75 },
{ CCI_REG8(0 x5d83), 0 x75 }, { CCI_REG8(0 x5d84), 0 x75 },
{ CCI_REG8(0 x5d85), 0 x75 }, { CCI_REG8(0 x5d86), 0 x75 },
{ CCI_REG8(0 x5d87), 0 x75 }, { CCI_REG8(0 x5d88), 0 x75 },
{ CCI_REG8(0 x5d89), 0 x75 }, { CCI_REG8(0 x5d8a), 0 x75 },
{ CCI_REG8(0 x5d8b), 0 x75 }, { CCI_REG8(0 x5d8c), 0 x75 },
{ CCI_REG8(0 x5d8d), 0 x75 }, { CCI_REG8(0 x5d8e), 0 x75 },
{ CCI_REG8(0 x5d8f), 0 x75 }, { CCI_REG8(0 x5d90), 0 x75 },
{ CCI_REG8(0 x5d91), 0 x75 }, { CCI_REG8(0 x5d92), 0 x75 },
{ CCI_REG8(0 x5d93), 0 x75 }, { CCI_REG8(0 x5d94), 0 x75 },
{ CCI_REG8(0 x5d95), 0 x75 }, { CCI_REG8(0 x5d96), 0 x75 },
{ CCI_REG8(0 x5d97), 0 x75 }, { CCI_REG8(0 x5d98), 0 x75 },
{ CCI_REG8(0 x5d99), 0 x75 }, { CCI_REG8(0 x5d9a), 0 x75 },
{ CCI_REG8(0 x5d9b), 0 x75 }, { CCI_REG8(0 x5d9c), 0 x75 },
{ CCI_REG8(0 x5d9d), 0 x75 }, { CCI_REG8(0 x5d9e), 0 x75 },
{ CCI_REG8(0 x5d9f), 0 x75 }, { CCI_REG8(0 x5da0), 0 x75 },
{ CCI_REG8(0 x5da1), 0 x75 }, { CCI_REG8(0 x5da2), 0 x75 },
{ CCI_REG8(0 x5da3), 0 x75 }, { CCI_REG8(0 x5da4), 0 x75 },
{ CCI_REG8(0 x5da5), 0 x75 }, { CCI_REG8(0 x5da6), 0 x75 },
{ CCI_REG8(0 x5da7), 0 x75 }, { CCI_REG8(0 x5da8), 0 x75 },
{ CCI_REG8(0 x5da9), 0 x75 }, { CCI_REG8(0 x5daa), 0 x75 },
{ CCI_REG8(0 x5dab), 0 x75 }, { CCI_REG8(0 x5dac), 0 x75 },
{ CCI_REG8(0 x5dad), 0 x75 }, { CCI_REG8(0 x5dae), 0 x75 },
{ CCI_REG8(0 x5daf), 0 x75 }, { CCI_REG8(0 x5db0), 0 x75 },
{ CCI_REG8(0 x5db1), 0 x75 }, { CCI_REG8(0 x5db2), 0 x75 },
{ CCI_REG8(0 x5db3), 0 x75 }, { CCI_REG8(0 x5db4), 0 x75 },
{ CCI_REG8(0 x5db5), 0 x75 }, { CCI_REG8(0 x5db6), 0 x75 },
{ CCI_REG8(0 x5db7), 0 x75 }, { CCI_REG8(0 x5db8), 0 x75 },
{ CCI_REG8(0 x5db9), 0 x75 }, { CCI_REG8(0 x5dba), 0 x75 },
{ CCI_REG8(0 x5dbb), 0 x75 }, { CCI_REG8(0 x5dbc), 0 x75 },
{ CCI_REG8(0 x5dbd), 0 x75 }, { CCI_REG8(0 x5dbe), 0 x75 },
{ CCI_REG8(0 x5dbf), 0 x75 }, { CCI_REG8(0 x5dc0), 0 x75 },
{ CCI_REG8(0 x5dc1), 0 x75 }, { CCI_REG8(0 x5dc2), 0 x75 },
{ CCI_REG8(0 x5dc3), 0 x75 }, { CCI_REG8(0 x5dc4), 0 x75 },
{ CCI_REG8(0 x5dc5), 0 x75 }, { CCI_REG8(0 x5dc6), 0 x75 },
{ CCI_REG8(0 x5dc7), 0 x75 }, { CCI_REG8(0 x5dc8), 0 x75 },
{ CCI_REG8(0 x5dc9), 0 x75 }, { CCI_REG8(0 x5dca), 0 x75 },
{ CCI_REG8(0 x5dcb), 0 x75 }, { CCI_REG8(0 x5dcc), 0 x75 },
{ CCI_REG8(0 x5dcd), 0 x75 }, { CCI_REG8(0 x5dce), 0 x75 },
{ CCI_REG8(0 x5dcf), 0 x75 }, { CCI_REG8(0 x5dd0), 0 x75 },
{ CCI_REG8(0 x5dd1), 0 x75 }, { CCI_REG8(0 x5dd2), 0 x75 },
{ CCI_REG8(0 x5dd3), 0 x75 }, { CCI_REG8(0 x5dd4), 0 x75 },
{ CCI_REG8(0 x5dd5), 0 x75 }, { CCI_REG8(0 x5dd6), 0 x75 },
{ CCI_REG8(0 x5dd7), 0 x75 }, { CCI_REG8(0 x5dd8), 0 x75 },
{ CCI_REG8(0 x5dd9), 0 x75 }, { CCI_REG8(0 x5dda), 0 x75 },
{ CCI_REG8(0 x5ddb), 0 x75 }, { CCI_REG8(0 x5ddc), 0 x75 },
{ CCI_REG8(0 x5ddd), 0 x75 }, { CCI_REG8(0 x5dde), 0 x75 },
{ CCI_REG8(0 x5ddf), 0 x75 }, { CCI_REG8(0 x5de0), 0 x75 },
{ CCI_REG8(0 x5de1), 0 x75 }, { CCI_REG8(0 x5de2), 0 x75 },
{ CCI_REG8(0 x5de3), 0 x75 }, { CCI_REG8(0 x5de4), 0 x75 },
{ CCI_REG8(0 x5de5), 0 x75 }, { CCI_REG8(0 x5de6), 0 x75 },
{ CCI_REG8(0 x5de7), 0 x75 }, { CCI_REG8(0 x5de8), 0 x75 },
{ CCI_REG8(0 x5de9), 0 x75 }, { CCI_REG8(0 x5dea), 0 x75 },
{ CCI_REG8(0 x5deb), 0 x75 }, { CCI_REG8(0 x5dec), 0 x75 },
{ CCI_REG8(0 x5ded), 0 x75 }, { CCI_REG8(0 x5dee), 0 x75 },
{ CCI_REG8(0 x5def), 0 x75 }, { CCI_REG8(0 x5df0), 0 x75 },
{ CCI_REG8(0 x5df1), 0 x75 }, { CCI_REG8(0 x5df2), 0 x75 },
{ CCI_REG8(0 x5df3), 0 x75 }, { CCI_REG8(0 x5df4), 0 x75 },
{ CCI_REG8(0 x5df5), 0 x75 }, { CCI_REG8(0 x5df6), 0 x75 },
{ CCI_REG8(0 x5df7), 0 x75 }, { CCI_REG8(0 x5df8), 0 x75 },
{ CCI_REG8(0 x5df9), 0 x75 }, { CCI_REG8(0 x5dfa), 0 x75 },
{ CCI_REG8(0 x5dfb), 0 x75 }, { CCI_REG8(0 x5dfc), 0 x75 },
{ CCI_REG8(0 x5dfd), 0 x75 }, { CCI_REG8(0 x5dfe), 0 x75 },
{ CCI_REG8(0 x5dff), 0 x75 }, { CCI_REG8(0 x5e00), 0 x75 },
{ CCI_REG8(0 x5e01), 0 x75 }, { CCI_REG8(0 x5e02), 0 x75 },
{ CCI_REG8(0 x5e03), 0 x75 }, { CCI_REG8(0 x5e04), 0 x75 },
{ CCI_REG8(0 x5e05), 0 x75 }, { CCI_REG8(0 x5e06), 0 x75 },
{ CCI_REG8(0 x5e07), 0 x75 }, { CCI_REG8(0 x5e08), 0 x75 },
{ CCI_REG8(0 x5e09), 0 x75 }, { CCI_REG8(0 x5e0a), 0 x75 },
{ CCI_REG8(0 x5e0b), 0 x75 }, { CCI_REG8(0 x5e0c), 0 x75 },
{ CCI_REG8(0 x5e0d), 0 x75 }, { CCI_REG8(0 x5e0e), 0 x75 },
{ CCI_REG8(0 x5e0f), 0 x75 }, { CCI_REG8(0 x5e10), 0 x75 },
{ CCI_REG8(0 x5e11), 0 x75 }, { CCI_REG8(0 x5e12), 0 x75 },
{ CCI_REG8(0 x5e13), 0 x75 }, { CCI_REG8(0 x5e14), 0 x75 },
{ CCI_REG8(0 x5e15), 0 x75 }, { CCI_REG8(0 x5e16), 0 x75 },
{ CCI_REG8(0 x5e17), 0 x75 }, { CCI_REG8(0 x5e18), 0 x75 },
{ CCI_REG8(0 x5e19), 0 x75 }, { CCI_REG8(0 x5e1a), 0 x75 },
{ CCI_REG8(0 x5e1b), 0 x75 }, { CCI_REG8(0 x5e1c), 0 x75 },
{ CCI_REG8(0 x5e1d), 0 x75 }, { CCI_REG8(0 x5e1e), 0 x75 },
{ CCI_REG8(0 x5e1f), 0 x75 }, { CCI_REG8(0 x5e20), 0 x75 },
{ CCI_REG8(0 x5e21), 0 x75 }, { CCI_REG8(0 x5e22), 0 x75 },
{ CCI_REG8(0 x5e23), 0 x75 }, { CCI_REG8(0 x5e24), 0 x75 },
{ CCI_REG8(0 x5e25), 0 x75 }, { CCI_REG8(0 x5e26), 0 x75 },
{ CCI_REG8(0 x5e27), 0 x75 }, { CCI_REG8(0 x5e28), 0 x75 },
{ CCI_REG8(0 x5e29), 0 x75 }, { CCI_REG8(0 x5e2a), 0 x75 },
{ CCI_REG8(0 x5e2b), 0 x75 }, { CCI_REG8(0 x5e2c), 0 x75 },
{ CCI_REG8(0 x5e2d), 0 x75 }, { CCI_REG8(0 x5e2e), 0 x75 },
{ CCI_REG8(0 x5e2f), 0 x75 }, { CCI_REG8(0 x5e30), 0 x75 },
{ CCI_REG8(0 x5e31), 0 x75 }, { CCI_REG8(0 x5e32), 0 x75 },
{ CCI_REG8(0 x5e33), 0 x75 }, { CCI_REG8(0 x5e34), 0 x75 },
{ CCI_REG8(0 x5e35), 0 x75 }, { CCI_REG8(0 x5e36), 0 x75 },
{ CCI_REG8(0 x5e37), 0 x75 }, { CCI_REG8(0 x5e38), 0 x75 },
{ CCI_REG8(0 x5e39), 0 x75 }, { CCI_REG8(0 x5e3a), 0 x75 },
{ CCI_REG8(0 x5e3b), 0 x75 }, { CCI_REG8(0 x5e3c), 0 x75 },
{ CCI_REG8(0 x5e3d), 0 x75 }, { CCI_REG8(0 x5e3e), 0 x75 },
{ CCI_REG8(0 x5e3f), 0 x75 }, { CCI_REG8(0 x5e40), 0 x75 },
{ CCI_REG8(0 x5e41), 0 x75 }, { CCI_REG8(0 x5e42), 0 x75 },
{ CCI_REG8(0 x5e43), 0 x75 }, { CCI_REG8(0 x5e44), 0 x75 },
{ CCI_REG8(0 x5e45), 0 x75 }, { CCI_REG8(0 x5e46), 0 x75 },
{ CCI_REG8(0 x5e47), 0 x75 }, { CCI_REG8(0 x5e48), 0 x75 },
{ CCI_REG8(0 x5e49), 0 x75 }, { CCI_REG8(0 x5e4a), 0 x75 },
{ CCI_REG8(0 x5e4b), 0 x75 }, { CCI_REG8(0 x5e4c), 0 x75 },
{ CCI_REG8(0 x5e4d), 0 x75 }, { CCI_REG8(0 x5e4e), 0 x75 },
{ CCI_REG8(0 x5e4f), 0 x75 }, { CCI_REG8(0 x5e50), 0 x75 },
{ CCI_REG8(0 x5e51), 0 x75 }, { CCI_REG8(0 x5e52), 0 x75 },
{ CCI_REG8(0 x5e53), 0 x75 }, { CCI_REG8(0 x5e54), 0 x75 },
{ CCI_REG8(0 x5e55), 0 x75 }, { CCI_REG8(0 x5e56), 0 x75 },
{ CCI_REG8(0 x5e57), 0 x75 }, { CCI_REG8(0 x5e58), 0 x75 },
{ CCI_REG8(0 x5e59), 0 x75 }, { CCI_REG8(0 x5e5a), 0 x75 },
{ CCI_REG8(0 x5e5b), 0 x75 }, { CCI_REG8(0 x5e5c), 0 x75 },
{ CCI_REG8(0 x5e5d), 0 x75 }, { CCI_REG8(0 x5e5e), 0 x75 },
{ CCI_REG8(0 x5e5f), 0 x75 }, { CCI_REG8(0 x5e60), 0 x75 },
{ CCI_REG8(0 x5e61), 0 x75 }, { CCI_REG8(0 x5e62), 0 x75 },
{ CCI_REG8(0 x5e63), 0 x75 }, { CCI_REG8(0 x5e64), 0 x75 },
{ CCI_REG8(0 x5e65), 0 x75 }, { CCI_REG8(0 x5e66), 0 x75 },
{ CCI_REG8(0 x5e67), 0 x75 }, { CCI_REG8(0 x5e68), 0 x75 },
{ CCI_REG8(0 x5e69), 0 x75 }, { CCI_REG8(0 x5e6a), 0 x75 },
{ CCI_REG8(0 x5e6b), 0 x75 }, { CCI_REG8(0 x5e6c), 0 x75 },
{ CCI_REG8(0 x5e6d), 0 x75 }, { CCI_REG8(0 x5e6e), 0 x75 },
{ CCI_REG8(0 x5e6f), 0 x75 }, { CCI_REG8(0 x5e70), 0 x75 },
{ CCI_REG8(0 x5e71), 0 x75 }, { CCI_REG8(0 x5e72), 0 x75 },
{ CCI_REG8(0 x5e73), 0 x75 }, { CCI_REG8(0 x5e74), 0 x75 },
{ CCI_REG8(0 x5e75), 0 x75 }, { CCI_REG8(0 x5e76), 0 x75 },
{ CCI_REG8(0 x5e77), 0 x75 }, { CCI_REG8(0 x5e78), 0 x75 },
{ CCI_REG8(0 x5e79), 0 x75 }, { CCI_REG8(0 x5e7a), 0 x75 },
{ CCI_REG8(0 x5e7b), 0 x75 }, { CCI_REG8(0 x5e7c), 0 x75 },
{ CCI_REG8(0 x5e7d), 0 x75 }, { CCI_REG8(0 x5e7e), 0 x75 },
{ CCI_REG8(0 x5e7f), 0 x75 }, { CCI_REG8(0 x5e80), 0 x75 },
{ CCI_REG8(0 x5e81), 0 x75 }, { CCI_REG8(0 x5e82), 0 x75 },
{ CCI_REG8(0 x5e83), 0 x75 }, { CCI_REG8(0 x5e84), 0 x75 },
{ CCI_REG8(0 x5e85), 0 x75 }, { CCI_REG8(0 x5e86), 0 x75 },
{ CCI_REG8(0 x5e87), 0 x75 }, { CCI_REG8(0 x5e88), 0 x75 },
{ CCI_REG8(0 x5e89), 0 x75 }, { CCI_REG8(0 x5e8a), 0 x75 },
{ CCI_REG8(0 x5e8b), 0 x75 }, { CCI_REG8(0 x5e8c), 0 x75 },
{ CCI_REG8(0 x5e8d), 0 x75 }, { CCI_REG8(0 x5e8e), 0 x75 },
{ CCI_REG8(0 x5e8f), 0 x75 }, { CCI_REG8(0 x5e90), 0 x75 },
{ CCI_REG8(0 x5e91), 0 x75 }, { CCI_REG8(0 x5e92), 0 x75 },
{ CCI_REG8(0 x5e93), 0 x75 }, { CCI_REG8(0 x5e94), 0 x75 },
{ CCI_REG8(0 x5e95), 0 x75 }, { CCI_REG8(0 x5e96), 0 x75 },
{ CCI_REG8(0 x5e97), 0 x75 }, { CCI_REG8(0 x5e98), 0 x75 },
{ CCI_REG8(0 x5e99), 0 x75 }, { CCI_REG8(0 x5e9a), 0 x75 },
{ CCI_REG8(0 x5e9b), 0 x75 }, { CCI_REG8(0 x5e9c), 0 x75 },
{ CCI_REG8(0 x5e9d), 0 x75 }, { CCI_REG8(0 x5e9e), 0 x75 },
{ CCI_REG8(0 x5e9f), 0 x75 }, { CCI_REG8(0 x5ea0), 0 x75 },
{ CCI_REG8(0 x5ea1), 0 x75 }, { CCI_REG8(0 x5ea2), 0 x75 },
{ CCI_REG8(0 x5ea3), 0 x75 }, { CCI_REG8(0 x5ea4), 0 x75 },
{ CCI_REG8(0 x5ea5), 0 x75 }, { CCI_REG8(0 x5ea6), 0 x75 },
{ CCI_REG8(0 x5ea7), 0 x75 }, { CCI_REG8(0 x5ea8), 0 x75 },
{ CCI_REG8(0 x5ea9), 0 x75 }, { CCI_REG8(0 x5eaa), 0 x75 },
{ CCI_REG8(0 x5eab), 0 x75 }, { CCI_REG8(0 x5eac), 0 x75 },
{ CCI_REG8(0 x5ead), 0 x75 }, { CCI_REG8(0 x5eae), 0 x75 },
{ CCI_REG8(0 x5eaf), 0 x75 }, { CCI_REG8(0 x5eb0), 0 x75 },
{ CCI_REG8(0 x5eb1), 0 x75 }, { CCI_REG8(0 x5eb2), 0 x75 },
{ CCI_REG8(0 x5eb3), 0 x75 }, { CCI_REG8(0 x5eb4), 0 x75 },
{ CCI_REG8(0 x5eb5), 0 x75 }, { CCI_REG8(0 x5eb6), 0 x75 },
{ CCI_REG8(0 x5eb7), 0 x75 }, { CCI_REG8(0 x5eb8), 0 x75 },
{ CCI_REG8(0 x5eb9), 0 x75 }, { CCI_REG8(0 x5eba), 0 x75 },
{ CCI_REG8(0 x5ebb), 0 x75 }, { CCI_REG8(0 x5ebc), 0 x75 },
{ CCI_REG8(0 x5ebd), 0 x75 }, { CCI_REG8(0 x5ebe), 0 x75 },
{ CCI_REG8(0 x5ebf), 0 x75 }, { CCI_REG8(0 x5ec0), 0 x75 },
{ CCI_REG8(0 x5ec1), 0 x75 }, { CCI_REG8(0 x5ec2), 0 x75 },
{ CCI_REG8(0 x5ec3), 0 x75 }, { CCI_REG8(0 x5ec4), 0 x75 },
{ CCI_REG8(0 x5ec5), 0 x75 }, { CCI_REG8(0 x5ec6), 0 x75 },
{ CCI_REG8(0 x5ec7), 0 x75 }, { CCI_REG8(0 x5ec8), 0 x75 },
{ CCI_REG8(0 x5ec9), 0 x75 }, { CCI_REG8(0 x5eca), 0 x75 },
{ CCI_REG8(0 x5ecb), 0 x75 }, { CCI_REG8(0 x5ecc), 0 x75 },
{ CCI_REG8(0 x5ecd), 0 x75 }, { CCI_REG8(0 x5ece), 0 x75 },
{ CCI_REG8(0 x5ecf), 0 x75 }, { CCI_REG8(0 x5ed0), 0 x75 },
{ CCI_REG8(0 x5ed1), 0 x75 }, { CCI_REG8(0 x5ed2), 0 x75 },
{ CCI_REG8(0 x5ed3), 0 x75 }, { CCI_REG8(0 x5ed4), 0 x75 },
{ CCI_REG8(0 x5ed5), 0 x75 }, { CCI_REG8(0 x5ed6), 0 x75 },
{ CCI_REG8(0 x5ed7), 0 x75 }, { CCI_REG8(0 x5ed8), 0 x75 },
{ CCI_REG8(0 x5ed9), 0 x75 }, { CCI_REG8(0 x5eda), 0 x75 },
{ CCI_REG8(0 x5edb), 0 x75 }, { CCI_REG8(0 x5edc), 0 x75 },
{ CCI_REG8(0 x5edd), 0 x75 }, { CCI_REG8(0 x5ede), 0 x75 },
{ CCI_REG8(0 x5edf), 0 x75 }, { CCI_REG8(0 xfff9), 0 x08 },
{ CCI_REG8(0 x1570), 0 x00 }, { CCI_REG8(0 x15d0), 0 x00 },
{ CCI_REG8(0 x15a0), 0 x02 }, { CCI_REG8(0 x15a1), 0 x00 },
{ CCI_REG8(0 x15a2), 0 x02 }, { CCI_REG8(0 x15a3), 0 x76 },
{ CCI_REG8(0 x15a4), 0 x03 }, { CCI_REG8(0 x15a5), 0 x08 },
{ CCI_REG8(0 x15a6), 0 x00 }, { CCI_REG8(0 x15a7), 0 x60 },
{ CCI_REG8(0 x15a8), 0 x01 }, { CCI_REG8(0 x15a9), 0 x00 },
{ CCI_REG8(0 x15aa), 0 x02 }, { CCI_REG8(0 x15ab), 0 x00 },
{ CCI_REG8(0 x1600), 0 x02 }, { CCI_REG8(0 x1601), 0 x00 },
{ CCI_REG8(0 x1602), 0 x02 }, { CCI_REG8(0 x1603), 0 x76 },
{ CCI_REG8(0 x1604), 0 x03 }, { CCI_REG8(0 x1605), 0 x08 },
{ CCI_REG8(0 x1606), 0 x00 }, { CCI_REG8(0 x1607), 0 x60 },
{ CCI_REG8(0 x1608), 0 x01 }, { CCI_REG8(0 x1609), 0 x00 },
{ CCI_REG8(0 x160a), 0 x02 }, { CCI_REG8(0 x160b), 0 x00 },
{ CCI_REG8(0 x1633), 0 x03 }, { CCI_REG8(0 x1634), 0 x01 },
{ CCI_REG8(0 x163c), 0 x3a }, { CCI_REG8(0 x163d), 0 x01 },
{ CCI_REG8(0 x1648), 0 x32 }, { CCI_REG8(0 x1658), 0 x01 },
{ CCI_REG8(0 x1659), 0 x01 }, { CCI_REG8(0 x165f), 0 x01 },
{ CCI_REG8(0 x1677), 0 x01 }, { CCI_REG8(0 x1690), 0 x08 },
{ CCI_REG8(0 x1691), 0 x00 }, { CCI_REG8(0 x1692), 0 x20 },
{ CCI_REG8(0 x1693), 0 x00 }, { CCI_REG8(0 x1694), 0 x10 },
{ CCI_REG8(0 x1695), 0 x14 }, { CCI_REG8(0 x1696), 0 x10 },
{ CCI_REG8(0 x1697), 0 x0e }, { CCI_REG8(0 x1730), 0 x01 },
{ CCI_REG8(0 x1732), 0 x00 }, { CCI_REG8(0 x1733), 0 x10 },
{ CCI_REG8(0 x1734), 0 x01 }, { CCI_REG8(0 x1735), 0 x00 },
{ CCI_REG8(0 x1748), 0 x01 }, { CCI_REG8(0 xfff9), 0 x06 },
{ CCI_REG8(0 x5000), 0 xff }, { CCI_REG8(0 x5001), 0 x3d },
{ CCI_REG8(0 x5002), 0 xf5 }, { CCI_REG8(0 x5004), 0 x80 },
{ CCI_REG8(0 x5006), 0 x04 }, { CCI_REG8(0 x5061), 0 x20 },
{ CCI_REG8(0 x5063), 0 x20 }, { CCI_REG8(0 x5064), 0 x24 },
{ CCI_REG8(0 x5065), 0 x00 }, { CCI_REG8(0 x5066), 0 x1b },
{ CCI_REG8(0 x5067), 0 x00 }, { CCI_REG8(0 x5068), 0 x03 },
{ CCI_REG8(0 x5069), 0 x10 }, { CCI_REG8(0 x506a), 0 x20 },
{ CCI_REG8(0 x506b), 0 x04 }, { CCI_REG8(0 x506c), 0 x04 },
{ CCI_REG8(0 x506d), 0 x0c }, { CCI_REG8(0 x506e), 0 x0c },
{ CCI_REG8(0 x506f), 0 x04 }, { CCI_REG8(0 x5070), 0 x0c },
{ CCI_REG8(0 x5071), 0 x14 }, { CCI_REG8(0 x5072), 0 x1c },
{ CCI_REG8(0 x5073), 0 x01 }, { CCI_REG8(0 x5074), 0 x01 },
{ CCI_REG8(0 x5075), 0 xbe }, { CCI_REG8(0 x5083), 0 x00 },
{ CCI_REG8(0 x5114), 0 x03 }, { CCI_REG8(0 x51b0), 0 x00 },
{ CCI_REG8(0 x51b3), 0 x0e }, { CCI_REG8(0 x51b5), 0 x02 },
{ CCI_REG8(0 x51b6), 0 x00 }, { CCI_REG8(0 x51b7), 0 x00 },
{ CCI_REG8(0 x51b8), 0 x00 }, { CCI_REG8(0 x51b9), 0 x70 },
{ CCI_REG8(0 x51ba), 0 x00 }, { CCI_REG8(0 x51bb), 0 x10 },
{ CCI_REG8(0 x51bc), 0 x00 }, { CCI_REG8(0 x51bd), 0 x00 },
{ CCI_REG8(0 x51d2), 0 xff }, { CCI_REG8(0 x51d3), 0 x1c },
{ CCI_REG8(0 x5250), 0 x34 }, { CCI_REG8(0 x5251), 0 x00 },
{ CCI_REG8(0 x525b), 0 x00 }, { CCI_REG8(0 x525d), 0 x00 },
{ CCI_REG8(0 x527a), 0 x00 }, { CCI_REG8(0 x527b), 0 x38 },
{ CCI_REG8(0 x527c), 0 x00 }, { CCI_REG8(0 x527d), 0 x4b },
{ CCI_REG8(0 x5286), 0 x1b }, { CCI_REG8(0 x5287), 0 x40 },
{ CCI_REG8(0 x5290), 0 x00 }, { CCI_REG8(0 x5291), 0 x50 },
{ CCI_REG8(0 x5292), 0 x00 }, { CCI_REG8(0 x5293), 0 x50 },
{ CCI_REG8(0 x5294), 0 x00 }, { CCI_REG8(0 x5295), 0 x50 },
{ CCI_REG8(0 x5296), 0 x00 }, { CCI_REG8(0 x5297), 0 x50 },
{ CCI_REG8(0 x5298), 0 x00 }, { CCI_REG8(0 x5299), 0 x50 },
{ CCI_REG8(0 x529a), 0 x01 }, { CCI_REG8(0 x529b), 0 x00 },
{ CCI_REG8(0 x529c), 0 x01 }, { CCI_REG8(0 x529d), 0 x00 },
{ CCI_REG8(0 x529e), 0 x00 }, { CCI_REG8(0 x529f), 0 x50 },
{ CCI_REG8(0 x52a0), 0 x00 }, { CCI_REG8(0 x52a1), 0 x50 },
{ CCI_REG8(0 x52a2), 0 x01 }, { CCI_REG8(0 x52a3), 0 x00 },
{ CCI_REG8(0 x52a4), 0 x01 }, { CCI_REG8(0 x52a5), 0 x00 },
{ CCI_REG8(0 x52a6), 0 x00 }, { CCI_REG8(0 x52a7), 0 x50 },
{ CCI_REG8(0 x52a8), 0 x00 }, { CCI_REG8(0 x52a9), 0 x50 },
{ CCI_REG8(0 x52aa), 0 x00 }, { CCI_REG8(0 x52ab), 0 x50 },
{ CCI_REG8(0 x52ac), 0 x00 }, { CCI_REG8(0 x52ad), 0 x50 },
{ CCI_REG8(0 x52ae), 0 x00 }, { CCI_REG8(0 x52af), 0 x50 },
{ CCI_REG8(0 x52b0), 0 x00 }, { CCI_REG8(0 x52b1), 0 x50 },
{ CCI_REG8(0 x52b2), 0 x00 }, { CCI_REG8(0 x52b3), 0 x50 },
{ CCI_REG8(0 x52b4), 0 x00 }, { CCI_REG8(0 x52b5), 0 x50 },
{ CCI_REG8(0 x52b6), 0 x00 }, { CCI_REG8(0 x52b7), 0 x50 },
{ CCI_REG8(0 x52b8), 0 x00 }, { CCI_REG8(0 x52b9), 0 x50 },
{ CCI_REG8(0 x52ba), 0 x01 }, { CCI_REG8(0 x52bb), 0 x00 },
{ CCI_REG8(0 x52bc), 0 x01 }, { CCI_REG8(0 x52bd), 0 x00 },
{ CCI_REG8(0 x52be), 0 x00 }, { CCI_REG8(0 x52bf), 0 x50 },
{ CCI_REG8(0 x52c0), 0 x00 }, { CCI_REG8(0 x52c1), 0 x50 },
{ CCI_REG8(0 x52c2), 0 x01 }, { CCI_REG8(0 x52c3), 0 x00 },
{ CCI_REG8(0 x52c4), 0 x01 }, { CCI_REG8(0 x52c5), 0 x00 },
{ CCI_REG8(0 x52c6), 0 x00 }, { CCI_REG8(0 x52c7), 0 x50 },
{ CCI_REG8(0 x52c8), 0 x00 }, { CCI_REG8(0 x52c9), 0 x50 },
{ CCI_REG8(0 x52ca), 0 x00 }, { CCI_REG8(0 x52cb), 0 x50 },
{ CCI_REG8(0 x52cc), 0 x00 }, { CCI_REG8(0 x52cd), 0 x50 },
{ CCI_REG8(0 x52ce), 0 x00 }, { CCI_REG8(0 x52cf), 0 x50 },
{ CCI_REG8(0 x52f0), 0 x04 }, { CCI_REG8(0 x52f1), 0 x03 },
{ CCI_REG8(0 x52f2), 0 x02 }, { CCI_REG8(0 x52f3), 0 x01 },
{ CCI_REG8(0 x52f4), 0 x08 }, { CCI_REG8(0 x52f5), 0 x07 },
{ CCI_REG8(0 x52f6), 0 x06 }, { CCI_REG8(0 x52f7), 0 x05 },
{ CCI_REG8(0 x52f8), 0 x0c }, { CCI_REG8(0 x52f9), 0 x0b },
{ CCI_REG8(0 x52fa), 0 x0a }, { CCI_REG8(0 x52fb), 0 x09 },
{ CCI_REG8(0 x52fc), 0 x10 }, { CCI_REG8(0 x52fd), 0 x0f },
{ CCI_REG8(0 x52fe), 0 x0e }, { CCI_REG8(0 x52ff), 0 x0d },
{ CCI_REG8(0 x5300), 0 x14 }, { CCI_REG8(0 x5301), 0 x13 },
{ CCI_REG8(0 x5302), 0 x12 }, { CCI_REG8(0 x5303), 0 x11 },
{ CCI_REG8(0 x5304), 0 x18 }, { CCI_REG8(0 x5305), 0 x17 },
{ CCI_REG8(0 x5306), 0 x16 }, { CCI_REG8(0 x5307), 0 x15 },
{ CCI_REG8(0 x5308), 0 x1c }, { CCI_REG8(0 x5309), 0 x1b },
{ CCI_REG8(0 x530a), 0 x1a }, { CCI_REG8(0 x530b), 0 x19 },
{ CCI_REG8(0 x530c), 0 x20 }, { CCI_REG8(0 x530d), 0 x1f },
{ CCI_REG8(0 x530e), 0 x1e }, { CCI_REG8(0 x530f), 0 x1d },
{ CCI_REG8(0 x5310), 0 x03 }, { CCI_REG8(0 x5311), 0 xe8 },
{ CCI_REG8(0 x5331), 0 x0a }, { CCI_REG8(0 x5332), 0 x43 },
{ CCI_REG8(0 x5333), 0 x45 }, { CCI_REG8(0 x5353), 0 x09 },
{ CCI_REG8(0 x5354), 0 x00 }, { CCI_REG8(0 x5414), 0 x03 },
{ CCI_REG8(0 x54b0), 0 x10 }, { CCI_REG8(0 x54b3), 0 x0e },
{ CCI_REG8(0 x54b5), 0 x02 }, { CCI_REG8(0 x54b6), 0 x00 },
{ CCI_REG8(0 x54b7), 0 x00 }, { CCI_REG8(0 x54b8), 0 x00 },
{ CCI_REG8(0 x54b9), 0 x70 }, { CCI_REG8(0 x54ba), 0 x00 },
{ CCI_REG8(0 x54bb), 0 x10 }, { CCI_REG8(0 x54bc), 0 x00 },
{ CCI_REG8(0 x54bd), 0 x00 }, { CCI_REG8(0 x54d2), 0 xff },
{ CCI_REG8(0 x54d3), 0 x1c }, { CCI_REG8(0 x5510), 0 x03 },
{ CCI_REG8(0 x5511), 0 xe8 }, { CCI_REG8(0 x5550), 0 x6c },
{ CCI_REG8(0 x5551), 0 x00 }, { CCI_REG8(0 x557a), 0 x00 },
{ CCI_REG8(0 x557b), 0 x38 }, { CCI_REG8(0 x557c), 0 x00 },
{ CCI_REG8(0 x557d), 0 x4b }, { CCI_REG8(0 x5590), 0 x00 },
{ CCI_REG8(0 x5591), 0 x50 }, { CCI_REG8(0 x5592), 0 x00 },
{ CCI_REG8(0 x5593), 0 x50 }, { CCI_REG8(0 x5594), 0 x00 },
{ CCI_REG8(0 x5595), 0 x50 }, { CCI_REG8(0 x5596), 0 x00 },
{ CCI_REG8(0 x5597), 0 x50 }, { CCI_REG8(0 x5598), 0 x00 },
{ CCI_REG8(0 x5599), 0 x50 }, { CCI_REG8(0 x559a), 0 x01 },
{ CCI_REG8(0 x559b), 0 x00 }, { CCI_REG8(0 x559c), 0 x01 },
{ CCI_REG8(0 x559d), 0 x00 }, { CCI_REG8(0 x559e), 0 x00 },
{ CCI_REG8(0 x559f), 0 x50 }, { CCI_REG8(0 x55a0), 0 x00 },
{ CCI_REG8(0 x55a1), 0 x50 }, { CCI_REG8(0 x55a2), 0 x01 },
{ CCI_REG8(0 x55a3), 0 x00 }, { CCI_REG8(0 x55a4), 0 x01 },
{ CCI_REG8(0 x55a5), 0 x00 }, { CCI_REG8(0 x55a6), 0 x00 },
{ CCI_REG8(0 x55a7), 0 x50 }, { CCI_REG8(0 x55a8), 0 x00 },
{ CCI_REG8(0 x55a9), 0 x50 }, { CCI_REG8(0 x55aa), 0 x00 },
{ CCI_REG8(0 x55ab), 0 x50 }, { CCI_REG8(0 x55ac), 0 x00 },
{ CCI_REG8(0 x55ad), 0 x50 }, { CCI_REG8(0 x55ae), 0 x00 },
{ CCI_REG8(0 x55af), 0 x50 }, { CCI_REG8(0 x55b0), 0 x00 },
{ CCI_REG8(0 x55b1), 0 x50 }, { CCI_REG8(0 x55b2), 0 x00 },
{ CCI_REG8(0 x55b3), 0 x50 }, { CCI_REG8(0 x55b4), 0 x00 },
{ CCI_REG8(0 x55b5), 0 x50 }, { CCI_REG8(0 x55b6), 0 x00 },
{ CCI_REG8(0 x55b7), 0 x50 }, { CCI_REG8(0 x55b8), 0 x00 },
{ CCI_REG8(0 x55b9), 0 x50 }, { CCI_REG8(0 x55ba), 0 x01 },
{ CCI_REG8(0 x55bb), 0 x00 }, { CCI_REG8(0 x55bc), 0 x01 },
{ CCI_REG8(0 x55bd), 0 x00 }, { CCI_REG8(0 x55be), 0 x00 },
{ CCI_REG8(0 x55bf), 0 x50 }, { CCI_REG8(0 x55c0), 0 x00 },
{ CCI_REG8(0 x55c1), 0 x50 }, { CCI_REG8(0 x55c2), 0 x01 },
{ CCI_REG8(0 x55c3), 0 x00 }, { CCI_REG8(0 x55c4), 0 x01 },
{ CCI_REG8(0 x55c5), 0 x00 }, { CCI_REG8(0 x55c6), 0 x00 },
{ CCI_REG8(0 x55c7), 0 x50 }, { CCI_REG8(0 x55c8), 0 x00 },
{ CCI_REG8(0 x55c9), 0 x50 }, { CCI_REG8(0 x55ca), 0 x00 },
{ CCI_REG8(0 x55cb), 0 x50 }, { CCI_REG8(0 x55cc), 0 x00 },
{ CCI_REG8(0 x55cd), 0 x50 }, { CCI_REG8(0 x55ce), 0 x00 },
{ CCI_REG8(0 x55cf), 0 x50 }, { CCI_REG8(0 x55f0), 0 x04 },
{ CCI_REG8(0 x55f1), 0 x03 }, { CCI_REG8(0 x55f2), 0 x02 },
{ CCI_REG8(0 x55f3), 0 x01 }, { CCI_REG8(0 x55f4), 0 x08 },
{ CCI_REG8(0 x55f5), 0 x07 }, { CCI_REG8(0 x55f6), 0 x06 },
{ CCI_REG8(0 x55f7), 0 x05 }, { CCI_REG8(0 x55f8), 0 x0c },
{ CCI_REG8(0 x55f9), 0 x0b }, { CCI_REG8(0 x55fa), 0 x0a },
{ CCI_REG8(0 x55fb), 0 x09 }, { CCI_REG8(0 x55fc), 0 x10 },
{ CCI_REG8(0 x55fd), 0 x0f }, { CCI_REG8(0 x55fe), 0 x0e },
{ CCI_REG8(0 x55ff), 0 x0d }, { CCI_REG8(0 x5600), 0 x14 },
{ CCI_REG8(0 x5601), 0 x13 }, { CCI_REG8(0 x5602), 0 x12 },
{ CCI_REG8(0 x5603), 0 x11 }, { CCI_REG8(0 x5604), 0 x18 },
{ CCI_REG8(0 x5605), 0 x17 }, { CCI_REG8(0 x5606), 0 x16 },
{ CCI_REG8(0 x5607), 0 x15 }, { CCI_REG8(0 x5608), 0 x1c },
{ CCI_REG8(0 x5609), 0 x1b }, { CCI_REG8(0 x560a), 0 x1a },
{ CCI_REG8(0 x560b), 0 x19 }, { CCI_REG8(0 x560c), 0 x20 },
{ CCI_REG8(0 x560d), 0 x1f }, { CCI_REG8(0 x560e), 0 x1e },
{ CCI_REG8(0 x560f), 0 x1d }, { CCI_REG8(0 x5631), 0 x02 },
{ CCI_REG8(0 x5632), 0 x42 }, { CCI_REG8(0 x5633), 0 x24 },
{ CCI_REG8(0 x5653), 0 x09 }, { CCI_REG8(0 x5654), 0 x00 },
{ CCI_REG8(0 x5714), 0 x03 }, { CCI_REG8(0 x57b0), 0 x10 },
{ CCI_REG8(0 x57b3), 0 x0e }, { CCI_REG8(0 x57b5), 0 x02 },
{ CCI_REG8(0 x57b6), 0 x00 }, { CCI_REG8(0 x57b7), 0 x00 },
{ CCI_REG8(0 x57b8), 0 x00 }, { CCI_REG8(0 x57b9), 0 x70 },
{ CCI_REG8(0 x57ba), 0 x00 }, { CCI_REG8(0 x57bb), 0 x10 },
{ CCI_REG8(0 x57bc), 0 x00 }, { CCI_REG8(0 x57bd), 0 x00 },
{ CCI_REG8(0 x57d2), 0 xff }, { CCI_REG8(0 x57d3), 0 x1c },
{ CCI_REG8(0 x5810), 0 x03 }, { CCI_REG8(0 x5811), 0 xe8 },
{ CCI_REG8(0 x5850), 0 x6c }, { CCI_REG8(0 x5851), 0 x00 },
{ CCI_REG8(0 x587a), 0 x00 }, { CCI_REG8(0 x587b), 0 x38 },
{ CCI_REG8(0 x587c), 0 x00 }, { CCI_REG8(0 x587d), 0 x4b },
{ CCI_REG8(0 x5890), 0 x00 }, { CCI_REG8(0 x5891), 0 x50 },
{ CCI_REG8(0 x5892), 0 x00 }, { CCI_REG8(0 x5893), 0 x50 },
{ CCI_REG8(0 x5894), 0 x00 }, { CCI_REG8(0 x5895), 0 x50 },
{ CCI_REG8(0 x5896), 0 x00 }, { CCI_REG8(0 x5897), 0 x50 },
{ CCI_REG8(0 x5898), 0 x00 }, { CCI_REG8(0 x5899), 0 x50 },
{ CCI_REG8(0 x589a), 0 x01 }, { CCI_REG8(0 x589b), 0 x00 },
{ CCI_REG8(0 x589c), 0 x01 }, { CCI_REG8(0 x589d), 0 x00 },
{ CCI_REG8(0 x589e), 0 x00 }, { CCI_REG8(0 x589f), 0 x50 },
{ CCI_REG8(0 x58a0), 0 x00 }, { CCI_REG8(0 x58a1), 0 x50 },
{ CCI_REG8(0 x58a2), 0 x01 }, { CCI_REG8(0 x58a3), 0 x00 },
{ CCI_REG8(0 x58a4), 0 x01 }, { CCI_REG8(0 x58a5), 0 x00 },
{ CCI_REG8(0 x58a6), 0 x00 }, { CCI_REG8(0 x58a7), 0 x50 },
{ CCI_REG8(0 x58a8), 0 x00 }, { CCI_REG8(0 x58a9), 0 x50 },
{ CCI_REG8(0 x58aa), 0 x00 }, { CCI_REG8(0 x58ab), 0 x50 },
{ CCI_REG8(0 x58ac), 0 x00 }, { CCI_REG8(0 x58ad), 0 x50 },
{ CCI_REG8(0 x58ae), 0 x00 }, { CCI_REG8(0 x58af), 0 x50 },
{ CCI_REG8(0 x58b0), 0 x00 }, { CCI_REG8(0 x58b1), 0 x50 },
{ CCI_REG8(0 x58b2), 0 x00 }, { CCI_REG8(0 x58b3), 0 x50 },
{ CCI_REG8(0 x58b4), 0 x00 }, { CCI_REG8(0 x58b5), 0 x50 },
{ CCI_REG8(0 x58b6), 0 x00 }, { CCI_REG8(0 x58b7), 0 x50 },
{ CCI_REG8(0 x58b8), 0 x00 }, { CCI_REG8(0 x58b9), 0 x50 },
{ CCI_REG8(0 x58ba), 0 x01 }, { CCI_REG8(0 x58bb), 0 x00 },
{ CCI_REG8(0 x58bc), 0 x01 }, { CCI_REG8(0 x58bd), 0 x00 },
{ CCI_REG8(0 x58be), 0 x00 }, { CCI_REG8(0 x58bf), 0 x50 },
{ CCI_REG8(0 x58c0), 0 x00 }, { CCI_REG8(0 x58c1), 0 x50 },
{ CCI_REG8(0 x58c2), 0 x01 }, { CCI_REG8(0 x58c3), 0 x00 },
{ CCI_REG8(0 x58c4), 0 x01 }, { CCI_REG8(0 x58c5), 0 x00 },
{ CCI_REG8(0 x58c6), 0 x00 }, { CCI_REG8(0 x58c7), 0 x50 },
{ CCI_REG8(0 x58c8), 0 x00 }, { CCI_REG8(0 x58c9), 0 x50 },
{ CCI_REG8(0 x58ca), 0 x00 }, { CCI_REG8(0 x58cb), 0 x50 },
{ CCI_REG8(0 x58cc), 0 x00 }, { CCI_REG8(0 x58cd), 0 x50 },
{ CCI_REG8(0 x58ce), 0 x00 }, { CCI_REG8(0 x58cf), 0 x50 },
{ CCI_REG8(0 x58f0), 0 x04 }, { CCI_REG8(0 x58f1), 0 x03 },
{ CCI_REG8(0 x58f2), 0 x02 }, { CCI_REG8(0 x58f3), 0 x01 },
{ CCI_REG8(0 x58f4), 0 x08 }, { CCI_REG8(0 x58f5), 0 x07 },
{ CCI_REG8(0 x58f6), 0 x06 }, { CCI_REG8(0 x58f7), 0 x05 },
{ CCI_REG8(0 x58f8), 0 x0c }, { CCI_REG8(0 x58f9), 0 x0b },
{ CCI_REG8(0 x58fa), 0 x0a }, { CCI_REG8(0 x58fb), 0 x09 },
{ CCI_REG8(0 x58fc), 0 x10 }, { CCI_REG8(0 x58fd), 0 x0f },
{ CCI_REG8(0 x58fe), 0 x0e }, { CCI_REG8(0 x58ff), 0 x0d },
{ CCI_REG8(0 x5900), 0 x14 }, { CCI_REG8(0 x5901), 0 x13 },
{ CCI_REG8(0 x5902), 0 x12 }, { CCI_REG8(0 x5903), 0 x11 },
{ CCI_REG8(0 x5904), 0 x18 }, { CCI_REG8(0 x5905), 0 x17 },
{ CCI_REG8(0 x5906), 0 x16 }, { CCI_REG8(0 x5907), 0 x15 },
{ CCI_REG8(0 x5908), 0 x1c }, { CCI_REG8(0 x5909), 0 x1b },
{ CCI_REG8(0 x590a), 0 x1a }, { CCI_REG8(0 x590b), 0 x19 },
{ CCI_REG8(0 x590c), 0 x20 }, { CCI_REG8(0 x590d), 0 x1f },
{ CCI_REG8(0 x590e), 0 x1e }, { CCI_REG8(0 x590f), 0 x1d },
{ CCI_REG8(0 x5931), 0 x02 }, { CCI_REG8(0 x5932), 0 x42 },
{ CCI_REG8(0 x5933), 0 x24 }, { CCI_REG8(0 x5953), 0 x09 },
{ CCI_REG8(0 x5954), 0 x00 }, { CCI_REG8(0 x5989), 0 x84 },
{ CCI_REG8(0 x59c3), 0 x04 }, { CCI_REG8(0 x59c4), 0 x24 },
{ CCI_REG8(0 x59c5), 0 x40 }, { CCI_REG8(0 x59c6), 0 x1b },
{ CCI_REG8(0 x59c7), 0 x40 }, { CCI_REG8(0 x5a02), 0 x0f },
{ CCI_REG8(0 x5f00), 0 x29 }, { CCI_REG8(0 x5f2d), 0 x28 },
{ CCI_REG8(0 x5f2e), 0 x28 }, { CCI_REG8(0 x6801), 0 x11 },
{ CCI_REG8(0 x6802), 0 x3f }, { CCI_REG8(0 x6803), 0 xe7 },
{ CCI_REG8(0 x6825), 0 x0f }, { CCI_REG8(0 x6826), 0 x20 },
{ CCI_REG8(0 x6827), 0 x00 }, { CCI_REG8(0 x6829), 0 x16 },
{ CCI_REG8(0 x682b), 0 xb3 }, { CCI_REG8(0 x682c), 0 x01 },
{ CCI_REG8(0 x6832), 0 xff }, { CCI_REG8(0 x6833), 0 xff },
{ CCI_REG8(0 x6898), 0 x80 }, { CCI_REG8(0 x6899), 0 x80 },
{ CCI_REG8(0 x689b), 0 x40 }, { CCI_REG8(0 x689c), 0 x20 },
{ CCI_REG8(0 x689d), 0 x20 }, { CCI_REG8(0 x689e), 0 x80 },
{ CCI_REG8(0 x689f), 0 x60 }, { CCI_REG8(0 x68a0), 0 x40 },
{ CCI_REG8(0 x68a4), 0 x40 }, { CCI_REG8(0 x68a5), 0 x20 },
{ CCI_REG8(0 x68a6), 0 x00 }, { CCI_REG8(0 x68b6), 0 x80 },
{ CCI_REG8(0 x68b7), 0 x80 }, { CCI_REG8(0 x68b8), 0 x80 },
{ CCI_REG8(0 x68bc), 0 x80 }, { CCI_REG8(0 x68bd), 0 x80 },
{ CCI_REG8(0 x68be), 0 x80 }, { CCI_REG8(0 x68bf), 0 x40 },
{ CCI_REG8(0 x68c2), 0 x80 }, { CCI_REG8(0 x68c3), 0 x80 },
{ CCI_REG8(0 x68c4), 0 x60 }, { CCI_REG8(0 x68c5), 0 x30 },
{ CCI_REG8(0 x6918), 0 x80 }, { CCI_REG8(0 x6919), 0 x80 },
{ CCI_REG8(0 x691b), 0 x40 }, { CCI_REG8(0 x691c), 0 x20 },
{ CCI_REG8(0 x691d), 0 x20 }, { CCI_REG8(0 x691e), 0 x80 },
{ CCI_REG8(0 x691f), 0 x60 }, { CCI_REG8(0 x6920), 0 x40 },
{ CCI_REG8(0 x6924), 0 x40 }, { CCI_REG8(0 x6925), 0 x20 },
{ CCI_REG8(0 x6926), 0 x00 }, { CCI_REG8(0 x6936), 0 x40 },
{ CCI_REG8(0 x6937), 0 x40 }, { CCI_REG8(0 x6938), 0 x20 },
{ CCI_REG8(0 x6939), 0 x20 }, { CCI_REG8(0 x693a), 0 x10 },
{ CCI_REG8(0 x693b), 0 x10 }, { CCI_REG8(0 x693c), 0 x20 },
{ CCI_REG8(0 x693d), 0 x20 }, { CCI_REG8(0 x693e), 0 x10 },
{ CCI_REG8(0 x693f), 0 x10 }, { CCI_REG8(0 x6940), 0 x00 },
{ CCI_REG8(0 x6941), 0 x00 }, { CCI_REG8(0 x6942), 0 x08 },
{ CCI_REG8(0 x6943), 0 x08 }, { CCI_REG8(0 x6944), 0 x00 },
{ CCI_REG8(0 x69c2), 0 x07 }, { CCI_REG8(0 x6a20), 0 x01 },
{ CCI_REG8(0 x6a23), 0 x10 }, { CCI_REG8(0 x6a26), 0 x3d },
{ CCI_REG8(0 x6a27), 0 x3e }, { CCI_REG8(0 x6a38), 0 x02 },
{ CCI_REG8(0 x6a39), 0 x20 }, { CCI_REG8(0 x6a3a), 0 x02 },
{ CCI_REG8(0 x6a3b), 0 x84 }, { CCI_REG8(0 x6a3e), 0 x02 },
{ CCI_REG8(0 x6a3f), 0 x20 }, { CCI_REG8(0 x6a47), 0 x3b },
{ CCI_REG8(0 x6a63), 0 x04 }, { CCI_REG8(0 x6a65), 0 x00 },
{ CCI_REG8(0 x6a67), 0 x0f }, { CCI_REG8(0 x6b22), 0 x07 },
{ CCI_REG8(0 x6b23), 0 xc2 }, { CCI_REG8(0 x6b2f), 0 x00 },
{ CCI_REG8(0 x6b60), 0 x1f }, { CCI_REG8(0 x6bd2), 0 x5a },
{ CCI_REG8(0 x6c20), 0 x50 }, { CCI_REG8(0 x6c60), 0 x50 },
{ CCI_REG8(0 x6c61), 0 x06 }, { CCI_REG8(0 x7318), 0 x04 },
{ CCI_REG8(0 x7319), 0 x01 }, { CCI_REG8(0 x731a), 0 x04 },
{ CCI_REG8(0 x731b), 0 x01 }, { CCI_REG8(0 x731c), 0 x00 },
{ CCI_REG8(0 x731d), 0 x00 }, { CCI_REG8(0 x731e), 0 x04 },
{ CCI_REG8(0 x731f), 0 x01 }, { CCI_REG8(0 x7320), 0 x04 },
{ CCI_REG8(0 x7321), 0 x00 }, { CCI_REG8(0 x7322), 0 x04 },
{ CCI_REG8(0 x7323), 0 x00 }, { CCI_REG8(0 x7324), 0 x04 },
{ CCI_REG8(0 x7325), 0 x00 }, { CCI_REG8(0 x7326), 0 x04 },
{ CCI_REG8(0 x7327), 0 x00 }, { CCI_REG8(0 x7600), 0 x00 },
{ CCI_REG8(0 x7601), 0 x00 }, { CCI_REG8(0 x7602), 0 x10 },
{ CCI_REG8(0 x7603), 0 x00 }, { CCI_REG8(0 x7604), 0 x00 },
{ CCI_REG8(0 x7605), 0 x00 }, { CCI_REG8(0 x7606), 0 x10 },
{ CCI_REG8(0 x7607), 0 x00 }, { CCI_REG8(0 x7608), 0 x00 },
{ CCI_REG8(0 x7609), 0 x00 }, { CCI_REG8(0 x760a), 0 x10 },
{ CCI_REG8(0 x760b), 0 x00 }, { CCI_REG8(0 x760c), 0 x00 },
{ CCI_REG8(0 x760d), 0 x00 }, { CCI_REG8(0 x760e), 0 x10 },
{ CCI_REG8(0 x760f), 0 x00 }, { CCI_REG8(0 x7610), 0 x00 },
{ CCI_REG8(0 x7611), 0 x00 }, { CCI_REG8(0 x7612), 0 x10 },
{ CCI_REG8(0 x7613), 0 x00 }, { CCI_REG8(0 x7614), 0 x00 },
{ CCI_REG8(0 x7615), 0 x00 }, { CCI_REG8(0 x7616), 0 x10 },
{ CCI_REG8(0 x7617), 0 x00 }, { CCI_REG8(0 x7618), 0 x00 },
{ CCI_REG8(0 x7619), 0 x00 }, { CCI_REG8(0 x761a), 0 x10 },
{ CCI_REG8(0 x761b), 0 x00 }, { CCI_REG8(0 x761c), 0 x00 },
{ CCI_REG8(0 x761d), 0 x00 }, { CCI_REG8(0 x761e), 0 x10 },
{ CCI_REG8(0 x761f), 0 x00 }, { CCI_REG8(0 x7620), 0 x00 },
{ CCI_REG8(0 x7621), 0 x00 }, { CCI_REG8(0 x7622), 0 x10 },
{ CCI_REG8(0 x7623), 0 x00 }, { CCI_REG8(0 x7624), 0 x00 },
{ CCI_REG8(0 x7625), 0 x00 }, { CCI_REG8(0 x7626), 0 x10 },
{ CCI_REG8(0 x7627), 0 x00 }, { CCI_REG8(0 x7628), 0 x00 },
{ CCI_REG8(0 x7629), 0 x00 }, { CCI_REG8(0 x762a), 0 x10 },
{ CCI_REG8(0 x762b), 0 x00 }, { CCI_REG8(0 x762c), 0 x00 },
{ CCI_REG8(0 x762d), 0 x00 }, { CCI_REG8(0 x762e), 0 x10 },
{ CCI_REG8(0 x762f), 0 x00 }, { CCI_REG8(0 x7630), 0 x00 },
{ CCI_REG8(0 x7631), 0 x00 }, { CCI_REG8(0 x7632), 0 x10 },
{ CCI_REG8(0 x7633), 0 x00 }, { CCI_REG8(0 x7634), 0 x00 },
{ CCI_REG8(0 x7635), 0 x00 }, { CCI_REG8(0 x7636), 0 x10 },
{ CCI_REG8(0 x7637), 0 x00 }, { CCI_REG8(0 x7638), 0 x00 },
{ CCI_REG8(0 x7639), 0 x00 }, { CCI_REG8(0 x763a), 0 x10 },
{ CCI_REG8(0 x763b), 0 x00 }, { CCI_REG8(0 x763c), 0 x00 },
{ CCI_REG8(0 x763d), 0 x00 }, { CCI_REG8(0 x763e), 0 x10 },
{ CCI_REG8(0 x763f), 0 x00 }, { CCI_REG8(0 x7640), 0 x00 },
{ CCI_REG8(0 x7641), 0 x00 }, { CCI_REG8(0 x7642), 0 x10 },
{ CCI_REG8(0 x7643), 0 x00 }, { CCI_REG8(0 x7644), 0 x00 },
{ CCI_REG8(0 x7645), 0 x00 }, { CCI_REG8(0 x7646), 0 x10 },
{ CCI_REG8(0 x7647), 0 x00 }, { CCI_REG8(0 x7648), 0 x00 },
{ CCI_REG8(0 x7649), 0 x00 }, { CCI_REG8(0 x764a), 0 x10 },
{ CCI_REG8(0 x764b), 0 x00 }, { CCI_REG8(0 x764c), 0 x00 },
{ CCI_REG8(0 x764d), 0 x00 }, { CCI_REG8(0 x764e), 0 x10 },
{ CCI_REG8(0 x764f), 0 x00 }, { CCI_REG8(0 x7650), 0 x00 },
{ CCI_REG8(0 x7651), 0 x00 }, { CCI_REG8(0 x7652), 0 x10 },
{ CCI_REG8(0 x7653), 0 x00 }, { CCI_REG8(0 x7654), 0 x00 },
{ CCI_REG8(0 x7655), 0 x00 }, { CCI_REG8(0 x7656), 0 x10 },
{ CCI_REG8(0 x7657), 0 x00 }, { CCI_REG8(0 x7658), 0 x00 },
{ CCI_REG8(0 x7659), 0 x00 }, { CCI_REG8(0 x765a), 0 x10 },
{ CCI_REG8(0 x765b), 0 x00 }, { CCI_REG8(0 x765c), 0 x00 },
{ CCI_REG8(0 x765d), 0 x00 }, { CCI_REG8(0 x765e), 0 x10 },
{ CCI_REG8(0 x765f), 0 x00 }, { CCI_REG8(0 x7660), 0 x00 },
{ CCI_REG8(0 x7661), 0 x00 }, { CCI_REG8(0 x7662), 0 x10 },
{ CCI_REG8(0 x7663), 0 x00 }, { CCI_REG8(0 x7664), 0 x00 },
{ CCI_REG8(0 x7665), 0 x00 }, { CCI_REG8(0 x7666), 0 x10 },
{ CCI_REG8(0 x7667), 0 x00 }, { CCI_REG8(0 x7668), 0 x00 },
{ CCI_REG8(0 x7669), 0 x00 }, { CCI_REG8(0 x766a), 0 x10 },
{ CCI_REG8(0 x766b), 0 x00 }, { CCI_REG8(0 x766c), 0 x00 },
{ CCI_REG8(0 x766d), 0 x00 }, { CCI_REG8(0 x766e), 0 x10 },
{ CCI_REG8(0 x766f), 0 x00 }, { CCI_REG8(0 x7670), 0 x00 },
{ CCI_REG8(0 x7671), 0 x00 }, { CCI_REG8(0 x7672), 0 x10 },
{ CCI_REG8(0 x7673), 0 x00 }, { CCI_REG8(0 x7674), 0 x00 },
{ CCI_REG8(0 x7675), 0 x00 }, { CCI_REG8(0 x7676), 0 x10 },
{ CCI_REG8(0 x7677), 0 x00 }, { CCI_REG8(0 x7678), 0 x00 },
{ CCI_REG8(0 x7679), 0 x00 }, { CCI_REG8(0 x767a), 0 x10 },
{ CCI_REG8(0 x767b), 0 x00 }, { CCI_REG8(0 x767c), 0 x00 },
{ CCI_REG8(0 x767d), 0 x00 }, { CCI_REG8(0 x767e), 0 x10 },
{ CCI_REG8(0 x767f), 0 x00 }, { CCI_REG8(0 x7680), 0 x00 },
{ CCI_REG8(0 x7681), 0 x00 }, { CCI_REG8(0 x7682), 0 x10 },
{ CCI_REG8(0 x7683), 0 x00 }, { CCI_REG8(0 x7684), 0 x00 },
{ CCI_REG8(0 x7685), 0 x00 }, { CCI_REG8(0 x7686), 0 x10 },
{ CCI_REG8(0 x7687), 0 x00 }, { CCI_REG8(0 x7688), 0 x00 },
{ CCI_REG8(0 x7689), 0 x00 }, { CCI_REG8(0 x768a), 0 x10 },
{ CCI_REG8(0 x768b), 0 x00 }, { CCI_REG8(0 x768c), 0 x00 },
{ CCI_REG8(0 x768d), 0 x00 }, { CCI_REG8(0 x768e), 0 x10 },
{ CCI_REG8(0 x768f), 0 x00 }, { CCI_REG8(0 x7690), 0 x00 },
{ CCI_REG8(0 x7691), 0 x00 }, { CCI_REG8(0 x7692), 0 x10 },
{ CCI_REG8(0 x7693), 0 x00 }, { CCI_REG8(0 x7694), 0 x00 },
{ CCI_REG8(0 x7695), 0 x00 }, { CCI_REG8(0 x7696), 0 x10 },
{ CCI_REG8(0 x7697), 0 x00 }, { CCI_REG8(0 x7698), 0 x00 },
{ CCI_REG8(0 x7699), 0 x00 }, { CCI_REG8(0 x769a), 0 x10 },
{ CCI_REG8(0 x769b), 0 x00 }, { CCI_REG8(0 x769c), 0 x00 },
{ CCI_REG8(0 x769d), 0 x00 }, { CCI_REG8(0 x769e), 0 x10 },
{ CCI_REG8(0 x769f), 0 x00 }, { CCI_REG8(0 x76a0), 0 x00 },
{ CCI_REG8(0 x76a1), 0 x00 }, { CCI_REG8(0 x76a2), 0 x10 },
{ CCI_REG8(0 x76a3), 0 x00 }, { CCI_REG8(0 x76a4), 0 x00 },
{ CCI_REG8(0 x76a5), 0 x00 }, { CCI_REG8(0 x76a6), 0 x10 },
{ CCI_REG8(0 x76a7), 0 x00 }, { CCI_REG8(0 x76a8), 0 x00 },
{ CCI_REG8(0 x76a9), 0 x00 }, { CCI_REG8(0 x76aa), 0 x10 },
{ CCI_REG8(0 x76ab), 0 x00 }, { CCI_REG8(0 x76ac), 0 x00 },
{ CCI_REG8(0 x76ad), 0 x00 }, { CCI_REG8(0 x76ae), 0 x10 },
{ CCI_REG8(0 x76af), 0 x00 }, { CCI_REG8(0 x76b0), 0 x00 },
{ CCI_REG8(0 x76b1), 0 x00 }, { CCI_REG8(0 x76b2), 0 x10 },
{ CCI_REG8(0 x76b3), 0 x00 }, { CCI_REG8(0 x76b4), 0 x00 },
{ CCI_REG8(0 x76b5), 0 x00 }, { CCI_REG8(0 x76b6), 0 x10 },
{ CCI_REG8(0 x76b7), 0 x00 }, { CCI_REG8(0 x76b8), 0 x00 },
{ CCI_REG8(0 x76b9), 0 x00 }, { CCI_REG8(0 x76ba), 0 x10 },
{ CCI_REG8(0 x76bb), 0 x00 }, { CCI_REG8(0 x76bc), 0 x00 },
{ CCI_REG8(0 x76bd), 0 x00 }, { CCI_REG8(0 x76be), 0 x10 },
{ CCI_REG8(0 x76bf), 0 x00 }, { CCI_REG8(0 x76c0), 0 x00 },
{ CCI_REG8(0 x76c1), 0 x00 }, { CCI_REG8(0 x76c2), 0 x10 },
{ CCI_REG8(0 x76c3), 0 x00 }, { CCI_REG8(0 x76c4), 0 x00 },
{ CCI_REG8(0 x76c5), 0 x00 }, { CCI_REG8(0 x76c6), 0 x10 },
{ CCI_REG8(0 x76c7), 0 x00 }, { CCI_REG8(0 x76c8), 0 x00 },
{ CCI_REG8(0 x76c9), 0 x00 }, { CCI_REG8(0 x76ca), 0 x10 },
{ CCI_REG8(0 x76cb), 0 x00 }, { CCI_REG8(0 x76cc), 0 x00 },
{ CCI_REG8(0 x76cd), 0 x00 }, { CCI_REG8(0 x76ce), 0 x10 },
{ CCI_REG8(0 x76cf), 0 x00 }, { CCI_REG8(0 x76d0), 0 x00 },
{ CCI_REG8(0 x76d1), 0 x00 }, { CCI_REG8(0 x76d2), 0 x10 },
{ CCI_REG8(0 x76d3), 0 x00 }, { CCI_REG8(0 x76d4), 0 x00 },
{ CCI_REG8(0 x76d5), 0 x00 }, { CCI_REG8(0 x76d6), 0 x10 },
{ CCI_REG8(0 x76d7), 0 x00 }, { CCI_REG8(0 x76d8), 0 x00 },
{ CCI_REG8(0 x76d9), 0 x00 }, { CCI_REG8(0 x76da), 0 x10 },
{ CCI_REG8(0 x76db), 0 x00 }, { CCI_REG8(0 x76dc), 0 x00 },
{ CCI_REG8(0 x76dd), 0 x00 }, { CCI_REG8(0 x76de), 0 x10 },
{ CCI_REG8(0 x76df), 0 x00 }, { CCI_REG8(0 x76e0), 0 x00 },
{ CCI_REG8(0 x76e1), 0 x00 }, { CCI_REG8(0 x76e2), 0 x10 },
{ CCI_REG8(0 x76e3), 0 x00 }, { CCI_REG8(0 x76e4), 0 x00 },
{ CCI_REG8(0 x76e5), 0 x00 }, { CCI_REG8(0 x76e6), 0 x10 },
{ CCI_REG8(0 x76e7), 0 x00 }, { CCI_REG8(0 x76e8), 0 x00 },
{ CCI_REG8(0 x76e9), 0 x00 }, { CCI_REG8(0 x76ea), 0 x10 },
{ CCI_REG8(0 x76eb), 0 x00 }, { CCI_REG8(0 x76ec), 0 x00 },
{ CCI_REG8(0 x76ed), 0 x00 }, { CCI_REG8(0 x76ee), 0 x10 },
{ CCI_REG8(0 x76ef), 0 x00 }, { CCI_REG8(0 x76f0), 0 x00 },
{ CCI_REG8(0 x76f1), 0 x00 }, { CCI_REG8(0 x76f2), 0 x10 },
{ CCI_REG8(0 x76f3), 0 x00 }, { CCI_REG8(0 x76f4), 0 x00 },
{ CCI_REG8(0 x76f5), 0 x00 }, { CCI_REG8(0 x76f6), 0 x10 },
{ CCI_REG8(0 x76f7), 0 x00 }, { CCI_REG8(0 x76f8), 0 x00 },
{ CCI_REG8(0 x76f9), 0 x00 }, { CCI_REG8(0 x76fa), 0 x10 },
{ CCI_REG8(0 x76fb), 0 x00 }, { CCI_REG8(0 x76fc), 0 x00 },
{ CCI_REG8(0 x76fd), 0 x00 }, { CCI_REG8(0 x76fe), 0 x10 },
{ CCI_REG8(0 x76ff), 0 x00 }, { CCI_REG8(0 x7700), 0 x00 },
{ CCI_REG8(0 x7701), 0 x00 }, { CCI_REG8(0 x7702), 0 x10 },
{ CCI_REG8(0 x7703), 0 x00 }, { CCI_REG8(0 x7704), 0 x00 },
{ CCI_REG8(0 x7705), 0 x00 }, { CCI_REG8(0 x7706), 0 x10 },
{ CCI_REG8(0 x7707), 0 x00 }, { CCI_REG8(0 x7708), 0 x00 },
{ CCI_REG8(0 x7709), 0 x00 }, { CCI_REG8(0 x770a), 0 x10 },
{ CCI_REG8(0 x770b), 0 x00 }, { CCI_REG8(0 x770c), 0 x00 },
{ CCI_REG8(0 x770d), 0 x00 }, { CCI_REG8(0 x770e), 0 x10 },
{ CCI_REG8(0 x770f), 0 x00 }, { CCI_REG8(0 x7710), 0 x00 },
{ CCI_REG8(0 x7711), 0 x00 }, { CCI_REG8(0 x7712), 0 x10 },
{ CCI_REG8(0 x7713), 0 x00 }, { CCI_REG8(0 x7714), 0 x00 },
{ CCI_REG8(0 x7715), 0 x00 }, { CCI_REG8(0 x7716), 0 x10 },
{ CCI_REG8(0 x7717), 0 x00 }, { CCI_REG8(0 x7718), 0 x00 },
{ CCI_REG8(0 x7719), 0 x00 }, { CCI_REG8(0 x771a), 0 x10 },
{ CCI_REG8(0 x771b), 0 x00 }, { CCI_REG8(0 x771c), 0 x00 },
{ CCI_REG8(0 x771d), 0 x00 }, { CCI_REG8(0 x771e), 0 x10 },
{ CCI_REG8(0 x771f), 0 x00 }, { CCI_REG8(0 x7720), 0 x00 },
{ CCI_REG8(0 x7721), 0 x00 }, { CCI_REG8(0 x7722), 0 x10 },
{ CCI_REG8(0 x7723), 0 x00 }, { CCI_REG8(0 x7724), 0 x00 },
{ CCI_REG8(0 x7725), 0 x00 }, { CCI_REG8(0 x7726), 0 x10 },
{ CCI_REG8(0 x7727), 0 x00 }, { CCI_REG8(0 x7728), 0 x00 },
{ CCI_REG8(0 x7729), 0 x00 }, { CCI_REG8(0 x772a), 0 x10 },
{ CCI_REG8(0 x772b), 0 x00 }, { CCI_REG8(0 x772c), 0 x00 },
{ CCI_REG8(0 x772d), 0 x00 }, { CCI_REG8(0 x772e), 0 x10 },
{ CCI_REG8(0 x772f), 0 x00 }, { CCI_REG8(0 x7730), 0 x00 },
{ CCI_REG8(0 x7731), 0 x00 }, { CCI_REG8(0 x7732), 0 x10 },
{ CCI_REG8(0 x7733), 0 x00 }, { CCI_REG8(0 x7734), 0 x00 },
{ CCI_REG8(0 x7735), 0 x00 }, { CCI_REG8(0 x7736), 0 x10 },
{ CCI_REG8(0 x7737), 0 x00 }, { CCI_REG8(0 x7738), 0 x00 },
{ CCI_REG8(0 x7739), 0 x00 }, { CCI_REG8(0 x773a), 0 x10 },
{ CCI_REG8(0 x773b), 0 x00 }, { CCI_REG8(0 x773c), 0 x00 },
{ CCI_REG8(0 x773d), 0 x00 }, { CCI_REG8(0 x773e), 0 x10 },
{ CCI_REG8(0 x773f), 0 x00 }, { CCI_REG8(0 x7740), 0 x00 },
{ CCI_REG8(0 x7741), 0 x00 }, { CCI_REG8(0 x7742), 0 x10 },
{ CCI_REG8(0 x7743), 0 x00 }, { CCI_REG8(0 x3421), 0 x02 },
{ CCI_REG8(0 x37d0), 0 x00 }, { CCI_REG8(0 x3632), 0 x99 },
{ CCI_REG8(0 xc518), 0 x1f }, { CCI_REG8(0 xc519), 0 x1f },
{ CCI_REG8(0 xc51a), 0 x1f }, { CCI_REG8(0 xc51b), 0 x1f },
{ CCI_REG8(0 xc51c), 0 x1f }, { CCI_REG8(0 xc51d), 0 x1f },
{ CCI_REG8(0 xc51e), 0 x1f }, { CCI_REG8(0 xc51f), 0 x1f },
{ CCI_REG8(0 xc520), 0 x1f }, { CCI_REG8(0 xc521), 0 x1f },
{ CCI_REG8(0 x3616), 0 xa0 }, { CCI_REG8(0 x3615), 0 xc5 },
{ CCI_REG8(0 xc4c1), 0 x02 }, { CCI_REG8(0 xc4c2), 0 x02 },
{ CCI_REG8(0 xc4c3), 0 x03 }, { CCI_REG8(0 xc4c4), 0 x03 },
{ CCI_REG8(0 xc4f6), 0 x0a }, { CCI_REG8(0 xc4f7), 0 x0a },
{ CCI_REG8(0 xc4f8), 0 x0a }, { CCI_REG8(0 xc4f9), 0 x0a },
{ CCI_REG8(0 xc4fa), 0 x0a }, { CCI_REG8(0 xc4c6), 0 x0a },
{ CCI_REG8(0 xc4c7), 0 x0a }, { CCI_REG8(0 xc4c8), 0 x0a },
{ CCI_REG8(0 xc4c9), 0 x0a }, { CCI_REG8(0 xc4ca), 0 x14 },
{ CCI_REG8(0 xc4cb), 0 x14 }, { CCI_REG8(0 xc4cc), 0 x14 },
{ CCI_REG8(0 xc4cd), 0 x14 }, { CCI_REG8(0 x3b92), 0 x05 },
{ CCI_REG8(0 x3b93), 0 x05 }, { CCI_REG8(0 x3b94), 0 x05 },
{ CCI_REG8(0 x3b95), 0 x05 }, { CCI_REG8(0 x3623), 0 x10 },
{ CCI_REG8(0 xc522), 0 x18 }, { CCI_REG8(0 xc523), 0 x12 },
{ CCI_REG8(0 xc524), 0 x0e }, { CCI_REG8(0 xc525), 0 x0b },
{ CCI_REG8(0 xc526), 0 x18 }, { CCI_REG8(0 xc527), 0 x12 },
{ CCI_REG8(0 xc528), 0 x0c }, { CCI_REG8(0 xc529), 0 x08 },
{ CCI_REG8(0 xc52a), 0 x18 }, { CCI_REG8(0 xc52b), 0 x12 },
{ CCI_REG8(0 xc52c), 0 x0e }, { CCI_REG8(0 xc52d), 0 x0b },
{ CCI_REG8(0 xc52e), 0 x18 }, { CCI_REG8(0 xc52f), 0 x12 },
{ CCI_REG8(0 xc530), 0 x0e }, { CCI_REG8(0 xc531), 0 x0b },
{ CCI_REG8(0 xc532), 0 x18 }, { CCI_REG8(0 xc533), 0 x12 },
{ CCI_REG8(0 xc534), 0 x0e }, { CCI_REG8(0 xc535), 0 x0b },
{ CCI_REG8(0 xc536), 0 x18 }, { CCI_REG8(0 xc537), 0 x12 },
{ CCI_REG8(0 xc538), 0 x0e }, { CCI_REG8(0 xc539), 0 x0b },
{ CCI_REG8(0 xc53a), 0 x18 }, { CCI_REG8(0 xc53b), 0 x12 },
{ CCI_REG8(0 xc53c), 0 x0c }, { CCI_REG8(0 xc53d), 0 x08 },
{ CCI_REG8(0 xc53e), 0 x18 }, { CCI_REG8(0 xc53f), 0 x12 },
{ CCI_REG8(0 xc540), 0 x0e }, { CCI_REG8(0 xc541), 0 x0b },
{ CCI_REG8(0 xc542), 0 x18 }, { CCI_REG8(0 xc543), 0 x12 },
{ CCI_REG8(0 xc544), 0 x0e }, { CCI_REG8(0 xc545), 0 x0b },
{ CCI_REG8(0 xc546), 0 x18 }, { CCI_REG8(0 xc547), 0 x12 },
{ CCI_REG8(0 xc548), 0 x0e }, { CCI_REG8(0 xc549), 0 x0b },
{ CCI_REG8(0 x3701), 0 x18 }, { CCI_REG8(0 x3702), 0 x38 },
{ CCI_REG8(0 x3703), 0 x72 }, { CCI_REG8(0 x3708), 0 x26 },
{ CCI_REG8(0 x3709), 0 xe6 }, { CCI_REG8(0 x3a1d), 0 x18 },
{ CCI_REG8(0 x3a1e), 0 x18 }, { CCI_REG8(0 x3a21), 0 x18 },
{ CCI_REG8(0 x3a22), 0 x18 }, { CCI_REG8(0 x39fb), 0 x18 },
{ CCI_REG8(0 x39fc), 0 x18 }, { CCI_REG8(0 x39fd), 0 x18 },
{ CCI_REG8(0 x39fe), 0 x18 }, { CCI_REG8(0 xc44a), 0 x08 },
{ CCI_REG8(0 xc44c), 0 x08 }, { CCI_REG8(0 xc5e8), 0 x0a },
{ CCI_REG8(0 xc5ea), 0 x0a }, { CCI_REG8(0 x391d), 0 x54 },
{ CCI_REG8(0 x391e), 0 xca }, { CCI_REG8(0 x3991), 0 x0c },
{ CCI_REG8(0 x399d), 0 x0c }, { CCI_REG8(0 x3744), 0 x24 },
{ CCI_REG8(0 x374b), 0 x0c }, { CCI_REG8(0 x3be7), 0 x1e },
{ CCI_REG8(0 x3be8), 0 x26 }, { CCI_REG8(0 x3a50), 0 x14 },
{ CCI_REG8(0 x3a54), 0 x14 }, { CCI_REG8(0 x3add), 0 x1f },
{ CCI_REG8(0 x3adf), 0 x24 }, { CCI_REG8(0 x3aef), 0 x1f },
{ CCI_REG8(0 x3af0), 0 x24 }, { CCI_REG8(0 xc57f), 0 x30 },
{ CCI_REG8(0 xc580), 0 x30 }, { CCI_REG8(0 xc581), 0 x30 },
{ CCI_REG8(0 xc582), 0 x30 }, { CCI_REG8(0 xc583), 0 x30 },
{ CCI_REG8(0 xc584), 0 x30 }, { CCI_REG8(0 xc585), 0 x30 },
{ CCI_REG8(0 xc586), 0 x30 }, { CCI_REG8(0 xc587), 0 x30 },
{ CCI_REG8(0 xc588), 0 x30 }, { CCI_REG8(0 xc589), 0 x30 },
{ CCI_REG8(0 xc58a), 0 x30 }, { CCI_REG8(0 xc58b), 0 x30 },
{ CCI_REG8(0 xc58c), 0 x30 }, { CCI_REG8(0 xc58d), 0 x30 },
{ CCI_REG8(0 xc58e), 0 x30 }, { CCI_REG8(0 xc58f), 0 x30 },
{ CCI_REG8(0 xc590), 0 x30 }, { CCI_REG8(0 xc591), 0 x30 },
{ CCI_REG8(0 xc592), 0 x30 }, { CCI_REG8(0 xc598), 0 x30 },
{ CCI_REG8(0 xc599), 0 x30 }, { CCI_REG8(0 xc59a), 0 x30 },
{ CCI_REG8(0 xc59b), 0 x30 }, { CCI_REG8(0 xc59c), 0 x30 },
{ CCI_REG8(0 xc59d), 0 x30 }, { CCI_REG8(0 xc59e), 0 x30 },
{ CCI_REG8(0 xc59f), 0 x30 }, { CCI_REG8(0 xc5a0), 0 x30 },
{ CCI_REG8(0 xc5a1), 0 x30 }, { CCI_REG8(0 xc5a2), 0 x30 },
{ CCI_REG8(0 xc5a3), 0 x30 }, { CCI_REG8(0 xc5a4), 0 x30 },
{ CCI_REG8(0 xc5a5), 0 x30 }, { CCI_REG8(0 xc5a6), 0 x30 },
{ CCI_REG8(0 xc5a7), 0 x30 }, { CCI_REG8(0 xc5a8), 0 x30 },
{ CCI_REG8(0 xc5a9), 0 x30 }, { CCI_REG8(0 xc5aa), 0 x30 },
{ CCI_REG8(0 xc5ab), 0 x30 }, { CCI_REG8(0 xc5b1), 0 x38 },
{ CCI_REG8(0 xc5b2), 0 x38 }, { CCI_REG8(0 xc5b3), 0 x38 },
{ CCI_REG8(0 xc5b4), 0 x38 }, { CCI_REG8(0 xc5b5), 0 x38 },
{ CCI_REG8(0 xc5b6), 0 x38 }, { CCI_REG8(0 xc5b7), 0 x38 },
{ CCI_REG8(0 xc5b8), 0 x38 }, { CCI_REG8(0 xc5b9), 0 x38 },
{ CCI_REG8(0 xc5ba), 0 x38 }, { CCI_REG8(0 xc5bb), 0 x38 },
{ CCI_REG8(0 xc5bc), 0 x38 }, { CCI_REG8(0 xc5bd), 0 x38 },
{ CCI_REG8(0 xc5be), 0 x38 }, { CCI_REG8(0 xc5bf), 0 x38 },
{ CCI_REG8(0 xc5c0), 0 x38 }, { CCI_REG8(0 xc5c1), 0 x38 },
{ CCI_REG8(0 xc5c2), 0 x38 }, { CCI_REG8(0 xc5c3), 0 x38 },
{ CCI_REG8(0 xc5c4), 0 x38 }, { CCI_REG8(0 xc5ca), 0 x38 },
{ CCI_REG8(0 xc5cb), 0 x38 }, { CCI_REG8(0 xc5cc), 0 x38 },
{ CCI_REG8(0 xc5cd), 0 x38 }, { CCI_REG8(0 xc5ce), 0 x38 },
{ CCI_REG8(0 xc5cf), 0 x38 }, { CCI_REG8(0 xc5d0), 0 x38 },
{ CCI_REG8(0 xc5d1), 0 x38 }, { CCI_REG8(0 xc5d2), 0 x38 },
{ CCI_REG8(0 xc5d3), 0 x38 }, { CCI_REG8(0 xc5d4), 0 x38 },
{ CCI_REG8(0 xc5d5), 0 x38 }, { CCI_REG8(0 xc5d6), 0 x38 },
{ CCI_REG8(0 xc5d7), 0 x38 }, { CCI_REG8(0 xc5d8), 0 x38 },
{ CCI_REG8(0 xc5d9), 0 x38 }, { CCI_REG8(0 xc5da), 0 x38 },
{ CCI_REG8(0 xc5db), 0 x38 }, { CCI_REG8(0 xc5dc), 0 x38 },
{ CCI_REG8(0 xc5dd), 0 x38 }, { CCI_REG8(0 x3a60), 0 x68 },
{ CCI_REG8(0 x3a6f), 0 x68 }, { CCI_REG8(0 x3a5e), 0 xdc },
{ CCI_REG8(0 x3a6d), 0 xdc }, { CCI_REG8(0 x3aed), 0 x6e },
{ CCI_REG8(0 x3af1), 0 x73 }, { CCI_REG8(0 x3992), 0 x02 },
{ CCI_REG8(0 x399e), 0 x02 }, { CCI_REG8(0 x371d), 0 x17 },
{ CCI_REG8(0 x371f), 0 x08 }, { CCI_REG8(0 x3721), 0 xc9 },
{ CCI_REG8(0 x401e), 0 x00 }, { CCI_REG8(0 x401f), 0 xf8 },
{ CCI_REG8(0 x3642), 0 x00 }, { CCI_REG8(0 x3641), 0 x7f },
{ CCI_REG8(0 x3ac5), 0 x0c }, { CCI_REG8(0 x3ac6), 0 x09 },
{ CCI_REG8(0 x3ac7), 0 x06 }, { CCI_REG8(0 x3ac8), 0 x02 },
{ CCI_REG8(0 x3ac9), 0 x0c }, { CCI_REG8(0 x3aca), 0 x09 },
{ CCI_REG8(0 x3acb), 0 x06 }, { CCI_REG8(0 x3acc), 0 x02 },
{ CCI_REG8(0 x3acd), 0 x0c }, { CCI_REG8(0 x3ace), 0 x09 },
{ CCI_REG8(0 x3acf), 0 x07 }, { CCI_REG8(0 x3ad0), 0 x04 },
{ CCI_REG8(0 x3ad1), 0 x0c }, { CCI_REG8(0 x3ad2), 0 x09 },
{ CCI_REG8(0 x3ad3), 0 x07 }, { CCI_REG8(0 x3ad4), 0 x04 },
{ CCI_REG8(0 xc483), 0 x0c }, { CCI_REG8(0 xc484), 0 x0c },
{ CCI_REG8(0 xc485), 0 x0c }, { CCI_REG8(0 xc486), 0 x0c },
{ CCI_REG8(0 x3a2f), 0 x0c }, { CCI_REG8(0 x3a30), 0 x09 },
{ CCI_REG8(0 x3a31), 0 x06 }, { CCI_REG8(0 x3a32), 0 x02 },
{ CCI_REG8(0 x3a34), 0 x0c }, { CCI_REG8(0 x3a35), 0 x09 },
{ CCI_REG8(0 x3a36), 0 x07 }, { CCI_REG8(0 x3a37), 0 x04 },
{ CCI_REG8(0 x3a43), 0 x0c }, { CCI_REG8(0 x3a44), 0 x09 },
{ CCI_REG8(0 x3a45), 0 x06 }, { CCI_REG8(0 x3a46), 0 x02 },
{ CCI_REG8(0 x3a48), 0 x0c }, { CCI_REG8(0 x3a49), 0 x09 },
{ CCI_REG8(0 x3a4a), 0 x07 }, { CCI_REG8(0 x3a4b), 0 x04 },
{ CCI_REG8(0 xc487), 0 x0c }, { CCI_REG8(0 xc488), 0 x0c },
{ CCI_REG8(0 xc489), 0 x0c }, { CCI_REG8(0 xc48a), 0 x0c },
{ CCI_REG8(0 x3645), 0 xbd }, { CCI_REG8(0 x373f), 0 x00 },
{ CCI_REG8(0 x374f), 0 x10 }, { CCI_REG8(0 x3743), 0 xc6 },
{ CCI_REG8(0 x3717), 0 x82 }, { CCI_REG8(0 x3732), 0 x07 },
{ CCI_REG8(0 x3731), 0 x16 }, { CCI_REG8(0 x3730), 0 x16 },
{ CCI_REG8(0 x3828), 0 x07 }, { CCI_REG8(0 x3714), 0 x68 },
{ CCI_REG8(0 x371d), 0 x02 }, { CCI_REG8(0 x371f), 0 x02 },
{ CCI_REG8(0 x37e0), 0 x00 }, { CCI_REG8(0 x37e1), 0 x03 },
{ CCI_REG8(0 x37e2), 0 x07 }, { CCI_REG8(0 x3734), 0 x3e },
{ CCI_REG8(0 x3736), 0 x02 }, { CCI_REG8(0 x37e4), 0 x36 },
{ CCI_REG8(0 x37e9), 0 x1c }, { CCI_REG8(0 x37ea), 0 x01 },
{ CCI_REG8(0 x37eb), 0 x0a }, { CCI_REG8(0 x37ec), 0 x1c },
{ CCI_REG8(0 x37ed), 0 x01 }, { CCI_REG8(0 x37ee), 0 x36 },
{ CCI_REG8(0 x373b), 0 x1c }, { CCI_REG8(0 x373c), 0 x02 },
{ CCI_REG8(0 x37bb), 0 x1c }, { CCI_REG8(0 x37bc), 0 x02 },
{ CCI_REG8(0 x37b8), 0 x0c }, { CCI_REG8(0 x371c), 0 x01 },
{ CCI_REG8(0 x371e), 0 x11 }, { CCI_REG8(0 x371d), 0 x01 },
{ CCI_REG8(0 x371f), 0 x01 }, { CCI_REG8(0 x3721), 0 x01 },
{ CCI_REG8(0 x3725), 0 x12 }, { CCI_REG8(0 x37e3), 0 x06 },
{ CCI_REG8(0 x37dd), 0 x86 }, { CCI_REG8(0 x37db), 0 x0a },
{ CCI_REG8(0 x37dc), 0 x14 }, { CCI_REG8(0 x3727), 0 x20 },
{ CCI_REG8(0 x37b2), 0 x80 }, { CCI_REG8(0 x37da), 0 x04 },
{ CCI_REG8(0 x37df), 0 x01 }, { CCI_REG8(0 x3731), 0 x11 },
{ CCI_REG8(0 x37dd), 0 x86 }, { CCI_REG8(0 x37df), 0 x01 },
{ CCI_REG8(0 x37da), 0 x03 }, { CCI_REG8(0 x37b2), 0 x80 },
{ CCI_REG8(0 x3727), 0 x20 }, { CCI_REG8(0 x4883), 0 x26 },
{ CCI_REG8(0 x488b), 0 x88 }, { CCI_REG8(0 x3d85), 0 x1f },
{ CCI_REG8(0 x3d81), 0 x01 }, { CCI_REG8(0 x3d84), 0 x40 },
{ CCI_REG8(0 x3d88), 0 x00 }, { CCI_REG8(0 x3d89), 0 x00 },
{ CCI_REG8(0 x3d8a), 0 x0b }, { CCI_REG8(0 x3d8b), 0 xff },
{ CCI_REG8(0 x4d00), 0 x05 }, { CCI_REG8(0 x4d01), 0 xc4 },
{ CCI_REG8(0 x4d02), 0 xa3 }, { CCI_REG8(0 x4d03), 0 x8c },
{ CCI_REG8(0 x4d04), 0 xfb }, { CCI_REG8(0 x4d05), 0 xed },
{ CCI_REG8(0 x4010), 0 x28 }, { CCI_REG8(0 x4030), 0 x00 },
{ CCI_REG8(0 x4031), 0 x00 }, { CCI_REG8(0 x4032), 0 x00 },
{ CCI_REG8(0 x4033), 0 x00 }, { CCI_REG8(0 x4034), 0 x00 },
{ CCI_REG8(0 x4035), 0 x00 }, { CCI_REG8(0 x4036), 0 x00 },
{ CCI_REG8(0 x4037), 0 x00 }, { CCI_REG8(0 x4040), 0 x00 },
{ CCI_REG8(0 x4041), 0 x00 }, { CCI_REG8(0 x4042), 0 x00 },
{ CCI_REG8(0 x4043), 0 x00 }, { CCI_REG8(0 x4044), 0 x00 },
{ CCI_REG8(0 x4045), 0 x00 }, { CCI_REG8(0 x4046), 0 x00 },
{ CCI_REG8(0 x4047), 0 x00 }, { CCI_REG8(0 x3400), 0 x00 },
{ CCI_REG8(0 x3421), 0 x23 }, { CCI_REG8(0 x3422), 0 xfc },
{ CCI_REG8(0 x3423), 0 x07 }, { CCI_REG8(0 x3424), 0 x01 },
{ CCI_REG8(0 x3425), 0 x04 }, { CCI_REG8(0 x3426), 0 x50 },
{ CCI_REG8(0 x3427), 0 x55 }, { CCI_REG8(0 x3428), 0 x15 },
{ CCI_REG8(0 x3429), 0 x00 }, { CCI_REG8(0 x3025), 0 x03 },
{ CCI_REG8(0 x3053), 0 x00 }, { CCI_REG8(0 x3054), 0 x00 },
{ CCI_REG8(0 x3055), 0 x00 }, { CCI_REG8(0 x3056), 0 x00 },
{ CCI_REG8(0 x3057), 0 x00 }, { CCI_REG8(0 x3058), 0 x00 },
{ CCI_REG8(0 x305c), 0 x00 }, { CCI_REG8(0 x340c), 0 x1f },
{ CCI_REG8(0 x340d), 0 x00 }, { CCI_REG8(0 x3501), 0 x01 },
{ CCI_REG8(0 x3542), 0 x48 }, { CCI_REG8(0 x3582), 0 x24 },
{ CCI_REG8(0 x3015), 0 xf1 }, { CCI_REG8(0 x3018), 0 xf2 },
{ CCI_REG8(0 x301c), 0 xf2 }, { CCI_REG8(0 x301d), 0 xf6 },
{ CCI_REG8(0 x301e), 0 xf1 }, { CCI_REG8(0 x0100), 0 x01 },
{ CCI_REG8(0 xfff9), 0 x08 }, { CCI_REG8(0 x3900), 0 xcd },
{ CCI_REG8(0 x3901), 0 xcd }, { CCI_REG8(0 x3902), 0 xcd },
{ CCI_REG8(0 x3903), 0 xcd }, { CCI_REG8(0 x3904), 0 xcd },
{ CCI_REG8(0 x3905), 0 xcd }, { CCI_REG8(0 x3906), 0 xcd },
{ CCI_REG8(0 x3907), 0 xcd }, { CCI_REG8(0 x3908), 0 xcd },
{ CCI_REG8(0 x3909), 0 xcd }, { CCI_REG8(0 x390a), 0 xcd },
{ CCI_REG8(0 x390b), 0 xcd }, { CCI_REG8(0 x390c), 0 xcd },
{ CCI_REG8(0 x390d), 0 xcd }, { CCI_REG8(0 x390e), 0 xcd },
{ CCI_REG8(0 x390f), 0 xcd }, { CCI_REG8(0 x3910), 0 xcd },
{ CCI_REG8(0 x3911), 0 xcd }, { CCI_REG8(0 x3912), 0 xcd },
{ CCI_REG8(0 x3913), 0 xcd }, { CCI_REG8(0 x3914), 0 xcd },
{ CCI_REG8(0 x3915), 0 xcd }, { CCI_REG8(0 x3916), 0 xcd },
{ CCI_REG8(0 x3917), 0 xcd }, { CCI_REG8(0 x3918), 0 xcd },
{ CCI_REG8(0 x3919), 0 xcd }, { CCI_REG8(0 x391a), 0 xcd },
{ CCI_REG8(0 x391b), 0 xcd }, { CCI_REG8(0 x391c), 0 xcd },
{ CCI_REG8(0 x391d), 0 xcd }, { CCI_REG8(0 x391e), 0 xcd },
{ CCI_REG8(0 x391f), 0 xcd }, { CCI_REG8(0 x3920), 0 xcd },
{ CCI_REG8(0 x3921), 0 xcd }, { CCI_REG8(0 x3922), 0 xcd },
{ CCI_REG8(0 x3923), 0 xcd }, { CCI_REG8(0 x3924), 0 xcd },
{ CCI_REG8(0 x3925), 0 xcd }, { CCI_REG8(0 x3926), 0 xcd },
{ CCI_REG8(0 x3927), 0 xcd }, { CCI_REG8(0 x3928), 0 xcd },
{ CCI_REG8(0 x3929), 0 xcd }, { CCI_REG8(0 x392a), 0 xcd },
{ CCI_REG8(0 x392b), 0 xcd }, { CCI_REG8(0 x392c), 0 xcd },
{ CCI_REG8(0 x392d), 0 xcd }, { CCI_REG8(0 x392e), 0 xcd },
{ CCI_REG8(0 x392f), 0 xcd }, { CCI_REG8(0 x3930), 0 xcd },
{ CCI_REG8(0 x3931), 0 xcd }, { CCI_REG8(0 x3932), 0 xcd },
{ CCI_REG8(0 x3933), 0 xcd }, { CCI_REG8(0 x3934), 0 xcd },
{ CCI_REG8(0 x3935), 0 xcd }, { CCI_REG8(0 x3936), 0 xcd },
{ CCI_REG8(0 x3937), 0 xcd }, { CCI_REG8(0 x3938), 0 xcd },
{ CCI_REG8(0 x3939), 0 xcd }, { CCI_REG8(0 x393a), 0 xcd },
{ CCI_REG8(0 x393b), 0 xcd }, { CCI_REG8(0 x393c), 0 xcd },
{ CCI_REG8(0 x393d), 0 xcd }, { CCI_REG8(0 x393e), 0 xcd },
{ CCI_REG8(0 x393f), 0 xcd }, { CCI_REG8(0 x3940), 0 xcd },
{ CCI_REG8(0 x3941), 0 xcd }, { CCI_REG8(0 x3942), 0 xcd },
{ CCI_REG8(0 x3943), 0 xcd }, { CCI_REG8(0 x3944), 0 xcd },
{ CCI_REG8(0 x3945), 0 xcd }, { CCI_REG8(0 x3946), 0 xcd },
{ CCI_REG8(0 x3947), 0 xcd }, { CCI_REG8(0 x3948), 0 xcd },
{ CCI_REG8(0 x3949), 0 xcd }, { CCI_REG8(0 x394a), 0 xcd },
{ CCI_REG8(0 x394b), 0 xcd }, { CCI_REG8(0 x394c), 0 xcd },
{ CCI_REG8(0 x394d), 0 xcd }, { CCI_REG8(0 x394e), 0 xcd },
{ CCI_REG8(0 x394f), 0 xcd }, { CCI_REG8(0 x3950), 0 xcd },
{ CCI_REG8(0 x3951), 0 xcd }, { CCI_REG8(0 x3952), 0 xcd },
{ CCI_REG8(0 x3953), 0 xcd }, { CCI_REG8(0 x3954), 0 xcd },
{ CCI_REG8(0 x3955), 0 xcd }, { CCI_REG8(0 x3956), 0 xcd },
{ CCI_REG8(0 x3957), 0 xcd }, { CCI_REG8(0 x3958), 0 xcd },
{ CCI_REG8(0 x3959), 0 xcd }, { CCI_REG8(0 x395a), 0 xcd },
{ CCI_REG8(0 x395b), 0 xcd }, { CCI_REG8(0 x395c), 0 xcd },
{ CCI_REG8(0 x395d), 0 xcd }, { CCI_REG8(0 x395e), 0 xcd },
{ CCI_REG8(0 x395f), 0 xcd }, { CCI_REG8(0 x3960), 0 xcd },
{ CCI_REG8(0 x3961), 0 xcd }, { CCI_REG8(0 x3962), 0 xcd },
{ CCI_REG8(0 x3963), 0 xcd }, { CCI_REG8(0 x3964), 0 xcd },
{ CCI_REG8(0 x3965), 0 xcd }, { CCI_REG8(0 x3966), 0 xcd },
{ CCI_REG8(0 x3967), 0 xcd }, { CCI_REG8(0 x3968), 0 xcd },
{ CCI_REG8(0 x3969), 0 xcd }, { CCI_REG8(0 x396a), 0 xcd },
{ CCI_REG8(0 x396b), 0 xcd }, { CCI_REG8(0 x396c), 0 xcd },
{ CCI_REG8(0 x396d), 0 xcd }, { CCI_REG8(0 x396e), 0 xcd },
{ CCI_REG8(0 x396f), 0 xcd }, { CCI_REG8(0 x3970), 0 xcd },
{ CCI_REG8(0 x3971), 0 xcd }, { CCI_REG8(0 x3972), 0 xcd },
{ CCI_REG8(0 x3973), 0 xcd }, { CCI_REG8(0 x3974), 0 xcd },
{ CCI_REG8(0 x3975), 0 xcd }, { CCI_REG8(0 x3976), 0 xcd },
{ CCI_REG8(0 x3977), 0 xcd }, { CCI_REG8(0 x3978), 0 xcd },
{ CCI_REG8(0 x3979), 0 xcd }, { CCI_REG8(0 x397a), 0 xcd },
{ CCI_REG8(0 x397b), 0 xcd }, { CCI_REG8(0 x397c), 0 xcd },
{ CCI_REG8(0 x397d), 0 xcd }, { CCI_REG8(0 x397e), 0 xcd },
{ CCI_REG8(0 x397f), 0 xcd }, { CCI_REG8(0 x3980), 0 xcd },
{ CCI_REG8(0 x3981), 0 xcd }, { CCI_REG8(0 x3982), 0 xcd },
{ CCI_REG8(0 x3983), 0 xcd }, { CCI_REG8(0 x3984), 0 xcd },
{ CCI_REG8(0 x3985), 0 xcd }, { CCI_REG8(0 x3986), 0 xcd },
{ CCI_REG8(0 x3987), 0 xcd }, { CCI_REG8(0 x3988), 0 xcd },
{ CCI_REG8(0 x3989), 0 xcd }, { CCI_REG8(0 x398a), 0 xcd },
{ CCI_REG8(0 x398b), 0 xcd }, { CCI_REG8(0 x398c), 0 xcd },
{ CCI_REG8(0 x398d), 0 xcd }, { CCI_REG8(0 x398e), 0 xcd },
{ CCI_REG8(0 x398f), 0 xcd }, { CCI_REG8(0 x3990), 0 xcd },
{ CCI_REG8(0 x3991), 0 xcd }, { CCI_REG8(0 x3992), 0 xcd },
{ CCI_REG8(0 x3993), 0 xcd }, { CCI_REG8(0 x3994), 0 xcd },
{ CCI_REG8(0 x3995), 0 xcd }, { CCI_REG8(0 x3996), 0 xcd },
{ CCI_REG8(0 x3997), 0 xcd }, { CCI_REG8(0 x3998), 0 xcd },
{ CCI_REG8(0 x3999), 0 xcd }, { CCI_REG8(0 x399a), 0 xcd },
{ CCI_REG8(0 x399b), 0 xcd }, { CCI_REG8(0 x399c), 0 xcd },
{ CCI_REG8(0 x399d), 0 xcd }, { CCI_REG8(0 x399e), 0 xcd },
{ CCI_REG8(0 x399f), 0 xcd }, { CCI_REG8(0 x39a0), 0 xcd },
{ CCI_REG8(0 x39a1), 0 xcd }, { CCI_REG8(0 x39a2), 0 xcd },
{ CCI_REG8(0 x39a3), 0 xcd }, { CCI_REG8(0 x39a4), 0 xcd },
{ CCI_REG8(0 x39a5), 0 xcd }, { CCI_REG8(0 x39a6), 0 xcd },
{ CCI_REG8(0 x39a7), 0 xcd }, { CCI_REG8(0 x39a8), 0 xcd },
{ CCI_REG8(0 x39a9), 0 xcd }, { CCI_REG8(0 x39aa), 0 xcd },
{ CCI_REG8(0 x39ab), 0 xcd }, { CCI_REG8(0 x39ac), 0 xcd },
{ CCI_REG8(0 x39ad), 0 xcd }, { CCI_REG8(0 x39ae), 0 xcd },
{ CCI_REG8(0 x39af), 0 xcd }, { CCI_REG8(0 x39b0), 0 xcd },
{ CCI_REG8(0 x39b1), 0 xcd }, { CCI_REG8(0 x39b2), 0 xcd },
{ CCI_REG8(0 x39b3), 0 xcd }, { CCI_REG8(0 x39b4), 0 xcd },
{ CCI_REG8(0 x39b5), 0 xcd }, { CCI_REG8(0 x39b6), 0 xcd },
{ CCI_REG8(0 x39b7), 0 xcd }, { CCI_REG8(0 x39b8), 0 xcd },
{ CCI_REG8(0 x39b9), 0 xcd }, { CCI_REG8(0 x39ba), 0 xcd },
{ CCI_REG8(0 x39bb), 0 xcd }, { CCI_REG8(0 x39bc), 0 xcd },
{ CCI_REG8(0 x39bd), 0 xcd }, { CCI_REG8(0 x39be), 0 xcd },
{ CCI_REG8(0 x39bf), 0 xcd }, { CCI_REG8(0 x39c0), 0 xcd },
{ CCI_REG8(0 x39c1), 0 xcd }, { CCI_REG8(0 x39c2), 0 xcd },
{ CCI_REG8(0 x39c3), 0 xcd }, { CCI_REG8(0 x39c4), 0 xcd },
{ CCI_REG8(0 x39c5), 0 xcd }, { CCI_REG8(0 x39c6), 0 xcd },
{ CCI_REG8(0 x39c7), 0 xcd }, { CCI_REG8(0 x39c8), 0 xcd },
{ CCI_REG8(0 x39c9), 0 xcd }, { CCI_REG8(0 x39ca), 0 xcd },
{ CCI_REG8(0 x39cb), 0 xcd }, { CCI_REG8(0 x39cc), 0 xcd },
{ CCI_REG8(0 x39cd), 0 xcd }, { CCI_REG8(0 x39ce), 0 xcd },
{ CCI_REG8(0 x39cf), 0 xcd }, { CCI_REG8(0 x39d0), 0 xcd },
{ CCI_REG8(0 x39d1), 0 xcd }, { CCI_REG8(0 x39d2), 0 xcd },
{ CCI_REG8(0 x39d3), 0 xcd }, { CCI_REG8(0 x39d4), 0 xcd },
{ CCI_REG8(0 x39d5), 0 xcd }, { CCI_REG8(0 x39d6), 0 xcd },
{ CCI_REG8(0 x39d7), 0 xcd }, { CCI_REG8(0 x39d8), 0 xcd },
{ CCI_REG8(0 x39d9), 0 xcd }, { CCI_REG8(0 x39da), 0 xcd },
{ CCI_REG8(0 x39db), 0 xcd }, { CCI_REG8(0 x39dc), 0 xcd },
{ CCI_REG8(0 x39dd), 0 xcd }, { CCI_REG8(0 x39de), 0 xcd },
{ CCI_REG8(0 x39df), 0 xcd }, { CCI_REG8(0 x39e0), 0 xcd },
{ CCI_REG8(0 x39e1), 0 x40 }, { CCI_REG8(0 x39e2), 0 x40 },
{ CCI_REG8(0 x39e3), 0 x40 }, { CCI_REG8(0 x39e4), 0 x40 },
{ CCI_REG8(0 x39e5), 0 x40 }, { CCI_REG8(0 x39e6), 0 x40 },
{ CCI_REG8(0 x39e7), 0 x40 }, { CCI_REG8(0 x39e8), 0 x40 },
{ CCI_REG8(0 x39e9), 0 x40 }, { CCI_REG8(0 x39ea), 0 x40 },
{ CCI_REG8(0 x39eb), 0 x40 }, { CCI_REG8(0 x39ec), 0 x40 },
{ CCI_REG8(0 x39ed), 0 x40 }, { CCI_REG8(0 x39ee), 0 x40 },
{ CCI_REG8(0 x39ef), 0 x40 }, { CCI_REG8(0 x39f0), 0 x40 },
{ CCI_REG8(0 x39f1), 0 x40 }, { CCI_REG8(0 x39f2), 0 x40 },
{ CCI_REG8(0 x39f3), 0 x40 }, { CCI_REG8(0 x39f4), 0 x40 },
{ CCI_REG8(0 x39f5), 0 x40 }, { CCI_REG8(0 x39f6), 0 x40 },
{ CCI_REG8(0 x39f7), 0 x40 }, { CCI_REG8(0 x39f8), 0 x40 },
{ CCI_REG8(0 x39f9), 0 x40 }, { CCI_REG8(0 x39fa), 0 x40 },
{ CCI_REG8(0 x39fb), 0 x40 }, { CCI_REG8(0 x39fc), 0 x40 },
{ CCI_REG8(0 x39fd), 0 x40 }, { CCI_REG8(0 x39fe), 0 x40 },
{ CCI_REG8(0 x39ff), 0 x40 }, { CCI_REG8(0 x3a00), 0 x40 },
{ CCI_REG8(0 x3a01), 0 x40 }, { CCI_REG8(0 x3a02), 0 x40 },
{ CCI_REG8(0 x3a03), 0 x40 }, { CCI_REG8(0 x3a04), 0 x40 },
{ CCI_REG8(0 x3a05), 0 x40 }, { CCI_REG8(0 x3a06), 0 x40 },
{ CCI_REG8(0 x3a07), 0 x40 }, { CCI_REG8(0 x3a08), 0 x40 },
{ CCI_REG8(0 x3a09), 0 x40 }, { CCI_REG8(0 x3a0a), 0 x40 },
{ CCI_REG8(0 x3a0b), 0 x40 }, { CCI_REG8(0 x3a0c), 0 x40 },
{ CCI_REG8(0 x3a0d), 0 x40 }, { CCI_REG8(0 x3a0e), 0 x40 },
{ CCI_REG8(0 x3a0f), 0 x40 }, { CCI_REG8(0 x3a10), 0 x40 },
{ CCI_REG8(0 x3a11), 0 x40 }, { CCI_REG8(0 x3a12), 0 x40 },
{ CCI_REG8(0 x3a13), 0 x40 }, { CCI_REG8(0 x3a14), 0 x40 },
{ CCI_REG8(0 x3a15), 0 x40 }, { CCI_REG8(0 x3a16), 0 x40 },
{ CCI_REG8(0 x3a17), 0 x40 }, { CCI_REG8(0 x3a18), 0 x40 },
{ CCI_REG8(0 x3a19), 0 x40 }, { CCI_REG8(0 x3a1a), 0 x40 },
{ CCI_REG8(0 x3a1b), 0 x40 }, { CCI_REG8(0 x3a1c), 0 x40 },
{ CCI_REG8(0 x3a1d), 0 x40 }, { CCI_REG8(0 x3a1e), 0 x40 },
{ CCI_REG8(0 x3a1f), 0 x40 }, { CCI_REG8(0 x3a20), 0 x40 },
{ CCI_REG8(0 x3a21), 0 x40 }, { CCI_REG8(0 x3a22), 0 x40 },
{ CCI_REG8(0 x3a23), 0 x40 }, { CCI_REG8(0 x3a24), 0 x40 },
{ CCI_REG8(0 x3a25), 0 x40 }, { CCI_REG8(0 x3a26), 0 x40 },
{ CCI_REG8(0 x3a27), 0 x40 }, { CCI_REG8(0 x3a28), 0 x40 },
{ CCI_REG8(0 x3a29), 0 x40 }, { CCI_REG8(0 x3a2a), 0 x40 },
{ CCI_REG8(0 x3a2b), 0 x40 }, { CCI_REG8(0 x3a2c), 0 x40 },
{ CCI_REG8(0 x3a2d), 0 x40 }, { CCI_REG8(0 x3a2e), 0 x40 },
{ CCI_REG8(0 x3a2f), 0 x40 }, { CCI_REG8(0 x3a30), 0 x40 },
{ CCI_REG8(0 x3a31), 0 x40 }, { CCI_REG8(0 x3a32), 0 x40 },
{ CCI_REG8(0 x3a33), 0 x40 }, { CCI_REG8(0 x3a34), 0 x40 },
{ CCI_REG8(0 x3a35), 0 x40 }, { CCI_REG8(0 x3a36), 0 x40 },
{ CCI_REG8(0 x3a37), 0 x40 }, { CCI_REG8(0 x3a38), 0 x40 },
{ CCI_REG8(0 x3a39), 0 x40 }, { CCI_REG8(0 x3a3a), 0 x40 },
{ CCI_REG8(0 x3a3b), 0 xcd }, { CCI_REG8(0 x3a3c), 0 xcd },
{ CCI_REG8(0 x3a3d), 0 xcd }, { CCI_REG8(0 x3a3e), 0 xcd },
{ CCI_REG8(0 x3a3f), 0 xcd }, { CCI_REG8(0 x3a40), 0 xcd },
{ CCI_REG8(0 x3a41), 0 xcd }, { CCI_REG8(0 x3a42), 0 xcd },
{ CCI_REG8(0 x3a43), 0 xcd }, { CCI_REG8(0 x3a44), 0 xcd },
{ CCI_REG8(0 x3a45), 0 xcd }, { CCI_REG8(0 x3a46), 0 xcd },
{ CCI_REG8(0 x3a47), 0 xcd }, { CCI_REG8(0 x3a48), 0 xcd },
{ CCI_REG8(0 x3a49), 0 xcd }, { CCI_REG8(0 x3a4a), 0 xcd },
{ CCI_REG8(0 x3a4b), 0 xcd }, { CCI_REG8(0 x3a4c), 0 xcd },
{ CCI_REG8(0 x3a4d), 0 xcd }, { CCI_REG8(0 x3a4e), 0 xcd },
{ CCI_REG8(0 x3a4f), 0 xcd }, { CCI_REG8(0 x3a50), 0 xcd },
{ CCI_REG8(0 x3a51), 0 xcd }, { CCI_REG8(0 x3a52), 0 xcd },
{ CCI_REG8(0 x3a53), 0 xcd }, { CCI_REG8(0 x3a54), 0 xcd },
{ CCI_REG8(0 x3a55), 0 xcd }, { CCI_REG8(0 x3a56), 0 xcd },
{ CCI_REG8(0 x3a57), 0 xcd }, { CCI_REG8(0 x3a58), 0 xcd },
{ CCI_REG8(0 x3a59), 0 xcd }, { CCI_REG8(0 x3a5a), 0 xcd },
{ CCI_REG8(0 x3a5b), 0 xcd }, { CCI_REG8(0 x3a5c), 0 xcd },
{ CCI_REG8(0 x3a5d), 0 xcd }, { CCI_REG8(0 x3a5e), 0 xcd },
{ CCI_REG8(0 x3a5f), 0 xcd }, { CCI_REG8(0 x3a60), 0 xcd },
{ CCI_REG8(0 x3a61), 0 xcd }, { CCI_REG8(0 x3a62), 0 xcd },
{ CCI_REG8(0 x3a63), 0 xcd }, { CCI_REG8(0 x3a64), 0 xcd },
{ CCI_REG8(0 x3a65), 0 xcd }, { CCI_REG8(0 x3a66), 0 xcd },
{ CCI_REG8(0 x3a67), 0 xcd }, { CCI_REG8(0 x3a68), 0 xcd },
{ CCI_REG8(0 x3a69), 0 xcd }, { CCI_REG8(0 x3a6a), 0 xcd },
{ CCI_REG8(0 x3a6b), 0 xcd }, { CCI_REG8(0 x3a6c), 0 xcd },
{ CCI_REG8(0 x3a6d), 0 xcd }, { CCI_REG8(0 x3a6e), 0 xcd },
{ CCI_REG8(0 x3a6f), 0 xcd }, { CCI_REG8(0 x3a70), 0 xcd },
{ CCI_REG8(0 x3a71), 0 xcd }, { CCI_REG8(0 x3a72), 0 xcd },
{ CCI_REG8(0 x3a73), 0 xcd }, { CCI_REG8(0 x3a74), 0 xcd },
{ CCI_REG8(0 x3a75), 0 xcd }, { CCI_REG8(0 x3a76), 0 xcd },
{ CCI_REG8(0 x3a77), 0 xcd }, { CCI_REG8(0 x3a78), 0 xcd },
{ CCI_REG8(0 x3a79), 0 xcd }, { CCI_REG8(0 x3a7a), 0 xcd },
{ CCI_REG8(0 x3a7b), 0 xcd }, { CCI_REG8(0 x3a7c), 0 xcd },
{ CCI_REG8(0 x3a7d), 0 xcd }, { CCI_REG8(0 x3a7e), 0 xcd },
{ CCI_REG8(0 x3a7f), 0 xcd }, { CCI_REG8(0 x3a80), 0 xcd },
{ CCI_REG8(0 x3a81), 0 xcd }, { CCI_REG8(0 x3a82), 0 xcd },
{ CCI_REG8(0 x3a83), 0 xcd }, { CCI_REG8(0 x3a84), 0 xcd },
{ CCI_REG8(0 x3a85), 0 xcd }, { CCI_REG8(0 x3a86), 0 xcd },
{ CCI_REG8(0 x3a87), 0 xcd }, { CCI_REG8(0 x3a88), 0 xcd },
{ CCI_REG8(0 x3a89), 0 xcd }, { CCI_REG8(0 x3a8a), 0 xcd },
{ CCI_REG8(0 x3a8b), 0 xcd }, { CCI_REG8(0 x3a8c), 0 xcd },
{ CCI_REG8(0 x3a8d), 0 xcd }, { CCI_REG8(0 x3a8e), 0 xcd },
{ CCI_REG8(0 x3a8f), 0 xcd }, { CCI_REG8(0 x3a90), 0 xcd },
{ CCI_REG8(0 x3a91), 0 xcd }, { CCI_REG8(0 x3a92), 0 xcd },
{ CCI_REG8(0 x3a93), 0 xcd }, { CCI_REG8(0 x3a94), 0 xcd },
{ CCI_REG8(0 x3a95), 0 x40 }, { CCI_REG8(0 x3a96), 0 x40 },
{ CCI_REG8(0 x3a97), 0 x40 }, { CCI_REG8(0 x3a98), 0 x40 },
{ CCI_REG8(0 x3a99), 0 x40 }, { CCI_REG8(0 x3a9a), 0 x40 },
{ CCI_REG8(0 x3a9b), 0 x40 }, { CCI_REG8(0 x3a9c), 0 x40 },
{ CCI_REG8(0 x3a9d), 0 x40 }, { CCI_REG8(0 x3a9e), 0 x40 },
{ CCI_REG8(0 x3a9f), 0 x40 }, { CCI_REG8(0 x3aa0), 0 x40 },
{ CCI_REG8(0 x3aa1), 0 x40 }, { CCI_REG8(0 x3aa2), 0 x40 },
{ CCI_REG8(0 x3aa3), 0 x40 }, { CCI_REG8(0 x3aa4), 0 x40 },
{ CCI_REG8(0 x3aa5), 0 x40 }, { CCI_REG8(0 x3aa6), 0 x40 },
{ CCI_REG8(0 x3aa7), 0 x40 }, { CCI_REG8(0 x3aa8), 0 x40 },
{ CCI_REG8(0 x3aa9), 0 x40 }, { CCI_REG8(0 x3aaa), 0 x40 },
{ CCI_REG8(0 x3aab), 0 x40 }, { CCI_REG8(0 x3aac), 0 x40 },
{ CCI_REG8(0 x3aad), 0 x40 }, { CCI_REG8(0 x3aae), 0 x40 },
{ CCI_REG8(0 x3aaf), 0 x40 }, { CCI_REG8(0 x3ab0), 0 x40 },
{ CCI_REG8(0 x3ab1), 0 x40 }, { CCI_REG8(0 x3ab2), 0 x40 },
{ CCI_REG8(0 x3ab3), 0 x40 }, { CCI_REG8(0 x3ab4), 0 x40 },
{ CCI_REG8(0 x3ab5), 0 x40 }, { CCI_REG8(0 x3ab6), 0 x40 },
{ CCI_REG8(0 x3ab7), 0 x40 }, { CCI_REG8(0 x3ab8), 0 x40 },
{ CCI_REG8(0 x3ab9), 0 x40 }, { CCI_REG8(0 x3aba), 0 x40 },
{ CCI_REG8(0 x3abb), 0 x40 }, { CCI_REG8(0 x3abc), 0 x40 },
{ CCI_REG8(0 x3abd), 0 x40 }, { CCI_REG8(0 x3abe), 0 x40 },
{ CCI_REG8(0 x3abf), 0 x40 }, { CCI_REG8(0 x3ac0), 0 x40 },
{ CCI_REG8(0 x3ac1), 0 x40 }, { CCI_REG8(0 x3ac2), 0 x40 },
{ CCI_REG8(0 x3ac3), 0 x40 }, { CCI_REG8(0 x3ac4), 0 x40 },
{ CCI_REG8(0 x3ac5), 0 x40 }, { CCI_REG8(0 x3ac6), 0 x40 },
{ CCI_REG8(0 x3ac7), 0 x40 }, { CCI_REG8(0 x3ac8), 0 x40 },
{ CCI_REG8(0 x3ac9), 0 x40 }, { CCI_REG8(0 x3aca), 0 x40 },
{ CCI_REG8(0 x3acb), 0 x40 }, { CCI_REG8(0 x3acc), 0 x40 },
{ CCI_REG8(0 x3acd), 0 x40 }, { CCI_REG8(0 x3ace), 0 x40 },
{ CCI_REG8(0 x3acf), 0 x40 }, { CCI_REG8(0 x3ad0), 0 x40 },
{ CCI_REG8(0 x3ad1), 0 x40 }, { CCI_REG8(0 x3ad2), 0 x40 },
{ CCI_REG8(0 x3ad3), 0 x40 }, { CCI_REG8(0 x3ad4), 0 x40 },
{ CCI_REG8(0 x3ad5), 0 x40 }, { CCI_REG8(0 x3ad6), 0 x40 },
{ CCI_REG8(0 x3ad7), 0 x40 }, { CCI_REG8(0 x3ad8), 0 x40 },
{ CCI_REG8(0 x3ad9), 0 x40 }, { CCI_REG8(0 x3ada), 0 x40 },
{ CCI_REG8(0 x3adb), 0 x40 }, { CCI_REG8(0 x3adc), 0 x40 },
{ CCI_REG8(0 x3add), 0 x40 }, { CCI_REG8(0 x3ade), 0 x40 },
{ CCI_REG8(0 x3adf), 0 x40 }, { CCI_REG8(0 x3ae0), 0 x40 },
{ CCI_REG8(0 x3ae1), 0 x40 }, { CCI_REG8(0 x3ae2), 0 x40 },
{ CCI_REG8(0 x3ae3), 0 x40 }, { CCI_REG8(0 x3ae4), 0 x40 },
{ CCI_REG8(0 x3ae5), 0 x40 }, { CCI_REG8(0 x3ae6), 0 x40 },
{ CCI_REG8(0 x3ae7), 0 x40 }, { CCI_REG8(0 x3ae8), 0 x40 },
{ CCI_REG8(0 x3ae9), 0 x40 }, { CCI_REG8(0 x3aea), 0 x40 },
{ CCI_REG8(0 x3aeb), 0 x40 }, { CCI_REG8(0 x3aec), 0 x40 },
{ CCI_REG8(0 x3aed), 0 x40 }, { CCI_REG8(0 x3aee), 0 x40 },
{ CCI_REG8(0 x3aef), 0 xcd }, { CCI_REG8(0 x3af0), 0 xcd },
{ CCI_REG8(0 x3af1), 0 xcd }, { CCI_REG8(0 x3af2), 0 xcd },
{ CCI_REG8(0 x3af3), 0 xcd }, { CCI_REG8(0 x3af4), 0 xcd },
{ CCI_REG8(0 x3af5), 0 xcd }, { CCI_REG8(0 x3af6), 0 xcd },
{ CCI_REG8(0 x3af7), 0 xcd }, { CCI_REG8(0 x3af8), 0 xcd },
{ CCI_REG8(0 x3af9), 0 xcd }, { CCI_REG8(0 x3afa), 0 xcd },
{ CCI_REG8(0 x3afb), 0 xcd }, { CCI_REG8(0 x3afc), 0 xcd },
{ CCI_REG8(0 x3afd), 0 xcd }, { CCI_REG8(0 x3afe), 0 xcd },
{ CCI_REG8(0 x3aff), 0 xcd }, { CCI_REG8(0 x3b00), 0 xcd },
{ CCI_REG8(0 x3b01), 0 xcd }, { CCI_REG8(0 x3b02), 0 xcd },
{ CCI_REG8(0 x3b03), 0 xcd }, { CCI_REG8(0 x3b04), 0 xcd },
{ CCI_REG8(0 x3b05), 0 xcd }, { CCI_REG8(0 x3b06), 0 xcd },
{ CCI_REG8(0 x3b07), 0 xcd }, { CCI_REG8(0 x3b08), 0 xcd },
{ CCI_REG8(0 x3b09), 0 xcd }, { CCI_REG8(0 x3b0a), 0 xcd },
{ CCI_REG8(0 x3b0b), 0 xcd }, { CCI_REG8(0 x3b0c), 0 xcd },
{ CCI_REG8(0 x3b0d), 0 xcd }, { CCI_REG8(0 x3b0e), 0 xcd },
{ CCI_REG8(0 x3b0f), 0 xcd }, { CCI_REG8(0 x3b10), 0 xcd },
{ CCI_REG8(0 x3b11), 0 xcd }, { CCI_REG8(0 x3b12), 0 xcd },
{ CCI_REG8(0 x3b13), 0 xcd }, { CCI_REG8(0 x3b14), 0 xcd },
{ CCI_REG8(0 x3b15), 0 xcd }, { CCI_REG8(0 x3b16), 0 xcd },
{ CCI_REG8(0 x3b17), 0 xcd }, { CCI_REG8(0 x3b18), 0 xcd },
{ CCI_REG8(0 x3b19), 0 xcd }, { CCI_REG8(0 x3b1a), 0 xcd },
{ CCI_REG8(0 x3b1b), 0 xcd }, { CCI_REG8(0 x3b1c), 0 xcd },
{ CCI_REG8(0 x3b1d), 0 xcd }, { CCI_REG8(0 x3b1e), 0 xcd },
{ CCI_REG8(0 x3b1f), 0 xcd }, { CCI_REG8(0 x3b20), 0 xcd },
{ CCI_REG8(0 x3b21), 0 xcd }, { CCI_REG8(0 x3b22), 0 xcd },
{ CCI_REG8(0 x3b23), 0 xcd }, { CCI_REG8(0 x3b24), 0 xcd },
{ CCI_REG8(0 x3b25), 0 xcd }, { CCI_REG8(0 x3b26), 0 xcd },
{ CCI_REG8(0 x3b27), 0 xcd }, { CCI_REG8(0 x3b28), 0 xcd },
{ CCI_REG8(0 x3b29), 0 xcd }, { CCI_REG8(0 x3b2a), 0 xcd },
{ CCI_REG8(0 x3b2b), 0 xcd }, { CCI_REG8(0 x3b2c), 0 xcd },
{ CCI_REG8(0 x3b2d), 0 xcd }, { CCI_REG8(0 x3b2e), 0 xcd },
{ CCI_REG8(0 x3b2f), 0 xcd }, { CCI_REG8(0 x3b30), 0 xcd },
{ CCI_REG8(0 x3b31), 0 xcd }, { CCI_REG8(0 x3b32), 0 xcd },
{ CCI_REG8(0 x3b33), 0 xcd }, { CCI_REG8(0 x3b34), 0 xcd },
{ CCI_REG8(0 x3b35), 0 xcd }, { CCI_REG8(0 x3b36), 0 xcd },
{ CCI_REG8(0 x3b37), 0 xcd }, { CCI_REG8(0 x3b38), 0 xcd },
{ CCI_REG8(0 x3b39), 0 xcd }, { CCI_REG8(0 x3b3a), 0 xcd },
{ CCI_REG8(0 x3b3b), 0 xcd }, { CCI_REG8(0 x3b3c), 0 xcd },
{ CCI_REG8(0 x3b3d), 0 xcd }, { CCI_REG8(0 x3b3e), 0 xcd },
{ CCI_REG8(0 x3b3f), 0 xcd }, { CCI_REG8(0 x3b40), 0 xcd },
{ CCI_REG8(0 x3b41), 0 xcd }, { CCI_REG8(0 x3b42), 0 xcd },
{ CCI_REG8(0 x3b43), 0 xcd }, { CCI_REG8(0 x3b44), 0 xcd },
{ CCI_REG8(0 x3b45), 0 xcd }, { CCI_REG8(0 x3b46), 0 xcd },
{ CCI_REG8(0 x3b47), 0 xcd }, { CCI_REG8(0 x3b48), 0 xcd },
{ CCI_REG8(0 x3b49), 0 xcd }, { CCI_REG8(0 x3b4a), 0 xcd },
{ CCI_REG8(0 x3b4b), 0 xcd }, { CCI_REG8(0 x3b4c), 0 xcd },
{ CCI_REG8(0 x3b4d), 0 xcd }, { CCI_REG8(0 x3b4e), 0 xcd },
{ CCI_REG8(0 x3b4f), 0 xcd }, { CCI_REG8(0 x3b50), 0 xcd },
{ CCI_REG8(0 x3b51), 0 xcd }, { CCI_REG8(0 x3b52), 0 xcd },
{ CCI_REG8(0 x3b53), 0 xcd }, { CCI_REG8(0 x3b54), 0 xcd },
{ CCI_REG8(0 x3b55), 0 xcd }, { CCI_REG8(0 x3b56), 0 xcd },
{ CCI_REG8(0 x3b57), 0 xcd }, { CCI_REG8(0 x3b58), 0 xcd },
{ CCI_REG8(0 x3b59), 0 xcd }, { CCI_REG8(0 x3b5a), 0 xcd },
{ CCI_REG8(0 x3b5b), 0 xcd }, { CCI_REG8(0 x3b5c), 0 xcd },
{ CCI_REG8(0 x3b5d), 0 xcd }, { CCI_REG8(0 x3b5e), 0 xcd },
{ CCI_REG8(0 x3b5f), 0 xcd }, { CCI_REG8(0 x3b60), 0 xcd },
{ CCI_REG8(0 x3b61), 0 xcd }, { CCI_REG8(0 x3b62), 0 xcd },
{ CCI_REG8(0 x3b63), 0 xcd }, { CCI_REG8(0 x3b64), 0 xcd },
{ CCI_REG8(0 x3b65), 0 xcd }, { CCI_REG8(0 x3b66), 0 xcd },
{ CCI_REG8(0 x3b67), 0 xcd }, { CCI_REG8(0 x3b68), 0 xcd },
{ CCI_REG8(0 x3b69), 0 xcd }, { CCI_REG8(0 x3b6a), 0 xcd },
{ CCI_REG8(0 x3b6b), 0 xcd }, { CCI_REG8(0 x3b6c), 0 xcd },
{ CCI_REG8(0 x3b6d), 0 xcd }, { CCI_REG8(0 x3b6e), 0 xcd },
{ CCI_REG8(0 x3b6f), 0 xcd }, { CCI_REG8(0 x3b70), 0 xcd },
{ CCI_REG8(0 x3b71), 0 xcd }, { CCI_REG8(0 x3b72), 0 xcd },
{ CCI_REG8(0 x3b73), 0 xcd }, { CCI_REG8(0 x3b74), 0 xcd },
{ CCI_REG8(0 x3b75), 0 xcd }, { CCI_REG8(0 x3b76), 0 xcd },
{ CCI_REG8(0 x3b77), 0 xcd }, { CCI_REG8(0 x3b78), 0 xcd },
{ CCI_REG8(0 x3b79), 0 xcd }, { CCI_REG8(0 x3b7a), 0 xcd },
{ CCI_REG8(0 x3b7b), 0 xcd }, { CCI_REG8(0 x3b7c), 0 xcd },
{ CCI_REG8(0 x3b7d), 0 xcd }, { CCI_REG8(0 x3b7e), 0 xcd },
{ CCI_REG8(0 x3b7f), 0 xcd }, { CCI_REG8(0 x3b80), 0 xcd },
{ CCI_REG8(0 x3b81), 0 xcd }, { CCI_REG8(0 x3b82), 0 xcd },
{ CCI_REG8(0 x3b83), 0 xcd }, { CCI_REG8(0 x3b84), 0 xcd },
{ CCI_REG8(0 x3b85), 0 xcd }, { CCI_REG8(0 x3b86), 0 xcd },
{ CCI_REG8(0 x3b87), 0 xcd }, { CCI_REG8(0 x3b88), 0 xcd },
{ CCI_REG8(0 x3b89), 0 xcd }, { CCI_REG8(0 x3b8a), 0 xcd },
{ CCI_REG8(0 x3b8b), 0 xcd }, { CCI_REG8(0 x3b8c), 0 xcd },
{ CCI_REG8(0 x3b8d), 0 xcd }, { CCI_REG8(0 x3b8e), 0 xcd },
{ CCI_REG8(0 x3b8f), 0 xcd }, { CCI_REG8(0 x3b90), 0 xcd },
{ CCI_REG8(0 x3b91), 0 xcd }, { CCI_REG8(0 x3b92), 0 xcd },
{ CCI_REG8(0 x3b93), 0 xcd }, { CCI_REG8(0 x3b94), 0 xcd },
{ CCI_REG8(0 x3b95), 0 xcd }, { CCI_REG8(0 x3b96), 0 xcd },
{ CCI_REG8(0 x3b97), 0 xcd }, { CCI_REG8(0 x3b98), 0 xcd },
{ CCI_REG8(0 x3b99), 0 xcd }, { CCI_REG8(0 x3b9a), 0 xcd },
{ CCI_REG8(0 x3b9b), 0 xcd }, { CCI_REG8(0 x3b9c), 0 xcd },
{ CCI_REG8(0 x3b9d), 0 xcd }, { CCI_REG8(0 x3b9e), 0 xcd },
{ CCI_REG8(0 x3b9f), 0 xcd }, { CCI_REG8(0 x3ba0), 0 xcd },
{ CCI_REG8(0 x3ba1), 0 xcd }, { CCI_REG8(0 x3ba2), 0 xcd },
{ CCI_REG8(0 x3ba3), 0 xcd }, { CCI_REG8(0 x3ba4), 0 xcd },
{ CCI_REG8(0 x3ba5), 0 xcd }, { CCI_REG8(0 x3ba6), 0 xcd },
{ CCI_REG8(0 x3ba7), 0 xcd }, { CCI_REG8(0 x3ba8), 0 xcd },
{ CCI_REG8(0 x3ba9), 0 xcd }, { CCI_REG8(0 x3baa), 0 xcd },
{ CCI_REG8(0 x3bab), 0 xcd }, { CCI_REG8(0 x3bac), 0 xcd },
{ CCI_REG8(0 x3bad), 0 xcd }, { CCI_REG8(0 x3bae), 0 xcd },
{ CCI_REG8(0 x3baf), 0 xcd }, { CCI_REG8(0 x3bb0), 0 xcd },
{ CCI_REG8(0 x3bb1), 0 xcd }, { CCI_REG8(0 x3bb2), 0 xcd },
{ CCI_REG8(0 x3bb3), 0 xcd }, { CCI_REG8(0 x3bb4), 0 xcd },
{ CCI_REG8(0 x3bb5), 0 xcd }, { CCI_REG8(0 x3bb6), 0 xcd },
{ CCI_REG8(0 x3bb7), 0 xcd }, { CCI_REG8(0 x3bb8), 0 xcd },
{ CCI_REG8(0 x3bb9), 0 xcd }, { CCI_REG8(0 x3bba), 0 xcd },
{ CCI_REG8(0 x3bbb), 0 xcd }, { CCI_REG8(0 x3bbc), 0 xcd },
{ CCI_REG8(0 x3bbd), 0 xcd }, { CCI_REG8(0 x3bbe), 0 xcd },
{ CCI_REG8(0 x3bbf), 0 xcd }, { CCI_REG8(0 x3bc0), 0 xcd },
{ CCI_REG8(0 x3bc1), 0 xcd }, { CCI_REG8(0 x3bc2), 0 xcd },
{ CCI_REG8(0 x3bc3), 0 xcd }, { CCI_REG8(0 x3bc4), 0 xcd },
{ CCI_REG8(0 x3bc5), 0 xcd }, { CCI_REG8(0 x3bc6), 0 xcd },
{ CCI_REG8(0 x3bc7), 0 xcd }, { CCI_REG8(0 x3bc8), 0 xcd },
{ CCI_REG8(0 x3bc9), 0 xcd }, { CCI_REG8(0 x3bca), 0 xcd },
{ CCI_REG8(0 x3bcb), 0 xcd }, { CCI_REG8(0 x3bcc), 0 xcd },
{ CCI_REG8(0 x3bcd), 0 xcd }, { CCI_REG8(0 x3bce), 0 xcd },
{ CCI_REG8(0 x3bcf), 0 xcd }, { CCI_REG8(0 x3bd0), 0 xcd },
{ CCI_REG8(0 x3bd1), 0 xcd }, { CCI_REG8(0 x3bd2), 0 xcd },
{ CCI_REG8(0 x3bd3), 0 xcd }, { CCI_REG8(0 x3bd4), 0 xcd },
{ CCI_REG8(0 x3bd5), 0 xcd }, { CCI_REG8(0 x3bd6), 0 xcd },
{ CCI_REG8(0 x3bd7), 0 xcd }, { CCI_REG8(0 x3bd8), 0 xcd },
{ CCI_REG8(0 x3bd9), 0 xcd }, { CCI_REG8(0 x3bda), 0 xcd },
{ CCI_REG8(0 x3bdb), 0 xcd }, { CCI_REG8(0 x3bdc), 0 xcd },
{ CCI_REG8(0 x3bdd), 0 xcd }, { CCI_REG8(0 x3bde), 0 xcd },
{ CCI_REG8(0 x3bdf), 0 xcd }, { CCI_REG8(0 x3be0), 0 xcd },
{ CCI_REG8(0 x3be1), 0 xcd }, { CCI_REG8(0 x3be2), 0 xcd },
{ CCI_REG8(0 x3be3), 0 xcd }, { CCI_REG8(0 x3be4), 0 xcd },
{ CCI_REG8(0 x3be5), 0 xcd }, { CCI_REG8(0 x3be6), 0 xcd },
{ CCI_REG8(0 x3be7), 0 xcd }, { CCI_REG8(0 x3be8), 0 xcd },
{ CCI_REG8(0 x3be9), 0 xcd }, { CCI_REG8(0 x3bea), 0 xcd },
{ CCI_REG8(0 x3beb), 0 xcd }, { CCI_REG8(0 x3bec), 0 xcd },
{ CCI_REG8(0 x3bed), 0 xcd }, { CCI_REG8(0 x3bee), 0 xcd },
{ CCI_REG8(0 x3bef), 0 xcd }, { CCI_REG8(0 x3bf0), 0 xcd },
{ CCI_REG8(0 x3bf1), 0 xcd }, { CCI_REG8(0 x3bf2), 0 xcd },
{ CCI_REG8(0 x3bf3), 0 xcd }, { CCI_REG8(0 x3bf4), 0 xcd },
{ CCI_REG8(0 x3bf5), 0 xcd }, { CCI_REG8(0 x3bf6), 0 xcd },
{ CCI_REG8(0 x3bf7), 0 xcd }, { CCI_REG8(0 x3bf8), 0 xcd },
{ CCI_REG8(0 x3bf9), 0 xcd }, { CCI_REG8(0 x3bfa), 0 xcd },
{ CCI_REG8(0 x3bfb), 0 xcd }, { CCI_REG8(0 x3bfc), 0 xcd },
{ CCI_REG8(0 x3bfd), 0 xcd }, { CCI_REG8(0 x3bfe), 0 xcd },
{ CCI_REG8(0 x3bff), 0 xcd }, { CCI_REG8(0 x3c00), 0 xcd },
{ CCI_REG8(0 x3c01), 0 xcd }, { CCI_REG8(0 x3c02), 0 xcd },
{ CCI_REG8(0 x3c03), 0 xcd }, { CCI_REG8(0 x3c04), 0 xcd },
{ CCI_REG8(0 x3c05), 0 xcd }, { CCI_REG8(0 x3c06), 0 xcd },
{ CCI_REG8(0 x3c07), 0 xcd }, { CCI_REG8(0 x3c08), 0 xcd },
{ CCI_REG8(0 x3c09), 0 xcd }, { CCI_REG8(0 x3c0a), 0 xcd },
{ CCI_REG8(0 x3c0b), 0 xcd }, { CCI_REG8(0 x3c0c), 0 xcd },
{ CCI_REG8(0 x3c0d), 0 xcd }, { CCI_REG8(0 x3c0e), 0 xcd },
{ CCI_REG8(0 x3c0f), 0 xcd }, { CCI_REG8(0 x3c10), 0 xcd },
{ CCI_REG8(0 x3c11), 0 xcd }, { CCI_REG8(0 x3c12), 0 xcd },
{ CCI_REG8(0 x3c13), 0 xcd }, { CCI_REG8(0 x3c14), 0 xcd },
{ CCI_REG8(0 x3c15), 0 xcd }, { CCI_REG8(0 x3c16), 0 xcd },
{ CCI_REG8(0 x3c17), 0 xcd }, { CCI_REG8(0 x3c18), 0 xcd },
{ CCI_REG8(0 x3c19), 0 xcd }, { CCI_REG8(0 x3c1a), 0 xcd },
{ CCI_REG8(0 x3c1b), 0 xcd }, { CCI_REG8(0 x3c1c), 0 xcd },
{ CCI_REG8(0 x3c1d), 0 xcd }, { CCI_REG8(0 x3c1e), 0 xcd },
{ CCI_REG8(0 x3c1f), 0 xcd }, { CCI_REG8(0 x3c20), 0 xcd },
{ CCI_REG8(0 x3c21), 0 xcd }, { CCI_REG8(0 x3c22), 0 xcd },
{ CCI_REG8(0 x3c23), 0 xcd }, { CCI_REG8(0 x3c24), 0 xcd },
{ CCI_REG8(0 x3c25), 0 xcd }, { CCI_REG8(0 x3c26), 0 xcd },
{ CCI_REG8(0 x3c27), 0 xcd }, { CCI_REG8(0 x3c28), 0 xcd },
{ CCI_REG8(0 x3c29), 0 xcd }, { CCI_REG8(0 x3c2a), 0 xcd },
{ CCI_REG8(0 x3c2b), 0 xcd }, { CCI_REG8(0 x3c2c), 0 xcd },
{ CCI_REG8(0 x3c2d), 0 xcd }, { CCI_REG8(0 x3c2e), 0 xcd },
{ CCI_REG8(0 x3c2f), 0 xcd }, { CCI_REG8(0 x3c30), 0 xcd },
{ CCI_REG8(0 x3c31), 0 xcd }, { CCI_REG8(0 x3c32), 0 xcd },
{ CCI_REG8(0 x3c33), 0 xcd }, { CCI_REG8(0 x3c34), 0 xcd },
{ CCI_REG8(0 x3c35), 0 xcd }, { CCI_REG8(0 x3c36), 0 xcd },
{ CCI_REG8(0 x3c37), 0 xcd }, { CCI_REG8(0 x3c38), 0 xcd },
{ CCI_REG8(0 x3c39), 0 xcd }, { CCI_REG8(0 x3c3a), 0 xcd },
{ CCI_REG8(0 x3c3b), 0 xcd }, { CCI_REG8(0 x3c3c), 0 xcd },
{ CCI_REG8(0 x3c3d), 0 xcd }, { CCI_REG8(0 x3c3e), 0 xcd },
{ CCI_REG8(0 x3c3f), 0 xcd }, { CCI_REG8(0 x3c40), 0 xcd },
{ CCI_REG8(0 x3c41), 0 xcd }, { CCI_REG8(0 x3c42), 0 xcd },
{ CCI_REG8(0 x3c43), 0 xcd }, { CCI_REG8(0 x3c44), 0 xcd },
{ CCI_REG8(0 x3c45), 0 xcd }, { CCI_REG8(0 x3c46), 0 xcd },
{ CCI_REG8(0 x3c47), 0 xcd }, { CCI_REG8(0 x3c48), 0 xcd },
{ CCI_REG8(0 x3c49), 0 xcd }, { CCI_REG8(0 x3c4a), 0 xcd },
{ CCI_REG8(0 x3c4b), 0 xcd }, { CCI_REG8(0 x3c4c), 0 xcd },
{ CCI_REG8(0 x3c4d), 0 xcd }, { CCI_REG8(0 x3c4e), 0 xcd },
{ CCI_REG8(0 x3c4f), 0 xcd }, { CCI_REG8(0 x3c50), 0 xcd },
{ CCI_REG8(0 x3c51), 0 xcd }, { CCI_REG8(0 x3c52), 0 xcd },
{ CCI_REG8(0 x3c53), 0 xcd }, { CCI_REG8(0 x3c54), 0 xcd },
{ CCI_REG8(0 x3c55), 0 xcd }, { CCI_REG8(0 x3c56), 0 xcd },
{ CCI_REG8(0 x3c57), 0 xcd }, { CCI_REG8(0 x3c58), 0 xcd },
{ CCI_REG8(0 x3c59), 0 xcd }, { CCI_REG8(0 x3c5a), 0 xcd },
{ CCI_REG8(0 x3c5b), 0 xcd }, { CCI_REG8(0 x3c5c), 0 xcd },
{ CCI_REG8(0 x3c5d), 0 xcd }, { CCI_REG8(0 x3c5e), 0 xcd },
{ CCI_REG8(0 x3c5f), 0 xcd }, { CCI_REG8(0 x3c60), 0 xcd },
{ CCI_REG8(0 x3c61), 0 xcd }, { CCI_REG8(0 x3c62), 0 xcd },
{ CCI_REG8(0 x3c63), 0 xcd }, { CCI_REG8(0 x3c64), 0 xcd },
{ CCI_REG8(0 x3c65), 0 xcd }, { CCI_REG8(0 x3c66), 0 xcd },
{ CCI_REG8(0 x3c67), 0 xcd }, { CCI_REG8(0 x3c68), 0 xcd },
{ CCI_REG8(0 x3c69), 0 xcd }, { CCI_REG8(0 x3c6a), 0 xcd },
{ CCI_REG8(0 x3c6b), 0 xcd }, { CCI_REG8(0 x3c6c), 0 xcd },
{ CCI_REG8(0 x3c6d), 0 xcd }, { CCI_REG8(0 x3c6e), 0 xcd },
{ CCI_REG8(0 x3c6f), 0 xcd }, { CCI_REG8(0 x3c70), 0 xcd },
{ CCI_REG8(0 x3c71), 0 xcd }, { CCI_REG8(0 x3c72), 0 xcd },
{ CCI_REG8(0 x3c73), 0 xcd }, { CCI_REG8(0 x3c74), 0 xcd },
{ CCI_REG8(0 x3c75), 0 xcd }, { CCI_REG8(0 x3c76), 0 xcd },
{ CCI_REG8(0 x3c77), 0 xcd }, { CCI_REG8(0 x3c78), 0 xcd },
{ CCI_REG8(0 x3c79), 0 xcd }, { CCI_REG8(0 x3c7a), 0 xcd },
{ CCI_REG8(0 x3c7b), 0 xcd }, { CCI_REG8(0 x3c7c), 0 xcd },
{ CCI_REG8(0 x3c7d), 0 xcd }, { CCI_REG8(0 x3c7e), 0 xcd },
{ CCI_REG8(0 x3c7f), 0 xcd }, { CCI_REG8(0 x3c80), 0 xcd },
{ CCI_REG8(0 x3c81), 0 xcd }, { CCI_REG8(0 x3c82), 0 xcd },
{ CCI_REG8(0 x3c83), 0 xcd }, { CCI_REG8(0 x3c84), 0 xcd },
{ CCI_REG8(0 x3c85), 0 xcd }, { CCI_REG8(0 x3c86), 0 xcd },
{ CCI_REG8(0 x3c87), 0 xcd }, { CCI_REG8(0 x3c88), 0 xcd },
{ CCI_REG8(0 x3c89), 0 xcd }, { CCI_REG8(0 x3c8a), 0 xcd },
{ CCI_REG8(0 x3c8b), 0 xcd }, { CCI_REG8(0 x3c8c), 0 xcd },
{ CCI_REG8(0 x3c8d), 0 xcd }, { CCI_REG8(0 x3c8e), 0 xcd },
{ CCI_REG8(0 x3c8f), 0 xcd }, { CCI_REG8(0 x3c90), 0 xcd },
{ CCI_REG8(0 x3c91), 0 xcd }, { CCI_REG8(0 x3c92), 0 xcd },
{ CCI_REG8(0 x3c93), 0 xcd }, { CCI_REG8(0 x3c94), 0 xcd },
{ CCI_REG8(0 x3c95), 0 xcd }, { CCI_REG8(0 x3c96), 0 xcd },
{ CCI_REG8(0 x3c97), 0 xcd }, { CCI_REG8(0 x3c98), 0 xcd },
{ CCI_REG8(0 x3c99), 0 xcd }, { CCI_REG8(0 x3c9a), 0 xcd },
{ CCI_REG8(0 x3c9b), 0 xcd }, { CCI_REG8(0 x3c9c), 0 xcd },
{ CCI_REG8(0 x3c9d), 0 xcd }, { CCI_REG8(0 x3c9e), 0 xcd },
{ CCI_REG8(0 x3c9f), 0 xcd }, { CCI_REG8(0 x3ca0), 0 xcd },
{ CCI_REG8(0 x3ca1), 0 xcd }, { CCI_REG8(0 x3ca2), 0 xcd },
{ CCI_REG8(0 x3ca3), 0 xcd }, { CCI_REG8(0 x3ca4), 0 xcd },
{ CCI_REG8(0 x3ca5), 0 xcd }, { CCI_REG8(0 x3ca6), 0 xcd },
{ CCI_REG8(0 x3ca7), 0 xcd }, { CCI_REG8(0 x3ca8), 0 xcd },
{ CCI_REG8(0 x3ca9), 0 xcd }, { CCI_REG8(0 x3caa), 0 xcd },
{ CCI_REG8(0 x3cab), 0 xcd }, { CCI_REG8(0 x3cac), 0 xcd },
{ CCI_REG8(0 x3cad), 0 xcd }, { CCI_REG8(0 x3cae), 0 xcd },
{ CCI_REG8(0 x3caf), 0 xcd }, { CCI_REG8(0 x3cb0), 0 xcd },
{ CCI_REG8(0 x3cb1), 0 x40 }, { CCI_REG8(0 x3cb2), 0 x40 },
{ CCI_REG8(0 x3cb3), 0 x40 }, { CCI_REG8(0 x3cb4), 0 x40 },
{ CCI_REG8(0 x3cb5), 0 x40 }, { CCI_REG8(0 x3cb6), 0 x40 },
{ CCI_REG8(0 x3cb7), 0 x40 }, { CCI_REG8(0 x3cb8), 0 x40 },
{ CCI_REG8(0 x3cb9), 0 x40 }, { CCI_REG8(0 x3cba), 0 x40 },
{ CCI_REG8(0 x3cbb), 0 x40 }, { CCI_REG8(0 x3cbc), 0 x40 },
{ CCI_REG8(0 x3cbd), 0 x40 }, { CCI_REG8(0 x3cbe), 0 x40 },
{ CCI_REG8(0 x3cbf), 0 x40 }, { CCI_REG8(0 x3cc0), 0 x40 },
{ CCI_REG8(0 x3cc1), 0 x40 }, { CCI_REG8(0 x3cc2), 0 x40 },
{ CCI_REG8(0 x3cc3), 0 x40 }, { CCI_REG8(0 x3cc4), 0 x40 },
{ CCI_REG8(0 x3cc5), 0 x40 }, { CCI_REG8(0 x3cc6), 0 x40 },
{ CCI_REG8(0 x3cc7), 0 x40 }, { CCI_REG8(0 x3cc8), 0 x40 },
{ CCI_REG8(0 x3cc9), 0 x40 }, { CCI_REG8(0 x3cca), 0 x40 },
{ CCI_REG8(0 x3ccb), 0 x40 }, { CCI_REG8(0 x3ccc), 0 x40 },
{ CCI_REG8(0 x3ccd), 0 x40 }, { CCI_REG8(0 x3cce), 0 x40 },
{ CCI_REG8(0 x3ccf), 0 x40 }, { CCI_REG8(0 x3cd0), 0 x40 },
{ CCI_REG8(0 x3cd1), 0 x40 }, { CCI_REG8(0 x3cd2), 0 x40 },
{ CCI_REG8(0 x3cd3), 0 x40 }, { CCI_REG8(0 x3cd4), 0 x40 },
{ CCI_REG8(0 x3cd5), 0 x40 }, { CCI_REG8(0 x3cd6), 0 x40 },
{ CCI_REG8(0 x3cd7), 0 x40 }, { CCI_REG8(0 x3cd8), 0 x40 },
{ CCI_REG8(0 x3cd9), 0 x40 }, { CCI_REG8(0 x3cda), 0 x40 },
{ CCI_REG8(0 x3cdb), 0 x40 }, { CCI_REG8(0 x3cdc), 0 x40 },
{ CCI_REG8(0 x3cdd), 0 x40 }, { CCI_REG8(0 x3cde), 0 x40 },
{ CCI_REG8(0 x3cdf), 0 x40 }, { CCI_REG8(0 x3ce0), 0 x40 },
{ CCI_REG8(0 x3ce1), 0 x40 }, { CCI_REG8(0 x3ce2), 0 x40 },
{ CCI_REG8(0 x3ce3), 0 x40 }, { CCI_REG8(0 x3ce4), 0 x40 },
{ CCI_REG8(0 x3ce5), 0 x40 }, { CCI_REG8(0 x3ce6), 0 x40 },
{ CCI_REG8(0 x3ce7), 0 x40 }, { CCI_REG8(0 x3ce8), 0 x40 },
{ CCI_REG8(0 x3ce9), 0 x40 }, { CCI_REG8(0 x3cea), 0 x40 },
{ CCI_REG8(0 x3ceb), 0 x40 }, { CCI_REG8(0 x3cec), 0 x40 },
{ CCI_REG8(0 x3ced), 0 x40 }, { CCI_REG8(0 x3cee), 0 x40 },
{ CCI_REG8(0 x3cef), 0 x40 }, { CCI_REG8(0 x3cf0), 0 x40 },
{ CCI_REG8(0 x3cf1), 0 x40 }, { CCI_REG8(0 x3cf2), 0 x40 },
{ CCI_REG8(0 x3cf3), 0 x40 }, { CCI_REG8(0 x3cf4), 0 x40 },
{ CCI_REG8(0 x3cf5), 0 x40 }, { CCI_REG8(0 x3cf6), 0 x40 },
{ CCI_REG8(0 x3cf7), 0 x40 }, { CCI_REG8(0 x3cf8), 0 x40 },
{ CCI_REG8(0 x3cf9), 0 x40 }, { CCI_REG8(0 x3cfa), 0 x40 },
{ CCI_REG8(0 x3cfb), 0 x40 }, { CCI_REG8(0 x3cfc), 0 x40 },
{ CCI_REG8(0 x3cfd), 0 x40 }, { CCI_REG8(0 x3cfe), 0 x40 },
{ CCI_REG8(0 x3cff), 0 x40 }, { CCI_REG8(0 x3d00), 0 x40 },
{ CCI_REG8(0 x3d01), 0 x40 }, { CCI_REG8(0 x3d02), 0 x40 },
{ CCI_REG8(0 x3d03), 0 x40 }, { CCI_REG8(0 x3d04), 0 x40 },
{ CCI_REG8(0 x3d05), 0 x40 }, { CCI_REG8(0 x3d06), 0 x40 },
{ CCI_REG8(0 x3d07), 0 x40 }, { CCI_REG8(0 x3d08), 0 x40 },
{ CCI_REG8(0 x3d09), 0 x40 }, { CCI_REG8(0 x3d0a), 0 x40 },
{ CCI_REG8(0 x3d0b), 0 xcd }, { CCI_REG8(0 x3d0c), 0 xcd },
{ CCI_REG8(0 x3d0d), 0 xcd }, { CCI_REG8(0 x3d0e), 0 xcd },
{ CCI_REG8(0 x3d0f), 0 xcd }, { CCI_REG8(0 x3d10), 0 xcd },
{ CCI_REG8(0 x3d11), 0 xcd }, { CCI_REG8(0 x3d12), 0 xcd },
{ CCI_REG8(0 x3d13), 0 xcd }, { CCI_REG8(0 x3d14), 0 xcd },
{ CCI_REG8(0 x3d15), 0 xcd }, { CCI_REG8(0 x3d16), 0 xcd },
{ CCI_REG8(0 x3d17), 0 xcd }, { CCI_REG8(0 x3d18), 0 xcd },
{ CCI_REG8(0 x3d19), 0 xcd }, { CCI_REG8(0 x3d1a), 0 xcd },
{ CCI_REG8(0 x3d1b), 0 xcd }, { CCI_REG8(0 x3d1c), 0 xcd },
{ CCI_REG8(0 x3d1d), 0 xcd }, { CCI_REG8(0 x3d1e), 0 xcd },
{ CCI_REG8(0 x3d1f), 0 xcd }, { CCI_REG8(0 x3d20), 0 xcd },
{ CCI_REG8(0 x3d21), 0 xcd }, { CCI_REG8(0 x3d22), 0 xcd },
{ CCI_REG8(0 x3d23), 0 xcd }, { CCI_REG8(0 x3d24), 0 xcd },
{ CCI_REG8(0 x3d25), 0 xcd }, { CCI_REG8(0 x3d26), 0 xcd },
{ CCI_REG8(0 x3d27), 0 xcd }, { CCI_REG8(0 x3d28), 0 xcd },
{ CCI_REG8(0 x3d29), 0 xcd }, { CCI_REG8(0 x3d2a), 0 xcd },
{ CCI_REG8(0 x3d2b), 0 xcd }, { CCI_REG8(0 x3d2c), 0 xcd },
{ CCI_REG8(0 x3d2d), 0 xcd }, { CCI_REG8(0 x3d2e), 0 xcd },
{ CCI_REG8(0 x3d2f), 0 xcd }, { CCI_REG8(0 x3d30), 0 xcd },
{ CCI_REG8(0 x3d31), 0 xcd }, { CCI_REG8(0 x3d32), 0 xcd },
{ CCI_REG8(0 x3d33), 0 xcd }, { CCI_REG8(0 x3d34), 0 xcd },
{ CCI_REG8(0 x3d35), 0 xcd }, { CCI_REG8(0 x3d36), 0 xcd },
{ CCI_REG8(0 x3d37), 0 xcd }, { CCI_REG8(0 x3d38), 0 xcd },
{ CCI_REG8(0 x3d39), 0 xcd }, { CCI_REG8(0 x3d3a), 0 xcd },
{ CCI_REG8(0 x3d3b), 0 xcd }, { CCI_REG8(0 x3d3c), 0 xcd },
{ CCI_REG8(0 x3d3d), 0 xcd }, { CCI_REG8(0 x3d3e), 0 xcd },
{ CCI_REG8(0 x3d3f), 0 xcd }, { CCI_REG8(0 x3d40), 0 xcd },
{ CCI_REG8(0 x3d41), 0 xcd }, { CCI_REG8(0 x3d42), 0 xcd },
{ CCI_REG8(0 x3d43), 0 xcd }, { CCI_REG8(0 x3d44), 0 xcd },
{ CCI_REG8(0 x3d45), 0 xcd }, { CCI_REG8(0 x3d46), 0 xcd },
{ CCI_REG8(0 x3d47), 0 xcd }, { CCI_REG8(0 x3d48), 0 xcd },
{ CCI_REG8(0 x3d49), 0 xcd }, { CCI_REG8(0 x3d4a), 0 xcd },
{ CCI_REG8(0 x3d4b), 0 xcd }, { CCI_REG8(0 x3d4c), 0 xcd },
{ CCI_REG8(0 x3d4d), 0 xcd }, { CCI_REG8(0 x3d4e), 0 xcd },
{ CCI_REG8(0 x3d4f), 0 xcd }, { CCI_REG8(0 x3d50), 0 xcd },
{ CCI_REG8(0 x3d51), 0 xcd }, { CCI_REG8(0 x3d52), 0 xcd },
{ CCI_REG8(0 x3d53), 0 xcd }, { CCI_REG8(0 x3d54), 0 xcd },
{ CCI_REG8(0 x3d55), 0 xcd }, { CCI_REG8(0 x3d56), 0 xcd },
{ CCI_REG8(0 x3d57), 0 xcd }, { CCI_REG8(0 x3d58), 0 xcd },
{ CCI_REG8(0 x3d59), 0 xcd }, { CCI_REG8(0 x3d5a), 0 xcd },
{ CCI_REG8(0 x3d5b), 0 xcd }, { CCI_REG8(0 x3d5c), 0 xcd },
{ CCI_REG8(0 x3d5d), 0 xcd }, { CCI_REG8(0 x3d5e), 0 xcd },
{ CCI_REG8(0 x3d5f), 0 xcd }, { CCI_REG8(0 x3d60), 0 xcd },
{ CCI_REG8(0 x3d61), 0 xcd }, { CCI_REG8(0 x3d62), 0 xcd },
{ CCI_REG8(0 x3d63), 0 xcd }, { CCI_REG8(0 x3d64), 0 xcd },
{ CCI_REG8(0 x3d65), 0 x40 }, { CCI_REG8(0 x3d66), 0 x40 },
{ CCI_REG8(0 x3d67), 0 x40 }, { CCI_REG8(0 x3d68), 0 x40 },
{ CCI_REG8(0 x3d69), 0 x40 }, { CCI_REG8(0 x3d6a), 0 x40 },
{ CCI_REG8(0 x3d6b), 0 x40 }, { CCI_REG8(0 x3d6c), 0 x40 },
{ CCI_REG8(0 x3d6d), 0 x40 }, { CCI_REG8(0 x3d6e), 0 x40 },
{ CCI_REG8(0 x3d6f), 0 x40 }, { CCI_REG8(0 x3d70), 0 x40 },
{ CCI_REG8(0 x3d71), 0 x40 }, { CCI_REG8(0 x3d72), 0 x40 },
{ CCI_REG8(0 x3d73), 0 x40 }, { CCI_REG8(0 x3d74), 0 x40 },
{ CCI_REG8(0 x3d75), 0 x40 }, { CCI_REG8(0 x3d76), 0 x40 },
{ CCI_REG8(0 x3d77), 0 x40 }, { CCI_REG8(0 x3d78), 0 x40 },
{ CCI_REG8(0 x3d79), 0 x40 }, { CCI_REG8(0 x3d7a), 0 x40 },
{ CCI_REG8(0 x3d7b), 0 x40 }, { CCI_REG8(0 x3d7c), 0 x40 },
{ CCI_REG8(0 x3d7d), 0 x40 }, { CCI_REG8(0 x3d7e), 0 x40 },
{ CCI_REG8(0 x3d7f), 0 x40 }, { CCI_REG8(0 x3d80), 0 x40 },
{ CCI_REG8(0 x3d81), 0 x40 }, { CCI_REG8(0 x3d82), 0 x40 },
{ CCI_REG8(0 x3d83), 0 x40 }, { CCI_REG8(0 x3d84), 0 x40 },
{ CCI_REG8(0 x3d85), 0 x40 }, { CCI_REG8(0 x3d86), 0 x40 },
{ CCI_REG8(0 x3d87), 0 x40 }, { CCI_REG8(0 x3d88), 0 x40 },
{ CCI_REG8(0 x3d89), 0 x40 }, { CCI_REG8(0 x3d8a), 0 x40 },
{ CCI_REG8(0 x3d8b), 0 x40 }, { CCI_REG8(0 x3d8c), 0 x40 },
{ CCI_REG8(0 x3d8d), 0 x40 }, { CCI_REG8(0 x3d8e), 0 x40 },
{ CCI_REG8(0 x3d8f), 0 x40 }, { CCI_REG8(0 x3d90), 0 x40 },
{ CCI_REG8(0 x3d91), 0 x40 }, { CCI_REG8(0 x3d92), 0 x40 },
{ CCI_REG8(0 x3d93), 0 x40 }, { CCI_REG8(0 x3d94), 0 x40 },
{ CCI_REG8(0 x3d95), 0 x40 }, { CCI_REG8(0 x3d96), 0 x40 },
{ CCI_REG8(0 x3d97), 0 x40 }, { CCI_REG8(0 x3d98), 0 x40 },
{ CCI_REG8(0 x3d99), 0 x40 }, { CCI_REG8(0 x3d9a), 0 x40 },
{ CCI_REG8(0 x3d9b), 0 x40 }, { CCI_REG8(0 x3d9c), 0 x40 },
{ CCI_REG8(0 x3d9d), 0 x40 }, { CCI_REG8(0 x3d9e), 0 x40 },
{ CCI_REG8(0 x3d9f), 0 x40 }, { CCI_REG8(0 x3da0), 0 x40 },
{ CCI_REG8(0 x3da1), 0 x40 }, { CCI_REG8(0 x3da2), 0 x40 },
{ CCI_REG8(0 x3da3), 0 x40 }, { CCI_REG8(0 x3da4), 0 x40 },
{ CCI_REG8(0 x3da5), 0 x40 }, { CCI_REG8(0 x3da6), 0 x40 },
{ CCI_REG8(0 x3da7), 0 x40 }, { CCI_REG8(0 x3da8), 0 x40 },
{ CCI_REG8(0 x3da9), 0 x40 }, { CCI_REG8(0 x3daa), 0 x40 },
{ CCI_REG8(0 x3dab), 0 x40 }, { CCI_REG8(0 x3dac), 0 x40 },
{ CCI_REG8(0 x3dad), 0 x40 }, { CCI_REG8(0 x3dae), 0 x40 },
{ CCI_REG8(0 x3daf), 0 x40 }, { CCI_REG8(0 x3db0), 0 x40 },
{ CCI_REG8(0 x3db1), 0 x40 }, { CCI_REG8(0 x3db2), 0 x40 },
{ CCI_REG8(0 x3db3), 0 x40 }, { CCI_REG8(0 x3db4), 0 x40 },
{ CCI_REG8(0 x3db5), 0 x40 }, { CCI_REG8(0 x3db6), 0 x40 },
{ CCI_REG8(0 x3db7), 0 x40 }, { CCI_REG8(0 x3db8), 0 x40 },
{ CCI_REG8(0 x3db9), 0 x40 }, { CCI_REG8(0 x3dba), 0 x40 },
{ CCI_REG8(0 x3dbb), 0 x40 }, { CCI_REG8(0 x3dbc), 0 x40 },
{ CCI_REG8(0 x3dbd), 0 x40 }, { CCI_REG8(0 x3dbe), 0 x40 },
{ CCI_REG8(0 x3dbf), 0 xcd }, { CCI_REG8(0 x3dc0), 0 xcd },
{ CCI_REG8(0 x3dc1), 0 xcd }, { CCI_REG8(0 x3dc2), 0 xcd },
{ CCI_REG8(0 x3dc3), 0 xcd }, { CCI_REG8(0 x3dc4), 0 xcd },
{ CCI_REG8(0 x3dc5), 0 xcd }, { CCI_REG8(0 x3dc6), 0 xcd },
{ CCI_REG8(0 x3dc7), 0 xcd }, { CCI_REG8(0 x3dc8), 0 xcd },
{ CCI_REG8(0 x3dc9), 0 xcd }, { CCI_REG8(0 x3dca), 0 xcd },
{ CCI_REG8(0 x3dcb), 0 xcd }, { CCI_REG8(0 x3dcc), 0 xcd },
{ CCI_REG8(0 x3dcd), 0 xcd }, { CCI_REG8(0 x3dce), 0 xcd },
{ CCI_REG8(0 x3dcf), 0 xcd }, { CCI_REG8(0 x3dd0), 0 xcd },
{ CCI_REG8(0 x3dd1), 0 xcd }, { CCI_REG8(0 x3dd2), 0 xcd },
{ CCI_REG8(0 x3dd3), 0 xcd }, { CCI_REG8(0 x3dd4), 0 xcd },
{ CCI_REG8(0 x3dd5), 0 xcd }, { CCI_REG8(0 x3dd6), 0 xcd },
{ CCI_REG8(0 x3dd7), 0 xcd }, { CCI_REG8(0 x3dd8), 0 xcd },
{ CCI_REG8(0 x3dd9), 0 xcd }, { CCI_REG8(0 x3dda), 0 xcd },
{ CCI_REG8(0 x3ddb), 0 xcd }, { CCI_REG8(0 x3ddc), 0 xcd },
{ CCI_REG8(0 x3ddd), 0 xcd }, { CCI_REG8(0 x3dde), 0 xcd },
{ CCI_REG8(0 x3ddf), 0 xcd }, { CCI_REG8(0 x3de0), 0 xcd },
{ CCI_REG8(0 x3de1), 0 xcd }, { CCI_REG8(0 x3de2), 0 xcd },
{ CCI_REG8(0 x3de3), 0 xcd }, { CCI_REG8(0 x3de4), 0 xcd },
{ CCI_REG8(0 x3de5), 0 xcd }, { CCI_REG8(0 x3de6), 0 xcd },
{ CCI_REG8(0 x3de7), 0 xcd }, { CCI_REG8(0 x3de8), 0 xcd },
{ CCI_REG8(0 x3de9), 0 xcd }, { CCI_REG8(0 x3dea), 0 xcd },
{ CCI_REG8(0 x3deb), 0 xcd }, { CCI_REG8(0 x3dec), 0 xcd },
{ CCI_REG8(0 x3ded), 0 xcd }, { CCI_REG8(0 x3dee), 0 xcd },
{ CCI_REG8(0 x3def), 0 xcd }, { CCI_REG8(0 x3df0), 0 xcd },
{ CCI_REG8(0 x3df1), 0 xcd }, { CCI_REG8(0 x3df2), 0 xcd },
{ CCI_REG8(0 x3df3), 0 xcd }, { CCI_REG8(0 x3df4), 0 xcd },
{ CCI_REG8(0 x3df5), 0 xcd }, { CCI_REG8(0 x3df6), 0 xcd },
{ CCI_REG8(0 x3df7), 0 xcd }, { CCI_REG8(0 x3df8), 0 xcd },
{ CCI_REG8(0 x3df9), 0 xcd }, { CCI_REG8(0 x3dfa), 0 xcd },
{ CCI_REG8(0 x3dfb), 0 xcd }, { CCI_REG8(0 x3dfc), 0 xcd },
{ CCI_REG8(0 x3dfd), 0 xcd }, { CCI_REG8(0 x3dfe), 0 xcd },
{ CCI_REG8(0 x3dff), 0 xcd }, { CCI_REG8(0 x3e00), 0 xcd },
{ CCI_REG8(0 x3e01), 0 xcd }, { CCI_REG8(0 x3e02), 0 xcd },
{ CCI_REG8(0 x3e03), 0 xcd }, { CCI_REG8(0 x3e04), 0 xcd },
{ CCI_REG8(0 x3e05), 0 xcd }, { CCI_REG8(0 x3e06), 0 xcd },
{ CCI_REG8(0 x3e07), 0 xcd }, { CCI_REG8(0 x3e08), 0 xcd },
{ CCI_REG8(0 x3e09), 0 xcd }, { CCI_REG8(0 x3e0a), 0 xcd },
{ CCI_REG8(0 x3e0b), 0 xcd }, { CCI_REG8(0 x3e0c), 0 xcd },
{ CCI_REG8(0 x3e0d), 0 xcd }, { CCI_REG8(0 x3e0e), 0 xcd },
{ CCI_REG8(0 x3e0f), 0 xcd }, { CCI_REG8(0 x3e10), 0 xcd },
{ CCI_REG8(0 x3e11), 0 xcd }, { CCI_REG8(0 x3e12), 0 xcd },
{ CCI_REG8(0 x3e13), 0 xcd }, { CCI_REG8(0 x3e14), 0 xcd },
{ CCI_REG8(0 x3e15), 0 xcd }, { CCI_REG8(0 x3e16), 0 xcd },
{ CCI_REG8(0 x3e17), 0 xcd }, { CCI_REG8(0 x3e18), 0 xcd },
{ CCI_REG8(0 x3e19), 0 xcd }, { CCI_REG8(0 x3e1a), 0 xcd },
{ CCI_REG8(0 x3e1b), 0 xcd }, { CCI_REG8(0 x3e1c), 0 xcd },
{ CCI_REG8(0 x3e1d), 0 xcd }, { CCI_REG8(0 x3e1e), 0 xcd },
{ CCI_REG8(0 x3e1f), 0 xcd }, { CCI_REG8(0 x3e20), 0 xcd },
{ CCI_REG8(0 x3e21), 0 xcd }, { CCI_REG8(0 x3e22), 0 xcd },
{ CCI_REG8(0 x3e23), 0 xcd }, { CCI_REG8(0 x3e24), 0 xcd },
{ CCI_REG8(0 x3e25), 0 xcd }, { CCI_REG8(0 x3e26), 0 xcd },
{ CCI_REG8(0 x3e27), 0 xcd }, { CCI_REG8(0 x3e28), 0 xcd },
{ CCI_REG8(0 x3e29), 0 xcd }, { CCI_REG8(0 x3e2a), 0 xcd },
{ CCI_REG8(0 x3e2b), 0 xcd }, { CCI_REG8(0 x3e2c), 0 xcd },
{ CCI_REG8(0 x3e2d), 0 xcd }, { CCI_REG8(0 x3e2e), 0 xcd },
{ CCI_REG8(0 x3e2f), 0 xcd }, { CCI_REG8(0 x3e30), 0 xcd },
{ CCI_REG8(0 x3e31), 0 xcd }, { CCI_REG8(0 x3e32), 0 xcd },
{ CCI_REG8(0 x3e33), 0 xcd }, { CCI_REG8(0 x3e34), 0 xcd },
{ CCI_REG8(0 x3e35), 0 xcd }, { CCI_REG8(0 x3e36), 0 xcd },
{ CCI_REG8(0 x3e37), 0 xcd }, { CCI_REG8(0 x3e38), 0 xcd },
{ CCI_REG8(0 x3e39), 0 xcd }, { CCI_REG8(0 x3e3a), 0 xcd },
{ CCI_REG8(0 x3e3b), 0 xcd }, { CCI_REG8(0 x3e3c), 0 xcd },
{ CCI_REG8(0 x3e3d), 0 xcd }, { CCI_REG8(0 x3e3e), 0 xcd },
{ CCI_REG8(0 x3e3f), 0 xcd }, { CCI_REG8(0 x3e40), 0 xcd },
{ CCI_REG8(0 x3e41), 0 xcd }, { CCI_REG8(0 x3e42), 0 xcd },
{ CCI_REG8(0 x3e43), 0 xcd }, { CCI_REG8(0 x3e44), 0 xcd },
{ CCI_REG8(0 x3e45), 0 xcd }, { CCI_REG8(0 x3e46), 0 xcd },
{ CCI_REG8(0 x3e47), 0 xcd }, { CCI_REG8(0 x3e48), 0 xcd },
{ CCI_REG8(0 x3e49), 0 xcd }, { CCI_REG8(0 x3e4a), 0 xcd },
{ CCI_REG8(0 x3e4b), 0 xcd }, { CCI_REG8(0 x3e4c), 0 xcd },
{ CCI_REG8(0 x3e4d), 0 xcd }, { CCI_REG8(0 x3e4e), 0 xcd },
{ CCI_REG8(0 x3e4f), 0 xcd }, { CCI_REG8(0 x3e50), 0 xcd },
{ CCI_REG8(0 x3e51), 0 xcd }, { CCI_REG8(0 x3e52), 0 xcd },
{ CCI_REG8(0 x3e53), 0 xcd }, { CCI_REG8(0 x3e54), 0 xcd },
{ CCI_REG8(0 x3e55), 0 xcd }, { CCI_REG8(0 x3e56), 0 xcd },
{ CCI_REG8(0 x3e57), 0 xcd }, { CCI_REG8(0 x3e58), 0 xcd },
{ CCI_REG8(0 x3e59), 0 xcd }, { CCI_REG8(0 x3e5a), 0 xcd },
{ CCI_REG8(0 x3e5b), 0 xcd }, { CCI_REG8(0 x3e5c), 0 xcd },
{ CCI_REG8(0 x3e5d), 0 xcd }, { CCI_REG8(0 x3e5e), 0 xcd },
{ CCI_REG8(0 x3e5f), 0 xcd }, { CCI_REG8(0 x3e60), 0 xcd },
{ CCI_REG8(0 x3e61), 0 xcd }, { CCI_REG8(0 x3e62), 0 xcd },
{ CCI_REG8(0 x3e63), 0 xcd }, { CCI_REG8(0 x3e64), 0 xcd },
{ CCI_REG8(0 x3e65), 0 xcd }, { CCI_REG8(0 x3e66), 0 xcd },
{ CCI_REG8(0 x3e67), 0 xcd }, { CCI_REG8(0 x3e68), 0 xcd },
{ CCI_REG8(0 x3e69), 0 xcd }, { CCI_REG8(0 x3e6a), 0 xcd },
{ CCI_REG8(0 x3e6b), 0 xcd }, { CCI_REG8(0 x3e6c), 0 xcd },
{ CCI_REG8(0 x3e6d), 0 xcd }, { CCI_REG8(0 x3e6e), 0 xcd },
{ CCI_REG8(0 x3e6f), 0 xcd }, { CCI_REG8(0 x3e70), 0 xcd },
{ CCI_REG8(0 x3e71), 0 xcd }, { CCI_REG8(0 x3e72), 0 xcd },
{ CCI_REG8(0 x3e73), 0 xcd }, { CCI_REG8(0 x3e74), 0 xcd },
{ CCI_REG8(0 x3e75), 0 xcd }, { CCI_REG8(0 x3e76), 0 xcd },
{ CCI_REG8(0 x3e77), 0 xcd }, { CCI_REG8(0 x3e78), 0 xcd },
{ CCI_REG8(0 x3e79), 0 xcd }, { CCI_REG8(0 x3e7a), 0 xcd },
{ CCI_REG8(0 x3e7b), 0 xcd }, { CCI_REG8(0 x3e7c), 0 xcd },
{ CCI_REG8(0 x3e7d), 0 xcd }, { CCI_REG8(0 x3e7e), 0 xcd },
{ CCI_REG8(0 x3e7f), 0 xcd }, { CCI_REG8(0 x3e80), 0 xcd },
{ CCI_REG8(0 x3e81), 0 xcd }, { CCI_REG8(0 x3e82), 0 xcd },
{ CCI_REG8(0 x3e83), 0 xcd }, { CCI_REG8(0 x3e84), 0 xcd },
{ CCI_REG8(0 x3e85), 0 xcd }, { CCI_REG8(0 x3e86), 0 xcd },
{ CCI_REG8(0 x3e87), 0 xcd }, { CCI_REG8(0 x3e88), 0 xcd },
{ CCI_REG8(0 x3e89), 0 xcd }, { CCI_REG8(0 x3e8a), 0 xcd },
{ CCI_REG8(0 x3e8b), 0 xcd }, { CCI_REG8(0 x3e8c), 0 xcd },
{ CCI_REG8(0 x3e8d), 0 xcd }, { CCI_REG8(0 x3e8e), 0 xcd },
{ CCI_REG8(0 x3e8f), 0 xcd }, { CCI_REG8(0 x3e90), 0 xcd },
{ CCI_REG8(0 x3e91), 0 xcd }, { CCI_REG8(0 x3e92), 0 xcd },
{ CCI_REG8(0 x3e93), 0 xcd }, { CCI_REG8(0 x3e94), 0 xcd },
{ CCI_REG8(0 x3e95), 0 xcd }, { CCI_REG8(0 x3e96), 0 xcd },
{ CCI_REG8(0 x3e97), 0 xcd }, { CCI_REG8(0 x3e98), 0 xcd },
{ CCI_REG8(0 x3e99), 0 xcd }, { CCI_REG8(0 x3e9a), 0 xcd },
{ CCI_REG8(0 x3e9b), 0 xcd }, { CCI_REG8(0 x3e9c), 0 xcd },
{ CCI_REG8(0 x3e9d), 0 xcd }, { CCI_REG8(0 x3e9e), 0 xcd },
{ CCI_REG8(0 x3e9f), 0 xcd }, { CCI_REG8(0 xfff9), 0 x06 },
{ CCI_REG8(0 xc03f), 0 x01 }, { CCI_REG8(0 xc03e), 0 x08 },
{ CCI_REG8(0 xc02c), 0 xff }, { CCI_REG8(0 xc005), 0 x06 },
{ CCI_REG8(0 xc006), 0 x30 }, { CCI_REG8(0 xc007), 0 xc0 },
{ CCI_REG8(0 xc027), 0 x01 }, { CCI_REG8(0 x30c0), 0 x05 },
{ CCI_REG8(0 x30c1), 0 x9f }, { CCI_REG8(0 x30c2), 0 x06 },
{ CCI_REG8(0 x30c3), 0 x5f }, { CCI_REG8(0 x30c4), 0 x80 },
{ CCI_REG8(0 x30c5), 0 x08 }, { CCI_REG8(0 x30c6), 0 x39 },
{ CCI_REG8(0 x30c7), 0 x00 }, { CCI_REG8(0 xc046), 0 x20 },
{ CCI_REG8(0 xc043), 0 x01 }, { CCI_REG8(0 xc04b), 0 x01 },
{ CCI_REG8(0 x0102), 0 x01 }, { CCI_REG8(0 x0100), 0 x00 },
{ CCI_REG8(0 x0102), 0 x00 }, { CCI_REG8(0 x3015), 0 xf0 },
{ CCI_REG8(0 x3018), 0 xf0 }, { CCI_REG8(0 x301c), 0 xf0 },
{ CCI_REG8(0 x301d), 0 xf6 }, { CCI_REG8(0 x301e), 0 xf1 }
};
static const struct cci_reg_sequence ov64a40_9248x6944[] = {
{ CCI_REG8(0 x0305), 0 x98 }, { CCI_REG8(0 x0306), 0 x04 },
{ CCI_REG8(0 x0307), 0 x01 }, { CCI_REG8(0 x4837), 0 x1a },
{ CCI_REG8(0 x4888), 0 x10 }, { CCI_REG8(0 x4860), 0 x00 },
{ CCI_REG8(0 x4850), 0 x43 }, { CCI_REG8(0 x480C), 0 x92 },
{ CCI_REG8(0 x5001), 0 x21 }
};
static const struct cci_reg_sequence ov64a40_8000x6000[] = {
{ CCI_REG8(0 x0305), 0 x98 }, { CCI_REG8(0 x0306), 0 x04 },
{ CCI_REG8(0 x0307), 0 x01 }, { CCI_REG8(0 x4837), 0 x1a },
{ CCI_REG8(0 x4888), 0 x10 }, { CCI_REG8(0 x4860), 0 x00 },
{ CCI_REG8(0 x4850), 0 x43 }, { CCI_REG8(0 x480C), 0 x92 },
{ CCI_REG8(0 x5001), 0 x21 }
};
static const struct cci_reg_sequence ov64a40_4624_3472[] = {
{ CCI_REG8(0 x034b), 0 x02 }, { CCI_REG8(0 x3504), 0 x08 },
{ CCI_REG8(0 x360d), 0 x82 }, { CCI_REG8(0 x368a), 0 x2e },
{ CCI_REG8(0 x3712), 0 x50 }, { CCI_REG8(0 x3822), 0 x00 },
{ CCI_REG8(0 x3827), 0 x40 }, { CCI_REG8(0 x383d), 0 x08 },
{ CCI_REG8(0 x383f), 0 x00 }, { CCI_REG8(0 x384c), 0 x02 },
{ CCI_REG8(0 x384d), 0 xba }, { CCI_REG8(0 x3852), 0 x00 },
{ CCI_REG8(0 x3856), 0 x08 }, { CCI_REG8(0 x3857), 0 x08 },
{ CCI_REG8(0 x3858), 0 x10 }, { CCI_REG8(0 x3859), 0 x10 },
{ CCI_REG8(0 x4016), 0 x0f }, { CCI_REG8(0 x4018), 0 x03 },
{ CCI_REG8(0 x4504), 0 x1e }, { CCI_REG8(0 x4523), 0 x41 },
{ CCI_REG8(0 x45c0), 0 x01 }, { CCI_REG8(0 x4641), 0 x12 },
{ CCI_REG8(0 x4643), 0 x0c }, { CCI_REG8(0 x4915), 0 x02 },
{ CCI_REG8(0 x4916), 0 x1d }, { CCI_REG8(0 x4a15), 0 x02 },
{ CCI_REG8(0 x4a16), 0 x1d }, { CCI_REG8(0 x3703), 0 x72 },
{ CCI_REG8(0 x3709), 0 xe6 }, { CCI_REG8(0 x3a60), 0 x68 },
{ CCI_REG8(0 x3a6f), 0 x68 }, { CCI_REG8(0 x3a5e), 0 xdc },
{ CCI_REG8(0 x3a6d), 0 xdc }, { CCI_REG8(0 x3721), 0 xc9 },
{ CCI_REG8(0 x5250), 0 x06 }, { CCI_REG8(0 x527a), 0 x00 },
{ CCI_REG8(0 x527b), 0 x65 }, { CCI_REG8(0 x527c), 0 x00 },
{ CCI_REG8(0 x527d), 0 x82 }, { CCI_REG8(0 x5280), 0 x24 },
{ CCI_REG8(0 x5281), 0 x40 }, { CCI_REG8(0 x5282), 0 x1b },
{ CCI_REG8(0 x5283), 0 x40 }, { CCI_REG8(0 x5284), 0 x24 },
{ CCI_REG8(0 x5285), 0 x40 }, { CCI_REG8(0 x5286), 0 x1b },
{ CCI_REG8(0 x5287), 0 x40 }, { CCI_REG8(0 x5200), 0 x24 },
{ CCI_REG8(0 x5201), 0 x40 }, { CCI_REG8(0 x5202), 0 x1b },
{ CCI_REG8(0 x5203), 0 x40 }, { CCI_REG8(0 x481b), 0 x35 },
{ CCI_REG8(0 x4862), 0 x25 }, { CCI_REG8(0 x3400), 0 x00 },
{ CCI_REG8(0 x3421), 0 x23 }, { CCI_REG8(0 x3422), 0 xfc },
{ CCI_REG8(0 x3423), 0 x07 }, { CCI_REG8(0 x3424), 0 x01 },
{ CCI_REG8(0 x3425), 0 x04 }, { CCI_REG8(0 x3426), 0 x50 },
{ CCI_REG8(0 x3427), 0 x55 }, { CCI_REG8(0 x3428), 0 x15 },
{ CCI_REG8(0 x3429), 0 x00 }, { CCI_REG8(0 x3025), 0 x03 },
{ CCI_REG8(0 x5250), 0 x06 }, { CCI_REG8(0 x0305), 0 x98 },
{ CCI_REG8(0 x0306), 0 x04 }, { CCI_REG8(0 x0307), 0 x01 },
{ CCI_REG8(0 x4837), 0 x1a }, { CCI_REG8(0 x4888), 0 x10 },
{ CCI_REG8(0 x4860), 0 x00 }, { CCI_REG8(0 x4850), 0 x43 },
{ CCI_REG8(0 x480C), 0 x92 }, { CCI_REG8(0 x5001), 0 x21 }
};
static const struct cci_reg_sequence ov64a40_3840x2160[] = {
{ CCI_REG8(0 x034a), 0 x05 }, { CCI_REG8(0 x034b), 0 x05 },
{ CCI_REG8(0 x3504), 0 x08 }, { CCI_REG8(0 x360d), 0 x82 },
{ CCI_REG8(0 x368a), 0 x2e }, { CCI_REG8(0 x3712), 0 x50 },
{ CCI_REG8(0 x3822), 0 x00 }, { CCI_REG8(0 x3827), 0 x40 },
{ CCI_REG8(0 x383d), 0 x08 }, { CCI_REG8(0 x383f), 0 x00 },
{ CCI_REG8(0 x384c), 0 x02 }, { CCI_REG8(0 x384d), 0 xba },
{ CCI_REG8(0 x3852), 0 x00 }, { CCI_REG8(0 x3856), 0 x08 },
{ CCI_REG8(0 x3857), 0 x08 }, { CCI_REG8(0 x3858), 0 x10 },
{ CCI_REG8(0 x3859), 0 x10 }, { CCI_REG8(0 x4016), 0 x0f },
{ CCI_REG8(0 x4018), 0 x03 }, { CCI_REG8(0 x4504), 0 x1e },
{ CCI_REG8(0 x4523), 0 x41 }, { CCI_REG8(0 x45c0), 0 x01 },
{ CCI_REG8(0 x4641), 0 x12 }, { CCI_REG8(0 x4643), 0 x0c },
{ CCI_REG8(0 x4915), 0 x02 }, { CCI_REG8(0 x4916), 0 x1d },
{ CCI_REG8(0 x4a15), 0 x02 }, { CCI_REG8(0 x4a16), 0 x1d },
{ CCI_REG8(0 x3703), 0 x72 }, { CCI_REG8(0 x3709), 0 xe6 },
{ CCI_REG8(0 x3a60), 0 x68 }, { CCI_REG8(0 x3a6f), 0 x68 },
{ CCI_REG8(0 x3a5e), 0 xdc }, { CCI_REG8(0 x3a6d), 0 xdc },
{ CCI_REG8(0 x3721), 0 xc9 }, { CCI_REG8(0 x5250), 0 x06 },
{ CCI_REG8(0 x527a), 0 x00 }, { CCI_REG8(0 x527b), 0 x65 },
{ CCI_REG8(0 x527c), 0 x00 }, { CCI_REG8(0 x527d), 0 x82 },
{ CCI_REG8(0 x5280), 0 x24 }, { CCI_REG8(0 x5281), 0 x40 },
{ CCI_REG8(0 x5282), 0 x1b }, { CCI_REG8(0 x5283), 0 x40 },
{ CCI_REG8(0 x5284), 0 x24 }, { CCI_REG8(0 x5285), 0 x40 },
{ CCI_REG8(0 x5286), 0 x1b }, { CCI_REG8(0 x5287), 0 x40 },
{ CCI_REG8(0 x5200), 0 x24 }, { CCI_REG8(0 x5201), 0 x40 },
{ CCI_REG8(0 x5202), 0 x1b }, { CCI_REG8(0 x5203), 0 x40 },
{ CCI_REG8(0 x481b), 0 x35 }, { CCI_REG8(0 x4862), 0 x25 },
{ CCI_REG8(0 x3400), 0 x00 }, { CCI_REG8(0 x3421), 0 x23 },
{ CCI_REG8(0 x3422), 0 xfc }, { CCI_REG8(0 x3423), 0 x07 },
{ CCI_REG8(0 x3424), 0 x01 }, { CCI_REG8(0 x3425), 0 x04 },
{ CCI_REG8(0 x3426), 0 x50 }, { CCI_REG8(0 x3427), 0 x55 },
{ CCI_REG8(0 x3428), 0 x15 }, { CCI_REG8(0 x3429), 0 x00 },
{ CCI_REG8(0 x3025), 0 x03 }, { CCI_REG8(0 x5250), 0 x06 },
{ CCI_REG8(0 x0305), 0 x98 }, { CCI_REG8(0 x0306), 0 x04 },
{ CCI_REG8(0 x0345), 0 x90 }, { CCI_REG8(0 x0307), 0 x01 },
{ CCI_REG8(0 x4837), 0 x1a }, { CCI_REG8(0 x4888), 0 x10 },
{ CCI_REG8(0 x4860), 0 x00 }, { CCI_REG8(0 x4850), 0 x43 },
{ CCI_REG8(0 x480C), 0 x92 }, { CCI_REG8(0 x5001), 0 x21 },
{ CCI_REG8(0 x5000), 0 x01 }
};
static const struct cci_reg_sequence ov64a40_2312_1736[] = {
{ CCI_REG8(0 x034b), 0 x02 }, { CCI_REG8(0 x3504), 0 x08 },
{ CCI_REG8(0 x360d), 0 x82 }, { CCI_REG8(0 x368a), 0 x2e },
{ CCI_REG8(0 x3712), 0 x00 }, { CCI_REG8(0 x3822), 0 x08 },
{ CCI_REG8(0 x3827), 0 x40 }, { CCI_REG8(0 x383d), 0 x04 },
{ CCI_REG8(0 x383f), 0 x00 }, { CCI_REG8(0 x384c), 0 x01 },
{ CCI_REG8(0 x384d), 0 x12 }, { CCI_REG8(0 x3852), 0 x00 },
{ CCI_REG8(0 x3856), 0 x04 }, { CCI_REG8(0 x3857), 0 x04 },
{ CCI_REG8(0 x3858), 0 x08 }, { CCI_REG8(0 x3859), 0 x08 },
{ CCI_REG8(0 x4016), 0 x07 }, { CCI_REG8(0 x4018), 0 x01 },
{ CCI_REG8(0 x4504), 0 x00 }, { CCI_REG8(0 x4523), 0 x00 },
{ CCI_REG8(0 x45c0), 0 x01 }, { CCI_REG8(0 x4641), 0 x24 },
{ CCI_REG8(0 x4643), 0 x0c }, { CCI_REG8(0 x4837), 0 x0b },
{ CCI_REG8(0 x4915), 0 x02 }, { CCI_REG8(0 x4916), 0 x1d },
{ CCI_REG8(0 x4a15), 0 x02 }, { CCI_REG8(0 x4a16), 0 x1d },
{ CCI_REG8(0 x5000), 0 x55 }, { CCI_REG8(0 x5001), 0 x00 },
{ CCI_REG8(0 x5002), 0 x35 }, { CCI_REG8(0 x5004), 0 xc0 },
{ CCI_REG8(0 x5068), 0 x02 }, { CCI_REG8(0 x3703), 0 x6a },
{ CCI_REG8(0 x3709), 0 xa3 }, { CCI_REG8(0 x3a60), 0 x60 },
{ CCI_REG8(0 x3a6f), 0 x60 }, { CCI_REG8(0 x3a5e), 0 x99 },
{ CCI_REG8(0 x3a6d), 0 x99 }, { CCI_REG8(0 x3721), 0 xc1 },
{ CCI_REG8(0 x5250), 0 x06 }, { CCI_REG8(0 x527a), 0 x00 },
{ CCI_REG8(0 x527b), 0 x65 }, { CCI_REG8(0 x527c), 0 x00 },
{ CCI_REG8(0 x527d), 0 x82 }, { CCI_REG8(0 x5280), 0 x24 },
{ CCI_REG8(0 x5281), 0 x40 }, { CCI_REG8(0 x5282), 0 x1b },
{ CCI_REG8(0 x5283), 0 x40 }, { CCI_REG8(0 x5284), 0 x24 },
{ CCI_REG8(0 x5285), 0 x40 }, { CCI_REG8(0 x5286), 0 x1b },
{ CCI_REG8(0 x5287), 0 x40 }, { CCI_REG8(0 x5200), 0 x24 },
{ CCI_REG8(0 x5201), 0 x40 }, { CCI_REG8(0 x5202), 0 x1b },
{ CCI_REG8(0 x5203), 0 x40 }, { CCI_REG8(0 x3684), 0 x05 },
{ CCI_REG8(0 x481b), 0 x20 }, { CCI_REG8(0 x51b0), 0 x38 },
{ CCI_REG8(0 x51b3), 0 x0e }, { CCI_REG8(0 x51b5), 0 x04 },
{ CCI_REG8(0 x51b6), 0 x00 }, { CCI_REG8(0 x51b7), 0 x00 },
{ CCI_REG8(0 x51b9), 0 x70 }, { CCI_REG8(0 x51bb), 0 x10 },
{ CCI_REG8(0 x51bc), 0 x00 }, { CCI_REG8(0 x51bd), 0 x00 },
{ CCI_REG8(0 x51b0), 0 x38 }, { CCI_REG8(0 x54b0), 0 x38 },
{ CCI_REG8(0 x54b3), 0 x0e }, { CCI_REG8(0 x54b5), 0 x04 },
{ CCI_REG8(0 x54b6), 0 x00 }, { CCI_REG8(0 x54b7), 0 x00 },
{ CCI_REG8(0 x54b9), 0 x70 }, { CCI_REG8(0 x54bb), 0 x10 },
{ CCI_REG8(0 x54bc), 0 x00 }, { CCI_REG8(0 x54bd), 0 x00 },
{ CCI_REG8(0 x57b0), 0 x38 }, { CCI_REG8(0 x57b3), 0 x0e },
{ CCI_REG8(0 x57b5), 0 x04 }, { CCI_REG8(0 x57b6), 0 x00 },
{ CCI_REG8(0 x57b7), 0 x00 }, { CCI_REG8(0 x57b9), 0 x70 },
{ CCI_REG8(0 x57bb), 0 x10 }, { CCI_REG8(0 x57bc), 0 x00 },
{ CCI_REG8(0 x57bd), 0 x00 }, { CCI_REG8(0 x0305), 0 x98 },
{ CCI_REG8(0 x0306), 0 x04 }, { CCI_REG8(0 x0307), 0 x01 },
{ CCI_REG8(0 x4837), 0 x1a }, { CCI_REG8(0 x4888), 0 x10 },
{ CCI_REG8(0 x4860), 0 x00 }, { CCI_REG8(0 x4850), 0 x43 },
{ CCI_REG8(0 x480C), 0 x92 }
};
static const struct cci_reg_sequence ov64a40_1920x1080[] = {
{ CCI_REG8(0 x034b), 0 x02 }, { CCI_REG8(0 x3504), 0 x08 },
{ CCI_REG8(0 x360d), 0 x82 }, { CCI_REG8(0 x368a), 0 x2e },
{ CCI_REG8(0 x3712), 0 x00 }, { CCI_REG8(0 x3822), 0 x08 },
{ CCI_REG8(0 x3827), 0 x40 }, { CCI_REG8(0 x383d), 0 x04 },
{ CCI_REG8(0 x383f), 0 x00 }, { CCI_REG8(0 x384c), 0 x01 },
{ CCI_REG8(0 x384d), 0 x12 }, { CCI_REG8(0 x3852), 0 x00 },
{ CCI_REG8(0 x3856), 0 x04 }, { CCI_REG8(0 x3857), 0 x04 },
{ CCI_REG8(0 x3858), 0 x08 }, { CCI_REG8(0 x3859), 0 x08 },
{ CCI_REG8(0 x4016), 0 x07 }, { CCI_REG8(0 x4018), 0 x01 },
{ CCI_REG8(0 x4504), 0 x00 }, { CCI_REG8(0 x4523), 0 x00 },
{ CCI_REG8(0 x45c0), 0 x01 }, { CCI_REG8(0 x4641), 0 x24 },
{ CCI_REG8(0 x4643), 0 x0c }, { CCI_REG8(0 x4837), 0 x0b },
{ CCI_REG8(0 x4915), 0 x02 }, { CCI_REG8(0 x4916), 0 x1d },
{ CCI_REG8(0 x4a15), 0 x02 }, { CCI_REG8(0 x4a16), 0 x1d },
{ CCI_REG8(0 x5000), 0 x55 }, { CCI_REG8(0 x5001), 0 x00 },
{ CCI_REG8(0 x5002), 0 x35 }, { CCI_REG8(0 x5004), 0 xc0 },
{ CCI_REG8(0 x5068), 0 x02 }, { CCI_REG8(0 x3703), 0 x6a },
{ CCI_REG8(0 x3709), 0 xa3 }, { CCI_REG8(0 x3a60), 0 x60 },
{ CCI_REG8(0 x3a6f), 0 x60 }, { CCI_REG8(0 x3a5e), 0 x99 },
{ CCI_REG8(0 x3a6d), 0 x99 }, { CCI_REG8(0 x3721), 0 xc1 },
{ CCI_REG8(0 x5250), 0 x06 }, { CCI_REG8(0 x527a), 0 x00 },
{ CCI_REG8(0 x527b), 0 x65 }, { CCI_REG8(0 x527c), 0 x00 },
{ CCI_REG8(0 x527d), 0 x82 }, { CCI_REG8(0 x5280), 0 x24 },
{ CCI_REG8(0 x5281), 0 x40 }, { CCI_REG8(0 x5282), 0 x1b },
{ CCI_REG8(0 x5283), 0 x40 }, { CCI_REG8(0 x5284), 0 x24 },
{ CCI_REG8(0 x5285), 0 x40 }, { CCI_REG8(0 x5286), 0 x1b },
{ CCI_REG8(0 x5287), 0 x40 }, { CCI_REG8(0 x5200), 0 x24 },
{ CCI_REG8(0 x5201), 0 x40 }, { CCI_REG8(0 x5202), 0 x1b },
{ CCI_REG8(0 x5203), 0 x40 }, { CCI_REG8(0 x3684), 0 x05 },
{ CCI_REG8(0 x481b), 0 x20 }, { CCI_REG8(0 x51b0), 0 x38 },
{ CCI_REG8(0 x51b3), 0 x0e }, { CCI_REG8(0 x51b5), 0 x04 },
{ CCI_REG8(0 x51b6), 0 x00 }, { CCI_REG8(0 x51b7), 0 x00 },
{ CCI_REG8(0 x51b9), 0 x70 }, { CCI_REG8(0 x51bb), 0 x10 },
{ CCI_REG8(0 x51bc), 0 x00 }, { CCI_REG8(0 x51bd), 0 x00 },
{ CCI_REG8(0 x51b0), 0 x38 }, { CCI_REG8(0 x54b0), 0 x38 },
{ CCI_REG8(0 x54b3), 0 x0e }, { CCI_REG8(0 x54b5), 0 x04 },
{ CCI_REG8(0 x54b6), 0 x00 }, { CCI_REG8(0 x54b7), 0 x00 },
{ CCI_REG8(0 x54b9), 0 x70 }, { CCI_REG8(0 x54bb), 0 x10 },
{ CCI_REG8(0 x54bc), 0 x00 }, { CCI_REG8(0 x54bd), 0 x00 },
{ CCI_REG8(0 x57b0), 0 x38 }, { CCI_REG8(0 x57b3), 0 x0e },
{ CCI_REG8(0 x57b5), 0 x04 }, { CCI_REG8(0 x57b6), 0 x00 },
{ CCI_REG8(0 x57b7), 0 x00 }, { CCI_REG8(0 x57b9), 0 x70 },
{ CCI_REG8(0 x57bb), 0 x10 }, { CCI_REG8(0 x57bc), 0 x00 },
{ CCI_REG8(0 x57bd), 0 x00 }, { CCI_REG8(0 x0305), 0 x98 },
{ CCI_REG8(0 x0306), 0 x04 }, { CCI_REG8(0 x0307), 0 x01 },
{ CCI_REG8(0 x4837), 0 x1a }, { CCI_REG8(0 x4888), 0 x10 },
{ CCI_REG8(0 x4860), 0 x00 }, { CCI_REG8(0 x4850), 0 x43 },
{ CCI_REG8(0 x480C), 0 x92 }
};
/* 456MHz MIPI link frequency with 24MHz input clock. */
static const struct cci_reg_sequence ov64a40_pll_config[] = {
{ OV64A40_PLL1_PRE_DIV0, 0 x88 },
{ OV64A40_PLL1_PRE_DIV, 0 x02 },
{ OV64A40_PLL1_MULTIPLIER, 0 x0098 },
{ OV64A40_PLL1_M_DIV, 0 x01 },
{ OV64A40_PLL2_SEL_BAK_SA1, 0 x00 },
{ OV64A40_PLL2_PRE_DIV, 0 x12 },
{ OV64A40_PLL2_MULTIPLIER, 0 x0190 },
{ OV64A40_PLL2_PRE_DIV0, 0 xd7 },
{ OV64A40_PLL2_DIVSP, 0 x00 },
{ OV64A40_PLL2_DIVDAC, 0 x00 },
{ OV64A40_PLL2_DACPREDIV, 0 x00 }
};
struct ov64a40_reglist {
unsigned int num_regs;
const struct cci_reg_sequence *regvals;
};
struct ov64a40_subsampling {
unsigned int x_odd_inc;
unsigned int x_even_inc;
unsigned int y_odd_inc;
unsigned int y_even_inc;
bool vbin;
bool hbin;
};
static struct ov64a40_mode {
unsigned int width;
unsigned int height;
struct ov64a40_timings {
unsigned int vts;
unsigned int ppl;
} timings_default[OV64A40_NUM_LINK_FREQ];
const struct ov64a40_reglist reglist;
struct v4l2_rect analogue_crop;
struct v4l2_rect digital_crop;
struct ov64a40_subsampling subsampling;
} ov64a40_modes[] = {
/* Full resolution */
{
.width = 9248 ,
.height = 6944 ,
.timings_default = {
/* 2.6 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 7072 ,
.ppl = 4072 ,
},
/* 2 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 7072 ,
.ppl = 5248 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_9248x6944),
.regvals = ov64a40_9248x6944,
},
.analogue_crop = {
.left = 0 ,
.top = 0 ,
.width = 9280 ,
.height = 6976 ,
},
.digital_crop = {
.left = 17 ,
.top = 16 ,
.width = 9248 ,
.height = 6944 ,
},
.subsampling = {
.x_odd_inc = 1 ,
.x_even_inc = 1 ,
.y_odd_inc = 1 ,
.y_even_inc = 1 ,
.vbin = false ,
.hbin = false ,
},
},
/* Analogue crop + digital crop */
{
.width = 8000 ,
.height = 6000 ,
.timings_default = {
/* 3.0 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 6400 ,
.ppl = 3848 ,
},
/* 2.5 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 6304 ,
.ppl = 4736 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_8000x6000),
.regvals = ov64a40_8000x6000,
},
.analogue_crop = {
.left = 624 ,
.top = 472 ,
.width = 8048 ,
.height = 6032 ,
},
.digital_crop = {
.left = 17 ,
.top = 16 ,
.width = 8000 ,
.height = 6000 ,
},
.subsampling = {
.x_odd_inc = 1 ,
.x_even_inc = 1 ,
.y_odd_inc = 1 ,
.y_even_inc = 1 ,
.vbin = false ,
.hbin = false ,
},
},
/* 2x2 downscaled */
{
.width = 4624 ,
.height = 3472 ,
.timings_default = {
/* 10 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 3533 ,
.ppl = 2112 ,
},
/* 7 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 3939 ,
.ppl = 2720 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_4624_3472),
.regvals = ov64a40_4624_3472,
},
.analogue_crop = {
.left = 0 ,
.top = 0 ,
.width = 9280 ,
.height = 6976 ,
},
.digital_crop = {
.left = 9 ,
.top = 8 ,
.width = 4624 ,
.height = 3472 ,
},
.subsampling = {
.x_odd_inc = 3 ,
.x_even_inc = 1 ,
.y_odd_inc = 1 ,
.y_even_inc = 1 ,
.vbin = true ,
.hbin = false ,
},
},
/* Analogue crop + 2x2 downscale + digital crop */
{
.width = 3840 ,
.height = 2160 ,
.timings_default = {
/* 20 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 2218 ,
.ppl = 1690 ,
},
/* 15 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 2270 ,
.ppl = 2202 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_3840x2160),
.regvals = ov64a40_3840x2160,
},
.analogue_crop = {
.left = 784 ,
.top = 1312 ,
.width = 7712 ,
.height = 4352 ,
},
.digital_crop = {
.left = 9 ,
.top = 8 ,
.width = 3840 ,
.height = 2160 ,
},
.subsampling = {
.x_odd_inc = 3 ,
.x_even_inc = 1 ,
.y_odd_inc = 1 ,
.y_even_inc = 1 ,
.vbin = true ,
.hbin = false ,
},
},
/* 4x4 downscaled */
{
.width = 2312 ,
.height = 1736 ,
.timings_default = {
/* 30 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 1998 ,
.ppl = 1248 ,
},
/* 25 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 1994 ,
.ppl = 1504 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_2312_1736),
.regvals = ov64a40_2312_1736,
},
.analogue_crop = {
.left = 0 ,
.top = 0 ,
.width = 9280 ,
.height = 6976 ,
},
.digital_crop = {
.left = 5 ,
.top = 4 ,
.width = 2312 ,
.height = 1736 ,
},
.subsampling = {
.x_odd_inc = 3 ,
.x_even_inc = 1 ,
.y_odd_inc = 3 ,
.y_even_inc = 1 ,
.vbin = true ,
.hbin = true ,
},
},
/* Analogue crop + 4x4 downscale + digital crop */
{
.width = 1920 ,
.height = 1080 ,
.timings_default = {
/* 60 FPS */
[OV64A40_LINK_FREQ_456M_ID] = {
.vts = 1397 ,
.ppl = 880 ,
},
/* 45 FPS */
[OV64A40_LINK_FREQ_360M_ID] = {
.vts = 1216 ,
.ppl = 1360 ,
},
},
.reglist = {
.num_regs = ARRAY_SIZE(ov64a40_1920x1080),
.regvals = ov64a40_1920x1080,
},
.analogue_crop = {
.left = 784 ,
.top = 1312 ,
.width = 7712 ,
.height = 4352 ,
},
.digital_crop = {
.left = 7 ,
.top = 6 ,
.width = 1920 ,
.height = 1080 ,
},
.subsampling = {
.x_odd_inc = 3 ,
.x_even_inc = 1 ,
.y_odd_inc = 3 ,
.y_even_inc = 1 ,
.vbin = true ,
.hbin = true ,
},
},
};
struct ov64a40 {
struct device *dev;
struct v4l2_subdev sd;
struct media_pad pad;
struct regmap *cci;
struct ov64a40_mode *mode;
struct clk *xclk;
struct gpio_desc *reset_gpio;
struct regulator_bulk_data supplies[ARRAY_SIZE(ov64a40_supply_names)];
s64 *link_frequencies;
unsigned int num_link_frequencies;
struct v4l2_ctrl_handler ctrl_handler;
struct v4l2_ctrl *exposure;
struct v4l2_ctrl *link_freq;
struct v4l2_ctrl *vblank;
struct v4l2_ctrl *hblank;
struct v4l2_ctrl *vflip;
struct v4l2_ctrl *hflip;
};
static inline struct ov64a40 *sd_to_ov64a40(struct v4l2_subdev *sd)
{
return container_of_const(sd, struct ov64a40, sd);
}
static const struct ov64a40_timings *
ov64a40_get_timings(struct ov64a40 *ov64a40, unsigned int link_freq_index)
{
s64 link_freq = ov64a40->link_frequencies[link_freq_index];
unsigned int timings_index = link_freq == OV64A40_LINK_FREQ_360M
? OV64A40_LINK_FREQ_360M_ID
: OV64A40_LINK_FREQ_456M_ID;
return &ov64a40->mode->timings_default[timings_index];
}
static int ov64a40_program_geometry(struct ov64a40 *ov64a40)
{
struct ov64a40_mode *mode = ov64a40->mode;
struct v4l2_rect *anacrop = &mode->analogue_crop;
struct v4l2_rect *digicrop = &mode->digital_crop;
const struct ov64a40_timings *timings;
int ret = 0 ;
/* Analogue crop. */
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL0,
anacrop->left, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL2,
anacrop->top, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL4,
anacrop->width + anacrop->left - 1 , &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL6,
anacrop->height + anacrop->top - 1 , &ret);
/* ISP windowing. */
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL10,
digicrop->left, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL12,
digicrop->top, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL8,
digicrop->width, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRLA,
digicrop->height, &ret);
/* Total timings. */
timings = ov64a40_get_timings(ov64a40, ov64a40->link_freq->cur.val);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRLC, timings->ppl, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRLE, timings->vts, &ret);
return ret;
}
static int ov64a40_program_subsampling(struct ov64a40 *ov64a40)
{
struct ov64a40_subsampling *subsampling = &ov64a40->mode->subsampling;
int ret = 0 ;
/* Skipping configuration */
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL14,
OV64A40_SKIPPING_CONFIG(subsampling->x_odd_inc,
subsampling->x_even_inc), &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMING_CTRL15,
OV64A40_SKIPPING_CONFIG(subsampling->y_odd_inc,
subsampling->y_even_inc), &ret);
/* Binning configuration */
cci_update_bits(ov64a40->cci, OV64A40_REG_TIMING_CTRL_20,
OV64A40_TIMING_CTRL_20_VBIN,
subsampling->vbin ? OV64A40_TIMING_CTRL_20_VBIN : 0 ,
&ret);
cci_update_bits(ov64a40->cci, OV64A40_REG_TIMING_CTRL_21,
OV64A40_TIMING_CTRL_21_HBIN_CONF,
subsampling->hbin ?
OV64A40_TIMING_CTRL_21_HBIN_CONF : 0 , &ret);
return ret;
}
static int ov64a40_start_streaming(struct ov64a40 *ov64a40,
struct v4l2_subdev_state *state)
{
const struct ov64a40_reglist *reglist = &ov64a40->mode->reglist;
const struct ov64a40_timings *timings;
unsigned long delay;
int ret;
ret = pm_runtime_resume_and_get(ov64a40->dev);
if (ret < 0 )
return ret;
ret = cci_multi_reg_write(ov64a40->cci, ov64a40_init,
ARRAY_SIZE(ov64a40_init), NULL);
if (ret)
goto error_power_off;
ret = cci_multi_reg_write(ov64a40->cci, reglist->regvals,
reglist->num_regs, NULL);
if (ret)
goto error_power_off;
ret = ov64a40_program_geometry(ov64a40);
if (ret)
goto error_power_off;
ret = ov64a40_program_subsampling(ov64a40);
if (ret)
goto error_power_off;
ret = __v4l2_ctrl_handler_setup(&ov64a40->ctrl_handler);
if (ret)
goto error_power_off;
ret = cci_write(ov64a40->cci, OV64A40_REG_SMIA,
OV64A40_REG_SMIA_STREAMING, NULL);
if (ret)
goto error_power_off;
/* Link frequency and flips cannot change while streaming. */
__v4l2_ctrl_grab(ov64a40->link_freq, true );
__v4l2_ctrl_grab(ov64a40->vflip, true );
__v4l2_ctrl_grab(ov64a40->hflip, true );
/* delay: max(4096 xclk pulses, 150usec) + exposure time */
timings = ov64a40_get_timings(ov64a40, ov64a40->link_freq->cur.val);
delay = DIV_ROUND_UP(4096 , OV64A40_XCLK_FREQ / 1000 / 1000 );
delay = max(delay, 150 ul);
/* The sensor has an internal x4 multiplier on the line length. */
delay += DIV_ROUND_UP(timings->ppl * 4 * ov64a40->exposure->cur.val,
OV64A40_PIXEL_RATE / 1000 / 1000 );
fsleep(delay);
return 0 ;
error_power_off:
pm_runtime_put_autosuspend(ov64a40->dev);
return ret;
}
static int ov64a40_stop_streaming(struct ov64a40 *ov64a40,
struct v4l2_subdev_state *state)
{
cci_update_bits(ov64a40->cci, OV64A40_REG_SMIA, BIT(0 ), 0 , NULL);
pm_runtime_put_autosuspend(ov64a40->dev);
__v4l2_ctrl_grab(ov64a40->link_freq, false );
__v4l2_ctrl_grab(ov64a40->vflip, false );
__v4l2_ctrl_grab(ov64a40->hflip, false );
return 0 ;
}
static int ov64a40_set_stream(struct v4l2_subdev *sd, int enable)
{
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
struct v4l2_subdev_state *state;
int ret;
state = v4l2_subdev_lock_and_get_active_state(sd);
if (enable)
ret = ov64a40_start_streaming(ov64a40, state);
else
ret = ov64a40_stop_streaming(ov64a40, state);
v4l2_subdev_unlock_state(state);
return ret;
}
static const struct v4l2_subdev_video_ops ov64a40_video_ops = {
.s_stream = ov64a40_set_stream,
};
static u32 ov64a40_mbus_code(struct ov64a40 *ov64a40)
{
unsigned int index = ov64a40->hflip->val << 1 | ov64a40->vflip->val;
return ov64a40_mbus_codes[index];
}
static void ov64a40_update_pad_fmt(struct ov64a40 *ov64a40,
struct ov64a40_mode *mode,
struct v4l2_mbus_framefmt *fmt)
{
fmt->code = ov64a40_mbus_code(ov64a40);
fmt->width = mode->width;
fmt->height = mode->height;
fmt->field = V4L2_FIELD_NONE;
fmt->colorspace = V4L2_COLORSPACE_RAW;
fmt->quantization = V4L2_QUANTIZATION_FULL_RANGE;
fmt->xfer_func = V4L2_XFER_FUNC_NONE;
fmt->ycbcr_enc = V4L2_YCBCR_ENC_601;
}
static int ov64a40_init_state(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state)
{
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
struct v4l2_mbus_framefmt *format;
struct v4l2_rect *crop;
format = v4l2_subdev_state_get_format(state, 0 );
ov64a40_update_pad_fmt(ov64a40, &ov64a40_modes[0 ], format);
crop = v4l2_subdev_state_get_crop(state, 0 );
crop->top = OV64A40_PIXEL_ARRAY_TOP;
crop->left = OV64A40_PIXEL_ARRAY_LEFT;
crop->width = OV64A40_PIXEL_ARRAY_WIDTH;
crop->height = OV64A40_PIXEL_ARRAY_HEIGHT;
return 0 ;
}
static int ov64a40_enum_mbus_code(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state,
struct v4l2_subdev_mbus_code_enum *code)
{
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
if (code->index)
return -EINVAL;
code->code = ov64a40_mbus_code(ov64a40);
return 0 ;
}
static int ov64a40_enum_frame_size(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state,
struct v4l2_subdev_frame_size_enum *fse)
{
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
struct ov64a40_mode *mode;
u32 code;
if (fse->index >= ARRAY_SIZE(ov64a40_modes))
return -EINVAL;
code = ov64a40_mbus_code(ov64a40);
if (fse->code != code)
return -EINVAL;
mode = &ov64a40_modes[fse->index];
fse->min_width = mode->width;
fse->max_width = mode->width;
fse->min_height = mode->height;
fse->max_height = mode->height;
return 0 ;
}
static int ov64a40_get_selection(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state,
struct v4l2_subdev_selection *sel)
{
switch (sel->target) {
case V4L2_SEL_TGT_CROP:
sel->r = *v4l2_subdev_state_get_crop(state, 0 );
return 0 ;
case V4L2_SEL_TGT_NATIVE_SIZE:
sel->r.top = 0 ;
sel->r.left = 0 ;
sel->r.width = OV64A40_NATIVE_WIDTH;
sel->r.height = OV64A40_NATIVE_HEIGHT;
return 0 ;
case V4L2_SEL_TGT_CROP_DEFAULT:
case V4L2_SEL_TGT_CROP_BOUNDS:
sel->r.top = OV64A40_PIXEL_ARRAY_TOP;
sel->r.left = OV64A40_PIXEL_ARRAY_LEFT;
sel->r.width = OV64A40_PIXEL_ARRAY_WIDTH;
sel->r.height = OV64A40_PIXEL_ARRAY_HEIGHT;
return 0 ;
}
return -EINVAL;
}
static int ov64a40_set_format(struct v4l2_subdev *sd,
struct v4l2_subdev_state *state,
struct v4l2_subdev_format *fmt)
{
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
struct v4l2_mbus_framefmt *format;
struct ov64a40_mode *mode;
mode = v4l2_find_nearest_size(ov64a40_modes,
ARRAY_SIZE(ov64a40_modes),
width, height,
fmt->format.width, fmt->format.height);
ov64a40_update_pad_fmt(ov64a40, mode, &fmt->format);
format = v4l2_subdev_state_get_format(state, 0 );
if (ov64a40->mode == mode && format->code == fmt->format.code)
return 0 ;
if (fmt->which == V4L2_SUBDEV_FORMAT_ACTIVE) {
const struct ov64a40_timings *timings;
int vblank_max, vblank_def;
int hblank_val;
int exp_max;
ov64a40->mode = mode;
*v4l2_subdev_state_get_crop(state, 0 ) = mode->analogue_crop;
/* Update control limits according to the new mode. */
timings = ov64a40_get_timings(ov64a40,
ov64a40->link_freq->cur.val);
vblank_max = OV64A40_VTS_MAX - mode->height;
vblank_def = timings->vts - mode->height;
__v4l2_ctrl_modify_range(ov64a40->vblank, OV64A40_VBLANK_MIN,
vblank_max, 1 , vblank_def);
__v4l2_ctrl_s_ctrl(ov64a40->vblank, vblank_def);
exp_max = timings->vts - OV64A40_EXPOSURE_MARGIN;
__v4l2_ctrl_modify_range(ov64a40->exposure,
OV64A40_EXPOSURE_MIN, exp_max,
1 , OV64A40_EXPOSURE_MIN);
hblank_val = timings->ppl * 4 - mode->width;
__v4l2_ctrl_modify_range(ov64a40->hblank,
hblank_val, hblank_val, 1 , hblank_val);
}
*format = fmt->format;
return 0 ;
}
static const struct v4l2_subdev_pad_ops ov64a40_pad_ops = {
.enum_mbus_code = ov64a40_enum_mbus_code,
.enum_frame_size = ov64a40_enum_frame_size,
.get_fmt = v4l2_subdev_get_fmt,
.set_fmt = ov64a40_set_format,
.get_selection = ov64a40_get_selection,
};
static const struct v4l2_subdev_ops ov64a40_subdev_ops = {
.video = &ov64a40_video_ops,
.pad = &ov64a40_pad_ops,
};
static const struct v4l2_subdev_internal_ops ov64a40_internal_ops = {
.init_state = ov64a40_init_state,
};
static int ov64a40_power_on(struct device *dev)
{
struct v4l2_subdev *sd = dev_get_drvdata(dev);
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
int ret;
ret = clk_prepare_enable(ov64a40->xclk);
if (ret)
return ret;
ret = regulator_bulk_enable(ARRAY_SIZE(ov64a40_supply_names),
ov64a40->supplies);
if (ret) {
clk_disable_unprepare(ov64a40->xclk);
dev_err(dev, "Failed to enable regulators: %d\n" , ret);
return ret;
}
gpiod_set_value_cansleep(ov64a40->reset_gpio, 0 );
fsleep(5000 );
return 0 ;
}
static int ov64a40_power_off(struct device *dev)
{
struct v4l2_subdev *sd = dev_get_drvdata(dev);
struct ov64a40 *ov64a40 = sd_to_ov64a40(sd);
gpiod_set_value_cansleep(ov64a40->reset_gpio, 1 );
regulator_bulk_disable(ARRAY_SIZE(ov64a40_supply_names),
ov64a40->supplies);
clk_disable_unprepare(ov64a40->xclk);
return 0 ;
}
static int ov64a40_link_freq_config(struct ov64a40 *ov64a40, int link_freq_id)
{
s64 link_frequency;
int ret = 0 ;
/* Default 456MHz with 24MHz input clock. */
cci_multi_reg_write(ov64a40->cci, ov64a40_pll_config,
ARRAY_SIZE(ov64a40_pll_config), &ret);
/* Decrease the PLL1 multiplier to obtain 360MHz mipi link frequency. */
link_frequency = ov64a40->link_frequencies[link_freq_id];
if (link_frequency == OV64A40_LINK_FREQ_360M)
cci_write(ov64a40->cci, OV64A40_PLL1_MULTIPLIER, 0 x0078, &ret);
return ret;
}
static int ov64a40_set_ctrl(struct v4l2_ctrl *ctrl)
{
struct ov64a40 *ov64a40 = container_of(ctrl->handler, struct ov64a40,
ctrl_handler);
int pm_status;
int ret = 0 ;
if (ctrl->id == V4L2_CID_VBLANK) {
int exp_max = ov64a40->mode->height + ctrl->val
- OV64A40_EXPOSURE_MARGIN;
int exp_val = min(ov64a40->exposure->cur.val, exp_max);
__v4l2_ctrl_modify_range(ov64a40->exposure,
ov64a40->exposure->minimum,
exp_max, 1 , exp_val);
}
pm_status = pm_runtime_get_if_active(ov64a40->dev);
if (!pm_status)
return 0 ;
switch (ctrl->id) {
case V4L2_CID_EXPOSURE:
ret = cci_write(ov64a40->cci, OV64A40_REG_MEC_LONG_EXPO,
ctrl->val, NULL);
break ;
case V4L2_CID_ANALOGUE_GAIN:
ret = cci_write(ov64a40->cci, OV64A40_REG_MEC_LONG_GAIN,
ctrl->val << 1 , NULL);
break ;
case V4L2_CID_VBLANK: {
int vts = ctrl->val + ov64a40->mode->height;
cci_write(ov64a40->cci, OV64A40_REG_TIMINGS_VTS_LOW, vts, &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMINGS_VTS_MID,
(vts >> 8 ), &ret);
cci_write(ov64a40->cci, OV64A40_REG_TIMINGS_VTS_HIGH,
(vts >> 16 ), &ret);
break ;
}
case V4L2_CID_VFLIP:
ret = cci_update_bits(ov64a40->cci, OV64A40_REG_TIMING_CTRL_20,
OV64A40_TIMING_CTRL_20_VFLIP,
ctrl->val << 2 ,
NULL);
break ;
case V4L2_CID_HFLIP:
ret = cci_update_bits(ov64a40->cci, OV64A40_REG_TIMING_CTRL_21,
OV64A40_TIMING_CTRL_21_HFLIP,
ctrl->val ? 0
: OV64A40_TIMING_CTRL_21_HFLIP,
NULL);
break ;
case V4L2_CID_TEST_PATTERN:
ret = cci_write(ov64a40->cci, OV64A40_REG_TEST_PATTERN,
ov64a40_test_pattern_val[ctrl->val], NULL);
break ;
case V4L2_CID_LINK_FREQ:
ret = ov64a40_link_freq_config(ov64a40, ctrl->val);
break ;
default :
dev_err(ov64a40->dev, "Unhandled control: %#x\n" , ctrl->id);
ret = -EINVAL;
break ;
}
if (pm_status > 0 )
pm_runtime_put_autosuspend(ov64a40->dev);
return ret;
}
static const struct v4l2_ctrl_ops ov64a40_ctrl_ops = {
.s_ctrl = ov64a40_set_ctrl,
};
static int ov64a40_init_controls(struct ov64a40 *ov64a40)
{
int exp_max, hblank_val, vblank_max, vblank_def;
struct v4l2_ctrl_handler *hdlr = &ov64a40->ctrl_handler;
struct v4l2_fwnode_device_properties props;
const struct ov64a40_timings *timings;
int ret;
ret = v4l2_ctrl_handler_init(hdlr, 11 );
if (ret)
return ret;
v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops, V4L2_CID_PIXEL_RATE,
OV64A40_PIXEL_RATE, OV64A40_PIXEL_RATE, 1 ,
OV64A40_PIXEL_RATE);
ov64a40->link_freq =
v4l2_ctrl_new_int_menu(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_LINK_FREQ,
ov64a40->num_link_frequencies - 1 ,
0 , ov64a40->link_frequencies);
v4l2_ctrl_new_std_menu_items(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_TEST_PATTERN,
ARRAY_SIZE(ov64a40_test_pattern_menu) - 1 ,
0 , 0 , ov64a40_test_pattern_menu);
timings = ov64a40_get_timings(ov64a40, 0 );
exp_max = timings->vts - OV64A40_EXPOSURE_MARGIN;
ov64a40->exposure = v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_EXPOSURE,
OV64A40_EXPOSURE_MIN, exp_max, 1 ,
OV64A40_EXPOSURE_MIN);
hblank_val = timings->ppl * 4 - ov64a40->mode->width;
ov64a40->hblank = v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_HBLANK, hblank_val,
hblank_val, 1 , hblank_val);
if (ov64a40->hblank)
ov64a40->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
vblank_def = timings->vts - ov64a40->mode->height;
vblank_max = OV64A40_VTS_MAX - ov64a40->mode->height;
ov64a40->vblank = v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_VBLANK, OV64A40_VBLANK_MIN,
vblank_max, 1 , vblank_def);
v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops, V4L2_CID_ANALOGUE_GAIN,
OV64A40_ANA_GAIN_MIN, OV64A40_ANA_GAIN_MAX, 1 ,
OV64A40_ANA_GAIN_DEFAULT);
ov64a40->hflip = v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_HFLIP, 0 , 1 , 1 , 0 );
if (ov64a40->hflip)
ov64a40->hflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
ov64a40->vflip = v4l2_ctrl_new_std(hdlr, &ov64a40_ctrl_ops,
V4L2_CID_VFLIP, 0 , 1 , 1 , 0 );
if (ov64a40->vflip)
ov64a40->vflip->flags |= V4L2_CTRL_FLAG_MODIFY_LAYOUT;
if (hdlr->error) {
ret = hdlr->error;
dev_err(ov64a40->dev, "control init failed: %d\n" , ret);
goto error_free_hdlr;
}
ret = v4l2_fwnode_device_parse(ov64a40->dev, &props);
if (ret)
goto error_free_hdlr;
ret = v4l2_ctrl_new_fwnode_properties(hdlr, &ov64a40_ctrl_ops,
&props);
if (ret)
goto error_free_hdlr;
ov64a40->sd.ctrl_handler = hdlr;
return 0 ;
error_free_hdlr:
v4l2_ctrl_handler_free(hdlr);
return ret;
}
static int ov64a40_identify(struct ov64a40 *ov64a40)
{
int ret;
u64 id;
ret = cci_read(ov64a40->cci, OV64A40_REG_CHIP_ID, &id, NULL);
if (ret) {
dev_err(ov64a40->dev, "Failed to read chip id: %d\n" , ret);
return ret;
}
if (id != OV64A40_CHIP_ID) {
dev_err(ov64a40->dev, "chip id mismatch: %#llx\n" , id);
return -ENODEV;
}
dev_dbg(ov64a40->dev, "OV64A40 chip identified: %#llx\n" , id);
return 0 ;
}
static int ov64a40_parse_dt(struct ov64a40 *ov64a40)
{
struct v4l2_fwnode_endpoint v4l2_fwnode = {
.bus_type = V4L2_MBUS_CSI2_DPHY
};
struct fwnode_handle *endpoint;
unsigned int i;
int ret;
endpoint = fwnode_graph_get_next_endpoint(dev_fwnode(ov64a40->dev),
NULL);
if (!endpoint) {
dev_err(ov64a40->dev, "Failed to find endpoint\n" );
return -EINVAL;
}
ret = v4l2_fwnode_endpoint_alloc_parse(endpoint, &v4l2_fwnode);
fwnode_handle_put(endpoint);
if (ret) {
dev_err(ov64a40->dev, "Failed to parse endpoint\n" );
return ret;
}
if (v4l2_fwnode.bus.mipi_csi2.num_data_lanes != 2 ) {
dev_err(ov64a40->dev, "Unsupported number of data lanes: %u\n" ,
v4l2_fwnode.bus.mipi_csi2.num_data_lanes);
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return -EINVAL;
}
if (!v4l2_fwnode.nr_of_link_frequencies) {
dev_warn(ov64a40->dev, "no link frequencies defined\n" );
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return -EINVAL;
}
if (v4l2_fwnode.nr_of_link_frequencies > 2 ) {
dev_warn(ov64a40->dev,
"Unsupported number of link frequencies\n" );
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return -EINVAL;
}
ov64a40->link_frequencies =
devm_kcalloc(ov64a40->dev, v4l2_fwnode.nr_of_link_frequencies,
sizeof (v4l2_fwnode.link_frequencies[0 ]),
GFP_KERNEL);
if (!ov64a40->link_frequencies) {
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return -ENOMEM;
}
ov64a40->num_link_frequencies = v4l2_fwnode.nr_of_link_frequencies;
for (i = 0 ; i < v4l2_fwnode.nr_of_link_frequencies; ++i) {
if (v4l2_fwnode.link_frequencies[i] != OV64A40_LINK_FREQ_360M &&
v4l2_fwnode.link_frequencies[i] != OV64A40_LINK_FREQ_456M) {
dev_err(ov64a40->dev,
"Unsupported link frequency %lld\n" ,
v4l2_fwnode.link_frequencies[i]);
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return -EINVAL;
}
ov64a40->link_frequencies[i] = v4l2_fwnode.link_frequencies[i];
}
v4l2_fwnode_endpoint_free(&v4l2_fwnode);
return 0 ;
}
static int ov64a40_get_regulators(struct ov64a40 *ov64a40)
{
struct i2c_client *client = v4l2_get_subdevdata(&ov64a40->sd);
unsigned int i;
for (i = 0 ; i < ARRAY_SIZE(ov64a40_supply_names); i++)
ov64a40->supplies[i].supply = ov64a40_supply_names[i];
return devm_regulator_bulk_get(&client->dev,
ARRAY_SIZE(ov64a40_supply_names),
ov64a40->supplies);
}
static int ov64a40_probe(struct i2c_client *client)
{
struct ov64a40 *ov64a40;
u32 xclk_freq;
int ret;
ov64a40 = devm_kzalloc(&client->dev, sizeof (*ov64a40), GFP_KERNEL);
if (!ov64a40)
return -ENOMEM;
ov64a40->dev = &client->dev;
v4l2_i2c_subdev_init(&ov64a40->sd, client, &ov64a40_subdev_ops);
ov64a40->cci = devm_cci_regmap_init_i2c(client, 16 );
if (IS_ERR(ov64a40->cci)) {
dev_err(&client->dev, "Failed to initialize CCI\n" );
return PTR_ERR(ov64a40->cci);
}
ov64a40->xclk = devm_clk_get(&client->dev, NULL);
if (IS_ERR(ov64a40->xclk))
return dev_err_probe(&client->dev, PTR_ERR(ov64a40->xclk),
"Failed to get clock\n" );
xclk_freq = clk_get_rate(ov64a40->xclk);
if (xclk_freq != OV64A40_XCLK_FREQ) {
dev_err(&client->dev, "Unsupported xclk frequency %u\n" ,
xclk_freq);
return -EINVAL;
}
ret = ov64a40_get_regulators(ov64a40);
if (ret)
return ret;
ov64a40->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset" ,
GPIOD_OUT_LOW);
if (IS_ERR(ov64a40->reset_gpio))
return dev_err_probe(&client->dev, PTR_ERR(ov64a40->reset_gpio),
"Failed to get reset gpio\n" );
ret = ov64a40_parse_dt(ov64a40);
if (ret)
return ret;
ret = ov64a40_power_on(&client->dev);
if (ret)
return ret;
ret = ov64a40_identify(ov64a40);
if (ret)
goto error_poweroff;
ov64a40->mode = &ov64a40_modes[0 ];
pm_runtime_set_active(&client->dev);
pm_runtime_get_noresume(&client->dev);
pm_runtime_enable(&client->dev);
pm_runtime_set_autosuspend_delay(&client->dev, 1000 );
pm_runtime_use_autosuspend(&client->dev);
ret = ov64a40_init_controls(ov64a40);
if (ret)
goto error_poweroff;
/* Initialize subdev */
ov64a40->sd.internal_ops = &ov64a40_internal_ops;
ov64a40->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
ov64a40->sd.entity.function = MEDIA_ENT_F_CAM_SENSOR;
ov64a40->pad.flags = MEDIA_PAD_FL_SOURCE;
ret = media_entity_pads_init(&ov64a40->sd.entity, 1 , &ov64a40->pad);
if (ret) {
dev_err(&client->dev, "failed to init entity pads: %d\n" , ret);
goto error_handler_free;
}
ov64a40->sd.state_lock = ov64a40->ctrl_handler.lock;
ret = v4l2_subdev_init_finalize(&ov64a40->sd);
if (ret < 0 ) {
dev_err(&client->dev, "subdev init error: %d\n" , ret);
goto error_media_entity;
}
ret = v4l2_async_register_subdev_sensor(&ov64a40->sd);
if (ret < 0 ) {
dev_err(&client->dev,
"failed to register sensor sub-device: %d\n" , ret);
goto error_subdev_cleanup;
}
pm_runtime_put_autosuspend(&client->dev);
return 0 ;
error_subdev_cleanup:
v4l2_subdev_cleanup(&ov64a40->sd);
error_media_entity:
media_entity_cleanup(&ov64a40->sd.entity);
error_handler_free:
v4l2_ctrl_handler_free(ov64a40->sd.ctrl_handler);
error_poweroff:
ov64a40_power_off(&client->dev);
pm_runtime_set_suspended(&client->dev);
return ret;
}
static void ov64a40_remove(struct i2c_client *client)
{
struct v4l2_subdev *sd = i2c_get_clientdata(client);
v4l2_async_unregister_subdev(sd);
v4l2_subdev_cleanup(sd);
media_entity_cleanup(&sd->entity);
v4l2_ctrl_handler_free(sd->ctrl_handler);
pm_runtime_disable(&client->dev);
if (!pm_runtime_status_suspended(&client->dev))
ov64a40_power_off(&client->dev);
pm_runtime_set_suspended(&client->dev);
}
static const struct of_device_id ov64a40_of_ids[] = {
{ .compatible = "ovti,ov64a40" },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, ov64a40_of_ids);
static const struct dev_pm_ops ov64a40_pm_ops = {
SET_RUNTIME_PM_OPS(ov64a40_power_off, ov64a40_power_on, NULL)
};
static struct i2c_driver ov64a40_i2c_driver = {
.driver = {
.name = "ov64a40" ,
.of_match_table = ov64a40_of_ids,
.pm = &ov64a40_pm_ops,
},
.probe = ov64a40_probe,
.remove = ov64a40_remove,
};
module_i2c_driver(ov64a40_i2c_driver);
MODULE_AUTHOR("Jacopo Mondi <jacopo.mondi@ideasonboard.com>" );
MODULE_DESCRIPTION("OmniVision OV64A40 sensor driver" );
MODULE_LICENSE("GPL" );
Messung V0.5 in Prozent C=95 H=94 G=94
¤ Dauer der Verarbeitung: 0.117 Sekunden
(vorverarbeitet am 2026-06-08)
¤
*© Formatika GbR, Deutschland