C1+에서 HWCLOCK 사용관련 문의드립니다.

Post Reply
actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Mon Feb 25, 2019 10:40 am

보드에서 HWCLOCK을 사용하려고합니다.
터미널에서 HWCLOCK명령을 입력해도 출력되는 데이터가 없습니다.
디버그며령을 주었을 때,
"select() to /dev/rtc to wait for clock tick timed out... synchronization failed" 라고 나옵니다.
제 생각에는 rtc드라이버를 셋팅을 따로 해주어야 rtc를 사용할 수 있는 것 같은데
이와 관련해서 제가 참고할 수 있는 자료가 있을까요?
답변부탁드립니다.

User avatar
odroid
Site Admin
Posts: 30282
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 3 times
Been thanked: 26 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by odroid » Mon Feb 25, 2019 10:56 am

"hwclock" 명령 대신 "timedatectl"을 사용해야 합니다.
viewtopic.php?f=117&t=25052

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Thu Feb 28, 2019 2:43 pm

c1+에서는 hwclock 명령을 사용할 수 없다는 말씀이신가요?

제가 프로그램에서 tcp로 시스템 시간을 리눅스 보드에 전송하여 system("hwclock -w") 명령을 사용하여 리눅스 보드의 hw시간을 변경하도록 구현해 놓았습니다.

timedatectl 명령으로도 하드웨어 시간을 설정할 수가 있나요?

User avatar
odroid
Site Admin
Posts: 30282
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 3 times
Been thanked: 26 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by odroid » Thu Feb 28, 2019 2:53 pm

네, timedatectl 명령을 사용하시면 됩니다.
hwclock은 동작하지 않습니다.

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Thu Feb 28, 2019 3:00 pm

혹시 잘 안 되서 그러는데 예를 들어주실수있나요?
기존 제가 코딩한 소스로는
stime(&t) 로 시스템 시간을 프로그램에서 받은 t변수에 저장하여
system("hwclock -w")로 사용하여 동작하는 것을 확인하였는데요

timedatectl은 system("timedatectl")이렇게만 입력해주어도되나요?

User avatar
odroid
Site Admin
Posts: 30282
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 3 times
Been thanked: 26 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by odroid » Thu Feb 28, 2019 3:12 pm

Command line에서는 아래와 같이 HW RTC의 날짜/시간을 설정하고 확인할 수 사용합니다.

Code: Select all

odroid@odroid:~$ sudo timedatectl set-time "2016-12-16 20:21:00"
odroid@odroid:~$ cat /sys/class/rtc/rtc0/date && date
2016-12-16
Fri Dec 16 20:22:33 UTC 2016
C언어로 RTC를 직접 쓰고 읽는 경우라면 timedatectl 소스코드를 살펴보시는 것도 좋을듯 합니다.
https://github.com/systemd/systemd/blob ... edatectl.c

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Mon Mar 04, 2019 4:41 pm

odroid-c2 를 보면 rtc쉴드가 있어서 hwclock이 사용가능하던데
이 rtc쉴드는 c1에는 호환이 안 되는건가요?

User avatar
odroid
Site Admin
Posts: 30282
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 3 times
Been thanked: 26 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by odroid » Mon Mar 04, 2019 5:15 pm

pcf8563 디바이스 드라이버를 포팅하시면 호환이 될것 같습니다만, 해본적이 없어서 확답은 곤란합니다.

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Wed Mar 20, 2019 3:28 pm

안녕하세요?
rtc모듈을 구매하여 c1에 삽입하였습니다

오드로이드 c2 드라이버 포팅하는 부분 wiki보면서하고있는데
이 부분에서 에러가납니다.

sudo fdtput -t s /media/boot/meson64_odroidc2.dtb /i2c@c1108500/pcf8563@51 status "okay"

이 부분을 입력하면 "Error at '/i2c@c1108500/pcf8563@51' : FDT_ERR_NOTFOUND" 라고 나옵니다.

