요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Lattice iCE40 FPGA Manager
Required properties:
- compatible: Should contain "lattice,ice40-fpga-mgr"
- reg: SPI chip select
- spi-max-frequency: Maximum SPI frequency (>=1000000, <=25000000)
- cdone-gpios: GPIO input connected to CDONE pin
- reset-gpios: Active-low GPIO output connected to CRESET_B pin. Note
that unless the GPIO is held low during startup, the
FPGA will enter Master SPI mode and drive SCK with a
clock signal potentially jamming other devices on the
bus until the firmware is loaded.
Example:
fpga: fpga@0 {
compatible = "lattice,ice40-fpga-mgr";
reg = <0>;
spi-max-frequency = <1000000>;
cdone-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
};
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Lattice iCE40 FPGA Manager
1-13Lattice iCE40 FPGA Manager의 필수 `compatible`은 `lattice,ice40-fpga-mgr`, `reg`는 SPI chip select입니다. `spi-max-frequency`는 1,000,000 이상 25,000,000 이하의 최대 SPI frequency입니다. `cdone-gpios`는 CDONE pin에 연결된 GPIO input입니다.
`reset-gpios`는 `CRESET_B` pin에 연결된 active-low GPIO output입니다. Startup 중 이 GPIO를 low로 유지하지 않으면 FPGA가 Master SPI mode에 들어가 SCK를 clock signal로 구동할 수 있습니다. 그러면 firmware가 load될 때까지 bus의 다른 device 통신을 방해할 수 있습니다.
CRESET_B를 유지해 Master SPI 구동을 막고 bitstream을 load한 뒤 CDONE을 확인합니다.
Lattice iCE40 예제
14-21예제 FPGA는 SPI chip select 0, 1 MHz clock, active-high GPIO24 CDONE과 active-low GPIO22 reset을 사용합니다.
fpga: fpga@0 {
compatible = "lattice,ice40-fpga-mgr";
reg = <0>;
spi-max-frequency = <1000000>;
cdone-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
};
요약과 해설
lattice-ice40-fpga-mgr.txt:1-21안전한 startup reset과 SPI configuration을 설명합니다.