Module Name:    src
Committed By:   phx
Date:           Fri Jun 20 09:47:15 UTC 2014

Modified Files:
        src/sys/arch/bebox/isa: mcclock_isa.c
        src/sys/arch/sandpoint/isa: mcclock_isa.c

Log Message:
mc146818's sc_flag indicates the time is stored in binary format, not BCD.
So we should configure the chip's REGB for binary format as well.
This makes the BeBox RTC finally work reliable for me.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/bebox/isa/mcclock_isa.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/sandpoint/isa/mcclock_isa.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/bebox/isa/mcclock_isa.c
diff -u src/sys/arch/bebox/isa/mcclock_isa.c:1.5 src/sys/arch/bebox/isa/mcclock_isa.c:1.6
--- src/sys/arch/bebox/isa/mcclock_isa.c:1.5	Fri Jul  1 20:34:53 2011
+++ src/sys/arch/bebox/isa/mcclock_isa.c	Fri Jun 20 09:47:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: mcclock_isa.c,v 1.5 2011/07/01 20:34:53 dyoung Exp $	*/
+/*	$NetBSD: mcclock_isa.c,v 1.6 2014/06/20 09:47:15 phx Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -117,7 +117,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT
 */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mcclock_isa.c,v 1.5 2011/07/01 20:34:53 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mcclock_isa.c,v 1.6 2014/06/20 09:47:15 phx Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -225,9 +225,9 @@ mcclock_isa_attach(device_t parent, devi
 	mcclock_isa_write(sc, MC_REGA, MC_BASE_32_KHz | MC_RATE_1024_Hz);
 
 	/*
-	 * 24 Hour clock, no interrupts please.
+	 * 24 Hour clock, binary-format, no auto-DST and no interrupts please.
 	 */
-	mcclock_isa_write(sc, MC_REGB, MC_REGB_24HR);
+	mcclock_isa_write(sc, MC_REGB, MC_REGB_24HR | MC_REGB_BINARY);
 
 	sc->sc_year0 = 1900;
 	sc->sc_flag = 0;

Index: src/sys/arch/sandpoint/isa/mcclock_isa.c
diff -u src/sys/arch/sandpoint/isa/mcclock_isa.c:1.5 src/sys/arch/sandpoint/isa/mcclock_isa.c:1.6
--- src/sys/arch/sandpoint/isa/mcclock_isa.c:1.5	Fri Jul  1 19:16:41 2011
+++ src/sys/arch/sandpoint/isa/mcclock_isa.c	Fri Jun 20 09:47:15 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: mcclock_isa.c,v 1.5 2011/07/01 19:16:41 dyoung Exp $	*/
+/*	$NetBSD: mcclock_isa.c,v 1.6 2014/06/20 09:47:15 phx Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -117,7 +117,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT
 */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mcclock_isa.c,v 1.5 2011/07/01 19:16:41 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mcclock_isa.c,v 1.6 2014/06/20 09:47:15 phx Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -225,9 +225,9 @@ mcclock_isa_attach(device_t parent, devi
 	mcclock_isa_write(sc, MC_REGA, MC_BASE_32_KHz | MC_RATE_1024_Hz);
 
 	/*
-	 * 24 Hour clock, no interrupts please.
+	 * 24 Hour clock, binary-format, no auto-DST and no interrupts please.
 	 */
-	mcclock_isa_write(sc, MC_REGB, MC_REGB_24HR);
+	mcclock_isa_write(sc, MC_REGB, MC_REGB_24HR | MC_REGB_BINARY);
 
 	sc->sc_year0 = 1900;
 	sc->sc_flag = 0;

Reply via email to