IMX6_SNVS(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’– IMX6_SNVS πŸ’–

ok so this is a page from the arm Kernel Interfaces Manual, and we're talking about imx6_snvs(4) β€” the device driver for the NXP i.MX6 on-chip Realtime Clock. yeah. clock girl summer. πŸ•βœ¨


πŸŽ€ NAME πŸŽ€

imx6_snvs β€” the device driver for the NXP i.MX6 on-chip Realtime Clock, bestie. that's the whole vibe. no cap.


✨ SYNOPSIS ✨

so like, you got two ways to do this. pick your fighter. πŸ’…

to compile this driver into the kernel, drop this line in your kernel configuration file:

device imx6_snvs

or, if you'd rather load the driver as a module at boot time (lowkey the flexible option), put this line in loader.conf(5):

imx6_snvs_load="YES"

either one slays. you don't need both. 🫢


🌸 DESCRIPTION 🌸

okay so the imx6_snvs driver provides support for the i.MX6 on-chip realtime clock. it gives you the time of day with a resolution of approximately 30 microseconds. that's tiny. that's like, absurdly precise. iconic behavior. ⏱️

SNVS stands for Secure Non-Volatile Storage, and it refers to the subsystem within the chip that (optionally) remains powered by a battery when the rest of the system is powered down. and yes, the on-chip realtime clock is part of that subsystem. it lives there. rent free. 🏠

the other features of the SNVS subsystem are related to security, tamper monitoring, and power control β€” and ngl, the imx6_snvs driver does not currently support those features. so don't come for it about that. πŸ™ˆ

now here's the tea β˜•: many i.MX6 systems do not use a battery to provide power to the SNVS, because of its relatively high power draw. it's giving "high maintenance." in such systems, this driver is able to provide a very accurate time following a reboot β€” but it cannot provide time at all if the power is cycled. like, at all. zero. nothing. πŸ’€

so if the power gets cycled on one of those battery-less systems? the time is just gone, bestie. no clock for you.

but wait, there's a save πŸ’– β€” if the system provides an i2c or other type of alternate realtime clock with lower resolution, there is value in configuring both clock drivers. doing so allows SNVS to provide accurate time after a reboot, while the external clock provides approximate time after power cycling. it's a collab. two clocks, both main characters, each covering for the other's weakness. we love to see it. πŸ‘‘


πŸ¦‹ HISTORY πŸ¦‹

the imx6_snvs driver first appeared in FreeBSD 12.0. a whole era. ⭐


and that's the whole page, bestie 🧚 β€” sourced from the Debian build of this manual, dated July 8, 2018. go forth and keep accurate time. periodt. πŸ’œπŸŒΈ

πŸ“¦ where this page comes from