도와주세요!!
글 수 15,339
2008.04.16 19:59:35 (*.245.249.135)
7032
제목 그대로 입니다.
터치(mk712)관련 커널 2.6에서 해보신적 있나요? 아마, 초기화가 안되는듯하네요.
커널 2.4버전에서 2.6으로 바꿔서 테스트 중인데요...
여기 EZ-X5의 mk712.c상의 proc_mk712_write() 함수를 이용해서 제대로 동작이 되는지 테스트 중인데요...
터치가 정상동작하는 커널 2,4에서는...
[root@ez-x5 /root]$ echo "1" > /proc/mk712
proc_mk712_write Start
[ING]MK712 CONTORL_Reg. VALUE [0000005B]
[ING]MK712 CONTORL_Reg. VALUE [00000000]
[ING]MK712 CONTORL_Reg. VALUE [0000005B]
[ING]MK712 RATE_Reg. VALUE [00000032]
proc_mk712_write End
[root@ez-x5 /root]$
mk712_interrupt Start
[0123:2563]
mk712_interrupt End
mk712_interrupt Start
[0976:3698]
mk712_interrupt End
mk712_interrupt Start
[0235:6874]
mk712_interrupt End
...
이런 식으로 인터럽트가 걸리면서 좌표값이 나오는데...
커널 2.6에서 바뀐부분을 수정하며... (아래꺼 외에도 기타등등)
// set_GPIO_IRQ_edge (MK712_DEFAULT_GPIO_IRQ, GPIO_RISING_EDGE); // v_2.4
set_irq_type (MK712_DEFAULT_GPIO_IRQ, GPIO_RISING_EDGE); // v_2.6
디버깅메시지를 여기저기 추가해서, echo "1" > /proc/mk712_touchscreen를 실행시켜보면...
root:~# echo "1" > /proc/mk712_touchscreen
proc_mk712_write Start
inb : MK712 CONTORL_Reg = 6 : VALUE [ 00 ]
inb : MK712 CONTORL_Reg = 6 : VALUE [ 5B ]
inb : MK712 RATE_Reg = 7 : VALUE [ 32 ]
proc_mk712_write End
이러고 끝나내요... 반응이 없어요... -ㅅ-;
그래서, 인터럽트를 체크해보니... cat /proc/interrupts를 쳐봤는데 인터럽트에 '0' 값이 나오더군요..;;
장치를 초기화하는 값은 제대로 쓰여진것 같은데...
인터럽트가 발생이 되지 않는 걸로 봐서는, 초기화가 제대로 안되었거나...
인터럽트가 등록등이 제대로 안된거 같은데요...
(아무리봐도, 장치의 초기화가 제대로 안된거 같은데...;;)
흠...
될것 같은데 안되니까~ 방향잡기가 애매하네요...
-ㅅ-;
이럴때는 어찌해야 될까요...!?
터치(mk712)관련 커널 2.6에서 해보신적 있나요? 아마, 초기화가 안되는듯하네요.
커널 2.4버전에서 2.6으로 바꿔서 테스트 중인데요...
여기 EZ-X5의 mk712.c상의 proc_mk712_write() 함수를 이용해서 제대로 동작이 되는지 테스트 중인데요...
터치가 정상동작하는 커널 2,4에서는...
[root@ez-x5 /root]$ echo "1" > /proc/mk712
proc_mk712_write Start
[ING]MK712 CONTORL_Reg. VALUE [0000005B]
[ING]MK712 CONTORL_Reg. VALUE [00000000]
[ING]MK712 CONTORL_Reg. VALUE [0000005B]
[ING]MK712 RATE_Reg. VALUE [00000032]
proc_mk712_write End
[root@ez-x5 /root]$
mk712_interrupt Start
[0123:2563]
mk712_interrupt End
mk712_interrupt Start
[0976:3698]
mk712_interrupt End
mk712_interrupt Start
[0235:6874]
mk712_interrupt End
...
이런 식으로 인터럽트가 걸리면서 좌표값이 나오는데...
커널 2.6에서 바뀐부분을 수정하며... (아래꺼 외에도 기타등등)
// set_GPIO_IRQ_edge (MK712_DEFAULT_GPIO_IRQ, GPIO_RISING_EDGE); // v_2.4
set_irq_type (MK712_DEFAULT_GPIO_IRQ, GPIO_RISING_EDGE); // v_2.6
디버깅메시지를 여기저기 추가해서, echo "1" > /proc/mk712_touchscreen를 실행시켜보면...
root:~# echo "1" > /proc/mk712_touchscreen
proc_mk712_write Start
inb : MK712 CONTORL_Reg = 6 : VALUE [ 00 ]
inb : MK712 CONTORL_Reg = 6 : VALUE [ 5B ]
inb : MK712 RATE_Reg = 7 : VALUE [ 32 ]
proc_mk712_write End
이러고 끝나내요... 반응이 없어요... -ㅅ-;
그래서, 인터럽트를 체크해보니... cat /proc/interrupts를 쳐봤는데 인터럽트에 '0' 값이 나오더군요..;;
장치를 초기화하는 값은 제대로 쓰여진것 같은데...
인터럽트가 발생이 되지 않는 걸로 봐서는, 초기화가 제대로 안되었거나...
인터럽트가 등록등이 제대로 안된거 같은데요...
(아무리봐도, 장치의 초기화가 제대로 안된거 같은데...;;)
흠...
될것 같은데 안되니까~ 방향잡기가 애매하네요...
-ㅅ-;
이럴때는 어찌해야 될까요...!?
혹시, 2.6으로 수정한거 있으신분 없나요?
있으시면, 좀 부탁드릴께요...
nowboy@hanmail.net
아~~ 이거 빡시네요..
--ㅅ-;