aboutsummaryrefslogtreecommitdiffstats
path: root/include/media/s5p_fimc.h
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2013-02-01 13:00:40 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-02-05 14:55:58 -0500
commit56bc911ac3b94c731db3a6de20258827f1a61c20 (patch)
treea5fc7486fa4d94364fa43db503b98eb5de84bcb8 /include/media/s5p_fimc.h
parentb84ef24e1e421da266fe9c0a3ee82a49db517ddf (diff)
[media] s5p-fimc: Redefine platform data structure for fimc-is
Newer Exynos4 SoC are equipped with a local camera ISP that controls external raw image sensor directly. Such sensors can be connected through FIMC-LITEn (and MIPI-CSISn) IPs to the ISP, which then feeds image data to the FIMCn IP. Thus there can be two busses associated with an image source (sensor). Rename struct s5p_fimc_isp_info describing external image sensor (video decoder) to struct fimc_source_info to avoid confusion. bus_type is split into fimc_bus_type and sensor_bus_type. The bus type enumeration is extended to include both FIMC Writeback input types. The bus_type enumeration and the data structure name in the board files are modified according to the above changes. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media/s5p_fimc.h')
-rw-r--r--include/media/s5p_fimc.h49
1 files changed, 31 insertions, 18 deletions
diff --git a/include/media/s5p_fimc.h b/include/media/s5p_fimc.h
index eaea62a382f8..28f3590aa031 100644
--- a/include/media/s5p_fimc.h
+++ b/include/media/s5p_fimc.h
@@ -1,8 +1,8 @@
1/* 1/*
2 * Samsung S5P SoC camera interface driver header 2 * Samsung S5P/Exynos4 SoC series camera interface driver header
3 * 3 *
4 * Copyright (c) 2010 Samsung Electronics Co., Ltd 4 * Copyright (C) 2010 - 2013 Samsung Electronics Co., Ltd.
5 * Author: Sylwester Nawrocki, <s.nawrocki@samsung.com> 5 * Sylwester Nawrocki <s.nawrocki@samsung.com>
6 * 6 *
7 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as 8 * it under the terms of the GNU General Public License version 2 as
@@ -14,45 +14,58 @@
14 14
15#include <media/media-entity.h> 15#include <media/media-entity.h>
16 16
17enum cam_bus_type { 17/*
18 FIMC_ITU_601 = 1, 18 * Enumeration of the FIMC data bus types.
19 FIMC_ITU_656, 19 */
20 FIMC_MIPI_CSI2, 20enum fimc_bus_type {
21 FIMC_LCD_WB, /* FIFO link from LCD mixer */ 21 /* Camera parallel bus */
22 FIMC_BUS_TYPE_ITU_601 = 1,
23 /* Camera parallel bus with embedded synchronization */
24 FIMC_BUS_TYPE_ITU_656,
25 /* Camera MIPI-CSI2 serial bus */
26 FIMC_BUS_TYPE_MIPI_CSI2,
27 /* FIFO link from LCD controller (WriteBack A) */
28 FIMC_BUS_TYPE_LCD_WRITEBACK_A,
29 /* FIFO link from LCD controller (WriteBack B) */
30 FIMC_BUS_TYPE_LCD_WRITEBACK_B,
31 /* FIFO link from FIMC-IS */
32 FIMC_BUS_TYPE_ISP_WRITEBACK = FIMC_BUS_TYPE_LCD_WRITEBACK_B,
22}; 33};
23 34
24struct i2c_board_info; 35struct i2c_board_info;
25 36
26/** 37/**
27 * struct s5p_fimc_isp_info - image sensor information required for host 38 * struct fimc_source_info - video source description required for the host
28 * interace configuration. 39 * interface configuration
29 * 40 *
30 * @board_info: pointer to I2C subdevice's board info 41 * @board_info: pointer to I2C subdevice's board info
31 * @clk_frequency: frequency of the clock the host interface provides to sensor 42 * @clk_frequency: frequency of the clock the host interface provides to sensor
32 * @bus_type: determines bus type, MIPI, ITU-R BT.601 etc. 43 * @fimc_bus_type: FIMC camera input type
44 * @sensor_bus_type: image sensor bus type, MIPI, ITU-R BT.601 etc.
45 * @flags: the parallel sensor bus flags defining signals polarity (V4L2_MBUS_*)
33 * @i2c_bus_num: i2c control bus id the sensor is attached to 46 * @i2c_bus_num: i2c control bus id the sensor is attached to
34 * @mux_id: FIMC camera interface multiplexer index (separate for MIPI and ITU) 47 * @mux_id: FIMC camera interface multiplexer index (separate for MIPI and ITU)
35 * @clk_id: index of the SoC peripheral clock for sensors 48 * @clk_id: index of the SoC peripheral clock for sensors
36 * @flags: the parallel bus flags defining signals polarity (V4L2_MBUS_*)
37 */ 49 */
38struct s5p_fimc_isp_info { 50struct fimc_source_info {
39 struct i2c_board_info *board_info; 51 struct i2c_board_info *board_info;
40 unsigned long clk_frequency; 52 unsigned long clk_frequency;
41 enum cam_bus_type bus_type; 53 enum fimc_bus_type fimc_bus_type;
54 enum fimc_bus_type sensor_bus_type;
55 u16 flags;
42 u16 i2c_bus_num; 56 u16 i2c_bus_num;
43 u16 mux_id; 57 u16 mux_id;
44 u16 flags;
45 u8 clk_id; 58 u8 clk_id;
46}; 59};
47 60
48/** 61/**
49 * struct s5p_platform_fimc - camera host interface platform data 62 * struct s5p_platform_fimc - camera host interface platform data
50 * 63 *
51 * @isp_info: properties of camera sensor required for host interface setup 64 * @source_info: properties of an image source for the host interface setup
52 * @num_clients: the number of attached image sensors 65 * @num_clients: the number of attached image sources
53 */ 66 */
54struct s5p_platform_fimc { 67struct s5p_platform_fimc {
55 struct s5p_fimc_isp_info *isp_info; 68 struct fimc_source_info *source_info;
56 int num_clients; 69 int num_clients;
57}; 70};
58 71