요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
================================
Starfive Camera Subsystem driver
================================
Introduction
------------
This file documents the driver for the Starfive Camera Subsystem found on
Starfive JH7110 SoC. The driver is located under drivers/staging/media/starfive/
camss.
The driver implements V4L2, Media controller and v4l2_subdev interfaces. Camera
sensor using V4L2 subdev interface in the kernel is supported.
The driver has been successfully used on the Gstreamer 1.18.5 with v4l2src
plugin.
Starfive Camera Subsystem hardware
----------------------------------
The Starfive Camera Subsystem hardware consists of::
|\ +---------------+ +-----------+
+----------+ | \ | | | |
| | | | | | | |
| MIPI |----->| |----->| ISP |----->| |
| | | | | | | |
+----------+ | | | | | Memory |
|MUX| +---------------+ | Interface |
+----------+ | | | |
| | | |---------------------------->| |
| Parallel |----->| | | |
| | | | | |
+----------+ | / | |
|/ +-----------+
- MIPI: The MIPI interface, receiving data from a MIPI CSI-2 camera sensor.
- Parallel: The parallel interface, receiving data from a parallel sensor.
- ISP: The ISP, processing raw Bayer data from an image sensor and producing
YUV frames.
Topology
--------
The media controller pipeline graph is as follows:
.. _starfive_camss_graph:
.. kernel-figure:: starfive_camss_graph.dot
:alt: starfive_camss_graph.dot
:align: center
The driver has 2 video devices:
- capture_raw: The capture device, capturing image data directly from a sensor.
- capture_yuv: The capture device, capturing YUV frame data processed by the
ISP module
The driver has 3 subdevices:
- stf_isp: is responsible for all the isp operations, outputs YUV frames.
- cdns_csi2rx: a CSI-2 bridge supporting up to 4 CSI lanes in input, and 4
different pixel streams in output.
- imx219: an image sensor, image data is sent through MIPI CSI-2.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Driver 소개
1-20이 문서는 GPL-2.0 라이선스를 따르며 Starfive JH7110 SoC의 Starfive Camera Subsystem driver를 설명합니다. Driver source는 `drivers/staging/media/starfive/camss` 아래에 있습니다.
Driver는 V4L2, Media Controller와 `v4l2_subdev` interface를 구현하며 kernel의 V4L2 subdev interface를 사용하는 camera sensor를 지원합니다.
이 driver는 `v4l2src` plugin을 사용하는 Gstreamer 1.18.5에서 성공적으로 사용되었습니다.
Camera Subsystem hardware
21-48Starfive Camera Subsystem은 MIPI input, parallel input, MUX, ISP와 Memory Interface로 구성됩니다.
MUX는 MIPI 또는 parallel sensor input을 선택합니다. 선택한 stream은 ISP에서 raw Bayer를 YUV로 처리하거나 ISP를 우회해 Memory Interface로 직접 전달할 수 있습니다.
- MIPI - MIPI CSI-2 camera sensor에서 data를 받는 MIPI interface입니다.
- Parallel - parallel sensor에서 data를 받는 parallel interface입니다.
- ISP - image sensor의 raw Bayer data를 처리해 YUV frame을 생성합니다.
Media topology
49-60Media Controller pipeline graph는 `starfive_camss_graph.dot`에 정의되어 있습니다. Bold link는 sensor에서 CSI-2 bridge로 들어오는 active input이고, dashed link는 bridge·ISP·video node 사이에서 선택 가능한 route입니다.
IMX219 stream은 CSI-2 bridge의 port 0으로 들어갑니다. Bridge port 1은 raw capture node로 직접 가거나 STF ISP의 port 0으로 들어가 YUV capture node로 출력됩니다.
원문 DOT graph의 entity name, device node, port number와 link 분기를 보존했습니다.
Video device
61-66- `capture_raw` - sensor의 image data를 직접 capture하는 device입니다.
- `capture_yuv` - ISP module이 처리한 YUV frame data를 capture하는 device입니다.
Subdevice
67-72- `stf_isp` - 모든 ISP operation을 담당하며 YUV frame을 출력합니다.
- `cdns_csi2rx` - input에서 최대 4 CSI lane, output에서 서로 다른 4 pixel stream을 지원하는 CSI-2 bridge입니다.
- `imx219` - image data를 MIPI CSI-2로 보내는 image sensor입니다.
Entity와 output map
starfive_camss.rst:1-72Sensor stream은 MUX에서 선택된 뒤 raw capture로 직접 전달되거나 STF ISP를 거쳐 YUV capture로 전달됩니다. Media graph는 CSI-2 bridge의 한 output을 두 capture path에 선택적으로 연결합니다.