Generic device tree bindings for Real Time Clock devices
========================================================

This document describes generic bindings which can be used to describe Real Time
Clock devices in a device tree.

Required properties
-------------------

- compatible : name of RTC device following generic names recommended practice.

For other required properties e.g. to describe register sets,
clocks, etc. check the binding documentation of the specific driver.

Optional properties
-------------------

- start-year : if provided, the default hardware range supported by the RTC is
               shifted so the first usable year is the specified one.

The following properties may not be supported by all drivers. However, if a
driver wants to support one of the below features, it should adapt the bindings
below.
- trickle-resistor-ohms :   Selected resistor for trickle charger. Should be given
                            if trickle charger should be enabled
- trickle-diode-disable :   Do not use internal trickle charger diode Should be
                            given if internal trickle charger diode should be
                            disabled
- wakeup-source :           Enables wake up of host system on alarm
- quartz-load-femtofarads : The capacitive load of the quartz(x-tal),
                            expressed in femto Farad (fF).
                            The default value shall be listed (if optional),
                            and likewise all valid values.

Trivial RTCs
------------

This is a list of trivial RTC devices that have simple device tree
bindings, consisting only of a compatible field, an address and
possibly an interrupt line.


Compatible		Vendor / Chip
==========		=============
abracon,abb5zes3	AB-RTCMC-32.768kHz-B5ZE-S3: Real Time Clock/Calendar Module with I2C Interface
abracon,abeoz9		AB-RTCMC-32.768kHz-EOZ9: Real Time Clock/Calendar Module with I2C Interface
dallas,ds1374		I2C, 32-Bit Binary Counter Watchdog RTC with Trickle Charger and Reset Input/Output
dallas,ds1672		Dallas DS1672 Real-time Clock
dallas,ds3232		Extremely Accurate I²C RTC with Integrated Crystal and SRAM
epson,rx8010		I2C-BUS INTERFACE REAL TIME CLOCK MODULE
epson,rx8571		I2C-BUS INTERFACE REAL TIME CLOCK MODULE with Battery Backed RAM
epson,rx8581		I2C-BUS INTERFACE REAL TIME CLOCK MODULE
emmicro,em3027		EM Microelectronic EM3027 Real-time Clock
isil,isl1208		Intersil ISL1208 Low Power RTC with Battery Backed SRAM
isil,isl1218		Intersil ISL1218 Low Power RTC with Battery Backed SRAM
isil,isl12022		Intersil ISL12022 Real-time Clock
microcrystal,rv3028	Real Time Clock Module with I2C-Bus
microcrystal,rv3029	Real Time Clock Module with I2C-Bus
microcrystal,rv8523	Real Time Clock
nxp,pcf2127		Real-time clock
nxp,pcf2129		Real-time clock
nxp,pcf8563		Real-time clock/calendar
pericom,pt7c4338	Real-time Clock Module
ricoh,r2025sd		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,r2221tl		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,rs5c372a		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,rs5c372b		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,rv5c386		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,rv5c387a		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
sii,s35390a		2-wire CMOS real-time clock
whwave,sd3078		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
xircom,x1205		Xircom X1205 I2C RTC
