← Documents Documentation/devicetree/bindings/remoteproc/st-rproc.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings / Remoteproc

STMicroelectronics co-processor

ST231·ST40 co-processor의 boot state, reset, clock과 boot vector를 설명합니다.

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

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

1. 요약·해설

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

요약과 해설

st-rproc.txt:1-41

Remote processor의 memory, reset, interrupt와 IPC 요구사항을 요약하고 영어 원문 전체 및 줄 좌표별 한국어 전문을 제공합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 STMicroelectronics Co-Processor Bindings
2 ----------------------------------------
3
4 This binding provides support for adjunct processors found on ST SoCs.
5
6 Co-processors can be controlled from the bootloader or the primary OS. If
7 the bootloader starts a co-processor, the primary OS must detect its state
8 and act accordingly.
9
10 Required properties:
11 - compatible Should be one of:
12 "st,st231-rproc"
13 "st,st40-rproc"
14 - memory-region Reserved memory (See: ../reserved-memory/reserved-memory.txt)
15 - resets Reset lines (See: ../reset/reset.txt)
16 - reset-names Must be "sw_reset" and "pwr_reset"
17 - clocks Clock for co-processor (See: ../clock/clock-bindings.txt)
18 - clock-frequency Clock frequency to set co-processor at if the bootloader
19 hasn't already done so
20 - st,syscfg System configuration register which holds the boot vector
21 for the co-processor
22 1st cell: Phandle to syscon block
23 2nd cell: Boot vector register offset
24
25 Example:
26
27 audio_reserved: rproc@42000000 {
28 compatible = "shared-dma-pool";
29 reg = <0x42000000 0x01000000>;
30 no-map;
31 };
32
33 st231-audio {
34 compatible = "st,st231-rproc";
35 memory-region = <&audio_reserved>;
36 resets = <&softreset STIH407_ST231_AUD_SOFTRESET>;
37 reset-names = "sw_reset";
38 clocks = <&clk_s_c0_flexgen CLK_ST231_AUD_0>;
39 clock-frequency = <600000000>;
40 st,syscfg = <&syscfg_core 0x228>;
41 };
42

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

ST co-processor 제어 모델

1-9

이 binding은 ST SoC에 있는 adjunct processor를 지원합니다. Co-processor는 bootloader 또는 primary OS가 제어할 수 있습니다. Bootloader가 co-processor를 시작했다면 primary OS는 그 상태를 감지해 알맞게 동작해야 합니다.

ST remoteproc 필수 property

10-24

`compatible`은 `st,st231-rproc` 또는 `st,st40-rproc`이어야 합니다. `memory-region`은 `../reserved-memory/reserved-memory.txt`의 reserved memory, `resets`는 `../reset/reset.txt`의 reset line입니다. `reset-names`는 `sw_reset`과 `pwr_reset`이어야 합니다.

`clocks`는 `../clock/clock-bindings.txt`에 따른 co-processor clock이고, `clock-frequency`는 bootloader가 아직 설정하지 않았을 때 설정할 주파수입니다.

`st,syscfg`는 co-processor boot vector를 보관하는 system configuration register입니다. 첫 cell은 syscon block phandle, 두 번째 cell은 boot vector register offset입니다.

ST231 audio co-processor 예제

25-41

예제는 0x42000000의 16MiB shared DMA reserved memory와 600MHz ST231 audio processor를 연결합니다. 필수 설명에는 두 reset name이 있지만 예제는 `sw_reset` 하나만 제공합니다.

audio_reserved: rproc@42000000 {
        compatible = "shared-dma-pool";
        reg = <0x42000000 0x01000000>;
        no-map;
};

st231-audio {
        compatible        = "st,st231-rproc";
        memory-region        = <&audio_reserved>;
        resets                = <&softreset STIH407_ST231_AUD_SOFTRESET>;
        reset-names        = "sw_reset";
        clocks                = <&clk_s_c0_flexgen CLK_ST231_AUD_0>;
        clock-frequency        = <600000000>;
        st,syscfg        = <&syscfg_core 0x228>;
};