Documentation/devicetree/bindings/media/st,st-hva.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

ST HVA Video Encoder

ST HVA 비디오 인코더의 레지스터, ESRAM, 인터럽트, 클록 바인딩입니다.

Source pathDocumentation/devicetree/bindings/media/st,st-hva.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.

1. 요약·해설

원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.

요약과 해설

st,st-hva.txt:1-24

두 메모리 영역의 순서와 이름, 복수 인터럽트 예제를 보존합니다.

2. 영어 원문 전체

번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.

원문 전체 펼치기
1 st-hva: multi-format video encoder for STMicroelectronics SoC.
2
3 Required properties:
4 - compatible: should be "st,st-hva".
5 - reg: HVA physical address location and length, esram address location and
6 length.
7 - reg-names: names of the registers listed in registers property in the same
8 order.
9 - interrupts: HVA interrupt number.
10 - clocks: from common clock binding: handle hardware IP needed clocks, the
11 number of clocks may depend on the SoC type.
12 See ../clock/clock-bindings.txt for details.
13 - clock-names: names of the clocks listed in clocks property in the same order.
14
15 Example:
16 hva@8c85000{
17 compatible = "st,st-hva";
18 reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
19 reg-names = "hva_registers", "hva_esram";
20 interrupts = <GIC_SPI 58 IRQ_TYPE_NONE>,
21 <GIC_SPI 59 IRQ_TYPE_NONE>;
22 clock-names = "clk_hva";
23 clocks = <&clk_s_c0_flexgen CLK_HVA>;
24 };
25

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.

ST HVA 다중 형식 비디오 인코더

1-2

`st-hva`는 STMicroelectronics SoC에 내장된 다중 형식 비디오 인코더입니다.

HVA 자원 구성
자원이름 또는 역할예제
MMIOhva_registers0x8c85000 / 0x400
ESRAMhva_esram0x6000000 / 0x40000
IRQHVA 인터럽트GIC SPI 58, 59
Clockclk_hvaCLK_HVA

인코더가 사용하는 두 레지스터 영역과 인터럽트 및 클록을 구조화했습니다.

필수 메모리·인터럽트·클록

3-14

`compatible`은 `st,st-hva`여야 합니다. `reg`에는 HVA 물리 주소와 길이, ESRAM 주소와 길이를 차례로 넣고, `reg-names`에는 같은 순서의 레지스터 영역 이름을 적습니다. 원문은 이를 registers 속성이라고 표현하지만 실제 속성 이름은 `reg`입니다.

`interrupts`는 HVA 인터럽트 번호를 담습니다. `clocks`는 공통 클록 바인딩에 따른 필수 하드웨어 클록 핸들이며 SoC 종류에 따라 개수가 달라질 수 있습니다. 자세한 내용은 `../clock/clock-bindings.txt`를 봅니다. `clock-names`는 `clocks`와 같은 순서의 이름 목록입니다.

HVA와 ESRAM 예제

15-24

예제는 HVA 레지스터와 256KiB ESRAM을 각각 `hva_registers`, `hva_esram`으로 이름 붙이고 GIC SPI 58과 59를 지정합니다. `CLK_HVA` 클록은 `clk_hva`라는 이름으로 연결됩니다.

hva@8c85000{
        compatible = "st,st-hva";
        reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
        reg-names = "hva_registers", "hva_esram";
        interrupts = <GIC_SPI 58 IRQ_TYPE_NONE>,
                     <GIC_SPI 59 IRQ_TYPE_NONE>;
        clock-names = "clk_hva";
        clocks = <&clk_s_c0_flexgen CLK_HVA>;
};