← Documents Documentation/devicetree/bindings/arm/omap/l4.txt GitHub 원문 ↗

Linux 6.18.37 · Devicetree Bindings

OMAP L4 interconnect

OMAP 세대별 L4 core, configuration, peripheral 및 wake-up 버스 바인딩입니다.

Source pathDocumentation/devicetree/bindings/arm/omap/l4.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약과 해설

l4.txt:1-37

L4 버스의 compatible과 주소 매핑, link/interconnect agent 및 access protection 레지스터 영역을 설명합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 L4 interconnect bindings
2
3 These bindings describe the OMAP SoCs L4 interconnect bus.
4
5 Required properties:
6 - compatible : Should be "ti,omap2-l4" for OMAP2 family l4 core bus
7 Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus
8 Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus
9 Should be "ti,omap4-l4-cfg" for OMAP4 family l4 cfg bus
10 Should be "ti,omap4-l4-per" for OMAP4 family l4 per bus
11 Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus
12 Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus
13 Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus
14 Should be "ti,dra7-l4-cfg" for DRA7 family l4 cfg bus
15 Should be "ti,dra7-l4-wkup" for DRA7 family l4 wkup bus
16 Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus
17 Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus
18 - ranges : contains the IO map range for the bus
19 - reg : registers link agent and interconnect agent and access protection
20 - reg-names : "la" for link agent, "ia0" to "ia3" for one to three
21 interconnect agent instances, "ap" for access if it exists
22
23 Examples:
24
25 l4: interconnect@48000000 {
26 compatible "ti,omap4-l4-per", "simple-bus";
27 reg = <0x48000000 0x800>,
28 <0x48000800 0x800>,
29 <0x48001000 0x400>,
30 <0x48001400 0x400>,
31 <0x48001800 0x400>,
32 <0x48001c00 0x400>;
33 reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3";
34 #address-cells = <1>;
35 #size-cells = <1>;
36 ranges = <0 0x48000000 0x100000>;
37 };
38

3. 한국어 전문 번역

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

L4 인터커넥트 속성

1-22

L4 인터커넥트 바인딩

이 바인딩은 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`를 사용합니다.

OMAP L4 호환 문자열
계열버스compatible
OMAP2coreti,omap2-l4
OMAP2wake-upti,omap2-l4-wkup
OMAP3coreti,omap3-l4-core
OMAP4cfg / peripheral / wake-upti,omap4-l4-cfg / ti,omap4-l4-per / ti,omap4-l4-wkup
OMAP5cfg / wake-upti,omap5-l4-cfg / ti,omap5-l4-wkup
DRA7cfg / wake-upti,dra7-l4-cfg / ti,dra7-l4-wkup
AM33xx / AM43xxwake-upti,am3-l4-wkup / ti,am4-l4-wkup

SoC 세대와 L4 버스 종류에 따른 compatible 값을 정리합니다.

L4 레지스터 영역 순서
apAccess protection, 존재할 때만 사용
laLink agent
ia0 ... ia3Interconnect agent 인스턴스
ranges하위 I/O 주소를 L4 주소 공간으로 매핑

`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>;
};