Module Name:    src
Committed By:   jdc
Date:           Sun Jan  3 17:32:17 UTC 2016

Modified Files:
        src/sys/arch/sparc64/dev: pcfiic_ebus.c
        src/sys/dev/ic: pcf8584.c pcf8584reg.h pcf8584var.h

Log Message:
Remove duplicate register definitions and merge them all into pcf8584reg.h.
No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sparc64/dev/pcfiic_ebus.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ic/pcf8584.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/ic/pcf8584reg.h
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/ic/pcf8584var.h

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/sparc64/dev/pcfiic_ebus.c
diff -u src/sys/arch/sparc64/dev/pcfiic_ebus.c:1.4 src/sys/arch/sparc64/dev/pcfiic_ebus.c:1.5
--- src/sys/arch/sparc64/dev/pcfiic_ebus.c:1.4	Sun Feb  3 17:46:28 2013
+++ src/sys/arch/sparc64/dev/pcfiic_ebus.c	Sun Jan  3 17:32:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcfiic_ebus.c,v 1.4 2013/02/03 17:46:28 jdc Exp $	*/
+/*	$NetBSD: pcfiic_ebus.c,v 1.5 2016/01/03 17:32:17 jdc Exp $	*/
 /*	$OpenBSD: pcfiic_ebus.c,v 1.13 2008/06/08 03:07:40 deraadt Exp $ */
 
 /*
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pcfiic_ebus.c,v 1.4 2013/02/03 17:46:28 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pcfiic_ebus.c,v 1.5 2016/01/03 17:32:17 jdc Exp $");
 
 /*
  * Device specific driver for the EBus i2c devices found on some sun4u
@@ -42,6 +42,7 @@ __KERNEL_RCSID(0, "$NetBSD: pcfiic_ebus.
 #include <dev/i2c/i2cvar.h>
 
 #include <dev/ic/pcf8584var.h>
+#include <dev/ic/pcf8584reg.h>
 
 int	pcfiic_ebus_match(device_t, struct cfdata *, void *);
 void	pcfiic_ebus_attach(device_t, device_t, void *);
@@ -94,7 +95,7 @@ pcfiic_ebus_attach(device_t parent, devi
 	struct ebus_attach_args		*ea = aux;
 	char				compat[32];
 	u_int64_t			addr;
-	u_int8_t			clock = PCF_CLOCK_12 | PCF_FREQ_90;
+	u_int8_t			clock = PCF8584_CLK_12 | PCF8584_SCL_90;
 	int				swapregs = 0;
 
 	if (ea->ea_nreg < 1 || ea->ea_nreg > 2) {
@@ -113,9 +114,9 @@ pcfiic_ebus_attach(device_t parent, devi
 		int clk = prom_getpropint(findroot(), "clock-frequency", 0);
 
 		if (clk < 105000000)
-			clock = PCF_CLOCK_3 | PCF_FREQ_90;
+			clock = PCF8584_CLK_3 | PCF8584_SCL_90;
 		else if (clk < 160000000)
-			clock = PCF_CLOCK_4_43 | PCF_FREQ_90;
+			clock = PCF8584_CLK_4_43 | PCF8584_SCL_90;
 		swapregs = 1;
 	}
 
@@ -161,10 +162,10 @@ pcfiic_ebus_attach(device_t parent, devi
 
 	if (strcmp(ea->ea_name, "SUNW,envctrl") == 0) {
 		envctrl_props(create_dict(self), ea->ea_node);
-		pcfiic_attach(sc, 0x55, PCF_CLOCK_12 | PCF_FREQ_45, 0);
+		pcfiic_attach(sc, 0x55, PCF8584_CLK_12 | PCF8584_SCL_45, 0);
 	} else if (strcmp(ea->ea_name, "SUNW,envctrltwo") == 0) {
 		envctrltwo_props(create_dict(self), ea->ea_node);
-		pcfiic_attach(sc, 0x55, PCF_CLOCK_12 | PCF_FREQ_45, 0);
+		pcfiic_attach(sc, 0x55, PCF8584_CLK_12 | PCF8584_SCL_45, 0);
 	} else
 		pcfiic_attach(sc, (i2c_addr_t)(addr >> 1), clock, swapregs);
 }

Index: src/sys/dev/ic/pcf8584.c
diff -u src/sys/dev/ic/pcf8584.c:1.12 src/sys/dev/ic/pcf8584.c:1.13
--- src/sys/dev/ic/pcf8584.c:1.12	Wed Dec 16 08:04:58 2015
+++ src/sys/dev/ic/pcf8584.c	Sun Jan  3 17:32:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcf8584.c,v 1.12 2015/12/16 08:04:58 jdc Exp $	*/
+/*	$NetBSD: pcf8584.c,v 1.13 2016/01/03 17:32:17 jdc Exp $	*/
 /*	$OpenBSD: pcf8584.c,v 1.9 2007/10/20 18:46:21 kettenis Exp $ */
 
 /*
@@ -29,36 +29,13 @@
 #include <dev/i2c/i2cvar.h>
 
 #include <dev/ic/pcf8584var.h>
+#include <dev/ic/pcf8584reg.h>
 
-#define PCF_S0			0x00
-#define PCF_S1			0x01
-#define PCF_S2			0x02
-#define PCF_S3			0x03
-
-#define PCF_CTRL_ACK		(1<<0)
-#define PCF_CTRL_STO		(1<<1)
-#define PCF_CTRL_STA		(1<<2)
-#define PCF_CTRL_ENI		(1<<3)
-#define PCF_CTRL_ES2		(1<<4)
-#define PCF_CTRL_ES1		(1<<5)
-#define PCF_CTRL_ESO		(1<<6)
-#define PCF_CTRL_PIN		(1<<7)
-
-#define PCF_CTRL_START		(PCF_CTRL_PIN | PCF_CTRL_ESO | \
-    PCF_CTRL_STA | PCF_CTRL_ACK)
-#define PCF_CTRL_STOP		(PCF_CTRL_PIN | PCF_CTRL_ESO | \
-    PCF_CTRL_STO | PCF_CTRL_ACK)
-#define PCF_CTRL_REPSTART	(PCF_CTRL_ESO | PCF_CTRL_STA | PCF_CTRL_ACK)
-#define PCF_CTRL_IDLE		(PCF_CTRL_PIN | PCF_CTRL_ESO | PCF_CTRL_ACK)
-
-#define PCF_STAT_nBB		(1<<0)
-#define PCF_STAT_LAB		(1<<1)
-#define PCF_STAT_AAS		(1<<2)
-#define PCF_STAT_AD0		(1<<3)
-#define PCF_STAT_LRB		(1<<3)
-#define PCF_STAT_BER		(1<<4)
-#define PCF_STAT_STS		(1<<5)
-#define PCF_STAT_PIN		(1<<7)
+/* Internal egisters */
+#define PCF8584_S0		0x00
+#define PCF8584_S1		0x01
+#define PCF8584_S2		0x02
+#define PCF8584_S3		0x03
 
 void		pcfiic_init(struct pcfiic_softc *);
 int		pcfiic_i2c_acquire_bus(void *, int);
