Module Name:    src
Committed By:   jdc
Date:           Tue Sep 24 18:11:55 UTC 2013

Modified Files:
        src/sys/arch/sparc64/sparc64: autoconf.c

Log Message:
If we're running on SPARCle, add spdmem entries on the i2c bus directly,
because they are not known by firmware.  Idea from martin@.


To generate a diff of this commit:
cvs rdiff -u -r1.191 -r1.192 src/sys/arch/sparc64/sparc64/autoconf.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/sparc64/sparc64/autoconf.c
diff -u src/sys/arch/sparc64/sparc64/autoconf.c:1.191 src/sys/arch/sparc64/sparc64/autoconf.c:1.192
--- src/sys/arch/sparc64/sparc64/autoconf.c:1.191	Fri Nov  2 17:47:29 2012
+++ src/sys/arch/sparc64/sparc64/autoconf.c	Tue Sep 24 18:11:54 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: autoconf.c,v 1.191 2012/11/02 17:47:29 jdc Exp $ */
+/*	$NetBSD: autoconf.c,v 1.192 2013/09/24 18:11:54 jdc Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.191 2012/11/02 17:47:29 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.192 2013/09/24 18:11:54 jdc Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -1088,6 +1088,31 @@ noether:
 				    sizeof(cell_t));
 			}
 		}
+
+		/*
+		 * Add SPARCle spdmem devices (0x50 and 0x51) that the
+		 * firmware does not know about.
+		 */
+		if (!strcmp(machine_model, "TAD,SPARCLE")) {
+			prop_dictionary_t props = device_properties(busdev);
+			prop_array_t cfg = prop_array_create();
+			int i;
+
+			DPRINTF(ACDB_PROBE, ("\nAdding spdmem for SPARCle "));
+			for (i = 0x50; i <= 0x51; i++) {
+				prop_dictionary_t spd =
+				    prop_dictionary_create();
+				prop_dictionary_set_cstring(spd, "name",
+				    "dimm-spd");
+				prop_dictionary_set_uint32(spd, "addr", i);
+				prop_dictionary_set_uint64(spd, "cookie", 0);
+				prop_array_add(cfg, spd);
+				prop_object_release(spd);
+			}
+			prop_dictionary_set(props, "i2c-child-devices", cfg);
+			prop_object_release(cfg);
+			
+		}
 	}
 
 	/* set properties for PCI framebuffers */

Reply via email to