PERFORCE change 96185 for review

Marcel Moolenaar marcel at FreeBSD.org
Thu Apr 27 03:37:53 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=96185

Change 96185 by marcel at marcel_nfs on 2006/04/27 03:37:52

	Add 5 more HP Diva console boards.

Affected files ...

.. //depot/projects/uart/dev/puc/pucdata.c#36 edit

Differences ...

==== //depot/projects/uart/dev/puc/pucdata.c#36 (text+ko) ====

@@ -1,22 +1,16 @@
-/*	$NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej Exp $	*/
-
 /*-
- * Copyright (c) 1998, 1999 Christopher G. Demetriou.  All rights reserved.
+ * Copyright (c) 2006 Marcel Moolenaar
+ * 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed by Christopher G. Demetriou
- *	for the NetBSD Project.
- * 4. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission
  *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
@@ -65,8 +59,43 @@
 	    PUC_PORT_2S, 0x10, 0, 8,
 	},
 
+	{   0x103c, 0x1048, 0x103c, 0x1049,
+	    "HP Diva Serial [GSP] Multiport UART - Tosca Console",
+	    DEFAULT_RCLK,
+	    PUC_PORT_3S, 0x10, 0, -1,
+	    .config_function = puc_config_diva
+	},
+
+	{   0x103c, 0x1048, 0x103c, 0x104a,
+	    "HP Diva Serial [GSP] Multiport UART - Tosca Secondary",
+	    DEFAULT_RCLK,
+	    PUC_PORT_2S, 0x10, 0, -1,
+	    .config_function = puc_config_diva
+	},
+
+	{   0x103c, 0x1048, 0x103c, 0x104b,
+	    "HP Diva Serial [GSP] Multiport UART - Maestro SP2",
+	    DEFAULT_RCLK,
+	    PUC_PORT_4S, 0x10, 0, -1,
+	    .config_function = puc_config_diva
+	},
+
+	{   0x103c, 0x1048, 0x103c, 0x1223,
+	    "HP Diva Serial [GSP] Multiport UART - Superdome Console",
+	    DEFAULT_RCLK,
+	    PUC_PORT_3S, 0x10, 0, -1,
+	    .config_function = puc_config_diva
+	},
+
+	{   0x103c, 0x1048, 0x103c, 0x1226,
+	    "HP Diva Serial [GSP] Multiport UART - Keystone SP2",
+	    DEFAULT_RCLK,
+	    PUC_PORT_3S, 0x10, 0, -1,
+	    .config_function = puc_config_diva
+	},
+
 	{   0x103c, 0x1048, 0x103c, 0x1282,
-	    "Diva Serial [GSP] Multiport UART",
+	    "HP Diva Serial [GSP] Multiport UART - Everest SP2",
 	    DEFAULT_RCLK,
 	    PUC_PORT_3S, 0x10, 0, -1,
 	    .config_function = puc_config_diva
@@ -707,12 +736,15 @@
 puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port,
     intptr_t *res)
 {
+	const struct puc_cfg *cfg = sc->sc_cfg;
+
 	if (cmd == PUC_CFG_GET_OFS) {
-		switch (port) {
-		case 0:	*res = 0x00; return (0);
-		case 1: *res = 0x10; return (0);
-		case 2: *res = 0x38; return (0);
-		}
+		if (cfg->subdevice == 0x1282)		/* Everest SP */
+			port <<= 1;
+		else if (cfg->subdevice == 0x104b)	/* Maestro SP2 */
+			port = (port == 3) ? 4 : port;
+		*res = port * 8 + ((port > 2) ? 0x18 : 0);
+		return (0);
 	}
 	return (ENXIO);
 }


More information about the p4-projects mailing list