lsmod 입력해보아도 aml_i2c만 활성화되있고 pcf8563은 활성화되지 않는데.. 이부분 도움받을수있을까요?

User avatar
tobetter
Posts: 3040
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 9 times
Been thanked: 23 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by tobetter » Wed Mar 20, 2019 3:45 pm

actiongyu wrote:
Wed Mar 20, 2019 3:28 pm
안녕하세요?
rtc모듈을 구매하여 c1에 삽입하였습니다

오드로이드 c2 드라이버 포팅하는 부분 wiki보면서하고있는데
이 부분에서 에러가납니다.

sudo fdtput -t s /media/boot/meson64_odroidc2.dtb /i2c@c1108500/pcf8563@51 status "okay"

이 부분을 입력하면 "Error at '/i2c@c1108500/pcf8563@51' : FDT_ERR_NOTFOUND" 라고 나옵니다.

lsmod 입력해보아도 aml_i2c만 활성화되있고 pcf8563은 활성화되지 않는데.. 이부분 도움받을수있을까요?
OS 및 커널 버전을 알려주실 수 있으신가요?
가능하다면 meson64_odroidc2.dtb를 업로드해주시면 확인할 수 있을 것 같습니다.

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Wed Mar 20, 2019 4:11 pm

죄송합니다 . 현재 c1+에 rtc 모듈을 사용하려고한거라서

"meson8b_odroidc.dtb" 파일로 입력하였습니다.

커널버전은 3.10.107-190 이고 os는 16.04 입니다.

User avatar
tobetter
Posts: 3040
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 9 times
Been thanked: 23 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by tobetter » Wed Mar 20, 2019 4:34 pm

actiongyu wrote:
Wed Mar 20, 2019 4:11 pm
죄송합니다 . 현재 c1+에 rtc 모듈을 사용하려고한거라서

"meson8b_odroidc.dtb" 파일로 입력하였습니다.

커널버전은 3.10.107-190 이고 os는 16.04 입니다.
확인을 해보니, 커널 3.10.107에는 RTC Shield에 사용되는 PCF8563드라이버가 추가되어 있지 않습니다. 그래서, ODROID-C2의 가이드되로는 되지 않을 것 같고 아래의 수정 사항을 커널소스 트리에 적용해서 컴파일 하시면 PCF8563가 커널 이미지 및 meson8b_odroidc.dtb에 포함되어 부팅하면서 바로 RTC를 사용할 수 있습니다.

Code: Select all

diff --git a/arch/arm/boot/dts/meson8b_odroidc.dts b/arch/arm/boot/dts/meson8b_odroidc.dts
index 0609574d1ebb..a45006aee069 100755
--- a/arch/arm/boot/dts/meson8b_odroidc.dts
+++ b/arch/arm/boot/dts/meson8b_odroidc.dts
@@ -286,6 +286,14 @@
                 #size-cells = <0>;
                 use_pio = <0>;
                 master_i2c_speed = <100000>;
