1 .. SPDX-License-Identifier: GPL-2.0 2 3 .. include:: <isonum.txt> 4 5 The Samsung S5P/Exynos4 FIMC driver 6 =================================== 7 8 Copyright |copy| 2012 - 2013 Samsung Electroni 9 10 The FIMC (Fully Interactive Mobile Camera) dev 11 SoC Application Processors is an integrated ca 12 space converter, image resizer and rotator. I 13 data from LCD controller (FIMD) through the So 14 path. There are multiple FIMC instances in th 15 slightly different capabilities, like pixel al 16 availability, LCD writeback support, etc. The 17 drivers/media/platform/samsung/exynos4-is dire 18 19 Supported SoCs 20 -------------- 21 22 S5PC100 (mem-to-mem only), S5PV210, Exynos4210 23 24 Supported features 25 ------------------ 26 27 - camera parallel interface capture (ITU-R.BT6 28 - camera serial interface capture (MIPI-CSI2); 29 - memory-to-memory processing (color space con 30 and rotation); 31 - dynamic pipeline re-configuration at runtime 32 instance to any parallel video input or any 33 - runtime PM and system wide suspend/resume 34 35 Not currently supported 36 ----------------------- 37 38 - LCD writeback input 39 - per frame clock gating (mem-to-mem) 40 41 User space interfaces 42 --------------------- 43 44 Media device interface 45 ~~~~~~~~~~~~~~~~~~~~~~ 46 47 The driver supports Media Controller API as de 48 The media device driver name is "Samsung S5P F 49 50 The purpose of this interface is to allow chan 51 to the SoC peripheral camera input at runtime 52 connections of the MIPI-CSIS device(s) to the 53 54 The media device interface allows to configure 55 data from the sensor through more than one FIM 56 viewfinder and still capture setup). 57 58 Reconfiguration is done by enabling/disabling 59 during initialization. The internal device top 60 through media entity and links enumeration. 61 62 Memory-to-memory video node 63 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 64 65 V4L2 memory-to-memory interface at /dev/video? 66 video device, it has no media pads. However pl 67 capture video node operation on same FIMC inst 68 detects such cases but the applications should 69 undefined behaviour. 70 71 Capture video node 72 ~~~~~~~~~~~~~~~~~~ 73 74 The driver supports V4L2 Video Capture Interfa 75 :ref:`devices`. 76 77 At the capture and mem-to-mem video nodes only 78 supported. For more details see: :ref:`planar- 79 80 Camera capture subdevs 81 ~~~~~~~~~~~~~~~~~~~~~~ 82 83 Each FIMC instance exports a sub-device node ( 84 node is also created per each available and en 85 MIPI-CSI receiver device (currently up to two) 86 87 sysfs 88 ~~~~~ 89 90 In order to enable more precise camera pipelin 91 API the driver creates a sysfs entry associate 92 device. The entry path is: /sys/platform/devic 93 94 In typical use case there could be a following 95 sensor subdev -> mipi-csi subdev -> fimc subde 96 97 When we configure these devices through sub-de 98 configuration flow must be from left to right, 99 configured as last one. 100 101 When we don't use sub-device user space API th 102 devices belonging to the pipeline is done at t 103 The sysfs entry allows to instruct the capture 104 the sub-devices (format, crop), to avoid reset 105 when the last configuration steps at the video 106 107 For full sub-device control support (subdevs c 108 starting streaming): 109 110 .. code-block:: none 111 112 # echo "sub-dev" > /sys/platform/devic 113 114 For V4L2 video node control only (subdevs conf 115 driver): 116 117 .. code-block:: none 118 119 # echo "vid-dev" > /sys/platform/devic 120 121 This is a default option. 122 123 5. Device mapping to video and subdev device n 124 ---------------------------------------------- 125 126 There are associated two video device nodes wi 127 hardware - video capture and mem-to-mem and ad 128 more precise FIMC capture subsystem control. I 129 sub-device node is created per each MIPI-CSIS 130 131 How to find out which /dev/video? or /dev/v4l- 132 device? 133 134 You can either grep through the kernel log to 135 136 .. code-block:: none 137 138 # dmesg | grep -i fimc 139 140 (note that udev, if present, might still have 141 142 or retrieve the information from /dev/media? w 143 144 .. code-block:: none 145 146 # media-ctl -p 147 148 7. Build 149 -------- 150 151 If the driver is built as a loadable kernel mo 152 two modules are created (in addition to the co 153 optional s5p-csis.ko (MIPI-CSI receiver subdev
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.