/linux/drivers/media/platform/samsung/exynos4-is/ |
H A D | fimc-core.c | 3 * Samsung S5P/EXYNOS4 SoC series FIMC (CAMIF) driver 28 #include "fimc-core.h" 29 #include "fimc-reg.h" 33 "sclk_fimc", "fimc" 293 struct fimc_dev *fimc = priv; in fimc_irq_handler() local 296 fimc_hw_clear_irq(fimc); in fimc_irq_handler() 298 spin_lock(&fimc->slock); in fimc_irq_handler() 300 if (test_and_clear_bit(ST_M2M_PEND, &fimc->state)) { in fimc_irq_handler() 301 if (test_and_clear_bit(ST_M2M_SUSPENDING, &fimc->state)) { in fimc_irq_handler() 302 set_bit(ST_M2M_SUSPENDED, &fimc->state); in fimc_irq_handler() [all …]
|
H A D | Makefile | 2 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 D | Kconfig | 21 tristate "S5P/EXYNOS4 FIMC/CAMIF camera interface driver" 30 interface and video postprocessor (FIMC) devices. 33 module will be called s5p-fimc. 48 tristate "EXYNOS FIMC-LITE camera interface driver" 55 This is a V4L2 driver for Samsung EXYNOS4/5 SoC FIMC-LITE camera 59 module will be called exynos-fimc-lite. 62 tristate "EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver" 70 FIMC-IS (Imaging Subsystem). 73 module will be called exynos4-fimc-is. 76 bool "EXYNOS4x12 FIMC-IS ISP Direct DMA capture support" [all …]
|
H A D | fimc-core.h | 27 #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 address set for DMA 244 * @fmt: fimc color format pointer 286 * @subdev: subdev exposing the FIMC processing block 288 * @vd_pad: fimc video capture node pad 289 * @sd_pads: fimc video processing block pads 290 * @ci_fmt: image format at the FIMC camera input (and the scaler output) 291 * @wb_fmt: image format at the FIMC ISP Writeback input [all …]
|
H A D | fimc-lite.h | 23 #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 122 * @clock: FIMC-LITE gate clock [all …]
|
H A D | fimc-is.h | 3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver 24 #include "fimc-isp.h" 25 #include "fimc-is-command.h" 26 #include "fimc-is-sensor.h" 27 #include "fimc-is-param.h" 28 #include "fimc-is-regs.h" 30 #define FIMC_IS_DRV_NAME "exynos4-fimc-is" 231 * struct fimc_is - fimc-is data structure 232 * @pdev: pointer to FIMC-IS platform device 234 * @fw: data structure describing the FIMC-IS firmware binary [all …]
|
H A D | fimc-reg.c | 3 * 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 const 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 D | fimc-reg.h | 3 * 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, const struct fimc_addr *addr); 306 void fimc_hw_set_output_addr(struct fimc_dev *fimc, const struct fimc_addr *addr, 308 int fimc_hw_set_camera_source(struct fimc_dev *fimc, 310 void fimc_hw_set_camera_offset(struct fimc_dev *fimc, const struct fimc_frame *f); 311 int fimc_hw_set_camera_polarity(struct fimc_dev *fimc, [all …]
|
H A D | fimc-is-command.h | 3 * 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 D | fimc-isp.h | 3 * 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 125 * @format: current fimc pixel format 150 * struct fimc_isp - FIMC-IS ISP data structure 151 * @pdev: pointer to FIMC-IS platform device
|
H A D | fimc-is-regs.c | 3 * 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"
|
H A D | fimc-lite-reg.c | 3 * Register interface file for EXYNOS FIMC-LITE (camera interface) driver 12 #include <media/drv-intf/exynos-fimc.h> 14 #include "fimc-lite-reg.h" 15 #include "fimc-lite.h" 16 #include "fimc-core.h" 72 /* An output to the FIMC-IS */ in flite_hw_set_interrupt_mask()
|
H A D | fimc-is-sensor.c | 3 * Samsung EXYNOS4x12 FIMC-IS (Imaging Subsystem) driver 9 #include "fimc-is-sensor.h"
|
/linux/Documentation/devicetree/bindings/media/ |
H A D | samsung,fimc.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,fimc.yaml# 7 title: Samsung S5P/Exynos SoC Camera Subsystem (FIMC) 16 Integrated Mobile Camera (FIMC, in the S5P SoCs series known as CAMIF), MIPI 17 CSIS, FIMC-LITE and FIMC-IS (ISP). 21 const: samsung,fimc 83 "^fimc@[0-9a-f]+$": 85 $ref: samsung,exynos4210-fimc.yaml# 88 "^fimc-is@[0-9a-f]+$": 90 $ref: samsung,exynos4212-fimc-is.yaml# 91 description: Imaging Subsystem (FIMC-IS). [all …]
|
H A D | samsung,exynos4210-fimc.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,exynos4210-fimc.yaml# 14 Each FIMC device should have an alias in the aliases node, in the form of 15 fimc<n>, where <n> is an integer specifying the IP block instance. 20 - samsung,exynos4210-fimc 21 - samsung,exynos4212-fimc 22 - samsung,s5pv210-fimc 32 - const: fimc 37 Maximum FIMC local clock (LCLK) frequency. 51 The FIMC IP block includes the camera input interface. 56 The FIMC IP block has the ISP writeback input. [all …]
|
H A D | samsung,exynos4212-fimc-lite.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-lite.yaml# 7 title: Samsung Exynos SoC series camera host interface (FIMC-LITE) 14 Each FIMC device should have an alias in the aliases node, in the form of 15 fimc-lite<n>, where <n> is an integer specifying the IP block instance. 20 - samsung,exynos4212-fimc-lite 21 - samsung,exynos5250-fimc-lite 55 fimc-lite@12390000 { 56 compatible = "samsung,exynos4212-fimc-lite";
|
H A D | samsung,exynos4212-fimc-is.yaml | 4 $id: http://devicetree.org/schemas/media/samsung,exynos4212-fimc-is.yaml# 7 title: Samsung Exynos4212/4412 SoC Imaging Subsystem (FIMC-IS) 14 The FIMC-IS is a subsystem for processing image signal from an image sensor. 15 The Exynos4x12 SoC series FIMC-IS V1.5 comprises of a dedicated ARM Cortex-A5 22 - samsung,exynos4212-fimc-is 152 fimc-is@12000000 { 153 compatible = "samsung,exynos4212-fimc-is";
|
/linux/Documentation/admin-guide/media/ |
H A D | fimc.rst | 5 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 D | platform-cardlist.rst | 29 exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem) 30 exynos-fimc-lite EXYNOS FIMC-LITE camera interface 55 s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
|
/linux/Documentation/driver-api/media/drivers/ |
H A D | fimc-devel.rst | 5 The Samsung S5P/EXYNOS4 FIMC driver 19 drivers/media/platform/samsung/exynos4-is/fimc-capture.c 27 drivers/media/platform/samsung/exynos4-is/fimc-core.c 31 drivers/media/platform/samsung/exynos4-is/fimc-core.h 32 drivers/media/platform/samsung/exynos4-is/fimc-reg.h 33 drivers/media/platform/samsung/exynos4-is/regs-fimc.h
|
/linux/arch/arm/boot/dts/samsung/ |
H A D | exynos4x12.dtsi | 27 fimc-lite0 = &fimc_lite_0; 28 fimc-lite1 = &fimc_lite_1; 460 fimc_lite_0: fimc-lite@b90000 { 461 compatible = "samsung,exynos4212-fimc-lite"; 471 fimc_lite_1: fimc-lite@ba0000 { 472 compatible = "samsung,exynos4212-fimc-lite"; 482 fimc_is: fimc-is@800000 { 483 compatible = "samsung,exynos4212-fimc-is"; 543 compatible = "samsung,exynos4212-fimc"; 551 compatible = "samsung,exynos4212-fimc"; [all …]
|
H A D | s5pv210.dtsi | 553 compatible = "samsung,fimc"; 577 fimc0: fimc@c00000 { 578 compatible = "samsung,s5pv210-fimc"; 584 clock-names = "fimc", 591 fimc1: fimc@d00000 { 592 compatible = "samsung,s5pv210-fimc"; 598 clock-names = "fimc", 607 fimc2: fimc@e00000 { 608 compatible = "samsung,s5pv210-fimc"; 614 clock-names = "fimc",
|
H A D | exynos4.dtsi | 205 compatible = "samsung,fimc"; 213 fimc_0: fimc@0 { 214 compatible = "samsung,exynos4210-fimc"; 219 clock-names = "fimc", "sclk_fimc"; 226 fimc_1: fimc@10000 { 227 compatible = "samsung,exynos4210-fimc"; 232 clock-names = "fimc", "sclk_fimc"; 239 fimc_2: fimc@20000 { 240 compatible = "samsung,exynos4210-fimc"; 245 clock-names = "fimc", "sclk_fimc"; [all …]
|
/linux/drivers/gpu/drm/exynos/ |
H A D | exynos_drm_fimc.c | 26 #include "regs-fimc.h" 29 * FIMC stands for Fully Interactive Mobile Camera and 33 * FIMC supports image rotation and image effect functions. 47 MODULE_PARM_DESC(fimc_devs, "Alias mask for assigning FIMC devices to Exynos DRM"); 61 [FIMC_CLK_GATE] = "fimc", 86 * A structure of fimc context. 90 * @clocks: fimc clocks. 93 * @id: fimc id. 951 DRM_DEV_DEBUG_KMS(ctx->dev, "fimc id[%d]\n", ctx->id); in fimc_irq_handler() 1090 dev_err(ctx->dev, "failed to enable FIMC device.\n"); in fimc_commit() [all …]
|
/linux/include/media/drv-intf/ |
H A D | exynos-fimc.h | 30 * Enumeration of the FIMC data bus types. 43 /* FIFO link from FIMC-IS */ 65 * @fimc_bus_type: FIMC camera input type 68 * @mux_id: FIMC camera interface multiplexer index (separate for MIPI and ITU)
|