diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2013-02-01 13:00:40 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-02-05 14:55:58 -0500 |
commit | 56bc911ac3b94c731db3a6de20258827f1a61c20 (patch) | |
tree | a5fc7486fa4d94364fa43db503b98eb5de84bcb8 /include/media/s5p_fimc.h | |
parent | b84ef24e1e421da266fe9c0a3ee82a49db517ddf (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.h | 49 |
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 | ||
17 | enum 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, | 20 | enum 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 | ||
24 | struct i2c_board_info; | 35 | struct 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 | */ |
38 | struct s5p_fimc_isp_info { | 50 | struct 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 | */ |
54 | struct s5p_platform_fimc { | 67 | struct 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 | ||