요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
STMicroelectronics Co-Processor Bindings
----------------------------------------
This binding provides support for adjunct processors found on ST SoCs.
Co-processors can be controlled from the bootloader or the primary OS. If
the bootloader starts a co-processor, the primary OS must detect its state
and act accordingly.
Required properties:
- compatible Should be one of:
"st,st231-rproc"
"st,st40-rproc"
- memory-region Reserved memory (See: ../reserved-memory/reserved-memory.txt)
- resets Reset lines (See: ../reset/reset.txt)
- reset-names Must be "sw_reset" and "pwr_reset"
- clocks Clock for co-processor (See: ../clock/clock-bindings.txt)
- clock-frequency Clock frequency to set co-processor at if the bootloader
hasn't already done so
- st,syscfg System configuration register which holds the boot vector
for the co-processor
1st cell: Phandle to syscon block
2nd cell: Boot vector register offset
Example:
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>;
};
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>;
};
요약과 해설
st-rproc.txt:1-41Remote processor의 memory, reset, interrupt와 IPC 요구사항을 요약하고 영어 원문 전체 및 줄 좌표별 한국어 전문을 제공합니다.