Module Name: src
Committed By: jdc
Date: Sun Oct 11 19:39:23 UTC 2020
Modified Files:
src/sys/arch/sparc64/conf: files.sparc64
src/sys/arch/sparc64/sparc64: autoconf.c
Added Files:
src/sys/arch/sparc64/sparc64: static_edid.c static_edid.h
Log Message:
Add a static EDID entry for the Mesostation-999.
Use the same logic as macppc for adding the entry.
To generate a diff of this commit:
cvs rdiff -u -r1.159 -r1.160 src/sys/arch/sparc64/conf/files.sparc64
cvs rdiff -u -r1.222 -r1.223 src/sys/arch/sparc64/sparc64/autoconf.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/sparc64/sparc64/static_edid.c \
src/sys/arch/sparc64/sparc64/static_edid.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/conf/files.sparc64
diff -u src/sys/arch/sparc64/conf/files.sparc64:1.159 src/sys/arch/sparc64/conf/files.sparc64:1.160
--- src/sys/arch/sparc64/conf/files.sparc64:1.159 Mon May 11 15:56:15 2020
+++ src/sys/arch/sparc64/conf/files.sparc64 Sun Oct 11 19:39:22 2020
@@ -1,4 +1,4 @@
-# $NetBSD: files.sparc64,v 1.159 2020/05/11 15:56:15 jdc Exp $
+# $NetBSD: files.sparc64,v 1.160 2020/10/11 19:39:22 jdc Exp $
# @(#)files.sparc64 8.1 (Berkeley) 7/19/93
# sparc64-specific configuration info
@@ -257,6 +257,7 @@ file arch/sparc64/sparc64/kobj_machdep.c
file arch/sparc64/sparc64/machdep.c
file arch/sparc64/sparc64/process_machdep.c
file arch/sparc64/sparc64/procfs_machdep.c procfs
+file arch/sparc64/sparc64/static_edid.c
file arch/sparc/sparc/openprom.c
file arch/sparc/sparc/openfirm.c
file arch/sparc64/sparc64/ofw_machdep.c
Index: src/sys/arch/sparc64/sparc64/autoconf.c
diff -u src/sys/arch/sparc64/sparc64/autoconf.c:1.222 src/sys/arch/sparc64/sparc64/autoconf.c:1.223
--- src/sys/arch/sparc64/sparc64/autoconf.c:1.222 Thu Jul 23 16:08:02 2020
+++ src/sys/arch/sparc64/sparc64/autoconf.c Sun Oct 11 19:39:22 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: autoconf.c,v 1.222 2020/07/23 16:08:02 jdc Exp $ */
+/* $NetBSD: autoconf.c,v 1.223 2020/10/11 19:39:22 jdc Exp $ */
/*
* Copyright (c) 1996
@@ -48,7 +48,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.222 2020/07/23 16:08:02 jdc Exp $");
+__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.223 2020/10/11 19:39:22 jdc Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@@ -92,6 +92,7 @@ __KERNEL_RCSID(0, "$NetBSD: autoconf.c,v
#include <machine/pmap.h>
#include <machine/bootinfo.h>
#include <sparc64/sparc64/cache.h>
+#include <sparc64/sparc64/static_edid.h>
#include <sparc64/sparc64/timerreg.h>
#include <sparc64/dev/cbusvar.h>
@@ -1205,6 +1206,21 @@ set_hw_props(device_t dev)
}
}
+/* Static EDID definitions */
+static void
+set_static_edid(prop_dictionary_t dict)
+{
+ if (!strcmp(machine_model, "NATE,Meso-999")) {
+ prop_data_t edid;
+
+ DPRINTF(ACDB_PROBE, ("\nAdding EDID for Meso-999 "));
+ edid = prop_data_create_copy(edid_meso999,
+ sizeof(edid_meso999));
+ prop_dictionary_set(dict, "EDID:1", edid);
+ prop_object_release(edid);
+ }
+}
+
/*
* Called back during autoconfiguration for each device found
*/
@@ -1508,7 +1524,10 @@ noether:
if (OF_getprop(node, "width", &width, sizeof(width))
!= 4) {
instance = OF_open(name);
+ }
+ }
#endif
+ set_static_edid(dict);
}
set_hw_props(dev);
Added files:
Index: src/sys/arch/sparc64/sparc64/static_edid.c
diff -u /dev/null src/sys/arch/sparc64/sparc64/static_edid.c:1.1
--- /dev/null Sun Oct 11 19:39:23 2020
+++ src/sys/arch/sparc64/sparc64/static_edid.c Sun Oct 11 19:39:22 2020
@@ -0,0 +1,58 @@
+/* $NetBSD: static_edid.c,v 1.1 2020/10/11 19:39:22 jdc Exp $ */
+
+/*-
+ * Copyright (c) 2020 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Julian Coleman.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: static_edid.c,v 1.1 2020/10/11 19:39:22 jdc Exp $");
+#include <sys/param.h>
+
+/* EDID blocks for some known hardware that doesn't provide its own */
+
+/*
+ * Naturetech Mesostation 999
+ * Based on VESA DMT 1E, but with slight adjustment to the horizontal timing
+ */
+uint8_t edid_meso999[128] = {
+/* 00 */ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+/* 08 */ 0x38, 0x34, 0x99, 0x09, 0x00, 0x00, 0x00, 0x00,
+/* 10 */ 0xff, 0x0f, 0x01, 0x03, 0x68, 0x25, 0x17, 0x78,
+/* 18 */ 0x2a, 0x3c, 0x40, 0x9c, 0x56, 0x4d, 0x98, 0x26,
+/* 20 */ 0x16, 0x50, 0x54, 0xa5, 0x4a, 0x80, 0x81, 0x40,
+/* 28 */ 0x81, 0x80, 0x81, 0x8f, 0x95, 0x00, 0x01, 0x01,
+/* 30 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xab, 0x22,
+/* 38 */ 0xa0, 0xa0, 0x50, 0x84, 0x1a, 0x30, 0x38, 0x20,
+/* 40 */ 0x36, 0x00, 0x9a, 0x01, 0x11, 0x00, 0x00, 0x1a,
+/* 48 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 50 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+/* 58 */ 0x00, 0x01, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x4e,
+/* 60 */ 0x41, 0x74, 0x75, 0x72, 0x65, 0x74, 0x65, 0x63,
+/* 68 */ 0x68, 0x0a, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfe,
+/* 70 */ 0x00, 0x4d, 0x65, 0x73, 0x6f, 0x20, 0x39, 0x39,
+/* 78 */ 0x39, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x00, 0xed
+};
Index: src/sys/arch/sparc64/sparc64/static_edid.h
diff -u /dev/null src/sys/arch/sparc64/sparc64/static_edid.h:1.1
--- /dev/null Sun Oct 11 19:39:23 2020
+++ src/sys/arch/sparc64/sparc64/static_edid.h Sun Oct 11 19:39:22 2020
@@ -0,0 +1,36 @@
+/* $NetBSD: static_edid.h,v 1.1 2020/10/11 19:39:22 jdc Exp $ */
+
+/*-
+ * Copyright (c) 2020 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Julian Coleman.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef STATIC_EDID_H
+#define STATIC_EDID_H
+
+extern uint8_t edid_meso999[128];
+
+#endif /* STATIC_EDID_H */