Module Name:    src
Committed By:   skrll
Date:           Mon Dec 30 16:19:27 UTC 2019

Modified Files:
        src/sys/arch/arm/broadcom: bcm2835reg.h bcm283x_platform.c
            bcm283x_platform.h

Log Message:
Fix up ARM_LOCAL for 2711 so that it works now.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/arm/broadcom/bcm2835reg.h
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/arm/broadcom/bcm283x_platform.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/broadcom/bcm283x_platform.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/arm/broadcom/bcm2835reg.h
diff -u src/sys/arch/arm/broadcom/bcm2835reg.h:1.28 src/sys/arch/arm/broadcom/bcm2835reg.h:1.29
--- src/sys/arch/arm/broadcom/bcm2835reg.h:1.28	Thu Dec 26 11:09:11 2019
+++ src/sys/arch/arm/broadcom/bcm2835reg.h	Mon Dec 30 16:19:27 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm2835reg.h,v 1.28 2019/12/26 11:09:11 skrll Exp $	*/
+/*	$NetBSD: bcm2835reg.h,v 1.29 2019/12/30 16:19:27 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -202,8 +202,14 @@
 
 #define	BCM2835_UART0_CLK		3000000
 
+#define	BCM2711_ARM_LOCAL_BASE_BUS	0x40000000
 #define	BCM2711_ARM_LOCAL_BASE		0xff800000
-#define	BCM2711_ARM_LOCAL_SIZE		0x00100000	/* 1MByte */
+#define	BCM2711_ARM_LOCAL_SIZE		0x00100000	/* 1MBytes */
+
+#define	BCM2711_ARM_LOCAL_PHYS_TO_BUS(a) \
+    ((a) - BCM2711_ARM_LOCAL_BASE + BCM2711_ARM_LOCAL_BASE_BUS)
+#define	BCM2711_ARM_LOCAL_BUS_TO_PHYS(a) \
+    ((a) - BCM2711_ARM_LOCAL_BASE_BUS + BCM2711_ARM_LOCAL_BASE)
 
 #define	BCM2836_ARM_LOCAL_BASE		0x40000000
 #define	BCM2836_ARM_LOCAL_SIZE		0x00001000	/* 4KBytes */

Index: src/sys/arch/arm/broadcom/bcm283x_platform.c
diff -u src/sys/arch/arm/broadcom/bcm283x_platform.c:1.30 src/sys/arch/arm/broadcom/bcm283x_platform.c:1.31
--- src/sys/arch/arm/broadcom/bcm283x_platform.c:1.30	Mon Dec 30 16:06:29 2019
+++ src/sys/arch/arm/broadcom/bcm283x_platform.c	Mon Dec 30 16:19:27 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm283x_platform.c,v 1.30 2019/12/30 16:06:29 skrll Exp $	*/
+/*	$NetBSD: bcm283x_platform.c,v 1.31 2019/12/30 16:19:27 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.30 2019/12/30 16:06:29 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.31 2019/12/30 16:19:27 skrll Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_bcm283x.h"
@@ -187,9 +187,9 @@ bcm2711_bus_to_phys(bus_addr_t ba)
 	    ba < BCM283X_PERIPHERALS_BASE_BUS + BCM283X_PERIPHERALS_SIZE)
 		return BCM2711_PERIPHERALS_BUS_TO_PHYS(ba);
 
-	if (ba >= BCM2711_ARM_LOCAL_BASE &&
-	    ba < BCM2711_ARM_LOCAL_BASE + BCM2711_ARM_LOCAL_SIZE)
-		return ba;
+	if (ba >= BCM2711_ARM_LOCAL_BASE_BUS &&
+	    ba < BCM2711_ARM_LOCAL_BASE_BUS + BCM2711_ARM_LOCAL_SIZE)
+		return BCM2711_ARM_LOCAL_BUS_TO_PHYS(ba);
 
 	return ba & ~BCM2835_BUSADDR_CACHE_MASK;
 }
@@ -333,7 +333,7 @@ bcm2711_platform_devmap(void)
 		    BCM2711_ARM_LOCAL_SIZE),
 #if defined(MULTIPROCESSOR) && defined(__aarch64__)
 		/* for fdt cpu spin-table */
-		DEVMAP_ENTRY(BCM2836_ARM_SMP_VBASE, BCM2836_ARM_SMP_BASE,
+		DEVMAP_ENTRY(BCM2711_ARM_SMP_VBASE, BCM2836_ARM_SMP_BASE,
 		    BCM2836_ARM_SMP_SIZE),
 #endif
 		DEVMAP_ENTRY_END

Index: src/sys/arch/arm/broadcom/bcm283x_platform.h
diff -u src/sys/arch/arm/broadcom/bcm283x_platform.h:1.4 src/sys/arch/arm/broadcom/bcm283x_platform.h:1.5
--- src/sys/arch/arm/broadcom/bcm283x_platform.h:1.4	Tue Dec 24 14:10:51 2019
+++ src/sys/arch/arm/broadcom/bcm283x_platform.h	Mon Dec 30 16:19:27 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcm283x_platform.h,v 1.4 2019/12/24 14:10:51 skrll Exp $	*/
+/*	$NetBSD: bcm283x_platform.h,v 1.5 2019/12/30 16:19:27 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -58,4 +58,7 @@
 #define	BCM2711_ARM_LOCAL_VBASE \
 	BCM2711_IOPHYSTOVIRT(BCM2711_ARM_LOCAL_BASE)
 
+#define	BCM2711_ARM_SMP_VBASE	\
+	BCM2711_IOPHYSTOVIRT(BCM2836_ARM_SMP_BASE)
+
 #endif /* _ARM_BCM2835REG_PLATFORM_H_ */

Reply via email to