@@ -74,22 +51,22 @@ int		pcfiic_recv(struct pcfiic_softc *, 
 u_int8_t	pcfiic_read(struct pcfiic_softc *, bus_size_t);
 void		pcfiic_write(struct pcfiic_softc *, bus_size_t, u_int8_t);
 void		pcfiic_choose_bus(struct pcfiic_softc *, u_int8_t);
-int		pcfiic_wait_nBB(struct pcfiic_softc *);
+int		pcfiic_wait_BBN(struct pcfiic_softc *);
 int		pcfiic_wait_pin(struct pcfiic_softc *, volatile u_int8_t *);
 
 void
 pcfiic_init(struct pcfiic_softc *sc)
 {
 	/* init S1 */
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_PIN);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CTRL_PIN);
 	/* own address */
-	pcfiic_write(sc, PCF_S0, sc->sc_addr);
+	pcfiic_write(sc, PCF8584_S0, sc->sc_addr);
 
 	/* select clock reg */
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_PIN|PCF_CTRL_ES1);
-	pcfiic_write(sc, PCF_S0, sc->sc_clock);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CTRL_PIN | PCF8584_CTRL_ES1);
+	pcfiic_write(sc, PCF8584_S0, sc->sc_clock);
 
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_IDLE);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_IDLE);
 
 	delay(200000);	/* Multi-Master mode, wait for longest i2c message */
 }
