요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
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. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, 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을 설명합니다.