기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요. 혼자 삽질하다 도저히 답이 안나와 질문 드립니다.


현재 S5pv310의 GPL2(0)를 인터럽트로 사용하려고 하는데요.

gpio_to_irq(S5PV310_GPL2(0)) 로 irq 값을 받아 보면 -6이 나옵니다.


int irq = 0;
u32 err;

err = gpio_request(S5PV310_GPL2(0), "UPS_INPUT");
if (err)

{

    printk(KERN_INFO "gpio request error : %d\n", err);
}
else
{
    s3c_gpio_cfgpin(S5PV310_GPL2(0), EINT_MODE);
    s3c_gpio_setpull(S5PV310_GPL2(0), S3C_GPIO_PULL_UP);                                                                      

}
irq = gpio_to_irq(S5PV310_GPL2(0));

gpiolib.c와 irq-eint.c를 보고 있는데 어떻게 해야 될지 감이 오지 않습니다.

다른 부분들도 확인해보고 있지만 이런식으로 사용한 부분이 보이지 않네요.


참고 할만한 부분이나 확인 해야하는 부분이 있는지 도움 부탁 드립니다.


고도리

2013.01.28 08:13:30
*.111.12.170

interrupt code가 작성 안되어 있을겁니다.


제가 봤을 때는 EXT INT 0~15까지만 되어 있고, 16~31 코드가 안되어 있는 것으로 보여집니다

(ICS 커널 기준 - 3.0.8)


해당 코드를 작성해 주셔야 사용이 가능할것으로 보여집니다.


gpio_to_irq랑은 큰 상관이 없고, 실제 interrupt 처리 코드가 안되어 있는 듯 합니다.

문철민

2013.01.28 23:19:13
*.140.159.164

인터럽트 등록은 하셨는지?

GloomyDay

2013.02.08 02:55:22
*.45.184.114

결국 커널 옵션에 CONFIG_SAMSUNG_IRQ_GPIO 를 활성화 시키는 걸로 해결이 됐습니다.

일단 소스 분석은 좀더 해 봐야 겠네요.

머리가 나쁘니 손발리 고생 해야죠.

List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인