안녕하세요,

 

이번에 EZ-X5랑 EZ-PI, LM150x08 LCD를 구입하여 공부하고 있는 국민대 2학년 전자과 학생입니다.

(아 참, 그리고 너무나도 많은 선배님들이 추천해주신 "리눅스 디바이서 드라이버 -저 유영창" 도 구입했습니다 ;;)

 

공부해가는 도중,  몇가지 정말 궁금한점이 있어서 조언 좀 부탁드립니다.

 

환경은 페도라8, 보드에는 커널 2.6 올려서 쓰고 있습니다.

(커널 2.4 쓰면 어마어마하게 편할것 같다는 생각도 드는데 말입니다.. 학생의 오기가..)

 

---------------------------------------------------------------------------------------------------------------

 

ㅁㅁㅁㅁ 첫번째 질문은 터치 관련입니다.ㅁㅁㅁㅁ

 

 -> 일단 커널 2.6에서 1024x768로 해상도 수정은 했습니다. 그 다음 mk712 디바이스를 잡으려 아래 처럼 작업을 했습니다. 

 

 ①  linux-2.6.21\arch\arm\mach-pxa\falinux_ez-x5.c에  아래와 같이 mk712 리소스 부분을 등록.

 

// mk712 touch [AlProgS] -----------------------------------------------

static struct resource mk712_resources[] = {

[0] = {

.name = "mk712_int",

.start = IRQ_GPIO(22),

.end = IRQ_GPIO(22),

.flags = IORESOURCE_IRQ,

},

};

static struct platform_device mk712_device = {

.name = "mk712_touchscreen",

.id = -1,

.num_resources = ARRAY_SIZE(mk712_resources),

.resource = mk712_resources,

};

//-----------------------------------------------------------------------

 

  ② platform_device 구조체 안에 다음 구문 추가.

     &mk712_device; 

 

  ③ map_desc 구조체 안에 아래와 같이 추가.

{ // nCS1 MK712        -- fast RD/WR
  .virtual  =  0xf1300000,
  .pfn    = __phys_to_pfn(PXA_CS1_PHYS+0x400000),
  .length   =  0x00100000,
  .type   = MT_DEVICE
}, 

 

  ④ 커널 2.4의 mk712.c를 커널 2.6의 커널에 올리기 위해 모듈 컴파일 도중,  컴파일 에러 잡기위해 

    #include <asm/irq.h>   ->   #include <linux/irq.h>

    #include <asm/io.h>    ->   #include <linux/io.h>  로 수정.

 

  ⑤  mk712_init 펑션에 아래와 같이 수정.

  set_irq_type (MK712_DEFAULT_GPIO_IRQ, IRQT_RISING); 

 

  ⑥ io = 0xf1300000, irq = IRQ_GPIO(22), gpio_irp = 22 로 수정.

 

 

----->   결국 echo "1">/dev/mk712 해보면 아래 처럼 나오고 바로 프롬프트로 빠지더군요... ;;

          cat /dev/mk712 해보면 아래처럼 나오고 Ctrl+C 누를때까지 계속 그대로 멈춰있구요.

          그동안 적어놓은 작업 일지 보면서 다시 한번 정리하니 거의 다 된것 같은데도...

          cat /proc/interrupts 로 인터럽트 확인해봐도 0이네요..    

 

          [START]MK712 USERS [0]
          [ING]MK712 CONTORL VALUE [0000005B]
 

            아, 일단 커널 2.4에서 기본적인 테스트는 했습니다. 커널 2.4에서는 잘 동작 하는거 같아요.

          인제 어디를 손봐야 할까요... 제가 뭘 놓친 걸까요.. ;;

          공부하는 과정이라 이렇게 막혀서 일단 리눅스 디바이스 드라이버 책만 뚫어져라 보고 하고 있습니다..

 

 

ㅁㅁㅁㅁ 두번째 질문은 키보드, 마우스 관련 입니다. ㅁㅁㅁㅁ

  -> EZ-X5에 커널 2.6 올리면 EZ-PI 보드에 연결해놓은 PS2 마우스, PS2 키보드 사용은 아직 못하는건가요?  메뉴 컨피그에서

     키보드, 마우스 설정 해놓았는데도 cat /proc/bus/input/devices 하면 아무 장치도 안보입니다... 이곳 포럼 계속 뒤져봐도

     커널 2.6 에서 키보드 관련 정보는 거의 찾아볼수가 없더라구요..ez-x5에 커널 2.6 올리면 키보드 마우스 역시 따로 모듈 만들

     어서 설치해야 하나요?

 

----------------------------------------------------------------------------------------------------------------

 

여기서부터 조언이 필요합니다....

 

초보적인 질문들이라서 죄송하지만,

 

지나가는 조언 한마디라도 해주시면 저에겐 황금이 됩니다 ㅜㅜ