aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Tymoshenko <gonzo@FreeBSD.org>2016-10-14 22:23:03 +0000
committerOleksandr Tymoshenko <gonzo@FreeBSD.org>2016-10-14 22:23:03 +0000
commit745c4aa5e8f0d0847cc273735c8176329ea94f78 (patch)
treeea3ab0f0417da304dfae27af8283110137c7d99c
parent401d3029af431d61ea22ba9161d2b5184faed7d0 (diff)
Make BRCM2837 port conform FreeBSD/ARM64 guidelines
- Rename SOC_BCM2837 to SOC_BRCM_BCM2837, put it to opt_soc.h - do not use files.XXX files, just move required sources to conf/files.arm64 and make them depend on soc_brcm_bcm2837 Suggested by: andrew
Notes
Notes: svn path=/head/; revision=307335
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_vcbus.h15
-rw-r--r--sys/arm64/broadcom/bcm2837/files.bcm28373
-rw-r--r--sys/arm64/conf/RPI35
-rw-r--r--sys/conf/files.arm6437
-rw-r--r--sys/conf/options.arm642
5 files changed, 50 insertions, 12 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
index e71afb70480e..1b540d9be10f 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
+++ b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
@@ -33,16 +33,23 @@
#ifndef _BCM2835_VCBUS_H_
#define _BCM2835_VCBUS_H_
+/*
+ * ARM64 define its SOC options in opt_soc.h
+ */
+#if defined(__aarch64__)
+#include "opt_soc.h"
+#endif
+
#define BCM2835_VCBUS_SDRAM_CACHED 0x40000000
#define BCM2835_VCBUS_IO_BASE 0x7E000000
#define BCM2835_VCBUS_SDRAM_UNCACHED 0xC0000000
-#if defined(SOC_BCM2836) || defined(SOC_BCM2837)
-#define BCM2835_ARM_IO_BASE 0x3f000000
-#define BCM2835_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_UNCACHED
-#else
+#if defined(SOC_BCM2835)
#define BCM2835_ARM_IO_BASE 0x20000000
#define BCM2835_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_CACHED
+#else
+#define BCM2835_ARM_IO_BASE 0x3f000000
+#define BCM2835_VCBUS_SDRAM_BASE BCM2835_VCBUS_SDRAM_UNCACHED
#endif
#define BCM2835_ARM_IO_SIZE 0x01000000
diff --git a/sys/arm64/broadcom/bcm2837/files.bcm2837 b/sys/arm64/broadcom/bcm2837/files.bcm2837
deleted file mode 100644
index dee2f330473b..000000000000
--- a/sys/arm64/broadcom/bcm2837/files.bcm2837
+++ /dev/null
@@ -1,3 +0,0 @@
-# $FreeBSD$
-
-arm/broadcom/bcm2835/bcm2836.c standard
diff --git a/sys/arm64/conf/RPI3 b/sys/arm64/conf/RPI3
index 7b0be5e736a5..0ae44b16367a 100644
--- a/sys/arm64/conf/RPI3
+++ b/sys/arm64/conf/RPI3
@@ -22,9 +22,6 @@
cpu ARM64
ident RPI3
-files "../../arm/broadcom/bcm2835/files.bcm283x"
-files "../broadcom/bcm2837/files.bcm2837"
-
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
#makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
@@ -91,7 +88,7 @@ options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
-options SOC_BCM2837
+options SOC_BRCM_BCM2837
options ROOTDEVNAME=\"ufs:mmcsd0s2\"
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
index 332fd66b6eab..1aa1ce1546e4 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -45,6 +45,24 @@ arm/arm/generic_timer.c standard
arm/arm/gic.c standard
arm/arm/gic_fdt.c optional fdt
arm/arm/pmu.c standard
+arm/broadcom/bcm2835/bcm2835_audio.c optional sound vchiq \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+arm/broadcom/bcm2835/bcm2835_bsc.c optional bcm2835_bsc
+arm/broadcom/bcm2835/bcm2835_common.c optional fdt soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_cpufreq.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_dma.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_fbd.c optional vt soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_ft5406.c optional evdev bcm2835_ft5406 soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_gpio.c optional gpio soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_intr.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_mbox.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_rng.c optional random soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_sdhci.c optional sdhci soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_spi.c optional bcm2835_spi soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_vcio.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2835_wdog.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm2836.c optional soc_brcm_bcm2837
+arm/broadcom/bcm2835/bcm283x_dwc_fdt.c optional dwcotg fdt soc_brcm_bcm2837
arm64/acpica/acpi_machdep.c optional acpi
arm64/acpica/OsdEnvironment.c optional acpi
arm64/acpica/acpi_wakeup.c optional acpi
@@ -96,6 +114,24 @@ arm64/cavium/thunder_pcie_pem.c optional soc_cavm_thunderx pci
arm64/cavium/thunder_pcie_pem_fdt.c optional soc_cavm_thunderx pci fdt
arm64/cavium/thunder_pcie_common.c optional soc_cavm_thunderx pci
arm64/cloudabi64/cloudabi64_sysvec.c optional compat_cloudabi64
+contrib/vchiq/interface/compat/vchi_bsd.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_arm.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_connected.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_core.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kern_lib.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_shim.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
+contrib/vchiq/interface/vchiq_arm/vchiq_util.c optional vchiq soc_brcm_bcm2837 \
+ compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
crypto/blowfish/bf_enc.c optional crypto | ipsec
crypto/des/des_enc.c optional crypto | ipsec | netsmb
dev/acpica/acpi_if.m optional acpi
@@ -103,6 +139,7 @@ dev/ahci/ahci_generic.c optional ahci fdt
dev/cpufreq/cpufreq_dt.c optional cpufreq fdt
dev/hwpmc/hwpmc_arm64.c optional hwpmc
dev/hwpmc/hwpmc_arm64_md.c optional hwpmc
+dev/mbox/mbox_if.m optional soc_brcm_bcm2837
dev/mmc/host/dwmmc.c optional dwmmc fdt
dev/mmc/host/dwmmc_hisi.c optional dwmmc fdt soc_hisi_hi6220
dev/ofw/ofw_cpu.c optional fdt
diff --git a/sys/conf/options.arm64 b/sys/conf/options.arm64
index 99395880227e..ad68292d61fc 100644
--- a/sys/conf/options.arm64
+++ b/sys/conf/options.arm64
@@ -9,6 +9,6 @@ VFP opt_global.h
# SoC Support
SOC_ALLWINNER_A64 opt_soc.h
-SOC_BCM2837 opt_global.h
+SOC_BRCM_BCM2837 opt_soc.h
SOC_CAVM_THUNDERX opt_soc.h
SOC_HISI_HI6220 opt_soc.h