Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/broadcom Fix up ARM_LOCAL for 2711 so that it w...



details:   https://anonhg.NetBSD.org/src/rev/fefbf9a8e8a9
branches:  trunk
changeset: 847611:fefbf9a8e8a9
user:      skrll <skrll%NetBSD.org@localhost>
date:      Mon Dec 30 16:19:27 2019 +0000

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

diffstat:

 sys/arch/arm/broadcom/bcm2835reg.h       |  10 ++++++++--
 sys/arch/arm/broadcom/bcm283x_platform.c |  12 ++++++------
 sys/arch/arm/broadcom/bcm283x_platform.h |   5 ++++-
 3 files changed, 18 insertions(+), 9 deletions(-)

diffs (82 lines):

diff -r a26b4727e752 -r fefbf9a8e8a9 sys/arch/arm/broadcom/bcm2835reg.h
--- a/sys/arch/arm/broadcom/bcm2835reg.h        Mon Dec 30 16:06:29 2019 +0000
+++ b/sys/arch/arm/broadcom/bcm2835reg.h        Mon Dec 30 16:19:27 2019 +0000
@@ -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 */
diff -r a26b4727e752 -r fefbf9a8e8a9 sys/arch/arm/broadcom/bcm283x_platform.c
--- a/sys/arch/arm/broadcom/bcm283x_platform.c  Mon Dec 30 16:06:29 2019 +0000
+++ b/sys/arch/arm/broadcom/bcm283x_platform.c  Mon Dec 30 16:19:27 2019 +0000
@@ -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 <jmcneill%invisible.ca@localhost>
@@ -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 @@
            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_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
diff -r a26b4727e752 -r fefbf9a8e8a9 sys/arch/arm/broadcom/bcm283x_platform.h
--- a/sys/arch/arm/broadcom/bcm283x_platform.h  Mon Dec 30 16:06:29 2019 +0000
+++ b/sys/arch/arm/broadcom/bcm283x_platform.h  Mon Dec 30 16:19:27 2019 +0000
@@ -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_ */



Home | Main Index | Thread Index | Old Index