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

PMIC 의 Device Driver를 만들려고 합니다.

 

그런데 인터페이스가 I2C로 되어 있네요. 여기서 한가지 문제가 생겼는데...

 

Device Driver는 모듈형식으로 제작을 할려고 하는데, I2C 관련 API를 써야 하므로

 

단순하게 #include <i2c.h> 로 include  하고 사용을 하면 되나요?

 

핸드폰 프로그램의 경우 단순이 그렇게 사용을 하긴 합니다만...

 

책에도 안나와 있고, 리눅스 문서 보니까 i2c_driver 구조체를 사용하여 xxx_i2c_init, xxx_i2c_exit 를 선언하고

 

i2c API를 사용하는 것으로 나오던데, 여기에 xxx_attach_adapter, xxx_attach_detach를 써서 또 뭔가를

 

하더라구요...

 

 

대충 이것저것 참조해서 하면 될거 같기는 한데 정말 이렇게 하면 되는건지 좀 막막하네요...

 

혹시 참조할 만한 소스나 인터넷 문서, 아시는데 있나요?

 

아시는 분 답변 좀 부탁드립니다.

 

 

 

 


김택기

2009.10.27 03:33:43
*.36.38.243

Linux에서는 I2C 드라이버가 따로 있습니다.

보통 I2C를 이용하는 디바이스 드라이버의 경우 I2C 드라이버의 Client 형식으로 들어갑니다.

Camera의 경우 대부분 I2C 인터페이스를 사용하기 때문에 Camera driver 쪽을 참고하시면 될 듯 합니다.

윤동열

2009.10.27 04:01:40
*.11.95.180

보통 드라이버 만드는거랑 비슷하게하면 됩니다.

구조체 만들어서 (i2c_driver) 채운다음

init에서  i2c_add_driver() 등록하고..

probe에서 client로 할당 하고..(i2c_set_clientdata())

i2c_master_send()으로 디바이스에 날릴 버퍼를 보내주면 날아갑니다..


드라이버 인터페이스를 fileoperaion으로 쓸경우

open,read,write,close등 만들어서 등록해주고요..

/dev/에 mknod 해서 사용하면 됩니다..


커널/driver에서 i2c_master_send로 검색해서 참고할만 소스를 찾아보세요..

심준영

2009.10.27 07:19:19
*.168.184.55

PMIC면 drivers/regulator/ 아래 driver들을 참조하셔도 되고,

I2C driver 예제는 kernel driver에 정말 많기 때문에 drivers/ 밑에 검색하셔서 아무거나 보셔도 될 듯 하네요.


그리고 언급하신 attach, detach 는 I2C의 old style 입니다.

요즘은 대부분 new style(probe, remove) 방식으로 하고 있으니 참고하세요.

김영일

2009.10.28 21:46:12
*.94.94.134

좋은 답변 감사드립니다. 많은 도움이 되었습니다....^^

 

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
3968 OpenOCD 0.2.0 [1] 김광준 2009-10-24 44803
3967 완전초보입니다. 캡쳐화면좀 보아주세요. [4] 시갈 2009-10-24 616
3966 Android 세미나 자료 업로드 관련된 질문입니다. [8] 이택양 2009-10-26 748
3965 부팅중 로고 화면 깨지는 현상 경험하신 분.... [2] 김영일 2009-10-26 813
3964 ODROID 개발자 지금 구입 가능한 방법 있을까요? [4] Flowox 2009-10-26 809
3963 s3c2410에서 usb host 2port 사용할수있나요? [1] 문철민 2009-10-27 559
» I2C 를 사용하는 칩의 디바이스 드라이버를 어떤식으로 만들죠? [4] 김영일 2009-10-27 1001
3961 6410클럭설정에 대해 [1] 우운용 2009-10-27 593
3960 6410 OTG HOST 질문 드립니다. [3] arc 2009-10-28 1115
3959 메모리 클럭을 낮추면(66) 동작하고, 133으로 하면 뻣어요 ㅜㅜ [2] 조덕연 2009-10-28 776
3958 질문이요~USB host 설정부분입니다. [9] 김민수 2009-10-28 705
3957 S3C2440A에 sram 연결시 속도 문제 [5] 김대영 2009-10-28 813
3956 AMBA BIU에대해 [2] 우운용 2009-10-28 664
3955 LCD 관련 질문입니다. [2] 박이삭 2009-10-28 618
3954 ODROID 개발 자료 미리 받아 볼 수는 없을 까요? [1] 홍성관 2009-10-28 605
3953 busybox로 파일시스템 만든후 gcc 라이브러리 추가 방법?? [1] Kevin 2009-10-29 790
3952 RVDS 4.0 쓰시는 분들 질문이요 !! [3] 뿌삐뿌삐 2009-10-29 2487
3951 터미널 메세지 확인좀 부탁합니다. [5] 나한일 2009-10-30 524
3950 usb DMA는어떻게 enable 시키는건가요?? [3] 정회승 2009-11-01 575
3949 android용 ramdisk작성방법 [2] 이태간 2009-11-02 792

사용자 로그인