@@ -101,11 +78,11 @@ pcfiic_attach(struct pcfiic_softc *sc, i
 	struct i2cbus_attach_args		iba;
 
 	if (swapregs) {
-		sc->sc_regmap[PCF_S1] = PCF_S0;
-		sc->sc_regmap[PCF_S0] = PCF_S1;
+		sc->sc_regmap[PCF8584_S1] = PCF8584_S0;
+		sc->sc_regmap[PCF8584_S0] = PCF8584_S1;
 	} else {
-		sc->sc_regmap[PCF_S0] = PCF_S0;
-		sc->sc_regmap[PCF_S1] = PCF_S1;
+		sc->sc_regmap[PCF8584_S0] = PCF8584_S0;
+		sc->sc_regmap[PCF8584_S1] = PCF8584_S1;
 	}
 	sc->sc_clock = clock;
 	sc->sc_addr = addr;
@@ -208,27 +185,27 @@ pcfiic_xmit(struct pcfiic_softc *sc, u_i
 	int			i, err = 0;
 	volatile u_int8_t	r;
 
-	if (pcfiic_wait_nBB(sc) != 0)
+	if (pcfiic_wait_BBN(sc) != 0)
 		return (1);
 
-	pcfiic_write(sc, PCF_S0, addr << 1);
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_START);
+	pcfiic_write(sc, PCF8584_S0, addr << 1);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_START);
 
 	for (i = 0; i <= len; i++) {
 		if (pcfiic_wait_pin(sc, &r) != 0) {
-			pcfiic_write(sc, PCF_S1, PCF_CTRL_STOP);
+			pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_STOP);
 			return (1);
 		}
 
-		if (r & PCF_STAT_LRB) {
+		if (r & PCF8584_STATUS_LRB) {
 			err = 1;
 			break;
 		}
 
 		if (i < len)
-			pcfiic_write(sc, PCF_S0, buf[i]);
+			pcfiic_write(sc, PCF8584_S0, buf[i]);
 	}
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_STOP);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_STOP);
 	return (err);
 }
 
@@ -238,30 +215,30 @@ pcfiic_recv(struct pcfiic_softc *sc, u_i
 	int			i = 0, err = 0;
 	volatile u_int8_t	r;
 
-	if (pcfiic_wait_nBB(sc) != 0)
+	if (pcfiic_wait_BBN(sc) != 0)
 		return (1);
 
-	pcfiic_write(sc, PCF_S0, (addr << 1) | 0x01);
-	pcfiic_write(sc, PCF_S1, PCF_CTRL_START);
+	pcfiic_write(sc, PCF8584_S0, (addr << 1) | 0x01);
+	pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_START);
 
 	for (i = 0; i <= len; i++) {
 		if (pcfiic_wait_pin(sc, &r) != 0) {
-			pcfiic_write(sc, PCF_S1, PCF_CTRL_STOP);
+			pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_STOP);
 			return (1);
 		}
 
-		if ((i != len) && (r & PCF_STAT_LRB)) {
-			pcfiic_write(sc, PCF_S1, PCF_CTRL_STOP);
+		if ((i != len) && (r & PCF8584_STATUS_LRB)) {
+			pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_STOP);
 			return (1);
 		}
 
 		if (i == len - 1) {
-			pcfiic_write(sc, PCF_S1, PCF_CTRL_ESO);
+			pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_NAK);
 		} else if (i == len) {
-			pcfiic_write(sc, PCF_S1, PCF_CTRL_STOP);
+			pcfiic_write(sc, PCF8584_S1, PCF8584_CMD_STOP);
 		}
 
-		r = pcfiic_read(sc, PCF_S0);
+		r = pcfiic_read(sc, PCF8584_S0);
 		if (i > 0)
 			buf[i - 1] = r;
 	}
@@ -280,7 +257,7 @@ void
 pcfiic_write(struct pcfiic_softc *sc, bus_size_t r, u_int8_t v)
 {
 	bus_space_write_1(sc->sc_iot, sc->sc_ioh, sc->sc_regmap[r], v);
-	(void)bus_space_read_1(sc->sc_iot, sc->sc_ioh, PCF_S1);
+	(void)bus_space_read_1(sc->sc_iot, sc->sc_ioh, PCF8584_S1);
 }
 
 void
@@ -292,12 +269,12 @@ pcfiic_choose_bus(struct pcfiic_softc *s
 }
 
 int
