요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
TI Davinci DSP devices
=======================
The TI Davinci family of SoCs usually contains a TI DSP Core sub-system that
is used to offload some of the processor-intensive tasks or algorithms, for
achieving various system level goals.
The processor cores in the sub-system usually contain additional sub-modules
like L1 and/or L2 caches/SRAMs, an Interrupt Controller, an external memory
controller, a dedicated local power/sleep controller etc. The DSP processor
core used in Davinci SoCs is usually a C674x DSP CPU.
DSP Device Node:
================
Each DSP Core sub-system is represented as a single DT node.
Required properties:
--------------------
The following are the mandatory properties:
- compatible: Should be one of the following,
"ti,da850-dsp" for DSPs on OMAP-L138 SoCs
- reg: Should contain an entry for each value in 'reg-names'.
Each entry should have the memory region's start address
and the size of the region, the representation matching
the parent node's '#address-cells' and '#size-cells' values.
- reg-names: Should contain strings with the following names, each
representing a specific internal memory region or a
specific register space,
"l2sram", "l1pram", "l1dram", "host1cfg", "chipsig_base"
- interrupts: Should contain the interrupt number used to receive the
interrupts from the DSP. The value should follow the
interrupt-specifier format as dictated by the
'interrupt-parent' node.
- memory-region: phandle to the reserved memory node to be associated
with the remoteproc device. The reserved memory node
can be a CMA memory node, and should be defined as
per the bindings in
Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
Example:
--------
/* DSP Reserved Memory node */
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
dsp_memory_region: dsp-memory@c3000000 {
compatible = "shared-dma-pool";
reg = <0xc3000000 0x1000000>;
reusable;
};
};
/* DSP node */
{
dsp: dsp@11800000 {
compatible = "ti,da850-dsp";
reg = <0x11800000 0x40000>,
<0x11e00000 0x8000>,
<0x11f00000 0x8000>,
<0x01c14044 0x4>,
<0x01c14174 0x8>;
reg-names = "l2sram", "l1pram", "l1dram", "host1cfg",
"chipsig";
interrupt-parent = <&intc>;
interrupts = <28>;
memory-region = <&dsp_memory_region>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DaVinci DSP subsystem
1-12TI DaVinci SoC 계열에는 보통 processor 집약적인 task나 algorithm을 offload해 system 목표를 달성하는 TI DSP Core subsystem이 있습니다.
Subsystem의 processor core에는 보통 L1/L2 cache 또는 SRAM, interrupt controller, external memory controller, 전용 local power/sleep controller 같은 module이 추가됩니다. DaVinci SoC에서 사용하는 DSP processor core는 일반적으로 C674x DSP CPU입니다.
DSP device node
13-16각 DSP Core subsystem은 하나의 DT node로 나타냅니다.
DaVinci DSP 필수 property
17-45`compatible`은 OMAP-L138 SoC의 DSP에서 `ti,da850-dsp`를 사용합니다.
`reg`에는 `reg-names`의 각 값에 대응하는 항목을 두며, 각 항목은 memory region start address와 size를 parent node의 `#address-cells`, `#size-cells` 형식에 맞춰 표현합니다.
`reg-names`는 특정 internal memory region 또는 register space를 나타내는 `l2sram`, `l1pram`, `l1dram`, `host1cfg`, `chipsig_base`를 포함해야 합니다.
`interrupts`는 DSP에서 interrupt를 받을 번호이며 `interrupt-parent`가 정한 interrupt-specifier 형식을 따릅니다. `memory-region`은 remoteproc device와 연결할 reserved memory node phandle이며 CMA memory node일 수 있고 `Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt` binding에 따라 정의합니다.
DaVinci DSP 예제
46-77예제는 0xc3000000의 16MiB reusable shared DMA pool과 `ti,da850-dsp` node를 연결합니다. 필수 목록은 `chipsig_base`를 요구하지만 원문 예제의 마지막 `reg-names` 값은 `chipsig`입니다.
/* DSP Reserved Memory node */
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
dsp_memory_region: dsp-memory@c3000000 {
compatible = "shared-dma-pool";
reg = <0xc3000000 0x1000000>;
reusable;
};
};
/* DSP node */
{
dsp: dsp@11800000 {
compatible = "ti,da850-dsp";
reg = <0x11800000 0x40000>,
<0x11e00000 0x8000>,
<0x11f00000 0x8000>,
<0x01c14044 0x4>,
<0x01c14174 0x8>;
reg-names = "l2sram", "l1pram", "l1dram", "host1cfg",
"chipsig";
interrupt-parent = <&intc>;
interrupts = <28>;
memory-region = <&dsp_memory_region>;
};
};
요약과 해설
ti,davinci-rproc.txt:1-77Remote processor의 memory, reset, interrupt와 IPC 요구사항을 요약하고 영어 원문 전체 및 줄 좌표별 한국어 전문을 제공합니다.