Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aaaf5fbf authored by Joshua Kinard's avatar Joshua Kinard Committed by Linus Torvalds
Browse files

rtc: add driver for DS1685 family of real time clocks



This adds a driver for the Dallas/Maxim DS1685-family of RTC chips.  It
supports the DS1685/DS1687, DS1688/DS1691, DS1689/DS1693, DS17285/DS17287,
DS17485/DS17487, and DS17885/DS17887 RTC chips.  These chips are commonly
found in SGI O2 and SGI Octane systems.  It was originally derived from a
driver patch submitted by Matthias Fuchs many years ago for use in
EPPC-405-UC modules, which also used these RTCs.  In addition to the
time-keeping functions, this RTC also handles the shutdown mechanism of
the O2 and Octane and acts as a partial NVRAM for the boot PROMS in these
systems.

Verified on both an SGI O2 and an SGI Octane.

Signed-off-by: default avatarJoshua Kinard <kumba@gentoo.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent befeb596
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2963,6 +2963,12 @@ S: Supported
F:	drivers/input/touchscreen/cyttsp*
F:	include/linux/input/cyttsp.h

DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK
M:	Joshua Kinard <kumba@gentoo.org>
S:	Maintained
F:	drivers/rtc/rtc-ds1685.c
F:	include/linux/rtc/ds1685.h

DAMA SLAVE for AX.25
M:	Joerg Reuter <jreuter@yaina.de>
W:	http://yaina.de/jreuter/
+90 −0
Original line number Diff line number Diff line
@@ -801,6 +801,96 @@ config RTC_DRV_DS1553
	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1553.

config RTC_DRV_DS1685_FAMILY
	tristate "Dallas/Maxim DS1685 Family"
	help
	  If you say yes here you get support for the Dallas/Maxim DS1685
	  family of real time chips.  This family includes the DS1685/DS1687,
	  DS1689/DS1693, DS17285/DS17287, DS17485/DS17487, and
	  DS17885/DS17887 chips.

	  This driver can also be built as a module. If so, the module
	  will be called rtc-ds1685.

choice
	prompt "Subtype"
	depends on RTC_DRV_DS1685_FAMILY
	default RTC_DRV_DS1685

config RTC_DRV_DS1685
	bool "DS1685/DS1687"
	help
	  This enables support for the Dallas/Maxim DS1685/DS1687 real time
	  clock chip.

	  This chip is commonly found in SGI O2 (IP32) and SGI Octane (IP30)
	  systems, as well as EPPC-405-UC modules by electronic system design
	  GmbH.

config RTC_DRV_DS1689
	bool "DS1689/DS1693"
	help
	  This enables support for the Dallas/Maxim DS1689/DS1693 real time
	  clock chip.

	  This is an older RTC chip, supplanted by the DS1685/DS1687 above,
	  which supports a few minor features such as Vcc, Vbat, and Power
	  Cycle counters, plus a customer-specific, 8-byte ROM/Serial number.

	  It also works for the even older DS1688/DS1691 RTC chips, which are
	  virtually the same and carry the same model number.  Both chips
	  have 114 bytes of user NVRAM.

config RTC_DRV_DS17285
	bool "DS17285/DS17287"
	help
	  This enables support for the Dallas/Maxim DS17285/DS17287 real time
	  clock chip.

	  This chip features 2kb of extended NV-SRAM.  It may possibly be
	  found in some SGI O2 systems (rare).

config RTC_DRV_DS17485
	bool "DS17485/DS17487"
	help
	  This enables support for the Dallas/Maxim DS17485/DS17487 real time
	  clock chip.

	  This chip features 4kb of extended NV-SRAM.

config RTC_DRV_DS17885
	bool "DS17885/DS17887"
	help
	  This enables support for the Dallas/Maxim DS17885/DS17887 real time
	  clock chip.

	  This chip features 8kb of extended NV-SRAM.

endchoice

config RTC_DS1685_PROC_REGS
	bool "Display register values in /proc"
	depends on RTC_DRV_DS1685_FAMILY && PROC_FS
	help
	  Enable this to display a readout of all of the RTC registers in
	  /proc/drivers/rtc.  Keep in mind that this can potentially lead
	  to lost interrupts, as reading Control Register C will clear
	  all pending IRQ flags.

	  Unless you are debugging this driver, choose N.

config RTC_DS1685_SYSFS_REGS
	bool "SysFS access to RTC register bits"
	depends on RTC_DRV_DS1685_FAMILY && SYSFS
	help
	  Enable this to provide access to the RTC control register bits
	  in /sys.  Some of the bits are read-write, others are read-only.

	  Keep in mind that reading Control C's bits automatically clears
	  all pending IRQ flags - this can cause lost interrupts.

	  If you know that you need access to these bits, choose Y, Else N.

config RTC_DRV_DS1742
	tristate "Maxim/Dallas DS1742/1743"
	depends on HAS_IOMEM
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_RTC_DRV_DS1390) += rtc-ds1390.o
obj-$(CONFIG_RTC_DRV_DS1511)	+= rtc-ds1511.o
obj-$(CONFIG_RTC_DRV_DS1553)	+= rtc-ds1553.o
obj-$(CONFIG_RTC_DRV_DS1672)	+= rtc-ds1672.o
obj-$(CONFIG_RTC_DRV_DS1685_FAMILY)	+= rtc-ds1685.o
obj-$(CONFIG_RTC_DRV_DS1742)	+= rtc-ds1742.o
obj-$(CONFIG_RTC_DRV_DS2404)    += rtc-ds2404.o
obj-$(CONFIG_RTC_DRV_DS3232)	+= rtc-ds3232.o