-pcfiic_wait_nBB(struct pcfiic_softc *sc)
+pcfiic_wait_BBN(struct pcfiic_softc *sc)
 {
 	int		i;
 
 	for (i = 0; i < 1000; i++) {
-		if (pcfiic_read(sc, PCF_S1) & PCF_STAT_nBB)
+		if (pcfiic_read(sc, PCF8584_S1) & PCF8584_STATUS_BBN)
 			return (0);
 		delay(1000);
 	}
@@ -310,8 +287,8 @@ pcfiic_wait_pin(struct pcfiic_softc *sc,
 	int		i;
 
 	for (i = 0; i < 1000; i++) {
-		*r = pcfiic_read(sc, PCF_S1);
-		if ((*r & PCF_STAT_PIN) == 0)
+		*r = pcfiic_read(sc, PCF8584_S1);
+		if ((*r & PCF8584_STATUS_PIN) == 0)
 			return (0);
 		delay(1000);
 	}

Index: src/sys/dev/ic/pcf8584reg.h
diff -u src/sys/dev/ic/pcf8584reg.h:1.1 src/sys/dev/ic/pcf8584reg.h:1.2
--- src/sys/dev/ic/pcf8584reg.h:1.1	Sat Apr 14 19:33:30 2007
+++ src/sys/dev/ic/pcf8584reg.h	Sun Jan  3 17:32:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcf8584reg.h,v 1.1 2007/04/14 19:33:30 tnn Exp $ */
+/*	$NetBSD: pcf8584reg.h,v 1.2 2016/01/03 17:32:17 jdc Exp $ */
 
 /* Written by Tobias Nygren. Released into the public domain. */
 
@@ -39,8 +39,12 @@
 #define	PCF8584_REG_S2		PCF8584_CTRL_ES1	/* clock register */
 #define	PCF8584_REG_S3		PCF8584_CTRL_ES2	/* Interrupt vector */
 
-#define PCF8584_CMD_START (PCF8584_CTRL_PIN | PCF8584_CTRL_ESO | \
+#define PCF8584_CMD_START	(PCF8584_CTRL_PIN | PCF8584_CTRL_ESO | \
     PCF8584_CTRL_STA | PCF8584_CTRL_ACK)
-#define PCF8584_CMD_STOP (PCF8584_CTRL_PIN | PCF8584_CTRL_ESO | \
+#define PCF8584_CMD_STOP	(PCF8584_CTRL_PIN | PCF8584_CTRL_ESO | \
     PCF8584_CTRL_STO | PCF8584_CTRL_ACK)
+#define PCF8584_CMD_REPSTART    (PCF8584_CTRL_ESO | PCF8584_CTRL_STA | \
+    PCF8584_CTRL_ACK)
+#define PCF8584_CMD_IDLE        (PCF8584_CTRL_PIN | PCF8584_CTRL_ESO | \
+    PCF8584_CTRL_ACK)
 #define PCF8584_CMD_NAK (PCF8584_CTRL_ESO)

Index: src/sys/dev/ic/pcf8584var.h
diff -u src/sys/dev/ic/pcf8584var.h:1.4 src/sys/dev/ic/pcf8584var.h:1.5
--- src/sys/dev/ic/pcf8584var.h:1.4	Sun Feb 28 11:47:28 2010
+++ src/sys/dev/ic/pcf8584var.h	Sun Jan  3 17:32:17 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcf8584var.h,v 1.4 2010/02/28 11:47:28 martin Exp $	*/
+/*	$NetBSD: pcf8584var.h,v 1.5 2016/01/03 17:32:17 jdc Exp $	*/
 /*	$OpenBSD: pcf8584var.h,v 1.5 2007/10/20 18:46:21 kettenis Exp $ */
 
 /*
@@ -34,18 +34,5 @@ struct pcfiic_softc {
 	krwlock_t		sc_lock;
 };
 
-/* clock divisor settings */
-#define PCF_CLOCK_3		0x00 /* 3 MHz */
-#define PCF_CLOCK_4_43		0x10 /* 4.43 MHz */
-#define PCF_CLOCK_6		0x14 /* 6 MHz */
-#define PCF_CLOCK_8		0x18 /* 8 MHz */
-#define PCF_CLOCK_12		0x1c /* 12 MHz */
-
-/* SCL frequency settings */
-#define PCF_FREQ_90		0x00 /* 90 kHz */
-#define PCF_FREQ_45		0x01 /* 45 kHz */
-#define PCF_FREQ_11		0x02 /* 11 kHz */
-#define PCF_FREQ_1_5		0x03 /* 1.5 kHz */
-
 void	pcfiic_attach(struct pcfiic_softc *, i2c_addr_t, u_int8_t, int);
 int	pcfiic_intr(void *);

Reply via email to