svn commit: r307257 - in head/sys: arm/broadcom/bcm2835 arm64/broadcom arm64/broadcom/bcm2837 arm64/conf conf
Andrew Turner
andrew at fubar.geek.nz
Fri Oct 14 08:31:34 UTC 2016
On Fri, 14 Oct 2016 03:37:36 +0000 (UTC)
Oleksandr Tymoshenko <gonzo at FreeBSD.org> wrote:
> Author: gonzo
> Date: Fri Oct 14 03:37:35 2016
> New Revision: 307257
> URL: https://svnweb.freebsd.org/changeset/base/307257
>
> Log:
> Add initial Raspberry Pi 3 support
>
> RPI3 kernel config builds kernel compatible with latest upstream
> device tree and firmware:
> https://github.com/raspberrypi/firmware/tree/master/boot As of today
> it's 597c662a613df1144a6bc43e5f4505d83bd748ca
> Default console is PL01x, so pi3-disable-bt dt overlay should be
> configured in config.txt and stock U-Boot should be patched to use
> proper serial port.
> Yet unsupported: SMP, VCHIQ, RNG driver. RNG requires some work due
> to upstream device tree incompatibility.
>
> Multiple people contributed to this work over time: db@, loos@,
> manu@
>
> Added:
> head/sys/arm64/broadcom/
> head/sys/arm64/broadcom/bcm2837/
> head/sys/arm64/broadcom/bcm2837/files.bcm2837 (contents, props
> changed) head/sys/arm64/conf/RPI3 (contents, props changed)
> Modified:
> head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
> head/sys/conf/options.arm64
>
> Modified: head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h
> ==============================================================================
> --- head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h Fri Oct 14
> 03:32:20 2016 (r307256) +++
> head/sys/arm/broadcom/bcm2835/bcm2835_vcbus.h Fri Oct 14
> 03:37:35 2016 (r307257) @@ -37,7 +37,7 @@ #define
> BCM2835_VCBUS_IO_BASE 0x7E000000 #define
> BCM2835_VCBUS_SDRAM_UNCACHED 0xC0000000
> -#ifdef SOC_BCM2836
> +#if defined(SOC_BCM2836) || defined(SOC_BCM2837)
You could reverse the logic here to:
#ifdef SOC_BCM2835
<2835 macros>
#else
<s836/s837 macros>
#endif
> #define BCM2835_ARM_IO_BASE 0x3f000000
> #define BCM2835_VCBUS_SDRAM_BASE
> BCM2835_VCBUS_SDRAM_UNCACHED #else
>
> Added: head/sys/arm64/broadcom/bcm2837/files.bcm2837
> ==============================================================================
> --- /dev/null 00:00:00 1970 (empty, because file is
> newly added) +++ head/sys/arm64/broadcom/bcm2837/files.bcm2837
> Fri Oct 14 03:37:35 2016 (r307257) @@ -0,0 +1,4 @@
> +# $FreeBSD$
> +
> +arm/broadcom/bcm2835/bcm2836.c standard
This should be in files.arm64 and enabled when the SOC_ option is set.
> +kern/kern_clocksource.c standard
This is already in files.arm64.
>
> Added: head/sys/arm64/conf/RPI3
Why a new kernel config and not GENERIC?
...
> Modified: head/sys/conf/options.arm64
> ==============================================================================
> --- head/sys/conf/options.arm64 Fri Oct 14 03:32:20
> 2016 (r307256) +++ head/sys/conf/options.arm64 Fri Oct
> 14 03:37:35 2016 (r307257) @@ -9,5 +9,6 @@
> VFP opt_global.h
> # SoC Support
> SOC_ALLWINNER_A64 opt_soc.h
> +SOC_BCM2837 opt_global.h
This should be SOC_BRCM_BCM2837 (or maybe SOC_BRCM_BCM283X) and live in
opt_soc.h
Andrew
More information about the svn-src-all
mailing list