본문 바로가기

IT관련/dm355

dm355 - nvp7000 video 4 linux 2 driver 구현

 

 

 

 

 

 

 

 


기존 evm에 있는 tvp5146가 맘에 들지 않아서,
NextChip 사의 NVP7000을 사용하게 됐다.
국내 업체라.. 지원도 TI 보단 나을거란 믿음을 갖고 ㅎㅎ 
하여튼, 문의 전화는 한통 했는데, 전화하다가 발견해서 별 도움은 안됐다.
보통은 왠만한 드라이버는 TI 처럼 chip vendor에서 제공해 주는 것이 기본인데그런거 없단다.. ㅋ

우선 v4l2 source를 구현하려고 이게 뭔가 부터공부를 했다.
뭐 수박겉핥기로 속독모드로 후닥닥 대충 읽고 대충 감만 잡았다.

그리고 tvp5146 소스를 수정하기 시작했다.
별 필요 없는 부분은 과감히 제거하고

겹치는 부분인 hue/saturation/brightness등은 그대로 썼다. 
(물론 해당 레지스터 주소는 해당 디코더에 맞게 변경 ^^)
init과 pal/ntsc 설정 부분은 nvp 7000에 맞게 다시 구현해야했다.

이거만 하면 그런데 끝나는게 아니다.
user application은 v4l2 interface를 통해 vpfe를 거쳐 nvp7000으로 access 하게 되는데,
user app 쪽은 nvp7000이건 tvp5146이건 관심없는 깔끔한 구조로 되어 있다.




이런 깔끔한 구조로 가려면 v4l2 interface(ioctl)들과 nvp7000 driver에 구현한 드라이버 함수들과
 기능별로 매칭해야하는데 dm355 evm에서 제공하는 소스는 tvp5146에 딱 맞춰서 나온 거라..(vpfe)
if device type으로 구분해주거나 다시 짜거나 해야한다. 

수정은 dm355_vpfe.c를 열어서 tvp5146과 비슷하게 수정해주면 된다.
안되는/모르는 ioctl기능은 과감하게 -1을 리턴해주는 센스를 발휘하는게 빠른 코딩의 지름길이다 -_-;
국내에서 v4l2를 구현하시는분 많으실텐데 관련자료가 너무 없어서 사실 시작전부터 자료 수집하고 엄살을 피웠으나..이틀만에 -_- 깔끔하게 끝나버렸다.
생각보다 쉬우니 혹시  구현해야 하실분은 겁먹지 마시길..



'IT관련 > dm355' 카테고리의 다른 글

dm355 mmc/sd check point  (0) 2009.02.27
dm355 sound programming  (0) 2009.02.27
board debugging (dm355)  (0) 2009.02.27
install sshd on dm355  (0) 2009.02.27
dm355 (u-boot 1.2.0)에 512 byte page size nand yaffs 올리기  (2) 2009.02.27