diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2019-12-09 17:34:40 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2019-12-09 17:34:40 +0000 |
commit | 5910fe02d64647833e54f9a12509ff2b485ed568 (patch) | |
tree | 04fddb7fc559d5f111f8044b049ed4c7382fa230 /sys/arm/broadcom/bcm2835/bcm2835_vcbus.h | |
parent | 670f36540d041696e574d6acf4db129deabee8b0 (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.h | 6 |
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 |