DART-MX8M RTC: Difference between revisions
No edit summary |
No edit summary |
||
Line 13: | Line 13: | ||
= Wake-up using the RTC = | = Wake-up using the RTC = | ||
Wake-up using the RTC requires hardware connection of RTC IRQ pin to a SoC GPIO | Wake-up using the RTC requires hardware connection of RTC IRQ pin to a SoC GPIO.<br> | ||
Configure your kernel and add relevant RTC driver. For | On DART-MX8M and DART-MX8M-MINI carrier boards RTC IRQ pin is connected to GPIO1_15.<br> | ||
On VAR-SOM-MX8M-MINI and VAR-SOM-MX8M-NANO carrier boards RTC IRQ pin is not connected.<br> | |||
== Kernel configuration == | |||
Configure your kernel and add relevant RTC driver.<br> | |||
For all Variscite i.MX8 carrier baards this is Device Drivers -> Real Time Clock -> <*> Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025, ISL12057.<br> | |||
{{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M | | {{#ifeq: {{#var:HARDWARE_NAME}} | DART-MX8M | | ||
Edit arch/arm64/boot/dts/{{#ifeq: {{#var:YOCTO_NAME}}|Morty|variscite/imx8m-var-dart-common.dtsi|freescale/fsl-imx8mq-var-dart-common.dtsi}} under Linux kernel source directory: | Edit arch/arm64/boot/dts/{{#ifeq: {{#var:YOCTO_NAME}}|Morty|variscite/imx8m-var-dart-common.dtsi|freescale/fsl-imx8mq-var-dart-common.dtsi}} under Linux kernel source directory: | ||
Line 75: | Line 81: | ||
}} | }} | ||
Follow the "Build Linux from source code" guide to build the kernel and device trees and to copy them to your SD card. Don't forget to also build and install the kernel modules.<br> | Follow the "Build Linux from source code" guide to build the kernel and device trees and to copy them to your SD card. Don't forget to also build and install the kernel modules.<br> | ||
== Using rtcwake command == | |||
For example, to set the RTC to wakeup after 10 seconds type: | For example, to set the RTC to wakeup after 10 seconds type: | ||
# echo enabled > /sys/class/rtc/rtc0/device/power/wakeup | # echo enabled > /sys/class/rtc/rtc0/device/power/wakeup |
Revision as of 11:14, 26 January 2020
Setting the RTC
First set the system date & time:
# date --set="20171231 23:59"
Then set the HW RTC using the system date & time:
# hwclock --systohc --utc
Power down your board, wait 5 minutes and power up again, then check you system date & time and verify it is correct:
# date
Wake-up using the RTC
Wake-up using the RTC requires hardware connection of RTC IRQ pin to a SoC GPIO.
On DART-MX8M and DART-MX8M-MINI carrier boards RTC IRQ pin is connected to GPIO1_15.
On VAR-SOM-MX8M-MINI and VAR-SOM-MX8M-NANO carrier boards RTC IRQ pin is not connected.
Kernel configuration
Configure your kernel and add relevant RTC driver.
For all Variscite i.MX8 carrier baards this is Device Drivers -> Real Time Clock -> <*> Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025, ISL12057.
Edit arch/arm64/boot/dts/freescale/fsl-imx8mq-var-dart-common.dtsi under Linux kernel source directory:
&i2c2 { ... rtc@0x68 { status = "okay"; compatible = "dallas,ds1337"; reg = <0x68>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc>; interrupt-parent = <&gpio1>; interrupts = <15 IRQ_TYPE_EDGE_FALLING>; }; ... }; &iomuxc { ... imx8m-var-dart { ... pinctrl_rtc: rtcgrp { fsl,pins = < MX8MQ_IOMUXC_GPIO1_IO15_GPIO1_IO15 0xc1 >; }; ... };
Follow the "Build Linux from source code" guide to build the kernel and device trees and to copy them to your SD card. Don't forget to also build and install the kernel modules.
Using rtcwake command
For example, to set the RTC to wakeup after 10 seconds type:
# echo enabled > /sys/class/rtc/rtc0/device/power/wakeup # rtcwake -m mem -d rtc0 -s 10
For more options, like waking up at a specific time, run:
# rtcwake --help