Ejemplo n.º 1
0
void ccdc_reset()
{
    int i;
    /* disable CCDC */
    ccdc_enable(0);
    /* set all registers to default value */
    for (i = 0; i <= 0x94; i += 4) {
        regw(0, i);
    }
    regw(0, PCR);
    regw(0, SYN_MODE);
    regw(0, HD_VD_WID);
    regw(0, PIX_LINES);
    regw(0, HORZ_INFO);
    regw(0, VERT_START);
    regw(0, VERT_LINES);
    regw(0xffff00ff, CULLING);
    regw(0, HSIZE_OFF);
    regw(0, SDOFST);
    regw(0, SDR_ADDR);
    regw(0, VDINT);
    regw(0, REC656IF);
    regw(0, CCDCFG);
    regw(0, FMTCFG);
    regw(0, VP_OUT);
}
Ejemplo n.º 2
0
static void ccdc_reset(void)
{
	int i, clkctrl;
	/* disable CCDC */
	printk(KERN_DEBUG "\nstarting ccdc_reset...");
	ccdc_enable(0);
	/* set all registers to default value */
	for (i = 0; i <= 0x15c; i += 4)
		regw(0, i);
	/* no culling support */
	regw(0xffff, CULH);
	regw(0xff, CULV);
	/* Set default Gain and Offset */
	ccdc_hw_params_raw.gain.r_ye = 256;
	ccdc_hw_params_raw.gain.gb_g = 256;
	ccdc_hw_params_raw.gain.gr_cy = 256;
	ccdc_hw_params_raw.gain.b_mg = 256;
	ccdc_hw_params_raw.ccdc_offset = 0;
	ccdc_config_gain_offset();
	/* up to 12 bit sensor */
	regw(0x0FFF, OUTCLIP);
	vpss_dfc_memory_sel(VPSS_DFC_SEL_IPIPE);
	regw_bl(0x00, CCDCMUX);	/*CCDC input Mux select directly from sensor */
	clkctrl = regr_bl(CLKCTRL);
	clkctrl &= 0x3f;
	clkctrl |= 0x40;
	regw_bl(clkctrl, CLKCTRL);

	printk(KERN_DEBUG "\nEnd of ccdc_reset...");
}