한 단계 한 단계 넘어갈 때마다 계속 질문을 드리는군요.
NAND : 삼성 K9F1G08U0A 128MByte large page
소스를 살펴보니까 K9F1G08U0A 는 2.6.13에서 기본 지원을 합니다.
S3C2440 코어와 연결되는 핀은
Rnb (R/nB)
nFRE (GPA20)
nFCE (GPA22)
CLE (GPA17)
ALE (GPA18)
nFWE(GAP19)
I/O0 LDATA0
I/O1 LDATA1
I/O2 LDATA2
I/O3 LDATA3
I/O4 LDATA4
I/O5 LDATA5
I/O6 LDATA6
I/O7 LDATA7
입니다.
GPA 레지스터의 셋팅은 확인했습니다. 정상입니다.
커널 부팅중 nand 드라이버가 로딩되면 nand_scan() 함수를 호출한후 nand_command() 로 제조사와 디바이스 ID를 불러오게 됩니다. 그후 디바이스 ID를 기초로 각종 정보를 셋팅하게 됩니다.
현재 안 되는 부분은 nand_command()를 통해 디바이스 ID를 불러오는 부분입니다. 하드웨어는 정상동작하는 것을 2.4커널로 확인했습니다. 2.4 커널에서는 전용 함수를 만들어서 동작시켰습니다.
혹시 nand_command() 부분을 제가 따로 구현해야 하는 것인가요?
제가 알기론 커널 코드에서 large block을 지원할 경우는 손을 안대도
됩니다만, 2.6.13이 아마도 지원할겁니다.