도와주세요!!
안녕하세요 이 RTC건으로 몇번씩 질문을 하게 되네요..
pxz270보드에 ds1307을 부착 하였습니다. 부착 후 커널을 수정하고 ( 커널 2.6.21 ) 부팅을 하면
'
i2c: error : exhaususted retries
.
.
I2C : i2c-1 : PXA I2C adapter
.
.
라는 메시지가 나옵니다 . 이때 스코프로 파형을 보면 SCL, SDA 모두 파형이 뜹니다 (물론 Full-up 했습니다)
i2c-pxa.c 등에서 debug 메시지를 집어넣어 dmesg file에서 확인하면 ds1307을 인식은 한 것 같습니다
그런데
부팅 메시지 끝무렵에서
drivers/rtc/hctosys.c :unable to open RTC device (rtc0) 라는 메시지가 나옵니다
실제 /sys/class/rtc-dev 에도 rtc0 가 생성되어 있지 않습니다
물론 hwclock -w 명령도
hwclock: Could not access RTC : No such file or directory 라는 error 만 발생합니다
menuconfig 에서 ds1307을 선택하면 make시 ds1307.o 가 없다 하여 ds1337만 선택하여 make 하였습니다
make option을 이리저리 바꾸면서 해봐도 결과는 똑같습니다
벌써 몇주째 고생하고 있는데 진척이 없어 도움 요청 드립니다.
정말 혼자하기 힘드네요...
platform만 다르지 저와 동일한 문제인 것 같내요.
어떻게 해결하셨는지요?
저는 Linux 2.6.34에 DS1307 RTC를 사용하고 있습니다.
아래와 같이 설정하였는데
drivers/rtc/hctosys.c: unable to open rtc device (rtc0) 이 출력되고 시간 설정이 되지 않습니다.
I2C로 읽고 쓰면 정상적으로 동작 됩니다. (i2cdump, i2cset,...)
script 파일
/bin/mknod /dev/rtc c `${AWK} "\\$2==\"rtc\" {print \\$1}" /proc/devices` 0
#if ( /usr/sbin/i2cdetect -y 1 | grep -q 68 ) ; then
# echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
#fi
i2c@3000 {
#address-cells = <1>;
#size-cells = <0>;
cell-index = <0>;
compatible = "fsl-i2c";
reg = <0x3000 0x100>;
interrupts = <14 0x8>;
interrupt-parent = <&ipic>;
clock-frequency = <400000>;
dfsrr;
rtc@68 {
compatible = "dallas,ds1307";
reg = <0x68>;
};
};
Device
Drivers --->
<*>
Real Time Clock --->
[*]
Set system time from RTC on startup and resume
(rtc0)
RTC used to set the system time
[ ]
RTC debug support
*** RTC interfaces ***
[*]
/sys/class/rtc/rtcN (sysfs)
[*]
/proc/driver/rtc (procfs for rtc0)
[*]
/dev/rtcN (character devices)
*** I2C RTC drivers ***
<*> Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025
1307 대신에 1337을 사용해서 성공하였습니다. 250에서는 1307이 되는데, 270에서는 1307이 안되네요.