요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
2. 영어 원문 전체
번역에 사용한 Linux v6.18.37 원문입니다. 줄 번호는 해당 버전의 소스 파일을 기준으로 합니다.
원문 전체 펼치기
HiSilicon SPI-NOR Flash Controller
Required properties:
- compatible : Should be "hisilicon,fmc-spi-nor" and one of the following strings:
"hisilicon,hi3519-spi-nor"
- address-cells : Should be 1.
- size-cells : Should be 0.
- reg : Offset and length of the register set for the controller device.
- reg-names : Must include the following two entries: "control", "memory".
- clocks : handle to spi-nor flash controller clock.
Example:
spi-nor-controller@10000000 {
compatible = "hisilicon,hi3519-spi-nor", "hisilicon,fmc-spi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x10000000 0x1000>, <0x14000000 0x1000000>;
reg-names = "control", "memory";
clocks = <&clock HI3519_FMC_CLK>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, URL은 원문 표기를 유지합니다.
HiSilicon SPI-NOR Flash Controller
1-2이 문서는 HiSilicon FMC SPI-NOR flash controller 바인딩입니다.
Control·memory window와 clock
3-11`compatible`은 `hisilicon,fmc-spi-nor`와 SoC별 문자열 중 하나를 함께 사용하며, 현재 목록은 `hisilicon,hi3519-spi-nor`입니다.
`#address-cells`는 1, `#size-cells`는 0입니다. `reg`는 controller register set의 offset과 길이를 담고 `reg-names`에는 `control`, `memory` 두 항목이 반드시 있어야 합니다. `clocks`는 SPI-NOR controller clock의 handle입니다.
Controller 제어 register와 flash memory mapping을 구분합니다.
Hi3519 SPI-NOR 예제
12-24예제는 `0x10000000`의 control 범위와 `0x14000000`의 16MB memory window를 정의하고 `HI3519_FMC_CLK`를 연결합니다. CS0의 child는 generic `jedec,spi-nor` device입니다.
spi-nor-controller@10000000 {
compatible = "hisilicon,hi3519-spi-nor", "hisilicon,fmc-spi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x10000000 0x1000>, <0x14000000 0x1000000>;
reg-names = "control", "memory";
clocks = <&clock HI3519_FMC_CLK>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
};
};
요약과 해설
hisilicon,fmc-spi-nor.txt:1-24Hi3519 controller의 두 register 범위와 CS0 flash를 설명합니다.