Module Name:    src
Committed By:   jmcneill
Date:           Sat Aug  8 13:54:05 UTC 2015

Modified Files:
        src/sys/arch/arm/amlogic: amlogic_reg.h
        src/sys/arch/evbarm/amlogic: amlogic_machdep.c

Log Message:
Pass boot device to amlogicsdhc and amlogicsdio drivers.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/amlogic/amlogic_reg.h
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/evbarm/amlogic/amlogic_machdep.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/arm/amlogic/amlogic_reg.h
diff -u src/sys/arch/arm/amlogic/amlogic_reg.h:1.11 src/sys/arch/arm/amlogic/amlogic_reg.h:1.12
--- src/sys/arch/arm/amlogic/amlogic_reg.h:1.11	Sat Apr 25 14:41:33 2015
+++ src/sys/arch/arm/amlogic/amlogic_reg.h	Sat Aug  8 13:54:05 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: amlogic_reg.h,v 1.11 2015/04/25 14:41:33 jmcneill Exp $ */
+/* $NetBSD: amlogic_reg.h,v 1.12 2015/08/08 13:54:05 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <[email protected]>
@@ -87,6 +87,7 @@
 
 #define AMLOGIC_SRAM_OFFSET	0x19000000
 
+#define AMLOGIC_BOOTINFO_OFFSET	0x1901ff00
 #define AMLOGIC_CPUCONF_OFFSET	0x1901ff80
 
 #define AMLOGIC_CBUS_CPU_CLK_CNTL_REG	0x419c

Index: src/sys/arch/evbarm/amlogic/amlogic_machdep.c
diff -u src/sys/arch/evbarm/amlogic/amlogic_machdep.c:1.20 src/sys/arch/evbarm/amlogic/amlogic_machdep.c:1.21
--- src/sys/arch/evbarm/amlogic/amlogic_machdep.c:1.20	Fri Apr  3 18:03:05 2015
+++ src/sys/arch/evbarm/amlogic/amlogic_machdep.c	Sat Aug  8 13:54:05 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: amlogic_machdep.c,v 1.20 2015/04/03 18:03:05 jmcneill Exp $ */
+/*	$NetBSD: amlogic_machdep.c,v 1.21 2015/08/08 13:54:05 jmcneill Exp $ */
 
 /*
  * Machine dependent functions for kernel setup for TI OSK5912 board.
@@ -125,7 +125,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amlogic_machdep.c,v 1.20 2015/04/03 18:03:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amlogic_machdep.c,v 1.21 2015/08/08 13:54:05 jmcneill Exp $");
 
 #include "opt_machdep.h"
 #include "opt_ddb.h"
@@ -495,6 +495,16 @@ amlogic_reset(void)
 	}
 }
 
+static uint32_t
+amlogic_get_boot_device(void)
+{
+	bus_space_tag_t bst = &armv7_generic_bs_tag;
+	bus_space_handle_t bsh = amlogic_core_bsh;
+	bus_size_t off = AMLOGIC_BOOTINFO_OFFSET;
+
+	return bus_space_read_4(bst, bsh, off + 4);
+}
+
 void
 amlogic_device_register(device_t self, void *aux)
 {
@@ -542,6 +552,12 @@ amlogic_device_register(device_t self, v
 		}
 	}
 
+	if (device_is_a(self, "amlogicsdhc") ||
+	    device_is_a(self, "amlogicsdio")) {
+		prop_dictionary_set_uint32(dict, "boot_id",
+		    amlogic_get_boot_device());
+	}
+
 #if NGENFB > 0
 	if (device_is_a(self, "genfb")) {
 		char *ptr;

Reply via email to