Deleted Added
full compact
mk48txx.c (201004) mk48txx.c (201005)
1/*-
2 * Copyright (c) 2000 The NetBSD Foundation, Inc.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Paul Kranenburg.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 16 unchanged lines hidden (view full) ---

25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
28 *
29 * $NetBSD: mk48txx.c,v 1.25 2008/04/28 20:23:50 martin Exp $
30 */
31
32#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2000 The NetBSD Foundation, Inc.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Paul Kranenburg.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 16 unchanged lines hidden (view full) ---

25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27 * POSSIBILITY OF SUCH DAMAGE.
28 *
29 * $NetBSD: mk48txx.c,v 1.25 2008/04/28 20:23:50 martin Exp $
30 */
31
32#include <sys/cdefs.h>
33__FBSDID("$FreeBSD: head/sys/dev/mk48txx/mk48txx.c 201004 2009-12-25 21:41:05Z marius $");
33__FBSDID("$FreeBSD: head/sys/dev/mk48txx/mk48txx.c 201005 2009-12-25 21:53:20Z marius $");
34
35/*
36 * Mostek MK48T02, MK48T08, MK48T18, MK48T59 time-of-day chip subroutines
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/bus.h>
42#include <sys/clock.h>
43#include <sys/eventhandler.h>
44#include <sys/lock.h>
45#include <sys/mutex.h>
34
35/*
36 * Mostek MK48T02, MK48T08, MK48T18, MK48T59 time-of-day chip subroutines
37 */
38
39#include <sys/param.h>
40#include <sys/systm.h>
41#include <sys/bus.h>
42#include <sys/clock.h>
43#include <sys/eventhandler.h>
44#include <sys/lock.h>
45#include <sys/mutex.h>
46#include <sys/rman.h>
46#include <sys/watchdog.h>
47
48#include <machine/bus.h>
49
50#include <dev/mk48txx/mk48txxreg.h>
51#include <dev/mk48txx/mk48txxvar.h>
52
53#include "clock_if.h"

--- 116 unchanged lines hidden (view full) ---

170
171#define FROMREG(reg, mask) ((*sc->sc_nvrd)(dev, clkoff + (reg)) & (mask))
172
173 ct.nsec = 0;
174 ct.sec = FROMBCD(FROMREG(MK48TXX_ISEC, MK48TXX_SEC_MASK));
175 ct.min = FROMBCD(FROMREG(MK48TXX_IMIN, MK48TXX_MIN_MASK));
176 ct.hour = FROMBCD(FROMREG(MK48TXX_IHOUR, MK48TXX_HOUR_MASK));
177 ct.day = FROMBCD(FROMREG(MK48TXX_IDAY, MK48TXX_DAY_MASK));
47#include <sys/watchdog.h>
48
49#include <machine/bus.h>
50
51#include <dev/mk48txx/mk48txxreg.h>
52#include <dev/mk48txx/mk48txxvar.h>
53
54#include "clock_if.h"

--- 116 unchanged lines hidden (view full) ---

171
172#define FROMREG(reg, mask) ((*sc->sc_nvrd)(dev, clkoff + (reg)) & (mask))
173
174 ct.nsec = 0;
175 ct.sec = FROMBCD(FROMREG(MK48TXX_ISEC, MK48TXX_SEC_MASK));
176 ct.min = FROMBCD(FROMREG(MK48TXX_IMIN, MK48TXX_MIN_MASK));
177 ct.hour = FROMBCD(FROMREG(MK48TXX_IHOUR, MK48TXX_HOUR_MASK));
178 ct.day = FROMBCD(FROMREG(MK48TXX_IDAY, MK48TXX_DAY_MASK));
179#if 0
178 /* Map dow from 1 - 7 to 0 - 6; FROMBCD() isn't necessary here. */
179 ct.dow = FROMREG(MK48TXX_IWDAY, MK48TXX_WDAY_MASK) - 1;
180 /* Map dow from 1 - 7 to 0 - 6; FROMBCD() isn't necessary here. */
181 ct.dow = FROMREG(MK48TXX_IWDAY, MK48TXX_WDAY_MASK) - 1;
182#else
183 /*
184 * Set dow = -1 because some drivers (for example the NetBSD and
185 * OpenBSD mk48txx(4)) don't set it correctly.
186 */
187 ct.dow = - 1;
188#endif
180 ct.mon = FROMBCD(FROMREG(MK48TXX_IMON, MK48TXX_MON_MASK));
181 year = FROMBCD(FROMREG(MK48TXX_IYEAR, MK48TXX_YEAR_MASK));
182 year += sc->sc_year0;
183 if (sc->sc_flag & MK48TXX_NO_CENT_ADJUST)
184 year += (FROMREG(MK48TXX_IWDAY, MK48TXX_WDAY_CB) >>
185 MK48TXX_WDAY_CB_SHIFT) * 100;
186 else if (year < POSIX_BASE_YEAR)
187 year += 100;

--- 73 unchanged lines hidden (view full) ---

261}
262
263static uint8_t
264mk48txx_def_nvrd(device_t dev, int off)
265{
266 struct mk48txx_softc *sc;
267
268 sc = device_get_softc(dev);
189 ct.mon = FROMBCD(FROMREG(MK48TXX_IMON, MK48TXX_MON_MASK));
190 year = FROMBCD(FROMREG(MK48TXX_IYEAR, MK48TXX_YEAR_MASK));
191 year += sc->sc_year0;
192 if (sc->sc_flag & MK48TXX_NO_CENT_ADJUST)
193 year += (FROMREG(MK48TXX_IWDAY, MK48TXX_WDAY_CB) >>
194 MK48TXX_WDAY_CB_SHIFT) * 100;
195 else if (year < POSIX_BASE_YEAR)
196 year += 100;

--- 73 unchanged lines hidden (view full) ---

270}
271
272static uint8_t
273mk48txx_def_nvrd(device_t dev, int off)
274{
275 struct mk48txx_softc *sc;
276
277 sc = device_get_softc(dev);
269 return (bus_space_read_1(sc->sc_bst, sc->sc_bsh, off));
278 return (bus_read_1(sc->sc_res, off));
270}
271
272static void
273mk48txx_def_nvwr(device_t dev, int off, uint8_t v)
274{
275 struct mk48txx_softc *sc;
276
277 sc = device_get_softc(dev);
279}
280
281static void
282mk48txx_def_nvwr(device_t dev, int off, uint8_t v)
283{
284 struct mk48txx_softc *sc;
285
286 sc = device_get_softc(dev);
278 bus_space_write_1(sc->sc_bst, sc->sc_bsh, off, v);
287 bus_write_1(sc->sc_res, off, v);
279}
280
281static void
282mk48txx_watchdog(void *arg, u_int cmd, int *error)
283{
284 device_t dev;
285 struct mk48txx_softc *sc;
286 uint8_t t, wdog;

--- 33 unchanged lines hidden ---
288}
289
290static void
291mk48txx_watchdog(void *arg, u_int cmd, int *error)
292{
293 device_t dev;
294 struct mk48txx_softc *sc;
295 uint8_t t, wdog;

--- 33 unchanged lines hidden ---