Module Name: src Committed By: jmcneill Date: Sat Feb 22 00:17:54 UTC 2020
Modified Files: src/sys/arch/arm/broadcom: bcm2835reg.h bcm283x_platform.c Log Message: Translate bus addresses for SCB on BCM2711 To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/broadcom/bcm2835reg.h cvs rdiff -u -r1.35 -r1.36 src/sys/arch/arm/broadcom/bcm283x_platform.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/broadcom/bcm2835reg.h diff -u src/sys/arch/arm/broadcom/bcm2835reg.h:1.29 src/sys/arch/arm/broadcom/bcm2835reg.h:1.30 --- src/sys/arch/arm/broadcom/bcm2835reg.h:1.29 Mon Dec 30 16:19:27 2019 +++ src/sys/arch/arm/broadcom/bcm2835reg.h Sat Feb 22 00:17:54 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm2835reg.h,v 1.29 2019/12/30 16:19:27 skrll Exp $ */ +/* $NetBSD: bcm2835reg.h,v 1.30 2020/02/22 00:17:54 jmcneill Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -124,6 +124,15 @@ #define BCM2835_INTC_BASE (0x0) /* Relative to BCM2835_ARMICU_BASE */ +#define BCM2711_SCB_BASE 0xfc000000 +#define BCM2711_SCB_SIZE 0x03800000 +#define BCM2711_SCB_BASE_BUS 0x7c000000 + +#define BCM2711_SCB_PHYS_TO_BUS(a) \ + ((a) - BCM2711_SCB_BASE + BCM2711_SCB_BASE_BUS) +#define BCM2711_SCB_BUS_TO_PHYS(a) \ + ((a) - BCM2711_SCB_BASE_BUS + BCM2711_SCB_BASE) + /* Interrupt controller */ #define BCM2835_INTC_IRQBPENDING (BCM2835_INTC_BASE + 0x00) /* IRQ Basic pending */ #define BCM2835_INTC_IRQ1PENDING (BCM2835_INTC_BASE + 0x04) /* IRQ pending 1 */ Index: src/sys/arch/arm/broadcom/bcm283x_platform.c diff -u src/sys/arch/arm/broadcom/bcm283x_platform.c:1.35 src/sys/arch/arm/broadcom/bcm283x_platform.c:1.36 --- src/sys/arch/arm/broadcom/bcm283x_platform.c:1.35 Thu Feb 20 01:43:07 2020 +++ src/sys/arch/arm/broadcom/bcm283x_platform.c Sat Feb 22 00:17:54 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm283x_platform.c,v 1.35 2020/02/20 01:43:07 jmcneill Exp $ */ +/* $NetBSD: bcm283x_platform.c,v 1.36 2020/02/22 00:17:54 jmcneill 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.35 2020/02/20 01:43:07 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.36 2020/02/22 00:17:54 jmcneill Exp $"); #include "opt_arm_debug.h" #include "opt_bcm283x.h" @@ -187,6 +187,10 @@ 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_SCB_BASE_BUS && + ba < BCM2711_SCB_BASE_BUS + BCM2711_SCB_SIZE) + return BCM2711_SCB_BUS_TO_PHYS(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);