요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Macronix Raw NAND Controller Device Tree Bindings
-------------------------------------------------
Required properties:
- compatible: should be "mxic,multi-itfc-v009-nand-controller"
- reg: should contain 1 entry for the registers
- #address-cells: should be set to 1
- #size-cells: should be set to 0
- interrupts: interrupt line connected to this raw NAND controller
- clock-names: should contain "ps", "send" and "send_dly"
- clocks: should contain 3 phandles for the "ps", "send" and
"send_dly" clocks
Children nodes:
- children nodes represent the available NAND chips.
See Documentation/devicetree/bindings/mtd/nand-controller.yaml
for more details on generic bindings.
Example:
nand: nand-controller@43c30000 {
compatible = "mxic,multi-itfc-v009-nand-controller";
reg = <0x43c30000 0x10000>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
clock-names = "send", "send_dly", "ps";
nand@0 {
reg = <0>;
nand-ecc-mode = "soft";
nand-ecc-algo = "bch";
};
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Macronix Raw NAND Controller
1-3이 문서는 Macronix raw NAND controller device-tree 바인딩입니다.
Interrupt와 세 clock
4-19필수 `compatible`은 `mxic,multi-itfc-v009-nand-controller`이고 `reg`에는 controller register entry 하나를 넣습니다. `#address-cells`는 1, `#size-cells`는 0이며 `interrupts`는 raw NAND controller에 연결된 interrupt line입니다.
`clock-names`에는 `ps`, `send`, `send_dly`가 있어야 하고 `clocks`에는 이 세 clock의 phandle을 넣습니다.
Child node는 사용 가능한 NAND chip을 나타냅니다. Generic 속성은 `Documentation/devicetree/bindings/mtd/nand-controller.yaml`을 참조합니다.
세 필수 clock 이름입니다.
Raw NAND BCH 예제
20-36예제는 `0x43c30000`의 controller에 rising-edge GIC interrupt와 `send`, `send_dly`, `ps` clock을 연결합니다. CS0 NAND chip은 software ECC와 BCH algorithm을 사용합니다.
nand: nand-controller@43c30000 {
compatible = "mxic,multi-itfc-v009-nand-controller";
reg = <0x43c30000 0x10000>;
#address-cells = <1>;
#size-cells = <0>;
interrupts = <GIC_SPI 0x1d IRQ_TYPE_EDGE_RISING>;
clocks = <&clkwizard 0>, <&clkwizard 1>, <&clkc 15>;
clock-names = "send", "send_dly", "ps";
nand@0 {
reg = <0>;
nand-ecc-mode = "soft";
nand-ecc-algo = "bch";
};
};
요약과 해설
mxic-nand.txt:1-36send·send_dly·ps clock과 software BCH child 예제를 설명합니다.