/*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; }