← Documents Documentation/admin-guide/media/starfive_camss.rst GitHub 원문 ↗

Linux 6.18.37 · Administration / Media

Starfive Camera Subsystem driver

JH7110 CAMSS의 MIPI·parallel input, MUX·ISP·memory path와 Media Controller entity topology를 설명합니다.

Source pathDocumentation/admin-guide/media/starfive_camss.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Entity와 output map

starfive_camss.rst:1-72

Sensor stream은 MUX에서 선택된 뒤 raw capture로 직접 전달되거나 STF ISP를 거쳐 YUV capture로 전달됩니다. Media graph는 CSI-2 bridge의 한 output을 두 capture path에 선택적으로 연결합니다.

EntityDevice node종류역할
capture_raw/dev/video0Video deviceSensor image data를 ISP 처리 전에 직접 capture
capture_yuv/dev/video1Video deviceISP가 처리한 YUV frame을 capture
stf_isp/dev/v4l-subdev0SubdeviceRaw Bayer를 처리해 YUV frame을 출력
cdns_csi2rx.19800000.csi-bridgeMedia entitySubdevice최대 4 CSI lane input과 4 pixel stream output을 지원
imx219 6-0010/dev/v4l-subdev1SubdeviceMIPI CSI-2로 image data를 전송하는 sensor

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 .. include:: <isonum.txt>
4
5 ================================
6 Starfive Camera Subsystem driver
7 ================================
8
9 Introduction
10 ------------
11
12 This file documents the driver for the Starfive Camera Subsystem found on
13 Starfive JH7110 SoC. The driver is located under drivers/staging/media/starfive/
14 camss.
15
16 The driver implements V4L2, Media controller and v4l2_subdev interfaces. Camera
17 sensor using V4L2 subdev interface in the kernel is supported.
18
19 The driver has been successfully used on the Gstreamer 1.18.5 with v4l2src
20 plugin.
21
22
23 Starfive Camera Subsystem hardware
24 ----------------------------------
25
26 The Starfive Camera Subsystem hardware consists of::
27
28 |\ +---------------+ +-----------+
29 +----------+ | \ | | | |
30 | | | | | | | |
31 | MIPI |----->| |----->| ISP |----->| |
32 | | | | | | | |
33 +----------+ | | | | | Memory |
34 |MUX| +---------------+ | Interface |
35 +----------+ | | | |
36 | | | |---------------------------->| |
37 | Parallel |----->| | | |
38 | | | | | |
39 +----------+ | / | |
40 |/ +-----------+
41
42 - MIPI: The MIPI interface, receiving data from a MIPI CSI-2 camera sensor.
43
44 - Parallel: The parallel interface, receiving data from a parallel sensor.
45
46 - ISP: The ISP, processing raw Bayer data from an image sensor and producing
47 YUV frames.
48
49
50 Topology
51 --------
52
53 The media controller pipeline graph is as follows:
54
55 .. _starfive_camss_graph:
56
57 .. kernel-figure:: starfive_camss_graph.dot
58 :alt: starfive_camss_graph.dot
59 :align: center
60
61 The driver has 2 video devices:
62
63 - capture_raw: The capture device, capturing image data directly from a sensor.
64 - capture_yuv: The capture device, capturing YUV frame data processed by the
65 ISP module
66
67 The driver has 3 subdevices:
68
69 - stf_isp: is responsible for all the isp operations, outputs YUV frames.
70 - cdns_csi2rx: a CSI-2 bridge supporting up to 4 CSI lanes in input, and 4
71 different pixel streams in output.
72 - imx219: an image sensor, image data is sent through MIPI CSI-2.
73

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-48

Starfive Camera Subsystem은 MIPI input, parallel input, MUX, ISP와 Memory Interface로 구성됩니다.

Starfive CAMSS hardware data path
MIPI CSI-2 sensorMIPIMUXISPMemory Interface
Parallel sensorParallelMUXMemory 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-60

Media Controller pipeline graph는 `starfive_camss_graph.dot`에 정의되어 있습니다. Bold link는 sensor에서 CSI-2 bridge로 들어오는 active input이고, dashed link는 bridge·ISP·video node 사이에서 선택 가능한 route입니다.

Starfive CAMSS media pipeline
imx219 6-0010 /dev/v4l-subdev1 : port 0cdns_csi2rx.19800000.csi-bridge port 0 → port 1stf_isp /dev/v4l-subdev0 : port 0 → port 1capture_yuv /dev/video1
imx219 6-0010 /dev/v4l-subdev1 : port 0cdns_csi2rx.19800000.csi-bridge port 0 → port 1capture_raw /dev/video0

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입니다.