Home
last modified time | relevance | path

Searched full:fimc (Results 1 – 25 of 63) sorted by relevance

123

/OK3568_Linux_fs/kernel/drivers/media/platform/exynos4-is/
H A Dfimc-lite.c3 * Samsung EXYNOS FIMC-LITE (camera host interface) driver
31 #include <media/drv-intf/exynos-fimc.h>
34 #include "fimc-core.h"
35 #include "fimc-lite.h"
36 #include "fimc-lite-reg.h"
102 * fimc_lite_find_format - lookup fimc color format by fourcc or media bus code
133 static int fimc_lite_hw_init(struct fimc_lite *fimc, bool isp_output) in fimc_lite_hw_init() argument
138 if (fimc->sensor == NULL) in fimc_lite_hw_init()
141 if (fimc->inp_frame.fmt == NULL || fimc->out_frame.fmt == NULL) in fimc_lite_hw_init()
145 si = v4l2_get_subdev_hostdata(fimc->sensor); in fimc_lite_hw_init()
[all …]
H A Dfimc-core.c3 * Samsung S5P/EXYNOS4 SoC series FIMC (CAMIF) driver
29 #include "fimc-core.h"
30 #include "fimc-reg.h"
34 "sclk_fimc", "fimc"
292 struct fimc_dev *fimc = priv; in fimc_irq_handler() local
295 fimc_hw_clear_irq(fimc); in fimc_irq_handler()
297 spin_lock(&fimc->slock); in fimc_irq_handler()
299 if (test_and_clear_bit(ST_M2M_PEND, &fimc->state)) { in fimc_irq_handler()
300 if (test_and_clear_bit(ST_M2M_SUSPENDING, &fimc->state)) { in fimc_irq_handler()
301 set_bit(ST_M2M_SUSPENDED, &fimc->state); in fimc_irq_handler()
[all …]
H A Dfimc-capture.c29 #include "fimc-core.h"
30 #include "fimc-reg.h"
33 static int fimc_capture_hw_init(struct fimc_dev *fimc) in fimc_capture_hw_init() argument
35 struct fimc_source_info *si = &fimc->vid_cap.source_config; in fimc_capture_hw_init()
36 struct fimc_ctx *ctx = fimc->vid_cap.ctx; in fimc_capture_hw_init()
44 ret = fimc_hw_camblk_cfg_writeback(fimc); in fimc_capture_hw_init()
49 spin_lock_irqsave(&fimc->slock, flags); in fimc_capture_hw_init()
53 fimc_hw_set_camera_polarity(fimc, si); in fimc_capture_hw_init()
54 fimc_hw_set_camera_type(fimc, si); in fimc_capture_hw_init()
55 fimc_hw_set_camera_source(fimc, si); in fimc_capture_hw_init()
[all …]
H A DMakefile2 s5p-fimc-objs := fimc-core.o fimc-reg.o fimc-m2m.o fimc-capture.o media-dev.o
3 exynos-fimc-lite-objs += fimc-lite-reg.o fimc-lite.o
7 exynos-fimc-is-objs := fimc-is.o fimc-isp.o fimc-is-sensor.o fimc-is-regs.o
8 exynos-fimc-is-objs += fimc-is-param.o fimc-is-errno.o fimc-is-i2c.o
11 exynos-fimc-is-objs += fimc-isp-video.o
15 obj-$(CONFIG_VIDEO_EXYNOS_FIMC_LITE) += exynos-fimc-lite.o
16 obj-$(CONFIG_VIDEO_EXYNOS4_FIMC_IS) += exynos-fimc-is.o
17 obj-$(CONFIG_VIDEO_S5P_FIMC) += s5p-fimc.o
H A Dfimc-m2m.c3 * Samsung S5P/EXYNOS4 SoC series FIMC (video postprocessor) driver
27 #include "fimc-core.h"
28 #include "fimc-reg.h"
61 struct fimc_dev *fimc = ctx->fimc_dev; in fimc_m2m_shutdown() local
63 if (!fimc_m2m_pending(fimc)) in fimc_m2m_shutdown()
68 wait_event_timeout(fimc->irq_queue, in fimc_m2m_shutdown()
94 struct fimc_dev *fimc; in fimc_device_run() local
101 fimc = ctx->fimc_dev; in fimc_device_run()
102 spin_lock_irqsave(&fimc->slock, flags); in fimc_device_run()
104 set_bit(ST_M2M_PEND, &fimc->state); in fimc_device_run()
[all …]
H A Dmedia-dev.c31 #include <media/drv-intf/exynos-fimc.h>
34 #include "fimc-core.h"
35 #include "fimc-is.h"
36 #include "fimc-lite.h"
39 /* Set up image sensor subdev -> FIMC capture node notifications. */
60 * @p: fimc pipeline
152 * @p: fimc device terminating the pipeline
190 * @fmd: fimc media device
200 /* Enable PXLASYNC clock if this pipeline includes FIMC-IS */ in __fimc_pipeline_enable()
220 * @ep: fimc device terminating the pipeline
[all …]
H A Dfimc-core.h27 #include <media/drv-intf/exynos-fimc.h>
35 #define FIMC_DRIVER_NAME "exynos4-fimc"
170 * struct fimc_scaler - the configuration data for FIMC inetrnal scaler
205 * struct fimc_addr - the FIMC physical address set for DMA
244 * @fmt: fimc color format pointer
285 * @subdev: subdev exposing the FIMC processing block
287 * @vd_pad: fimc video capture node pad
288 * @sd_pads: fimc video processing block pads
289 * @ci_fmt: image format at the FIMC camera input (and the scaler output)
290 * @wb_fmt: image format at the FIMC ISP Writeback input
[all …]
H A DKconfig20 tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver"
29 interface and video postprocessor (FIMC) devices.
32 module will be called s5p-fimc.
47 tristate "EXYNOS FIMC-LITE camera interface driver"
54 This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera
58 module will be called exynos-fimc-lite.
61 tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver"
69 FIMC-IS (Imaging Subsystem).
72 module will be called exynos4-fimc-is.
75 bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support"
[all …]
H A Dmedia-dev.h19 #include <media/drv-intf/exynos-fimc.h>
21 #include "fimc-core.h"
22 #include "fimc-lite.h"
25 #define FIMC_OF_NODE_NAME "fimc"
26 #define FIMC_LITE_OF_NODE_NAME "fimc-lite"
27 #define FIMC_IS_OF_NODE_NAME "fimc-is"
80 * @host: fimc device the sensor is currently linked to
98 * struct fimc_md - fimc media device information
103 * @fimc: array of registered fimc devices
104 * @fimc_is: fimc-is data structure
[all …]
H A Dfimc-lite.h23 #include <media/drv-intf/exynos-fimc.h>
25 #define FIMC_LITE_DRV_NAME "exynos-fimc-lite"
51 * struct flite_drvdata - FIMC-LITE IP variant data structure
60 * @num_instances: total number of FIMC-LITE IP instances available
107 * struct fimc_lite - fimc lite structure
108 * @pdev: pointer to FIMC-LITE platform device
113 * @subdev: FIMC-LITE subdev
116 * @sensor: sensor subdev attached to FIMC-LITE directly or through MIPI-CSIS
119 * @index: FIMC-LITE platform device index
124 * @clock: FIMC-LITE gate clock
[all …]
H A Dfimc-reg.c3 * Register interface file for Samsung Camera Interface (FIMC) driver
13 #include <media/drv-intf/exynos-fimc.h>
16 #include "fimc-reg.h"
17 #include "fimc-core.h"
556 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc, in fimc_hw_set_camera_polarity() argument
559 u32 cfg = readl(fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_polarity()
580 writel(cfg, fimc->regs + FIMC_REG_CIGCTRL); in fimc_hw_set_camera_polarity()
598 int fimc_hw_set_camera_source(struct fimc_dev *fimc, in fimc_hw_set_camera_source() argument
601 struct fimc_vid_cap *vc = &fimc->vid_cap; in fimc_hw_set_camera_source()
647 writel(cfg, fimc->regs + FIMC_REG_CISRCFMT); in fimc_hw_set_camera_source()
[all …]
H A Dfimc-is.h3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
25 #include "fimc-isp.h"
26 #include "fimc-is-command.h"
27 #include "fimc-is-sensor.h"
28 #include "fimc-is-param.h"
29 #include "fimc-is-regs.h"
31 #define FIMC_IS_DRV_NAME "exynos4-fimc-is"
232 * struct fimc_is - fimc-is data structure
233 * @pdev: pointer to FIMC-IS platform device
238 * @clocks: FIMC-LITE gate clock
H A Dfimc-reg.h3 * Samsung camera host interface (FIMC) registers definition
13 #include "fimc-core.h"
291 void fimc_hw_reset(struct fimc_dev *fimc);
295 void fimc_hw_en_lastirq(struct fimc_dev *fimc, int enable);
296 void fimc_hw_en_irq(struct fimc_dev *fimc, int enable);
305 void fimc_hw_set_input_addr(struct fimc_dev *fimc, struct fimc_addr *paddr);
306 void fimc_hw_set_output_addr(struct fimc_dev *fimc, struct fimc_addr *paddr,
308 int fimc_hw_set_camera_source(struct fimc_dev *fimc,
310 void fimc_hw_set_camera_offset(struct fimc_dev *fimc, struct fimc_frame *f);
311 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc,
[all …]
H A Dfimc-is-command.h3 * Samsung Exynos4x12 FIMC-IS (Imaging Subsystem) driver
5 * FIMC-IS command set definitions
16 #define FIMC_IS_COMMAND_VER 110 /* FIMC-IS command set version 1.10 */
18 /* Enumeration of commands between the FIMC-IS and the host processor. */
20 /* HOST to FIMC-IS */
42 /* FIMC-IS to HOST */
H A Dfimc-is.c3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
33 #include "fimc-is.h"
34 #include "fimc-is-command.h"
35 #include "fimc-is-errno.h"
36 #include "fimc-is-i2c.h"
37 #include "fimc-is-param.h"
38 #include "fimc-is-regs.h"
256 pr_debug("FIMC-IS setfile loaded: base: %#x, size: %zu B\n", in fimc_is_load_setfile()
328 dev_err(dev, "FIMC-IS CPU power on failed\n"); in fimc_is_start_firmware()
333 /* Allocate working memory for the FIMC-IS CPU. */
[all …]
H A Dfimc-isp.h3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
24 #include <media/drv-intf/exynos-fimc.h>
112 * struct fimc_is_video - fimc-is video device structure
146 * struct fimc_isp - FIMC-IS ISP data structure
147 * @pdev: pointer to FIMC-IS platform device
H A Dfimc-is-i2c.c3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
16 #include "fimc-is-i2c.h"
25 * is implemented in the FIMC-IS subsystem firmware and the host CPU
146 .name = "fimc-isp-i2c",
H A Dfimc-is-regs.c3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver
12 #include "fimc-is.h"
13 #include "fimc-is-command.h"
14 #include "fimc-is-regs.h"
15 #include "fimc-is-sensor.h"
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/media/
H A Dsamsung-fimc.txt1 Samsung S5P/Exynos SoC Camera Subsystem (FIMC)
5 represented by separate device tree nodes. Currently this includes: FIMC (in
6 the S5P SoCs series known as CAMIF), MIPI CSIS, FIMC-LITE and FIMC-IS (ISP).
18 - compatible: must be "samsung,fimc", "simple-bus"
43 The 'camera' node must include at least one 'fimc' child node.
46 'fimc' device nodes
51 - compatible: "samsung,s5pv210-fimc" for S5PV210, "samsung,exynos4210-fimc"
52 for Exynos4210 and "samsung,exynos4212-fimc" for Exynos4x12 SoCs;
54 - interrupts: should contain FIMC interrupt;
57 - clock-names: must contain "fimc", "sclk_fimc" entries.
[all …]
H A Dexynos4-fimc-is.txt1 Exynos4x12 SoC series Imaging Subsystem (FIMC-IS)
3 The FIMC-IS is a subsystem for processing image signal from an image sensor.
4 The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5
8 fimc-is node
12 - compatible : should be "samsung,exynos4212-fimc-is" for Exynos4212 and
15 - interrupts : must contain two FIMC-IS interrupts, in order: ISP0, ISP1;
30 The following are the FIMC-IS peripheral device nodes and can be specified
31 either standalone or as the fimc-is node child nodes.
47 Device tree nodes of the image sensors' controlled directly by the FIMC-IS
H A Dexynos-fimc-lite.txt1 Exynos4x12/Exynos5 SoC series camera host interface (FIMC-LITE)
6 "samsung,exynos4212-fimc-lite" for Exynos4212/4412 SoCs,
7 "samsung,exynos5250-fimc-lite" for Exynos5250 compatible
11 - interrupts : should contain FIMC-LITE interrupt;
12 - clocks : FIMC LITE gate clock should be specified in this property.
15 Each FIMC device should have an alias in the aliases node, in the form of
16 fimc-lite<n>, where <n> is an integer specifying the IP block instance.
/OK3568_Linux_fs/kernel/Documentation/admin-guide/media/
H A Dfimc.rst5 The Samsung S5P/Exynos4 FIMC driver
10 The FIMC (Fully Interactive Mobile Camera) device available in Samsung
14 path. There are multiple FIMC instances in the SoCs (up to 4), having
31 - dynamic pipeline re-configuration at runtime (re-attachment of any FIMC
48 The media device driver name is "Samsung S5P FIMC".
50 The purpose of this interface is to allow changing assignment of FIMC instances
52 connections of the MIPI-CSIS device(s) to the FIMC entities.
55 data from the sensor through more than one FIMC instance (e.g. for simultaneous
67 capture video node operation on same FIMC instance is not allowed. The driver
83 Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device
[all …]
H A Dplatform-cardlist.rst29 exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem)
30 exynos-fimc-lite EXYNOS FIMC-LITE camera interface
56 s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
/OK3568_Linux_fs/kernel/Documentation/driver-api/media/drivers/
H A Dfimc-devel.rst5 The Samsung S5P/EXYNOS4 FIMC driver
19 drivers/media/platform/exynos4-is/fimc-capture.c
27 drivers/media/platform/exynos4-is/fimc-core.c
31 drivers/media/platform/exynos4-is/fimc-core.h
32 drivers/media/platform/exynos4-is/fimc-reg.h
33 drivers/media/platform/exynos4-is/regs-fimc.h
/OK3568_Linux_fs/kernel/arch/arm/boot/dts/
H A Dexynos4412.dtsi29 fimc-lite0 = &fimc_lite_0;
30 fimc-lite1 = &fimc_lite_1;
589 fimc_lite_0: fimc-lite@12390000 {
590 compatible = "samsung,exynos4212-fimc-lite";
600 fimc_lite_1: fimc-lite@123a0000 {
601 compatible = "samsung,exynos4212-fimc-lite";
611 fimc_is: fimc-is@12000000 {
612 compatible = "samsung,exynos4212-fimc-is";
675 compatible = "samsung,exynos4212-fimc";
683 compatible = "samsung,exynos4212-fimc";
[all …]

123