Module Name: src Committed By: matt Date: Tue Sep 3 06:12:00 UTC 2013
Added Files: src/sys/arch/evbarm/conf: CUBIEBOARD files.cubie mk.cubie std.cubie Log Message: Prelimary config goo for CubieBoard 1 & 2 (config is happy with it) To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/conf/CUBIEBOARD \ src/sys/arch/evbarm/conf/files.cubie src/sys/arch/evbarm/conf/mk.cubie \ src/sys/arch/evbarm/conf/std.cubie Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Added files: Index: src/sys/arch/evbarm/conf/CUBIEBOARD diff -u /dev/null src/sys/arch/evbarm/conf/CUBIEBOARD:1.1 --- /dev/null Tue Sep 3 06:12:00 2013 +++ src/sys/arch/evbarm/conf/CUBIEBOARD Tue Sep 3 06:12:00 2013 @@ -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" Index: src/sys/arch/evbarm/conf/files.cubie diff -u /dev/null src/sys/arch/evbarm/conf/files.cubie:1.1 --- /dev/null Tue Sep 3 06:12:00 2013 +++ src/sys/arch/evbarm/conf/files.cubie Tue Sep 3 06:12:00 2013 @@ -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" Index: src/sys/arch/evbarm/conf/mk.cubie diff -u /dev/null src/sys/arch/evbarm/conf/mk.cubie:1.1 --- /dev/null Tue Sep 3 06:12:00 2013 +++ src/sys/arch/evbarm/conf/mk.cubie Tue Sep 3 06:12:00 2013 @@ -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@} Index: src/sys/arch/evbarm/conf/std.cubie diff -u /dev/null src/sys/arch/evbarm/conf/std.cubie:1.1 --- /dev/null Tue Sep 3 06:12:00 2013 +++ src/sys/arch/evbarm/conf/std.cubie Tue Sep 3 06:12:00 2013 @@ -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