+
+		/* Hardkernel I2C RTC */
+		pcf8563: pcf8563@51 {
+			compatible = "nxp,pcf8563";
+			reg = <0x51>;
+			#clock-cells = <0>;
+		};
+
         };
 
         i2c@c11087c0{ /*I2C-B*/
diff --git a/arch/arm/configs/odroidc_defconfig b/arch/arm/configs/odroidc_defconfig
index 51559a6b54aa..66b54b0fab88 100644
--- a/arch/arm/configs/odroidc_defconfig
+++ b/arch/arm/configs/odroidc_defconfig
@@ -3732,7 +3732,7 @@ CONFIG_RTC_INTF_DEV=y
 # CONFIG_RTC_DRV_ISL12022 is not set
 # CONFIG_RTC_DRV_X1205 is not set
 # CONFIG_RTC_DRV_PCF8523 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
+CONFIG_RTC_DRV_PCF8563=y
 # CONFIG_RTC_DRV_PCF8583 is not set
 # CONFIG_RTC_DRV_M41T80 is not set
 # CONFIG_RTC_DRV_BQ32K is not set

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Tue Mar 26, 2019 1:21 pm

답변감사드립니다.

가르쳐주신대로 dts와 config파일 수정하여 컴파일 후 이미지 및 dtb파일 업데이트하였습니다.

하지만 리부팅 후에 lsmod를 입력했을 때 pcf8563관련 모듈이 활성화되지않습니다.

혹시 몰라 c2가이드대로 다시 해보니 fdtput명령을 했을 떄 기존처럼 오류는 나오지않은것으로 보아 dtb에 적용이 된 것 같은데

aml_i2c만 활성화되고 pcf8563은 활성화되지않습니다.

추가적으로 어떤 작업을 해야할까요?

User avatar
tobetter
Posts: 3040
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 9 times
Been thanked: 23 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by tobetter » Tue Mar 26, 2019 1:30 pm

actiongyu wrote:
Tue Mar 26, 2019 1:21 pm
답변감사드립니다.

가르쳐주신대로 dts와 config파일 수정하여 컴파일 후 이미지 및 dtb파일 업데이트하였습니다.

하지만 리부팅 후에 lsmod를 입력했을 때 pcf8563관련 모듈이 활성화되지않습니다.

혹시 몰라 c2가이드대로 다시 해보니 fdtput명령을 했을 떄 기존처럼 오류는 나오지않은것으로 보아 dtb에 적용이 된 것 같은데

aml_i2c만 활성화되고 pcf8563은 활성화되지않습니다.

추가적으로 어떤 작업을 해야할까요?
작업하신 .dtb (바이너리) 파일과 C1+가 부팅한 후에 /proc/config.gz파일을 업로드 해주시겠어요?

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Tue Mar 26, 2019 4:11 pm

요청하신 파일 첨부합니다.

리눅스에서 /proc/에서 config.gz가 빨간글씨로 나옵니다

확인부탁드립니다.
Attachments
meson8b_odroidc.zip
(5.44 KiB) Downloaded 5 times
config.gz
(26.43 KiB) Downloaded 5 times

User avatar
tobetter
Posts: 3040
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 9 times
Been thanked: 23 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by tobetter » Tue Mar 26, 2019 4:49 pm

actiongyu wrote:
Tue Mar 26, 2019 4:11 pm
요청하신 파일 첨부합니다.

리눅스에서 /proc/에서 config.gz가 빨간글씨로 나옵니다

확인부탁드립니다.
첨부해주신 CONFIG내용으로 보면 PCF8563드라이버는 이미 커널에 포함되어 있기 때문에 modprobe는 안하셔도 됩니다.

Code: Select all

3734 # CONFIG_RTC_DRV_PCF8523 is not set
3735 CONFIG_RTC_DRV_PCF8563=y
3736 # CONFIG_RTC_DRV_PCF8583 is not set
3737 # CONFIG_RTC_DRV_M41T80 is not set
그리고, DTB파일을 보면 PCF8563 NODE도 추가되었습니다.

Code: Select all

282         i2c@c1108500 {
283                 compatible = "amlogic,aml_i2c";
284                 dev_name = "i2c-A";
285                 status = "ok";
286                 reg = <0xc1108500 0x20>;
287                 device_id = <0x1>;
288                 pinctrl-names = "default";
289                 pinctrl-0 = <0x12>;
290                 #address-cells = <0x1>;
291                 #size-cells = <0x0>;
292                 use_pio = <0x0>;
293                 master_i2c_speed = <0x186a0>;
294 
295                 pcf8563@51 {
296                         compatible = "nxp,pcf8563";
297                         reg = <0x51>;
298                         #clock-cells = <0x0>;
299                 };
300         };
RTC가 연결된 I2C채널을 확인해야 할 것 같습니다. 현재 수정된 내용으로는 GPIO의 #3, #5에 연결되어 있어야 합니다.
https://wiki.odroid.com/odroid-c2/appli ... e/gpio/i2c

혹시 가능하시다면 오실로스코프로 I2C의 신호를 찍어봐주시기 바랍니다.

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Tue Mar 26, 2019 5:41 pm

오실로스코프로 3번 5번 SCL, SDA를 찍어봤을 때, RTC쉴드를 삽입하거나 안햇을 때 모두 동일하게 3.3V 전압만 유지합니다.

I2C기능을 사용하기 위해 따로 인에이블해야하는게 있나요?

User avatar
tobetter
Posts: 3040
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 9 times
Been thanked: 23 times
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by tobetter » Tue Mar 26, 2019 5:56 pm

actiongyu wrote:
Tue Mar 26, 2019 5:41 pm
오실로스코프로 3번 5번 SCL, SDA를 찍어봤을 때, RTC쉴드를 삽입하거나 안햇을 때 모두 동일하게 3.3V 전압만 유지합니다.

I2C기능을 사용하기 위해 따로 인에이블해야하는게 있나요?
기본적으로 수정하신 DTB로 적용이 되어야하는 것으로 이해합니다. ls /dev/i2c-1이 있는지 확인을 해보시겠어요?
그리고, i2cdetect -y 1명령으로 51번 어드레스에 RTC가 검출되어야 하고, 스코프로 SCL/SDA신호가 스윙을 해야 합니다.

actiongyu
Posts: 10
Joined: Mon Feb 25, 2019 10:37 am
languages_spoken: english
ODROIDs: odroid-c1+
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by actiongyu » Tue Mar 26, 2019 6:30 pm

ls /dev/i2c-1 명령을 했을 때 파일이 존재하지않았습니다.

c2의 rtc가이드에 aml_i2c와 rtc-pcf8563을 모듈에 포함시키니 그제서야 ls /dev/i2c-1~4이 생겼습니다.

하지만 lsmod 를 했을 때 aml_i2c만 활성화되어진 상태였구요.

i2cdetect -y 1 을 입력했을 때 51번 어드레스에 "51"이 아니라 "UU"라고 표시되는 것을 확인하였습니다.

스코프로 파형은 기존과 동일하게 3.3v 전압만 유지하고 스윙하는것은 볼 수가 없네요 ..

joshua.yang
Posts: 163
Joined: Fri Sep 22, 2017 5:54 pm
languages_spoken: English
ODROIDs: XU4, XU4Q + Cloudshell2, H2
Has thanked: 0
Been thanked: 0
Contact:

Re: C1+에서 HWCLOCK 사용관련 문의드립니다.

Unread post by joshua.yang » Thu Apr 11, 2019 10:37 am

안녕하세요.

테스트해보니 rtc-pcf8563 모듈을 lsmod에 나오지 않더라도 사용이 가능했습니다.

dmesg와 /dev/rtc* 파일을 확인해주시겠어요?

Code: Select all

root@odroid:~# dmesg | grep rtc
[    9.540117] aml_rtc rtc.1: rtc core: registered aml_rtc as rtc0
[    9.728419] aml_rtc rtc.1: setting system clock to 2019-04-10 23:47:31 UTC (1554940051)
[   13.212154] rtc-pcf8563 1-0051: chip found, driver version 0.4.3
[   13.219607] rtc-pcf8563 1-0051: rtc core: registered rtc-pcf8563 as rtc1

root@odroid:~# ll /dev/rtc*
lrwxrwxrwx 1 root root      4 Apr 10 23:47 /dev/rtc -> rtc0
crw------- 1 root root 252, 0 Apr 10 23:47 /dev/rtc0
crw------- 1 root root 252, 1 Apr 10 23:47 /dev/rtc1
/dev/rtc1 파일이 있다면 hwclock으로 시도해보세요.
아래 명령어들처럼 -f /dev/rtc1 옵션 추가 후 사용하시면 됩니다.

Code: Select all

hwclock -f /dev/rtc1 -s
hwclock -f /dev/rtc1 -w
hwclock -f /dev/rtc1 -r

Post Reply

Return to “C0/C1/C1+/C2”

Who is online

Users browsing this forum: No registered users and 1 guest