summaryrefslogtreecommitdiffstats
path: root/sys/arm/conf
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-05-17 19:37:04 +0000
committerian <ian@FreeBSD.org>2014-05-17 19:37:04 +0000
commitac96a624aeb31b613fe5d1210998d31e29bcb2df (patch)
tree65562490066ab0b940ac6f4fea27daf43356cb54 /sys/arm/conf
parent91f6841891ec7c87458d26652e835aeeff9a52df (diff)
downloadFreeBSD-src-ac96a624aeb31b613fe5d1210998d31e29bcb2df.zip
FreeBSD-src-ac96a624aeb31b613fe5d1210998d31e29bcb2df.tar.gz
MFC 263910, 263913, 263914, 263933, 263934, 263935, 263936, 263981, 263982,
Add more flags for the fpexc register from the ARM1176JZF-S Manual Initialise fpscr to a sane value when we create the pcb. This sets NaNs to be the default NaN and for denormalised numbers to be flushed to zero. VFP fixes/cleanups for ARM11: * Save the required VFP registers on context switch. If the exception bit is set we need to save and restore the FPINST register, and if the fp2v bit is also set we need to save and restore FPINST2. * Move saving and restoring the floating point control registers to C. * Clear the fpexc exception and fp2v flags on a floating-point exception. * Signal a SIGFPE if the fpexc exception flag is set on an undefined instruction. This is how the ARM core signals to software there is a floating-point exception. Add Cortex-A15 cpu id revisions. Exynos/Arndale... - Merge SoC-common parts - Enable iicbus device - Directly call kmem_alloc_contig to allocate framebuffer memory and pass VM_MEMATTR_UNCACHEABLE (no-cache, no-buffer). This fixes screen refreshing problem when data is updated too slowly. - Add support for keyboard used in Samsung Chromebook (ARM machine) Support covers device drivers for: - Interrupt Combiner - gpio/pad, External Interrupts Controller (pad) - I2C Interface - Chrome Embedded Controller - Chrome Keyboard - Use new gpio dev class in EHCI driver - Expand device tree information - Release i2c bus on detach.
Diffstat (limited to 'sys/arm/conf')
-rw-r--r--sys/arm/conf/ARNDALE115
-rw-r--r--sys/arm/conf/CHROMEBOOK116
-rw-r--r--sys/arm/conf/CHROMEBOOK.hints5
-rw-r--r--sys/arm/conf/EXYNOS5250.common132
4 files changed, 142 insertions, 226 deletions
diff --git a/sys/arm/conf/ARNDALE b/sys/arm/conf/ARNDALE
index 231bfc8..e50d3f4 100644
--- a/sys/arm/conf/ARNDALE
+++ b/sys/arm/conf/ARNDALE
@@ -17,122 +17,9 @@
#
# $FreeBSD$
+include "EXYNOS5250.common"
ident ARNDALE
-include "../samsung/exynos/std.exynos5"
-
-makeoptions MODULES_OVERRIDE=""
-makeoptions WITHOUT_MODULES="ahc"
-
-makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
-makeoptions WERROR="-Werror"
-
-options HZ=100
-options SCHED_4BSD # 4BSD scheduler
-options INET # InterNETworking
-options INET6 # IPv6 communications protocols
-options GEOM_PART_BSD # BSD partition scheme
-options GEOM_PART_MBR # MBR partition scheme
-options TMPFS # Efficient memory filesystem
-options FFS # Berkeley Fast Filesystem
-options SOFTUPDATES
-options UFS_ACL # Support for access control lists
-options UFS_DIRHASH # Improve performance on big directories
-options MSDOSFS # MSDOS Filesystem
-options CD9660 # ISO 9660 Filesystem
-options PROCFS # Process filesystem (requires PSEUDOFS)
-options PSEUDOFS # Pseudo-filesystem framework
-options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
-options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
-options KTRACE
-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
-options PREEMPTION
-options FREEBSD_BOOT_LOADER
-options VFP # vfp/neon
-
-# Debugging
-makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
-options BREAK_TO_DEBUGGER
-#options VERBOSE_SYSINIT # Enable verbose sysinit messages
-options KDB
-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 support
-options NFSCL # Network Filesystem Client
-options NFSLOCKD # Network Lock Manager
-options NFS_ROOT # NFS usable as /, requires NFSCLIENT
-
-# Uncomment this for NFS root
-#options NFS_ROOT # NFS usable as /, requires NFSCL
-#options BOOTP_NFSROOT
-#options BOOTP_COMPAT
-#options BOOTP
-#options BOOTP_NFSV3
-#options BOOTP_WIRED_TO=cpsw0
-
-device mmc # mmc/sd bus
-device mmcsd # mmc/sd flash cards
-device sdhci # generic sdhci
-
-options ROOTDEVNAME=\"ufs:/dev/da0\"
-
-#options SMP
-
-# Pseudo devices
-
-device loop
-device random
-device pty
-device md
-device gpio
-
-# USB support
-options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
-device usb
-options USB_DEBUG
-#options USB_REQ_DEBUG
-#options USB_VERBOSE
-#device musb
-device ehci
-#device ohci
-
-device umass
-device scbus # SCSI bus (required for SCSI)
-device da # Direct Access (disks)
-device pass
-
-# SATA
-#device ata
-#device atadisk
-#device mvs
-
-# Serial ports
-device uart
-
-# I2C (TWSI)
-#device iic
-#device iicbus
-
-# Ethernet
-device ether
-device mii
-device smsc
-device smscphy
-
-# USB ethernet support, requires miibus
-device miibus
-device axe # ASIX Electronics USB Ethernet
-device bpf # Berkeley packet filter
-
#FDT
options FDT
options FDT_DTB_STATIC
diff --git a/sys/arm/conf/CHROMEBOOK b/sys/arm/conf/CHROMEBOOK
index 3a2a469..ea69035 100644
--- a/sys/arm/conf/CHROMEBOOK
+++ b/sys/arm/conf/CHROMEBOOK
@@ -17,106 +17,13 @@
#
# $FreeBSD$
+include "EXYNOS5250.common"
ident CHROMEBOOK
-include "../samsung/exynos/std.exynos5"
+hints "CHROMEBOOK.hints"
-makeoptions MODULES_OVERRIDE=""
-makeoptions WITHOUT_MODULES="ahc"
-
-makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
-makeoptions WERROR="-Werror"
-
-options HZ=100
-options SCHED_4BSD # 4BSD scheduler
-options INET # InterNETworking
-options INET6 # IPv6 communications protocols
-options GEOM_PART_BSD # BSD partition scheme
-options GEOM_PART_MBR # MBR partition scheme
-options TMPFS # Efficient memory filesystem
-options FFS # Berkeley Fast Filesystem
-options SOFTUPDATES
-options UFS_ACL # Support for access control lists
-options UFS_DIRHASH # Improve performance on big directories
-options MSDOSFS # MSDOS Filesystem
-options CD9660 # ISO 9660 Filesystem
-options PROCFS # Process filesystem (requires PSEUDOFS)
-options PSEUDOFS # Pseudo-filesystem framework
-options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
-options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
-options KTRACE
-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
-options PREEMPTION
-options FREEBSD_BOOT_LOADER
-options VFP # vfp/neon
-
-# Debugging
-makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
-options BREAK_TO_DEBUGGER
-#options VERBOSE_SYSINIT # Enable verbose sysinit messages
-options KDB
-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 support
-options NFSCL # Network Filesystem Client
-options NFSLOCKD # Network Lock Manager
-options NFS_ROOT # NFS usable as /, requires NFSCLIENT
-
-# Uncomment this for NFS root
-#options NFS_ROOT # NFS usable as /, requires NFSCL
-#options BOOTP_NFSROOT
-#options BOOTP_COMPAT
-#options BOOTP
-#options BOOTP_NFSV3
-#options BOOTP_WIRED_TO=cpsw0
-
-device mmc # mmc/sd bus
-device mmcsd # mmc/sd flash cards
-device sdhci # generic sdhci
-
-options ROOTDEVNAME=\"ufs:/dev/da0\"
-
-#options SMP
-
-# Pseudo devices
-
-device loop
-device random
-device pty
-device md
-device gpio
-
-# USB support
-options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
-device usb
-options USB_DEBUG
-#options USB_REQ_DEBUG
-#options USB_VERBOSE
-#device musb
-device ehci
-#device ohci
-
-device umass
-device scbus # SCSI bus (required for SCSI)
-device da # Direct Access (disks)
-device pass
-
-# SATA
-#device ata
-#device atadisk
-#device mvs
-
-# Serial ports
-device uart
+device chrome_ec # Chrome Embedded Controller
+device chrome_kb # Chrome Keyboard
# Framebuffer
device vt
@@ -125,21 +32,6 @@ options SC_DFLT_FONT # compile font in
makeoptions SC_DFLT_FONT=cp437
device ukbd
-# I2C (TWSI)
-#device iic
-#device iicbus
-
-# Ethernet
-device ether
-device mii
-device smsc
-device smscphy
-
-# USB ethernet support, requires miibus
-device miibus
-device axe # ASIX Electronics USB Ethernet
-device bpf # Berkeley packet filter
-
#FDT
options FDT
options FDT_DTB_STATIC
diff --git a/sys/arm/conf/CHROMEBOOK.hints b/sys/arm/conf/CHROMEBOOK.hints
new file mode 100644
index 0000000..908eb9e
--- /dev/null
+++ b/sys/arm/conf/CHROMEBOOK.hints
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+# Chrome Embedded Controller
+hint.chrome_ec.0.at="iicbus0"
+hint.chrome_ec.0.addr=0x1e
diff --git a/sys/arm/conf/EXYNOS5250.common b/sys/arm/conf/EXYNOS5250.common
new file mode 100644
index 0000000..474cb6b
--- /dev/null
+++ b/sys/arm/conf/EXYNOS5250.common
@@ -0,0 +1,132 @@
+# Kernel configuration for Samsung Exynos 5250 boards.
+#
+# 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$
+
+include "../samsung/exynos/std.exynos5"
+
+makeoptions MODULES_OVERRIDE=""
+makeoptions WITHOUT_MODULES="ahc"
+
+makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
+makeoptions WERROR="-Werror"
+
+options HZ=100
+options SCHED_4BSD # 4BSD scheduler
+options INET # InterNETworking
+options INET6 # IPv6 communications protocols
+options GEOM_PART_BSD # BSD partition scheme
+options GEOM_PART_MBR # MBR partition scheme
+options TMPFS # Efficient memory filesystem
+options FFS # Berkeley Fast Filesystem
+options SOFTUPDATES
+options UFS_ACL # Support for access control lists
+options UFS_DIRHASH # Improve performance on big directories
+options MSDOSFS # MSDOS Filesystem
+options CD9660 # ISO 9660 Filesystem
+options PROCFS # Process filesystem (requires PSEUDOFS)
+options PSEUDOFS # Pseudo-filesystem framework
+options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
+options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
+options KTRACE
+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
+options PREEMPTION
+options FREEBSD_BOOT_LOADER
+options VFP # vfp/neon
+
+# Debugging
+makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
+options BREAK_TO_DEBUGGER
+#options VERBOSE_SYSINIT # Enable verbose sysinit messages
+options KDB
+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 support
+options NFSCL # Network Filesystem Client
+options NFSLOCKD # Network Lock Manager
+options NFS_ROOT # NFS usable as /, requires NFSCLIENT
+
+# Uncomment this for NFS root
+#options NFS_ROOT # NFS usable as /, requires NFSCL
+#options BOOTP_NFSROOT
+#options BOOTP_COMPAT
+#options BOOTP
+#options BOOTP_NFSV3
+#options BOOTP_WIRED_TO=ue0
+
+device mmc # mmc/sd bus
+device mmcsd # mmc/sd flash cards
+device sdhci # generic sdhci
+
+options ROOTDEVNAME=\"ufs:/dev/da0\"
+
+#options SMP
+
+# Pseudo devices
+
+device loop
+device random
+device pty
+device md
+device gpio
+
+# USB support
+options USB_HOST_ALIGN=64 # Align usb buffers to cache line size.
+device usb
+options USB_DEBUG
+#options USB_REQ_DEBUG
+#options USB_VERBOSE
+#device musb
+device ehci
+#device ohci
+
+device umass
+device scbus # SCSI bus (required for SCSI)
+device da # Direct Access (disks)
+device pass
+
+# SATA
+#device ata
+#device atadisk
+#device mvs
+
+# Serial ports
+device uart
+
+# I2C (TWSI)
+device iic
+device iicbus
+
+# Ethernet
+device ether
+device mii
+device smsc
+device smscphy
+
+# USB ethernet support, requires miibus
+device miibus
+device axe # ASIX Electronics USB Ethernet
+device bpf # Berkeley packet filter
OpenPOWER on IntegriCloud