요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
Atmel system registers
Chipid required properties:
- compatible: Should be "atmel,sama5d2-chipid" or "microchip,sama7g5-chipid"
"microchip,sama7d65-chipid"
- reg : Should contain registers location and length
PIT Timer required properties:
- compatible: Should be "atmel,at91sam9260-pit"
- reg: Should contain registers location and length
- interrupts: Should contain interrupt for the PIT which is the IRQ line
shared across all System Controller members.
PIT64B Timer required properties:
- compatible: Should be "microchip,sam9x60-pit64b" or
"microchip,sam9x7-pit64b", "microchip,sam9x60-pit64b"
"microchip,sama7d65-pit64b", "microchip,sam9x60-pit64b"
- reg: Should contain registers location and length
- interrupts: Should contain interrupt for PIT64B timer
- clocks: Should contain the available clock sources for PIT64B timer.
System Timer (ST) required properties:
- compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd"
- reg: Should contain registers location and length
- interrupts: Should contain interrupt for the ST which is the IRQ line
shared across all System Controller members.
- clocks: phandle to input clock.
Its subnodes can be:
- watchdog: compatible should be "atmel,at91rm9200-wdt"
RAMC SDRAM/DDR Controller required properties:
- compatible: Should be "atmel,at91rm9200-sdramc", "syscon" or
"atmel,at91sam9260-sdramc" or
"atmel,at91sam9g45-ddramc" or
"atmel,sama5d3-ddramc" or
"microchip,sam9x60-ddramc" or
"microchip,sama7g5-uddrc" or
"microchip,sama7d65-uddrc", "microchip,sama7g5-uddrc" or
"microchip,sam9x7-ddramc", "atmel,sama5d3-ddramc".
- reg: Should contain registers location and length
Examples:
ramc0: ramc@ffffe800 {
compatible = "atmel,at91sam9g45-ddramc";
reg = <0xffffe800 0x200>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
Atmel Chipid register binding
1-7Atmel system register
Chipid node의 필수 property는 다음과 같습니다.
`compatible`은 `atmel,sama5d2-chipid`, `microchip,sama7g5-chipid` 또는 `microchip,sama7d65-chipid`여야 합니다.
`reg`에는 register의 위치와 길이가 들어가야 합니다.
PIT와 PIT64B timer binding
8-21PIT Timer의 필수 property
`compatible`은 `atmel,at91sam9260-pit`여야 하고 `reg`에는 register의 위치와 길이가 들어가야 합니다.
`interrupts`에는 PIT interrupt를 지정합니다. 이 IRQ line은 모든 System Controller member가 공유합니다.
PIT64B Timer의 필수 property
`compatible`은 `microchip,sam9x60-pit64b`, `microchip,sam9x7-pit64b` 뒤에 `microchip,sam9x60-pit64b`를 둔 조합, 또는 `microchip,sama7d65-pit64b` 뒤에 `microchip,sam9x60-pit64b`를 둔 조합이어야 합니다.
`reg`에는 register 위치와 길이, `interrupts`에는 PIT64B timer interrupt, `clocks`에는 PIT64B timer가 사용할 수 있는 clock source가 들어가야 합니다.
System Timer와 watchdog subnode
22-30System Timer, 즉 ST의 필수 property
`compatible`은 `atmel,at91rm9200-st`, `syscon`, `simple-mfd`의 순서여야 합니다. `reg`에는 register 위치와 길이가 들어갑니다.
`interrupts`에는 ST interrupt를 지정하며 이 IRQ line은 모든 System Controller member가 공유합니다. `clocks`는 input clock을 가리키는 phandle입니다.
ST는 watchdog subnode를 둘 수 있으며 그 `compatible`은 `atmel,at91rm9200-wdt`여야 합니다.
RAMC SDRAM/DDR controller와 node 예
31-48RAMC SDRAM/DDR Controller의 필수 property
`compatible`은 `atmel,at91rm9200-sdramc`와 `syscon`, `atmel,at91sam9260-sdramc`, `atmel,at91sam9g45-ddramc`, `atmel,sama5d3-ddramc`, `microchip,sam9x60-ddramc`, `microchip,sama7g5-uddrc`, `microchip,sama7d65-uddrc`와 `microchip,sama7g5-uddrc`, 또는 `microchip,sam9x7-ddramc`와 `atmel,sama5d3-ddramc` 중 하나여야 합니다.
`reg`에는 register의 위치와 길이가 들어가야 합니다.
예
ramc0: ramc@ffffe800 {
compatible = "atmel,at91sam9g45-ddramc";
reg = <0xffffe800 0x200>;
};
각 hardware block의 필수 property와 주요 제약을 정리합니다.
요약과 해설
atmel-sysregs.txt:1-48System Controller 아래 여러 register block은 SoC별 compatible string을 사용하며 timer block은 interrupt와 clock 연결을 추가로 요구합니다.