Exemplo n.º 1
0
/*sonyimx214_update_flip*/
static int sonyimx214_update_flip(u16 width, u16 height)
{
	u8 new_flip = ((sonyimx214_sensor.vflip << 1) | sonyimx214_sensor.hflip);
	
	print_debug("Enter %s.\n", __func__);	
	k3_ispio_update_flip(( sonyimx214_sensor.old_flip^new_flip) & 0x03, width, height, PIXEL_ORDER_CHANGED);

	sonyimx214_sensor.old_flip = new_flip;
	sonyimx214_write_reg(SONYIMX214_FLIP, sonyimx214_sensor.vflip ? 0x02 : 0x00, ~0x02);
	sonyimx214_write_reg(SONYIMX214_FLIP, sonyimx214_sensor.hflip ? 0x01 : 0x00, ~0x01);
	return 0;
}
static int hi843s_ofilm_update_flip(u16 width, u16 height)
{
	u8 new_flip = ((hi843s_ofilm_sensor.vflip << 1) | hi843s_ofilm_sensor.hflip);
	print_info("Enter %s", __func__);

	if(hi843s_ofilm_sensor.old_flip != new_flip) {
	k3_ispio_update_flip((hi843s_ofilm_sensor.old_flip ^ new_flip) & 0x03, width, height, PIXEL_ORDER_CHANGED);

	hi843s_ofilm_sensor.old_flip = new_flip;

	hi843s_ofilm_write_reg(HI843S_OFILM_FLIP_MIRROR_REG, hi843s_ofilm_sensor.vflip ? 0x00 : 0x02, ~0x02);
	hi843s_ofilm_write_reg(HI843S_OFILM_FLIP_MIRROR_REG, hi843s_ofilm_sensor.hflip ? 0x01 : 0x00, ~0x01);

	}
	return 0;
}
static int ov13850_update_flip(u16 width, u16 height)
{
	u8 new_flip = ((ov13850_lit171.vflip << 1) | ov13850_lit171.hflip);
 
	print_debug("Enter %s  ", __func__);
	if(ov13850_lit171.old_flip != new_flip) 
	{

		k3_ispio_update_flip((ov13850_lit171.old_flip ^ new_flip) & 0x03, width, height, PIXEL_ORDER_NO_CHANGED);

		ov13850_lit171.old_flip = new_flip;

 		ov13850_write_reg(OV13850_FLIP_REG, ov13850_lit171.vflip ? 0x04 : 0x00,  ~0x04);
		ov13850_write_reg(OV13850_MIRROR_REG, ov13850_lit171.hflip ? 0x00 : 0x04, ~0x04);

	}
	return 0;
}
static int imx219_liteon_update_flip(u16 width, u16 height)
{
    u8 new_flip = ((imx219_liteon_sensor.vflip << 1) | imx219_liteon_sensor.hflip);

    print_debug("Enter %s  ", __func__);

    if(imx219_liteon_sensor.old_flip != new_flip) {

        k3_ispio_update_flip((imx219_liteon_sensor.old_flip ^ new_flip) & 0x03, width, height, PIXEL_ORDER_CHANGED);

        imx219_liteon_sensor.old_flip = new_flip;

        imx219_liteon_write_reg(IMX219_LITEON_MIRROR_FLIP_REG, imx219_liteon_sensor.vflip ? 0x00 : 0x02, ~0x02);
        imx219_liteon_write_reg(IMX219_LITEON_MIRROR_FLIP_REG, imx219_liteon_sensor.hflip ? 0x00 : 0x01, ~0x01);

    }

    return 0;
}