Starting the real time clock on virgin systems

steven james pyro at linuxlabs.com
Tue Dec 10 22:47:00 CET 2002


Greetings,

if the init is what I think it is ( setting bit 5 in RTC index 0x0a, the
divider), it should be the same for all RTC. The part that tends to differ
is the PnP stuff. The index accesses from port 0x70-71 tend to stick to
standards.

G'day,
sjames



On 10 Dec 2002, Eric W. Biederman wrote:

> Kevin Hester <kevinh at ispiri.com> writes:
> 
> > Hi all,
> > 
> > First I'd like to describe a problem I've encountered:
> > 
> > I have a virgin motherboard that has never been powered up before.  i.e. this 
> > board was not manufactured elsewhere and a 'standard' BIOS has never been 
> > used on it.
> > 
> > When booting this board I discovered an interesting problem: the boot would 
> > hang when the "hwclock" tool was invoked by /etc/rcS.d/<some script that 
> > reads the rtc>.  
> > 
> > The underlying problem is that this common linux utility is reading the RTC 
> > via the standard IO ports 70-71.  Within this RTC window all of the dallas 
> > semiconductor RTC clones use a few bits in register 0x0a to enable the clock 
> > when power is down.  The default values of these bits do not enable the clock 
> > - presumably to avoid draining the battery until the boards are first placed 
> > into production.
> > 
> > I've modified my version of linuxbios to ensure that these bits are set to 
> > enable the RTC updates.  My question is, where is the best place to make this 
> > change?
> 
> Assuming your RTC hardware is in your southbridge:
> src/southbridge/<manufacturer>/<chipset>/rtc.c or something like that.
> 
> It is my experience that only for reading the real time clock is
> a real time clock a real time clock.  The control functions which are
> handled rarely tend to be specific to an individual implementation.  Though
> there are generally similarities within a family of implementations.
> 
> > 1) In some non linuxbios component (i.e. some little app run at boot time)
> > 
> > 2) In linuxbios, but restricted to my mainboard.
> > 
> > 3) In linuxbios, but in 'common' code that applies to all intel boards.
> 
> In linuxbios common code that applies to your southbridge.
> For now it will probably work best to have that code called from your mainboard,
> and others who need it can call that code as well.\
>  
> > I'm in favor of option 3, but I thought I'd ask first.  I think this problem 
> > would apply to any board.  The reason we haven't seen it before is that most 
> > folks are running linux bios on boards that once had a standard bios.  The 
> > standard bios has already 'activated' the RTC updates.
> 
> I suspect being the second BIOS on the boards has certainly had something to
> do with it.   But given how much chips vary this may simply be an oddity of
> your particular variation of the board.
> 
> > What do you think?
> 
> Until I see proof that this feature was in the original motorola mc146818 
> real time clock, and has been in all implementations there after, I
> don't want the code to apply all boards indescrimanently.
> 
> Eric
> 
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at clustermatic.org
> http://www.clustermatic.org/mailman/listinfo/linuxbios
> 

-- 
-------------------------steven james, director of research, linux labs
... ........ ..... ....                     230 peachtree st nw ste 701
the original linux labs                             atlanta.ga.us 30303
      -since 1995                              http://www.linuxlabs.com
                                   office 404.577.7747 fax 404.577.7743
-----------------------------------------------------------------------





More information about the coreboot mailing list