aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2019-12-09 17:34:40 +0000
committerKyle Evans <kevans@FreeBSD.org>2019-12-09 17:34:40 +0000
commit5910fe02d64647833e54f9a12509ff2b485ed568 (patch)
tree04fddb7fc559d5f111f8044b049ed4c7382fa230 /sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
parent670f36540d041696e574d6acf4db129deabee8b0 (diff)
RPI: Fix DMA/SDHCI on the BCM2836 (Raspberry Pi 2)
r354875 pushed VCBUS <-> ARMC translations to runtime determination, but incorrectly mapped addresses for the BCM2836 -- SOC_BCM2835 and SOC_BCM2836 are actually mutually exclusive, so the BCM2836 config (GENERIC) would have taken the latter path in the header and used 0x3f000000 as peripheral start. Easily fixed -- split out the BCM2836 into its own memmap config and use that instead if SOC_BCM2836 is included. With this, we get back to userland again. Reported by: Marek Zarychta <zarychtam@plan-b.pwste.edu.pl>
Notes
Notes: svn path=/head/; revision=355563
Diffstat (limited to 'sys/arm/broadcom/bcm2835/bcm2835_vcbus.h')
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_vcbus.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
index e8ee179782b5..77b408311e61 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
+++ b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
@@ -42,7 +42,11 @@
#define BCM2835_VCBUS_IO_BASE 0x7E000000
#define BCM2835_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_CACHED
-#define BCM2837_ARM_IO_BASE 0x3f000000
+#define BCM2836_ARM_IO_BASE 0x3f000000
+#define BCM2836_VCBUS_IO_BASE BCM2835_VCBUS_IO_BASE
+#define BCM2836_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_UNCACHED
+
+#define BCM2837_ARM_IO_BASE BCM2836_ARM_IO_BASE
#define BCM2837_VCBUS_IO_BASE BCM2835_VCBUS_IO_BASE
#define BCM2837_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_UNCACHED