지금은 SMSC91C113 드라이버를 포팅중입니다. 인터럽트는 EINT1 에 연결되어 있습니다. 드라이버 소스는 uclinux 에서 가져 왔습니다.
현재 smc_probe() 까지 성공시킨 상태입니다.
다음은 메시지입니다.
SMSC LAN91C111 Driver(v2.9), (S3C200) 15/11/2004
eth0 : SMC91C11xFD(rev:2) at 0xf8000300 IRQ:17 MEMSIZE:8192
IRQ LOCK: IRQ17 is locking the system, disabled
위와 같은 메시지를 보았습니다.
그리고 부팅이 완료된후
ifconfig eth0 192.168.1.150 up
까지 성공이 됩니다.
이 때 신기한 점은
cat proc/interrupts 를 하면 eth0의 irq가 10000 이상 발생한 것으로 찍힙니다.
그리고 ping을 때리면 커널 패닉이 발생하면서 정지합니다.
==============
질문입니다.
1. SMC 의 인터럽트 핀은 s3c2440의 EINT1 에 붙어 있습니다. 이 때 인터럽트 번호는 1로 주어야 하는 것이 아닌가요? 2.4커널에서 irq 1을 줬지만 2.6에서는 17번을 주고 있습니다.
2. 혹시 SMC91C113 드라이버 받을 수 있을까요?
다시 질문 드리겠습니다.
include/asm/arch/irqs.h 를 보면
#define S3C2410_CPUIRQ_OFFSET (16)
#define S3C2410_IRQ(X) ((x) + S3C2410_CPUIRQ_OFFSET)
#define IRQ_EINT1 S3C2410_IRQ(1)
으로 되어 있습니다.
인터럽트를 선택하면 인터럽트 + 16 이 된 값으로 지정이 되도록 되어 있습니다. 이 부분이 2.6커널의 특징인지요? 아니면 aesop 보드의 특징인가요?
irq를 1로 바꾸어서 커널을 올려 봤는데
LAN91C111:eth0: unable to get IRQ 1(irqval=-22)
이란 메시지가 나옵니다.
조언 부탁 드립니다.