요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
L4 interconnect bindings
These bindings describe the OMAP SoCs L4 interconnect bus.
Required properties:
- compatible : Should be "ti,omap2-l4" for OMAP2 family l4 core bus
Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus
Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus
Should be "ti,omap4-l4-cfg" for OMAP4 family l4 cfg bus
Should be "ti,omap4-l4-per" for OMAP4 family l4 per bus
Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus
Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus
Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus
Should be "ti,dra7-l4-cfg" for DRA7 family l4 cfg bus
Should be "ti,dra7-l4-wkup" for DRA7 family l4 wkup bus
Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus
Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus
- ranges : contains the IO map range for the bus
- reg : registers link agent and interconnect agent and access protection
- reg-names : "la" for link agent, "ia0" to "ia3" for one to three
interconnect agent instances, "ap" for access if it exists
Examples:
l4: interconnect@48000000 {
compatible "ti,omap4-l4-per", "simple-bus";
reg = <0x48000000 0x800>,
<0x48000800 0x800>,
<0x48001000 0x400>,
<0x48001400 0x400>,
<0x48001800 0x400>,
<0x48001c00 0x400>;
reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x48000000 0x100000>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
L4 인터커넥트 속성
1-22L4 인터커넥트 바인딩
이 바인딩은 OMAP SoC의 L4 인터커넥트 버스를 설명합니다.
필수 `compatible` 값은 버스 종류에 따라 선택합니다. OMAP2 L4 core는 `ti,omap2-l4`, OMAP2 L4 wake-up은 `ti,omap2-l4-wkup`, OMAP3 L4 core는 `ti,omap3-l4-core`를 사용합니다.
OMAP4에서는 cfg, peripheral, wake-up 버스에 각각 `ti,omap4-l4-cfg`, `ti,omap4-l4-per`, `ti,omap4-l4-wkup`을 사용합니다. OMAP5 cfg와 wake-up 버스는 각각 `ti,omap5-l4-cfg`, `ti,omap5-l4-wkup`입니다.
DRA7 cfg와 wake-up 버스는 각각 `ti,dra7-l4-cfg`, `ti,dra7-l4-wkup`을 사용합니다. AM33xx와 AM43xx wake-up 버스는 각각 `ti,am3-l4-wkup`, `ti,am4-l4-wkup`을 사용합니다.
`ranges`에는 버스의 I/O 매핑 범위를 기록합니다. `reg`에는 link agent, interconnect agent 및 access protection 레지스터 영역을 기록합니다.
`reg-names`에서 link agent는 `la`, interconnect agent 인스턴스는 `ia0`부터 `ia3`까지의 이름을 사용합니다. access protection 영역이 있으면 `ap`를 사용합니다.
SoC 세대와 L4 버스 종류에 따른 compatible 값을 정리합니다.
`reg-names`와 각 레지스터 영역의 역할을 함께 보여 줍니다.
L4 peripheral 버스 예
23-37다음 예는 OMAP4 L4 peripheral 버스의 access protection, link agent, 네 개의 interconnect agent 영역과 1 MiB I/O 매핑 범위를 기술합니다. 원문에 있는 `compatible` 구문의 표기도 그대로 보존합니다.
l4: interconnect@48000000 {
compatible "ti,omap4-l4-per", "simple-bus";
reg = <0x48000000 0x800>,
<0x48000800 0x800>,
<0x48001000 0x400>,
<0x48001400 0x400>,
<0x48001800 0x400>,
<0x48001c00 0x400>;
reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 0x48000000 0x100000>;
};
요약과 해설
l4.txt:1-37L4 버스의 compatible과 주소 매핑, link/interconnect agent 및 access protection 레지스터 영역을 설명합니다.