aboutsummaryrefslogtreecommitdiff
path: root/sys/mips/rmi/dev
diff options
context:
space:
mode:
authorSean Bruno <sbruno@FreeBSD.org>2015-07-29 15:32:59 +0000
committerSean Bruno <sbruno@FreeBSD.org>2015-07-29 15:32:59 +0000
commit1f6aae90ad33ff1495f63137ce3e87824c0a7ee9 (patch)
tree49f148b3a844a3c9e7927fe28d1058ed314b4f75 /sys/mips/rmi/dev
parent10a0e0bf0a5ee749abbdc29555147b75d0746b81 (diff)
downloadsrc-1f6aae90ad33ff1495f63137ce3e87824c0a7ee9.tar.gz
src-1f6aae90ad33ff1495f63137ce3e87824c0a7ee9.zip
Make Broadcom XLR use shared ds1374 RTC driver.
Remove its identical and redundant ds1374u version. Differential Revision: D3225 Submitted by: kevin.bowling@kev009.com
Notes
Notes: svn path=/head/; revision=286015
Diffstat (limited to 'sys/mips/rmi/dev')
-rw-r--r--sys/mips/rmi/dev/iic/ds1374u.c147
1 files changed, 0 insertions, 147 deletions
diff --git a/sys/mips/rmi/dev/iic/ds1374u.c b/sys/mips/rmi/dev/iic/ds1374u.c
deleted file mode 100644
index 0c0b8236b170..000000000000
--- a/sys/mips/rmi/dev/iic/ds1374u.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*-
- * Copyright (c) 2003-2009 RMI Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of RMI Corporation, nor the names of its contributors,
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RMI_BSD */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-/*
- * RTC chip sitting on the I2C bus.
- */
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/module.h>
-#include <sys/bus.h>
-#include <sys/clock.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/rman.h>
-
-#include <mips/include/bus.h>
-#include <mips/include/cpu.h>
-#include <mips/include/cpufunc.h>
-#include <mips/include/frame.h>
-#include <mips/include/resource.h>
-
-#include <dev/iicbus/iiconf.h>
-#include <dev/iicbus/iicbus.h>
-
-#include "iicbus_if.h"
-#include "clock_if.h"
-
-#define DS1374_RTC_COUNTER 0 /* counter (bytes 0-3) */
-
-struct ds1374u_softc {
- uint32_t sc_addr;
- device_t sc_dev;
-};
-
-static int
-ds1374u_probe(device_t dev)
-{
- device_set_desc(dev, "DS1374U-33 RTC");
- return (0);
-}
-
-static int
-ds1374u_attach(device_t dev)
-{
- struct ds1374u_softc *sc = device_get_softc(dev);
-
- if(sc==NULL) {
- printf("ds1374u_attach device_get_softc failed\n");
- return (0);
- }
- sc->sc_dev = dev;
- sc->sc_addr = iicbus_get_addr(dev);
-
- clock_register(dev, 1000);
- return (0);
-}
-
-static int
-ds1374u_settime(device_t dev, struct timespec *ts)
-{
- /* NB: register pointer precedes actual data */
- uint8_t data[5] = { DS1374_RTC_COUNTER };
- struct ds1374u_softc *sc = device_get_softc(dev);
- struct iic_msg msgs[1] = {
- { sc->sc_addr, IIC_M_WR, 5, data },
- };
-
- data[1] = (ts->tv_sec >> 0) & 0xff;
- data[2] = (ts->tv_sec >> 8) & 0xff;
- data[3] = (ts->tv_sec >> 16) & 0xff;
- data[4] = (ts->tv_sec >> 24) & 0xff;
-
- return iicbus_transfer(dev, msgs, 1);
-}
-
-static int
-ds1374u_gettime(device_t dev, struct timespec *ts)
-{
- struct ds1374u_softc *sc = device_get_softc(dev);
- uint8_t addr[1] = { DS1374_RTC_COUNTER };
- uint8_t secs[4];
- struct iic_msg msgs[2] = {
- { sc->sc_addr, IIC_M_WR, 1, addr },
- { sc->sc_addr, IIC_M_RD, 4, secs },
- };
- int error;
-
- error = iicbus_transfer(dev, msgs, 2);
- if (error == 0) {
- /* counter has seconds since epoch */
- ts->tv_sec = (secs[3] << 24) | (secs[2] << 16)
- | (secs[1] << 8) | (secs[0] << 0);
- ts->tv_nsec = 0;
- }
- return error;
-}
-
-static device_method_t ds1374u_methods[] = {
- DEVMETHOD(device_probe, ds1374u_probe),
- DEVMETHOD(device_attach, ds1374u_attach),
-
- DEVMETHOD(clock_gettime, ds1374u_gettime),
- DEVMETHOD(clock_settime, ds1374u_settime),
-
- {0, 0},
-};
-
-static driver_t ds1374u_driver = {
- "ds1374u",
- ds1374u_methods,
- sizeof(struct ds1374u_softc),
-};
-static devclass_t ds1374u_devclass;
-
-DRIVER_MODULE(ds1374u, iicbus, ds1374u_driver, ds1374u_devclass, 0, 0);
-MODULE_VERSION(ds1374u, 1);
-MODULE_DEPEND(ds1374u, iicbus, 1, 1, 1);