diff options
author | andrew <andrew@FreeBSD.org> | 2015-03-25 10:59:42 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2015-03-25 10:59:42 +0000 |
commit | 4fca026f47d0d09ee8a8aeac3a7007fe8f6089f2 (patch) | |
tree | 3d312dfebbf684c945c9cf613a47810afd78503e /sys/arm/conf/RPI2 | |
parent | 93d27a42d472bcc7167b4379658b59c3d66fc7a7 (diff) | |
download | FreeBSD-src-4fca026f47d0d09ee8a8aeac3a7007fe8f6089f2.zip FreeBSD-src-4fca026f47d0d09ee8a8aeac3a7007fe8f6089f2.tar.gz |
Add support for the Raspberry Pi 2. As the chip is based on the bcm2835 in
the Raspberry Pi B we support most of the devices are already supported,
however the base address has changed.
A few items are not working, or missing. The main ones are:
* DMA doesn't work in the sdhci driver.
* Enabling vchiq halts the boot, may be interrupt related.
* There is no U-Boot port yet so the DTB is embedded in the kernel.
The last point will make it difficult to boot FreeBSD, however there is
support for the Raspberry Pi 2 in the U-Boot git repo. As I have not tested
this it is left as an open task to create a port to build.
X-MFC: When the above issues are fixed
Sponsored by: ABT Systems Ltd
Diffstat (limited to 'sys/arm/conf/RPI2')
-rw-r--r-- | sys/arm/conf/RPI2 | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sys/arm/conf/RPI2 b/sys/arm/conf/RPI2 new file mode 100644 index 0000000..02f3869 --- /dev/null +++ b/sys/arm/conf/RPI2 @@ -0,0 +1,142 @@ +# +# RPI-B -- Custom configuration for the Raspberry Pi +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# The handbook is also available locally in /usr/share/doc/handbook +# if you've installed the doc distribution, otherwise always see the +# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the +# latest information. +# +# An exhaustive list of options and more detailed explanations of the +# device lines is also present in the ../../conf/NOTES and NOTES files. +# If you are in doubt as to the purpose or necessity of a line, check first +# in NOTES. +# +# $FreeBSD$ + +ident RPI-B + +include "../broadcom/bcm2835/std.rpi" +include "../broadcom/bcm2835/std.bcm2836" + +options HZ=100 +options SCHED_4BSD # 4BSD scheduler +options PREEMPTION # Enable kernel thread preemption +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options SCTP # Stream Control Transmission Protocol +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options NFSCL # Network Filesystem Client +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # Efficient memory filesystem +options GEOM_PART_GPT # GUID Partition Tables +options GEOM_PART_BSD # BSD partition scheme +options GEOM_PART_MBR # MBR partition scheme +options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options PLATFORM +options FREEBSD_BOOT_LOADER # Process metadata passed from loader(8) +options VFP # Enable floating point hardware support + +# Debugging for use in -current +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +options BREAK_TO_DEBUGGER +options ALT_BREAK_TO_DEBUGGER +#options VERBOSE_SYSINIT # Enable verbose sysinit messages +options KDB # Enable kernel debugger support +# For minimum debugger support (stable branch) use: +#options KDB_TRACE # Print a stack trace for a panic +# For full debugger support use this instead: +options DDB # Enable the kernel debugger +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS # Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +#options DIAGNOSTIC + +# NFS root from boopt/dhcp +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_COMPAT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=ue0 + +options ROOTDEVNAME=\"ufs:mmcsd0s2\" + +device bpf +device loop +device ether +device uart +device pty +device snp +device pl011 + +# Comment following lines for boot console on serial port +device vt +device kbdmux +device ukbd + +device sdhci +device mmc +device mmcsd + +device gpio +device gpioled + +# I2C +device iic +device iicbus +device bcm2835_bsc + +device md +device random # Entropy device + +# USB support +device usb +options USB_DEBUG +device dwcotg # DWC OTG controller + +# USB storage support +device scbus +device da +device umass + +# USB ethernet support +device smcphy +device mii +device smsc + +# SPI +device spibus +device bcm2835_spi + +#device vchiq +#device sound + +# Flattened Device Tree +options FDT # Configure using FDT/DTB data +# Note: DTB is normally loaded and modified by RPi boot loader, then +# handed to kernel via U-Boot and ubldr. +options FDT_DTB_STATIC +makeoptions FDT_DTS_FILE=rpi2.dts +makeoptions MODULES_EXTRA=dtb/rpi |