diff options
author | David Brownell <david-b@pacbell.net> | 2008-02-06 04:38:59 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-06 13:41:14 -0500 |
commit | 4cdf854f7d60498bbda436068a118b95059b244b (patch) | |
tree | e7d5169176a48a9b5dd980baa42c9083244736e7 /drivers/rtc/Kconfig | |
parent | f618258ad8af0413f08af60bd0eb050562e700fa (diff) |
rtc: at91sam9 RTC support (RTT and/or RTC)
AT91sam9 RTC support, primarily in the form of an RTT-as-RTC driver that was
extracted from 2.6.23-at91 patch and updated:
- Relies on now-merged platform updates, which associate the RTT
hardware address with each RTT and use the "at91_rtt" name.
- RTC framework related fixes and cleanups, notably:
* removed now-needless suspend/resume clock offset logic
* alarm read/write now respects the "enabled" flag
* suspend always disables update irqs
* shutdown (and startup) disables all irqs
- Misc cleanup:
* use dev_*() messaging
* add comments
* remove globals,
* ... etc
- Don't force use of RTT0 and GPBR0. Either resource may need
to be used for other purposes (like NO_HZ support).
- Update "AT91RM9200 RTC" Kconfig to allow it on SAM9RL chips
(it has both RTT and RTC).
Driver binding uses bus_find_device() to avoid needing any kind of "timer
library" code when there's more than one RTT module. (This timer can be used
as an RTC, to support NO_HZ operation, or potentially for other stuff. The
choice is a per-system policy.)
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Michel Benoit <murpme@gmail.com>
Cc: Nicolas Ferre <nicolas.ferre@rfo.atmel.com>
Cc: Andrew Victor <linux@maxim.org.za>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc/Kconfig')
-rw-r--r-- | drivers/rtc/Kconfig | 45 |
1 files changed, 41 insertions, 4 deletions
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 484de8e4c5ae..6402d699072b 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig | |||
@@ -469,10 +469,47 @@ config RTC_DRV_AT32AP700X | |||
469 | AT32AP700x family processors. | 469 | AT32AP700x family processors. |
470 | 470 | ||
471 | config RTC_DRV_AT91RM9200 | 471 | config RTC_DRV_AT91RM9200 |
472 | tristate "AT91RM9200" | 472 | tristate "AT91RM9200 or AT91SAM9RL" |
473 | depends on ARCH_AT91RM9200 | 473 | depends on ARCH_AT91RM9200 || ARCH_AT91SAM9RL |
474 | help | 474 | help |
475 | Driver for the Atmel AT91RM9200's internal RTC (Realtime Clock). | 475 | Driver for the internal RTC (Realtime Clock) module found on |
476 | Atmel AT91RM9200's and AT91SAM9RL chips. On SAM9RL chips | ||
477 | this is powered by the backup power supply. | ||
478 | |||
479 | config RTC_DRV_AT91SAM9 | ||
480 | tristate "AT91SAM9x" | ||
481 | depends on ARCH_AT91 && !(ARCH_AT91RM9200 || ARCH_AT91X40) | ||
482 | help | ||
483 | RTC driver for the Atmel AT91SAM9x internal RTT (Real Time Timer). | ||
484 | These timers are powered by the backup power supply (such as a | ||
485 | small coin cell battery), but do not need to be used as RTCs. | ||
486 | |||
487 | (On AT91SAM9rl chips you probably want to use the dedicated RTC | ||
488 | module and leave the RTT available for other uses.) | ||
489 | |||
490 | config RTC_DRV_AT91SAM9_RTT | ||
491 | int | ||
492 | range 0 1 | ||
493 | default 0 | ||
494 | prompt "RTT module Number" if ARCH_AT91SAM9263 | ||
495 | depends on RTC_DRV_AT91SAM9 | ||
496 | help | ||
497 | More than one RTT module is available. You can choose which | ||
498 | one will be used as an RTC. The default of zero is normally | ||
499 | OK to use, though some systems use that for non-RTC purposes. | ||
500 | |||
501 | config RTC_DRV_AT91SAM9_GPBR | ||
502 | int | ||
503 | range 0 3 if !ARCH_AT91SAM9263 | ||
504 | range 0 15 if ARCH_AT91SAM9263 | ||
505 | default 0 | ||
506 | prompt "Backup Register Number" | ||
507 | depends on RTC_DRV_AT91SAM9 | ||
508 | help | ||
509 | The RTC driver needs to use one of the General Purpose Backup | ||
510 | Registers (GPBRs) as well as the RTT. You can choose which one | ||
511 | will be used. The default of zero is normally OK to use, but | ||
512 | on some systems other software needs to use that register. | ||
476 | 513 | ||
477 | config RTC_DRV_BFIN | 514 | config RTC_DRV_BFIN |
478 | tristate "Blackfin On-Chip RTC" | 515 | tristate "Blackfin On-Chip RTC" |