diff options
| author | matt <matt@NetBSD.org> | 2013-09-03 06:12:00 +0000 |
|---|---|---|
| committer | matt <matt@NetBSD.org> | 2013-09-03 06:12:00 +0000 |
| commit | eb85ae4fd72b6b92dcdcd44f3fcf60d35228f8cf (patch) | |
| tree | 425a4c0e604149c6a8526b2ea933a72ac74ff7a1 | |
| parent | e4a8f46ae0e2caa0995220ce80e27810b05d6df3 (diff) | |
Prelimary config goo for CubieBoard 1 & 2
(config is happy with it)
| -rw-r--r-- | sys/arch/evbarm/conf/CUBIEBOARD | 299 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/files.cubie | 12 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/mk.cubie | 34 | ||||
| -rw-r--r-- | sys/arch/evbarm/conf/std.cubie | 29 |
4 files changed, 374 insertions, 0 deletions
diff --git a/sys/arch/evbarm/conf/CUBIEBOARD b/sys/arch/evbarm/conf/CUBIEBOARD new file mode 100644 index 00000000000..7c42d2c12bd --- /dev/null +++ b/sys/arch/evbarm/conf/CUBIEBOARD @@ -0,0 +1,299 @@ +# +# $NetBSD: CUBIEBOARD,v 1.1 2013/09/03 06:12:00 matt Exp $ +# +# CUBIEBOARD -- Allwinner A10/A20 Eval Board Kernel +# + +include "arch/evbarm/conf/std.cubie" + +# estimated number of users + +maxusers 32 + +# Standard system options + +options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT +#options NTP # NTP phase/frequency locked loop + +# CPU options + +#options UVMHIST,UVMHIST_PRINT +options CPU_CORTEXA8 +options CPU_CORTEXA7 +options ALLWINNER_A10 +options ALLWINNER_A20 +options PMAPCOUNTERS + +# Architecture options + +# File systems + +file-system FFS # UFS +#file-system LFS # log-structured file system +file-system MFS # memory file system +file-system NFS # Network file system +#file-system ADOSFS # AmigaDOS-compatible file system +#file-system EXT2FS # second extended file system (linux) +#file-system CD9660 # ISO 9660 + Rock Ridge file system +file-system MSDOSFS # MS-DOS file system +#file-system FDESC # /dev/fd +file-system KERNFS # /kern +#file-system NULLFS # loopback file system +file-system PROCFS # /proc +#file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs) +#file-system UMAPFS # NULLFS + uid and gid remapping +#file-system UNION # union file system +file-system TMPFS # memory file system +file-system PTYFS # /dev/pts/N support + +# File system options +#options QUOTA # legacy UFS quotas +#options QUOTA2 # new, in-filesystem UFS quotas +#options FFS_EI # FFS Endian Independent support +#options NFSSERVER +options WAPBL # File system journaling support +#options FFS_NO_SNAPSHOT # No FFS snapshot support + +# Networking options + +#options GATEWAY # packet forwarding +options INET # IP + ICMP + TCP + UDP +options INET6 # IPV6 +#options IPSEC # IP security +#options IPSEC_DEBUG # debug for IP security +#options MROUTING # IP multicast routing +#options PIM # Protocol Independent Multicast +#options NETATALK # AppleTalk networking +#options PPP_BSDCOMP # BSD-Compress compression support for PPP +#options PPP_DEFLATE # Deflate compression support for PPP +#options PPP_FILTER # Active filter support for PPP (requires bpf) +#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG + +options NFS_BOOT_BOOTP +options NFS_BOOT_DHCP +#options NFS_BOOT_BOOTSTATIC +#options NFS_BOOTSTATIC_MYIP="\"192.168.1.4\"" +#options NFS_BOOTSTATIC_GWIP="\"192.168.1.1\"" +#options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" +#options NFS_BOOTSTATIC_SERVADDR="\"192.168.1.1\"" +#options NFS_BOOTSTATIC_SERVER="\"192.168.1.1:/nfs/sdp2430\"" + +options NFS_BOOT_RWSIZE=1024 + +# Compatibility options + +#options COMPAT_43 # 4.3BSD compatibility. +options COMPAT_60 # NetBSD 6.0 compatibility. +options COMPAT_50 # NetBSD 5.0 compatibility. +options COMPAT_40 # NetBSD 4.0 compatibility. +options COMPAT_30 # NetBSD 3.0 compatibility. +#options COMPAT_20 # NetBSD 2.0 compatibility. +#options COMPAT_16 # NetBSD 1.6 compatibility. +#options COMPAT_15 # NetBSD 1.5 compatibility. +#options COMPAT_14 # NetBSD 1.4 compatibility. +#options COMPAT_13 # NetBSD 1.3 compatibility. +#options COMPAT_12 # NetBSD 1.2 compatibility. +#options COMPAT_11 # NetBSD 1.1 compatibility. +#options COMPAT_10 # NetBSD 1.0 compatibility. +#options COMPAT_09 # NetBSD 0.9 compatibility. +#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. +#options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. + +# Shared memory options + +options SYSVMSG # System V-like message queues +options SYSVSEM # System V-like semaphores +options SYSVSHM # System V-like memory sharing + +# Device options + +#options MEMORY_DISK_HOOKS # boottime setup of ramdisk +#options MEMORY_DISK_ROOT_SIZE=8192 # Size in blocks +#options MEMORY_DISK_DYNAMIC +#options MINIROOTSIZE=1000 # Size in blocks +#options MEMORY_DISK_IS_ROOT # use memory disk as root + +# Miscellaneous kernel options +options KTRACE # system call tracing, a la ktrace(1) +#options KMEMSTATS # kernel memory statistics +#options SCSIVERBOSE # Verbose SCSI errors +#options MIIVERBOSE # Verbose MII autoconfuration messages +#options DDB_KEYCODE=0x40 +#options USERCONF # userconf(4) support +#options PIPE_SOCKETPAIR # smaller, but slower pipe(2) + +# Development and Debugging options + +#options PERFCTRS # performance counters +options DIAGNOSTIC # internally consistency checks +#options DEBUG +#options PMAP_DEBUG # Enable pmap_debug_level code +#options IPKDB # remote kernel debugging +#options VERBOSE_INIT_ARM # verbose bootstraping messages +options DDB # in-kernel debugger +options DDB_ONPANIC=1 +options DDB_HISTORY_SIZE=100 # Enable history editing in DDB +#options KGDB +makeoptions DEBUG="-g" # compile full symbol table +options SYMTAB_SPACE=800000 + +## USB Debugging options +options USB_DEBUG +options EHCI_DEBUG +options OHCI_DEBUG +options UHUB_DEBUG + + +# Valid options for BOOT_ARGS: +# single Boot to single user only +# kdb Give control to kernel debugger +# ask Ask for file name to reboot from +# memorydisk=<n> Set memorydisk size to <n> KB +# quiet Show aprint_naive output +# verbose Show aprint_normal and aprint_verbose output +options BOOT_ARGS="\"\"" + +config netbsd root on ? type ? + +# The main bus device +mainbus0 at root + +# The boot cpu +cpu0 at mainbus? + +# Specify the memory size in megabytes (optional). +#options MEMSIZE=256 +#options MEMSIZE=128 + +# A7 core devices +armperiph0 at mainbus? +armgic0 at armperiph? # Interrupt Controller +armgtmr0 at armperiph? # ARM Generic Timer + +# SoC I/O +awinio0 at mainbus? + +# SDHC controllers +sdhc0 at awinio0 port 0 +sdhc* at awinio0 port ? +sdmmc* at sdhc? # SD/MMC bus +ld* at sdmmc? + +# NAND controller +awinnand0 at awinio0 + +# NAND layer +nand0 at nandbus? + +# use the bad block table +options NAND_BBT + +# Define flash partitions for board +flash0 at nand0 offset 0x000000 size 0x080000 readonly 1 # X-Loader +flash1 at nand0 offset 0x080000 size 0x1e0000 readonly 1 # U-Boot +flash2 at nand0 offset 0x260000 size 0x020000 readonly 1 # UB Env +flash3 at nand0 offset 0x280000 size 0x400000 # kernel +flash4 at nand0 offset 0x680000 size 0 # filesystem + +# Interrupt Controller +awinicu0 at awinio0 +awingpio0 at awinio0 port 0 # 18 pins +awingpio1 at awinio0 port 1 # 24 pins +awingpio2 at awinio0 port 2 # 25 pins +awingpio3 at awinio0 port 3 # 28 pins +awingpio4 at awinio0 port 4 # 12 pins +awingpio5 at awinio0 port 5 # 6 pins +awingpio6 at awinio0 port 6 # 12 pins +awingpio7 at awinio0 port 7 # 28 pins +awingpio8 at awinio0 port 8 # 22 pins + +gpio* at awingpio? + +# System Control Module +#awinscm0 at awinio? + +# I2C Controller +awiniic0 at awinio? port 0 +awiniic* at awinio? port ? +iic* at awiniic? + +# On-board 16550 UARTs +com0 at awinio? port 0 # UART0 (console) +options CONADDR=0x01c28000, CONSPEED=115200 + +# Operating System Timer (A10) +awintmr0 at awinio? + +# Watchdog timers +awinwdt* at awinio? + +# onboard DMA +#awindma0 at obio0 addr 0x48056000 size 0x1000 + +# onboard video +#awinfb* at obio0 addr 0x48050000 size 0x10000 +#wsdisplay* at wsemuldisplaydev? console ? + +# various options for wscons - we try to look as much like a standard +# sun console as possible +#options WSEMUL_VT100 # sun terminal emulation +#options WS_DEFAULT_FG=WSCOL_BLACK +#options WS_DEFAULT_BG=WSCOL_LIGHT_WHITE +#options WS_KERNEL_FG=WSCOL_GREEN +#options WS_KERNEL_BG=WSCOL_LIGHT_WHITE +#options WSDISPLAY_COMPAT_PCVT # emulate some ioctls +#options WSDISPLAY_COMPAT_SYSCONS # emulate some more ioctls +#options WSDISPLAY_COMPAT_USL # wsconscfg VT handling +#options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes +#options WSDISPLAY_DEFAULTSCREENS=4 +#options FONT_QVSS8x15 +#options FONT_GALLANT12x22 # the console font + +#pseudo-device wsmux # mouse & keyboard multiplexor +#pseudo-device wsfont + +# Power, Reset and Clock Management +#prcm* at awinio? + +# On-board USB +awinusb0 at awinio0 port 0 +ohci* at awinusb? +ehci* at awinusb? +usb* at ehci? +usb* at ohci? + +# SATA (A20) +ahcisata* at awinio0 +# PATA (A10) +wdc* at awinio0 + +# 10/100 Ethernet (A10/A20) +awinfe0 at awinio0 +# Gigabit Ethernet (A20) +awinge0 at awinio0 + +include "dev/usb/usbdevices.config" + +ukphy* at mii? phy ? + +# Pseudo-Devices + +# disk/mass storage pseudo-devices +#pseudo-device md # memory disk device (ramdisk) +#pseudo-device vnd # disk-like interface to files +#pseudo-device fss # file system snapshot device +#pseudo-device putter # for puffs and pud + +# network pseudo-devices +pseudo-device bpfilter # Berkeley packet filter +pseudo-device loop # network loopback +#pseudo-device kttcp # network loopback + +# miscellaneous pseudo-devices +pseudo-device pty # pseudo-terminals +#options RND_COM +#pseudo-device clockctl # user control of clock subsystem +pseudo-device ksyms # /dev/ksyms +pseudo-device lockstat # lock profiling + +cinclude "arch/evbarm/conf/BEAGLEBOARD.local" diff --git a/sys/arch/evbarm/conf/files.cubie b/sys/arch/evbarm/conf/files.cubie new file mode 100644 index 00000000000..54b048bcab2 --- /dev/null +++ b/sys/arch/evbarm/conf/files.cubie @@ -0,0 +1,12 @@ +# $NetBSD: files.cubie,v 1.1 2013/09/03 06:12:00 matt Exp $ +# +# CUBIEBOARD evaluation board configuration info +# + +file arch/evbarm/cubie/cubie_machdep.c + +# Kernel boot arguments +defparam opt_machdep.h BOOT_ARGS + +# CPU support and integrated peripherals +include "arch/arm/allwinner/files.awin" diff --git a/sys/arch/evbarm/conf/mk.cubie b/sys/arch/evbarm/conf/mk.cubie new file mode 100644 index 00000000000..85da964f0e2 --- /dev/null +++ b/sys/arch/evbarm/conf/mk.cubie @@ -0,0 +1,34 @@ +# $NetBSD: mk.cubie,v 1.1 2013/09/03 06:12:00 matt Exp $ +CPPFLAGS+= -mcpu=cortex-a8 -mfpu=neon + +SYSTEM_FIRST_OBJ= cubie_start.o +SYSTEM_FIRST_SFILE= ${THISARM}/cubie/cubie_start.S + +GENASSYM_EXTRAS+= ${THISARM}/cubie/genassym.cf + +_OSRELEASE!= ${HOST_SH} $S/conf/osrelease.sh + +MKUBOOTIMAGEARGS= -A arm -T kernel +MKUBOOTIMAGEARGS+= -a $(LOADADDRESS) -e $(LOADADDRESS) +MKUBOOTIMAGEARGS+= -n "NetBSD/$(BOARDTYPE) ${_OSRELEASE}" +MKUBOOTIMAGEARGS_NONE= ${MKUBOOTIMAGEARGS} -C none +MKUBOOTIMAGEARGS_GZ= ${MKUBOOTIMAGEARGS} -C gz + +KERNEL_BASE_PHYS?=$(LOADADDRESS) +KERNEL_BASE_VIRT?=$(LOADADDRESS) + +SYSTEM_LD_TAIL_EXTRA+=; \ + echo ${OBJCOPY} -S -O binary $@ $@.bin; \ + ${OBJCOPY} -S -O binary $@ $@.bin; \ + echo ${TOOL_GZIP} -9c $@.bin > $@.bin.gz; \ + ${TOOL_GZIP} -9c $@.bin > $@.bin.gz; \ + echo ${TOOL_MKUBOOTIMAGE} ${MKUBOOTIMAGEARGS_GZ} $@.bin.gz $@.gz.ub; \ + ${TOOL_MKUBOOTIMAGE} ${MKUBOOTIMAGEARGS_GZ} $@.bin.gz $@.gz.ub; \ + echo ${TOOL_MKUBOOTIMAGE} ${MKUBOOTIMAGEARGS_NONE} $@.bin $@.ub; \ + ${TOOL_MKUBOOTIMAGE} ${MKUBOOTIMAGEARGS_NONE} $@.bin $@.ub; \ + echo + +EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.bin@} +EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.ub@} +EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.bin.gz@} +EXTRA_KERNELS+= ${KERNELS:@.KERNEL.@${.KERNEL.}.gz.ub@} diff --git a/sys/arch/evbarm/conf/std.cubie b/sys/arch/evbarm/conf/std.cubie new file mode 100644 index 00000000000..292cefdd517 --- /dev/null +++ b/sys/arch/evbarm/conf/std.cubie @@ -0,0 +1,29 @@ +# $NetBSD: std.cubie,v 1.1 2013/09/03 06:12:00 matt Exp $ +# +# standard NetBSD/evbarm for CUBIEBOARD options + +machine evbarm arm +include "arch/evbarm/conf/std.evbarm" + +# Pull in BEAGLEBOARD config definitions. +include "arch/evbarm/conf/files.cubie" + +# To support easy transit to ../arch/arm/arm32 +options MODULAR +options __HAVE_CPU_COUNTER +options CORTEX_PMC +options __HAVE_FAST_SOFTINTS # should be in types.h +options ARM_HAS_VBAR +options __HAVE_MM_MD_DIRECT_MAPPED_PHYS +options TPIDRPRW_IS_CURCPU +options KERNEL_BASE_EXT=0x80000000 +options FPU_VFP + +makeoptions KERNEL_BASE_PHYS="0x40007800" +makeoptions KERNEL_BASE_VIRT="0x80007800" +makeoptions BOARDTYPE="cubie" +makeoptions BOARDMKFRAG="${THISARM}/conf/mk.cubie" +makeoptions CPPFLAGS+="-I$S/../../../include" + +options ARM_INTR_IMPL="<arch/arm/allwinner/awin_intr.h>" +options ARM_GENERIC_TODR |
