Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] s5p-fimc: Add a platform data entry for MIPI-CSI data alignment

Allow the MIPI-CSI data alignment to be defined in the board setup
as it may be different across various camera sensors.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Sylwester Nawrocki and committed by
Mauro Carvalho Chehab
e0eec9af 117182d1

+6 -2
+4 -2
drivers/media/video/s5p-fimc/fimc-reg.c
··· 665 665 vid_cap->fmt.code); 666 666 return -EINVAL; 667 667 } 668 - writel(tmp | (0x1 << 8), fimc->regs + S5P_CSIIMGFMT); 668 + tmp |= (cam->csi_data_align == 32) << 8; 669 + 670 + writel(tmp, fimc->regs + S5P_CSIIMGFMT); 669 671 670 672 } else if (cam->bus_type == FIMC_ITU_601 || 671 - cam->bus_type == FIMC_ITU_656) { 673 + cam->bus_type == FIMC_ITU_656) { 672 674 if (cam->mux_id == 0) /* ITU-A, ITU-B: 0, 1 */ 673 675 cfg |= S5P_CIGCTRL_SELCAM_ITU_A; 674 676 } else if (cam->bus_type == FIMC_LCD_WB) {
+2
include/media/s5p_fimc.h
··· 33 33 * @board_info: pointer to I2C subdevice's board info 34 34 * @clk_frequency: frequency of the clock the host interface provides to sensor 35 35 * @bus_type: determines bus type, MIPI, ITU-R BT.601 etc. 36 + * @csi_data_align: MIPI-CSI interface data alignment in bits 36 37 * @i2c_bus_num: i2c control bus id the sensor is attached to 37 38 * @mux_id: FIMC camera interface multiplexer index (separate for MIPI and ITU) 38 39 * @flags: flags defining bus signals polarity inversion (High by default) ··· 42 41 struct i2c_board_info *board_info; 43 42 unsigned long clk_frequency; 44 43 enum cam_bus_type bus_type; 44 + u16 csi_data_align; 45 45 u16 i2c_bus_num; 46 46 u16 mux_id; 47 47 u16 flags;