Hi,
We have developed a custom carrier board for the Xavier Industrial Module. There is a coin-cell battery which is connected to the VCC_RTC (L53) pin of the module.
The problem is as following: The time of the module is always being reseted after power-up. It seems that there is a problem with the VCC_RTC circuit or settings.
Is there any option on the device-tree or configuration files for the battery?
Yes, this pin is not listed in pinmux. It is defined in the document Jetson_AGX_Xavier_Series_OEM_Product_Design_Guide_DG-09840-001_v2.6.pdf at Chapter 5, Table 5-1.
We hope that there is a RTC in the AGX XAVIER Industrial module. And it should track the time as long as there is battery voltage on the pin (VCC_RTC).
May be the pin is not controlled by SW but RTC settings may be changed from device-tree or related configuration files.
There is a coin-battery connected to this pin, so there is always 3V during power-up.
You can find kernel source and documentation via your L4T release (which is just Ubuntu plus NVIDIA drivers). Check that with “head -n 1 /etc/nv_tegra_release”. Then go here: https://developer.nvidia.com/linux-tegra
In the documentation you’ll be interested in Kernel Customization.
In the downloadable sources, that package contains another package which is the kernel source (it’s just tar archives, not a real package).
That documentation is quite good at cross compiling from your Linux PC. You can find some other links too for tools and setup. However, I’d ask on this forum first before installing. Installation instructions in that documentation is more set up for flashing to contain your new kernel, but you usually won’t need to actually flash.
Thank you for the documetations links. I am at the step 4 of Kernel Customization(4. Build the kernel:). I think that kernel configuration files should be edited before the build. In which file should I add CONFIG_RTC_HCTOSYS_DEVICE=“rtc0” configuration?
Note: What is tihe difference with Kernel Build and Real-time Kernel Build?
Any time you build the make target “tegra_defconfig” you’ve set the base config, and the file “.config” is generated. You don’t need to edit that file directly (and unless you are absolutely certain nothing you change has any dependencies, you should not touch the generated file), you can use a make target such as “nconfig” (a lot of people use “menuconfig” which is almost exactly the same as nconfig, but nconfig has a symbol search).
Please note that during a kernel build, if you specify a separate temporary file output location with the “O=/some/where”, then this is where the .config goes. All steps would need to use that same “O=”, including configuration steps such as nconfig. Within nconfig you could search for symbols using “rtc_hctosys_device” (it is case insensitive and can find partial string matches).