[RFC 0/5] add rtc support

Antony Pavlov antonynpavlov at gmail.com
Thu Jul 10 23:32:57 PDT 2014


On Fri, 11 Jul 2014 08:10:26 +0200
Sascha Hauer <s.hauer at pengutronix.de> wrote:

> On Fri, Jul 11, 2014 at 10:12:36AM +0400, Antony Pavlov wrote:
> > On Fri, 11 Jul 2014 07:37:38 +0200
> > Sascha Hauer <s.hauer at pengutronix.de> wrote:
> > 
> > > On Thu, Jul 10, 2014 at 12:33:14PM +0400, Antony Pavlov wrote:
> > > > This patchseries imports RTC support from linux-3.15.
> > > > 
> > > > User can use 'hwclock' command to see realtime clock readout.
> > > > 
> > > > Tested with DS1307.
> > > > 
> > > > TODOs:
> > > > 
> > > >  * rtc_set_time() is not realized;
> > > >  * ds1307_set_time() is not tested;
> > > >  * bcd lib is compiled in even if rtc support is disabled (as linux does);
> > > >    we can make it optional;
> > > 
> > > It's probably not worth it. The linker will throw it away anyway if
> > > unused.
> > 
> > Hmm, I have missed this.
> > 
> > In this case can we drop I2C_SMBUS Kconfig stuff
> > 
> > +config I2C_SMBUS
> > +	bool
> > +
> > 
> > +obj-$(CONFIG_I2C_SMBUS) += i2c-smbus.o
> > 
> > from 'add driver for PCA95[357]x, ...' series?
> > 
> > Anyway CONFIG_I2C_SMBUS has another meaning in linux.
> > 
> > > 
> > > >  * adjust include/linux/rtc.h and include/rtc.h;
> > > >  * rtc_unregister() is not realized.
> > > 
> > > Maybe an environment variable which holds the seconds since epoch would
> > > be useful. This way scripts could make use of the current RTC time.
> > 
> > So you propose to add an option to hwclock command to store RTC readout into variable,
> > isn't it?
> 
> Yes. This would allow scripts to compare times or to store the current
> time in some boot log.
> 
> > 
> > I have an idea to put epoch offset (number of years into AD to which a zero year value
> > in the Hardware Clock refers) into "global.epoch" variable and add corresponding
> > Kconfig option for default epoch value.
> 
> Does Linux support such a mechanism aswell? How can we make sure Linux
> uses the same epoch offset?

Here is a quote from my hwclock(8) manpage:

       --getepoch
              Print  the  kernel's Hardware Clock epoch value to standard output.  This is the
              number of years into AD to which a zero year value in the Hardware Clock refers.
              For example, if you are using the convention that the year counter in your Hard‐
              ware Clock contains the number of full years since 1952, then the kernel's Hard‐
              ware Clock epoch value must be 1952.

              This epoch value is used whenever hwclock reads or sets the Hardware Clock.

       --setepoch
              Set  the  kernel's  Hardware  Clock  epoch  value  to the value specified by the
              --epoch option.  See the --getepoch option for details.

I suppose that Hardware Clock epoch depends on RTC-chip. I see no automatic machanism to guarantee the same epoch
for linux and barebox.


-- 
Best regards,
  Antony Pavlov



More information about the barebox mailing list