[Top] [All Lists]

[PATCH 0/2]: rtc: rtc-ds1685: Add driver to support Dallas/Maxim DS1685/

To:, Alessandro Zummo <>
Subject: [PATCH 0/2]: rtc: rtc-ds1685: Add driver to support Dallas/Maxim DS1685/DS1687 & related chips
From: Joshua Kinard <>
Date: Thu, 07 Apr 2011 09:14:16 -0400
Cc: LKML <>, Linux MIPS List <>
Original-recipient: rfc822;
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv: Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9
Hash: SHA1

So I tried a little over a month ago to submit a driver to support the
Dallas/Maxim DS1685/DS1687-series of RTC chips.  After some very good feedback,
I pretty much decided to re-write most of the driver and hope this time, it
passes muster.

If it does, I'd like to get this queued for 2.6.40.  Please advise me of any
required steps for this.

The DS1685/DS1687-series RTCs are direct descendants of the DS1285 through
DS1585 line of PC RTCs.  They support the usual bits for time, calendar, alarm,
and a small amount of user NVRAM through the use of four control registers (A
through D).  The DS1685/DS1687 extend this core support by adding two additional
registers (4A, 4B), century bits, month day alarm, wake-up/kickstart, extended
NV-SRAM, and a silicon-serial number.  These features are accessed via an
extended bank switched to by setting a bit in control register A.

In addition to the DS1685/DS1687, this driver supports the older DS1688/DS1691
and DS1689/DS1693 RTC chips (no functional difference between these two types),
as well as the newer DS17x85/DS17x87 chips that represent the current generation
of this particular family.  The key differences between all these models is
primarily in the total amount of available extended NV-SRAM and minor features,
such as burst-mode access to said NV-SRAM on the DS17x85/7 line.

The driver provides functionality for time, calendar, alarm, periodic frequency,
& power-off/management capabilities.  The power management is customizable via
platform_data on various platforms, in addition to configuring the register
step-size (if needed).  The driver currently relies on mmio to reach the
registers, which is a requirement on MIPS.  I've looked at a couple of other RTC
drivers that implement pio access, and have plans to add that in the future once
I hunt down some kind of gadget or dongle that maybe lets me test an RTC chip on
my PC directly.

I developed this driver primarily on an SGI O2 (IP32) system, which uses a
DS1687-5 RTC.  I have not been able to test the 17x87 line, though I am hoping
to get my hands on a DS17287-5 shortly to see if it's functional in my O2.  This
particular patch is just the core driver only.  Platform-specific bits (IP32)
will follow this patch to the Linux/MIPS list for review there.

If anyone notices anything outstanding, please let me know.  Hopefully I covered
all of my bases this time around...


- -- 
Joshua Kinard

"The past tempts us, the present confuses us, the future frightens us.  And our
lives slip away, moment by moment, lost in that vast, terrible in-between."

- --Emperor Turhan, Centauri Republic
Version: GnuPG v2.0.17 (MingW32)


<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 0/2]: rtc: rtc-ds1685: Add driver to support Dallas/Maxim DS1685/DS1687 & related chips, Joshua Kinard <=