mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 02:19:51 +00:00
MIPS: Alchemy: Add RTC device to all devboards
All Devboards can use the 32kHz counter as a RTC device. Also delete the custom CMOS RTC header, which can be used for the DS1693 on the PB1500. But since it doesn't have a buffer battery it is as useful as the on-chip RTC which I prefer. Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com> To: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/2874/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
c9af5144ce
commit
1c043f16a0
5 changed files with 11 additions and 60 deletions
|
@ -312,13 +312,6 @@ static struct platform_device db1200_ide_dev = {
|
|||
|
||||
/**********************************************************************/
|
||||
|
||||
static struct platform_device db1200_rtc_dev = {
|
||||
.name = "rtc-au1xxx",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
/* SD carddetects: they're supposed to be edge-triggered, but ack
|
||||
* doesn't seem to work (CPLD Rev 2). Instead, the screaming one
|
||||
* is disabled and its counterpart enabled. The 500ms timeout is
|
||||
|
@ -755,7 +748,6 @@ static struct platform_device *db1200_devs[] __initdata = {
|
|||
&db1200_mmc0_dev,
|
||||
&au1200_lcd_dev,
|
||||
&db1200_eth_dev,
|
||||
&db1200_rtc_dev,
|
||||
&db1200_nand_dev,
|
||||
&db1200_audiodma_dev,
|
||||
&db1200_audio_dev,
|
||||
|
|
|
@ -386,13 +386,6 @@ static struct platform_device db1300_5waysw_dev = {
|
|||
|
||||
/**********************************************************************/
|
||||
|
||||
static struct platform_device db1300_rtc_dev = {
|
||||
.name = "rtc-au1xxx",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
static struct pata_platform_info db1300_ide_info = {
|
||||
.ioport_shift = DB1300_IDE_REG_SHIFT,
|
||||
};
|
||||
|
@ -697,7 +690,6 @@ static struct platform_device *db1300_dev[] __initdata = {
|
|||
&db1300_eth_dev,
|
||||
&db1300_i2c_dev,
|
||||
&db1300_5waysw_dev,
|
||||
&db1300_rtc_dev,
|
||||
&db1300_nand_dev,
|
||||
&db1300_ide_dev,
|
||||
&db1300_sd0_dev,
|
||||
|
|
|
@ -372,13 +372,6 @@ static struct platform_device db1550_sndi2s_dev = {
|
|||
|
||||
/**********************************************************************/
|
||||
|
||||
static struct platform_device db1550_rtc_dev = {
|
||||
.name = "rtc-au1xxx",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
/**********************************************************************/
|
||||
|
||||
static int db1550_map_pci_irq(const struct pci_dev *d, u8 slot, u8 pin)
|
||||
{
|
||||
if ((slot < 11) || (slot > 13) || pin == 0)
|
||||
|
@ -427,7 +420,6 @@ static struct platform_device db1550_pci_host_dev = {
|
|||
/**********************************************************************/
|
||||
|
||||
static struct platform_device *db1550_devs[] __initdata = {
|
||||
&db1550_rtc_dev,
|
||||
&db1550_nand_dev,
|
||||
&db1550_i2c_dev,
|
||||
&db1550_ac97_dev,
|
||||
|
|
|
@ -13,6 +13,13 @@
|
|||
#include <asm/reboot.h>
|
||||
#include <asm/mach-db1x00/bcsr.h>
|
||||
|
||||
|
||||
static struct platform_device db1x00_rtc_dev = {
|
||||
.name = "rtc-au1xxx",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
|
||||
static void db1x_power_off(void)
|
||||
{
|
||||
bcsr_write(BCSR_RESETS, 0);
|
||||
|
@ -25,7 +32,7 @@ static void db1x_reset(char *c)
|
|||
bcsr_write(BCSR_SYSTEM, 0);
|
||||
}
|
||||
|
||||
static int __init db1x_poweroff_setup(void)
|
||||
static int __init db1x_late_setup(void)
|
||||
{
|
||||
if (!pm_power_off)
|
||||
pm_power_off = db1x_power_off;
|
||||
|
@ -34,9 +41,11 @@ static int __init db1x_poweroff_setup(void)
|
|||
if (!_machine_restart)
|
||||
_machine_restart = db1x_reset;
|
||||
|
||||
platform_device_register(&db1x00_rtc_dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
late_initcall(db1x_poweroff_setup);
|
||||
device_initcall(db1x_late_setup);
|
||||
|
||||
/* register a pcmcia socket */
|
||||
int __init db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1998, 2001, 03 by Ralf Baechle
|
||||
*
|
||||
* RTC routines for PC style attached Dallas chip.
|
||||
*/
|
||||
#ifndef __ASM_MACH_AU1XX_MC146818RTC_H
|
||||
#define __ASM_MACH_AU1XX_MC146818RTC_H
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/mach-au1x00/au1000.h>
|
||||
|
||||
#define RTC_PORT(x) (0x0c000000 + (x))
|
||||
#define RTC_IRQ 8
|
||||
#define PB1500_RTC_ADDR 0x0c000000
|
||||
|
||||
static inline unsigned char CMOS_READ(unsigned long offset)
|
||||
{
|
||||
offset <<= 2;
|
||||
return (u8)(au_readl(offset + PB1500_RTC_ADDR) & 0xff);
|
||||
}
|
||||
|
||||
static inline void CMOS_WRITE(unsigned char data, unsigned long offset)
|
||||
{
|
||||
offset <<= 2;
|
||||
au_writel(data, offset + PB1500_RTC_ADDR);
|
||||
}
|
||||
|
||||
#define RTC_ALWAYS_BCD 1
|
||||
|
||||
#endif /* __ASM_MACH_AU1XX_MC146818RTC_H */
|
Loading…
Reference in a new issue