요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
* Texas Instruments OMAP
OMAP is currently using a static file per SoC family to describe the
IPs present in the SoC.
On top of that an omap_device is created to extend the platform_device
capabilities and to allow binding with one or several hwmods.
The hwmods will contain all the information to build the device:
address range, irq lines, dma lines, interconnect, PRCM register,
clock domain, input clocks.
For the moment just point to the existing hwmod, the next step will be
to move data from hwmod to device-tree representation.
Required properties:
- compatible: Every devices present in OMAP SoC should be in the
form: "ti,XXX"
- ti,hwmods: list of hwmod names (ascii strings), that comes from the OMAP
HW documentation, attached to a device. Must contain at least
one hwmod.
Optional properties:
- ti,no_idle_on_suspend: When present, it prevents the PM to idle the module
during suspend.
- ti,no-reset-on-init: When present, the module should not be reset at init
- ti,no-idle-on-init: When present, the module should not be idled at init
- ti,no-idle: When present, the module is never allowed to idle.
Example:
spinlock@1 {
compatible = "ti,omap4-spinlock";
ti,hwmods = "spinlock";
};
SoC Type (optional):
- General Purpose devices
compatible = "ti,gp"
- High Security devices
compatible = "ti,hs"
SoC Families:
- DRA7 generic - defaults to DRA742
compatible = "ti,dra7"
- AM33x generic
compatible = "ti,am33xx"
- AM43x generic - defaults to AM4372
compatible = "ti,am43"
SoCs:
- DRA762
compatible = "ti,dra762", "ti,dra7"
- DRA742
compatible = "ti,dra742", "ti,dra74", "ti,dra7"
- DRA722
compatible = "ti,dra722", "ti,dra72", "ti,dra7"
- DRA718
compatible = "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"
- AM5748
compatible = "ti,am5748", "ti,dra762", "ti,dra7"
- AM5728
compatible = "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
- AM5726
compatible = "ti,am5726", "ti,dra742", "ti,dra74", "ti,dra7"
- AM5718
compatible = "ti,am5718", "ti,dra722", "ti,dra72", "ti,dra7"
- AM5716
compatible = "ti,am5716", "ti,dra722", "ti,dra72", "ti,dra7"
- AM4372
compatible = "ti,am4372", "ti,am43"
Boards (incomplete list of examples):
- AM437x CM-T43
compatible = "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"
- AM437x SBC-T43
compatible = "compulab,am437x-sbc-t43", "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"
- AM43x EPOS EVM
compatible = "ti,am43x-epos-evm", "ti,am43", "ti,am438x"
- AM437x GP EVM
compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
- AM437x SK EVM: AM437x StarterKit Evaluation Module
compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"
- AM57XX CL-SOM-AM57x
compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
- AM57XX SBC-AM57x
compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
- AM5748 IDK
compatible = "ti,am5748-idk", "ti,am5748", "ti,dra762", "ti,dra7";
- AM5728 IDK
compatible = "ti,am5728-idk", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"
- AM5718 IDK
compatible = "ti,am5718-idk", "ti,am5718", "ti,dra7"
- DRA762 EVM: Software Development Board for DRA762
compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7"
- DRA742 EVM: Software Development Board for DRA742
compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
- DRA722 EVM: Software Development Board for DRA722
compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
- DRA718 EVM: Software Development Board for DRA718
compatible = "ti,dra718-evm", "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
OMAP 장치와 hwmod 속성
1-27Texas Instruments OMAP
현재 OMAP은 SoC에 존재하는 IP를 설명하기 위해 SoC 계열별 정적 파일을 사용합니다. 그 위에 `platform_device`의 기능을 확장하고 하나 이상의 hwmod와 바인딩할 수 있도록 `omap_device`를 만듭니다.
hwmod에는 장치를 구성하는 데 필요한 주소 범위, IRQ 라인, DMA 라인, 인터커넥트, PRCM 레지스터, clock domain 및 입력 clock 정보가 들어갑니다. 현재 단계에서는 기존 hwmod를 가리키며, 이후 hwmod 데이터를 Device Tree 표현으로 옮기는 것이 목표입니다.
필수 `compatible`은 OMAP SoC에 존재하는 모든 장치에서 `ti,XXX` 형식을 사용해야 합니다. `ti,hwmods`는 OMAP 하드웨어 문서에서 가져온 ASCII hwmod 이름 목록이며 장치마다 적어도 하나를 포함해야 합니다.
선택적 `ti,no_idle_on_suspend`가 있으면 PM이 suspend 중 모듈을 idle 상태로 만들지 않습니다. `ti,no-reset-on-init`은 초기화할 때 모듈을 reset하지 않도록 하고, `ti,no-idle-on-init`은 초기화할 때 idle 상태로 만들지 않도록 합니다. `ti,no-idle`이 있으면 모듈은 절대로 idle 상태가 될 수 없습니다.
hwmod 정보가 omap_device와 platform_device 구성에 제공되는 흐름입니다.
장치 예와 SoC 보안 유형
28-41다음 hardware spinlock 장치는 `ti,omap4-spinlock`과 `spinlock` hwmod를 사용합니다.
spinlock@1 {
compatible = "ti,omap4-spinlock";
ti,hwmods = "spinlock";
};
선택적인 SoC 유형에서 General Purpose 장치는 `compatible = "ti,gp"`, High Security 장치는 `compatible = "ti,hs"`를 사용합니다.
SoC 계열과 개별 SoC
42-82DRA7 generic은 DRA742를 기본값으로 하며 `ti,dra7`을 사용합니다. AM33x generic은 `ti,am33xx`, AM43x generic은 AM4372를 기본값으로 하며 `ti,am43`을 사용합니다.
개별 SoC의 compatible fallback 목록은 다음과 같습니다.
더 구체적인 SoC 문자열부터 공통 계열 문자열 순서로 나열합니다.
보드 compatible 예
83-126다음 목록은 완전한 목록이 아닌 보드 compatible 예입니다.
보드 문자열에서 SoC와 계열 문자열까지의 fallback 순서를 보존합니다.
DRA7 평가 보드의 compatible fallback 목록입니다.
요약과 해설
omap.txt:1-126정적 hwmod 정보를 Device Tree 장치와 연결하고 DRA7, AM43x, AM57xx 계열과 보드의 compatible 순서를 보존합니다.