Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 5.0.1 Support for the TS7200



>To get started I want to build a development environment so that I can build
>TS-7200 kernels. At this point I have a cross development environment
>running on a IA64 VMware virtual. I can build the standard TS7200 kernel in
>the 5.0.1 source tree but I can't work out how to gzip it so that it can be
>written to and booted from the TS-7200 flash.

Fair enough; you either have to look at the various Makefiles, or build
a full distribution and watch the commands go by.

>If you can help me with the following things I would be very thankful:
>
>1.    How to build a TS-7200 gzipped kernel.

Well, _that_ part is easy, actually.  Just gzip it!

But seriously ... when you build your kernel, you should have something
like "netbsd.bin", or "netbsd-wd0.bin" (if you are using a CF card, you
probably want the latter).  First, gzip that (probably with -9).

Then, you need a file called "gzboot_TS7200_0x60660000.bin".  That probably
lives in /usr/mdec on the TS7200 distribution media (you can also build
that via the cross-compilation environment by using "build.sh build".
Simply cat those together:

cat gzboot_TS7200_0x60660000.bin netbsd-wd0.bin.gz > netbsd.gz

And voila!  Copy that to flash, and you're good to go.

>2.    A kernel config file that will built a kernel for an 8 MB flash / 32
>MB RAM TS-7200.

I've attached what I use ... but you probably want to comment out the
stuff about epgpio.  Notice that basically it's the TS7200 kernel config
file with a bunch of crap removed.

>3.    Any pointer you may have that will help me to build a kernel driver
>for the onboard ADC hardware and use it with TCL.

Ummm ... do you have the additional ADC hardware? (The MAX197).
The EP9302 does have a on-board ADC, but it's not clear to me that
it's usable (there is calibration data for it in an EEPROM that the
TS7250 has, but the TS7200 does not).

A driver for that has to be written.  No one has done that yet.  I suppose
in theory you could do that from userspace via /dev/mem or something like
that.  You could maybe even do that via a Tcl extension.  The TS7200
manual has more details on how that works.

--Ken
#
#       MODRED -- Ken's TS7200
#

include "arch/evbarm/conf/std.tsarm"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
options         MSGBUFSIZE=65536
#options        KSTACK_CHECK_MAGIC

# 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         CPU_ARM9        # Support the ARM9TDMI core

# File systems

file-system     FFS             # UFS
#file-system    LFS             # log-structured file system
#file-system    MFS             # memory file system
file-system     TMPFS           # Efficient 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    FILECORE        # Acorn filecore file system
file-system     KERNFS          # /kern
#file-system    NULLFS          # loopback file system
#file-system    PORTAL          # portal filesystem (still experimental)
file-system     PROCFS          # /proc
#file-system    UMAPFS          # NULLFS + uid and gid remapping
#file-system    UNION           # union file system
file-system     PTYFS           # /dev/pts/N support

# File system options
#options        QUOTA           # UFS quotas
#options        FFS_EI          # FFS Endian Independant support
#options        NFSSERVER
#options        SOFTDEP
options         WAPBL           # File system journaling support - Experimental
#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_ESP       # IP security (encryption part; define w/ IPSEC)
#options        IPSEC_NAT_T     # IPsec NAT traversal (NAT-T)
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # IP multicast routing
#options        ISO,TPIP        # OSI
#options        EON             # OSI tunneling over IP
#options        NETATALK        # AppleTalk networking
#options        PFIL_HOOKS      # pfil(9) packet filter hooks
#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_BOOTPARAM

# Compatibility options

#options        COMPAT_LINUX
#options        COMPAT_43       # 4.3BSD 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.

# Shared memory options

options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SEMMNI=10       # number of semaphore identifiers
options         SEMMNS=60       # number of semaphores in system
options         SEMUME=10       # max number of undo entries per process
options         SEMMNU=30       # number of undo structures in system
options         SYSVSHM         # System V-like memory sharing
options         SHMMAXPGS=1024  # 1024 pages is the default

# Device options

#options        MEMORY_DISK_HOOKS       # boottime setup of ramdisk
#options        MEMORY_DISK_ROOT_SIZE=3400      # Size in blocks
#options        MEMORY_DISK_IS_ROOT     # use memory disk as root

# Console options.  The default console is speed is 115200 baud.
#options        CONSPEED=9600           # Console speed

# Miscellaneous kernel options
options         KTRACE          # system call tracing, a la ktrace(1)
options         IRQSTATS        # manage IRQ statistics
#options        LKM             # loadable kernel modules
#options        KMEMSTATS       # kernel memory statistics
#options        SCSIVERBOSE     # Verbose SCSI errors
#options        PCIVERBOSE      # Verbose PCI descriptions
#options        MIIVERBOSE      # Verbose MII autoconfuration messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#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        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
#makeoptions    DEBUG="-g"      # compile full symbol table
options         SYMTAB_SPACE=450000

##options       PMAP_INCLUDE_PTE_SYNC
##options       LOCKDEBUG

config          netbsd          root on ? type ?
#config         netbsd-epe0     root on epe0 type nfs
config          netbsd-wd0      root on wd0 type ffs
#config         netbsd-sd0      root on sd0 type ffs

# The main bus device
mainbus0        at root

# The boot cpu
cpu0            at mainbus?

# Cirrus Logic EP93xx System-on-chip
epsoc0          at mainbus?
# On-chip timers
epclk0          at epsoc? addr 0x80810000 size 0x90 intr 35
# On-chip serial UARTS
epcom0          at epsoc? addr 0x808c0000 size 0x1000 intr 52
epcom1          at epsoc? addr 0x808d0000 size 0x1000 intr 54
# On-chip USB 1.1
ohci*           at epsoc? addr 0x80020000 size 0x1000 intr 56
# On-chip 10/100 Ethernet
epe0            at epsoc? addr 0x80010000 size 0x10000 intr 39
# On-board TS-7200 CPLD
tspld0          at mainbus?
# PC/104 bus
isa0            at tspld?
# CompactFlash interface
wdc0            at tspld?
# TS-5620 battery-backed real-time clock
tsrtc*          at tspld?
# On-board GPIO ports
epgpio0         at epsoc? addr 0x80840000 size 0xcc intr 59
gpio*           at epgpio?
options         EPGPIO_PORT_C_MASK=0x00
options         EPGPIO_PORT_D_MASK=0x00
options         EPGPIO_PORT_E_MASK=0x00
options         EPGPIO_PORT_F_MASK=0x02
options         EPGPIO_PORT_G_MASK=0x00
options         EPGPIO_PORT_H_MASK=0x38

# HD44780 LCD on LCD header
#tslcd*         at tspld?
#wsdisplay*     at tslcd? console ?

# 4x4 Matrix Keypad on DIO header
#tskp*          at tspld?
#wskbd* at tskp? console ? mux 1

# TS-SER[1,2,4] multiport serial PC/104 cards
com0            at isa? port 0x3f8 irq 6        # Standard PC serial ports
com1            at isa? port 0x2f8 irq 6
com2            at isa? port 0x3e8 irq 6
com3            at isa? port 0x2e8 irq 6

wdc1    at isa? port 0x1f0 irq 7 flags 0x00
wdc2    at isa? port 0x170 irq 7 flags 0x00

#tscs0  at isa? port 0x300 iomem ? irq ? drq ?  # TS-ETH10 PC/104 ethernet
#tscs1  at isa? port 0x310 iomem ? irq ? drq ?
#tscs2  at isa? port 0x320 iomem ? irq ? drq ?
#tscs3  at isa? port 0x330 iomem ? irq ? drq ?

#tsdio0  at isa? port 0x100 # TS-DIO24 general-purpose I/O
#tsdio1  at isa? port 0x108
#tsdio2  at isa? port 0x110
#tsdio3  at isa? port 0x118

# PCMCIA bus support
#pcmcia* at pcic? controller ? socket ?

#options PCIC_ISA_INTR_ALLOC_MASK=0xe0
# ISA PCMCIA controllers
#pcic0  at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
#pcic1  at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
#pcic2  at isa? port 0x3e4 iomem 0xe0000 iosiz 0x4000

# ATA (IDE) bus support
atabus* at ata?

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*     at atabus? drive ? flags 0x00ff

# ATAPI bus support
#atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
# XXX No DMA on IDE devices for now
#cd*    at atapibus? drive ? flags 0x0ff0       # ATAPI CD-ROM drives
#sd*    at atapibus? drive ? flags 0x0000       # ATAPI disk drives
#st*    at atapibus? drive ? flags 0x0000       # ATAPI tape drives
#uk*    at atapibus? drive ? flags 0x0000       # ATAPI unknown

# MII/PHY support
#acphy* at mii? phy ?                   # Altima AC101 and AMD Am79c874 PHYs
#amhphy* at mii? phy ?                  # AMD 79c901 Ethernet PHYs
#bmtphy* at mii? phy ?                  # Broadcom BCM5201 and BCM5202 PHYs
#brgphy* at mii? phy ?                  # Broadcom BCM5400-family PHYs
#dmphy* at mii? phy ?                   # Davicom DM9101 PHYs
#exphy* at mii? phy ?                   # 3Com internal PHYs
#gentbi* at mii? phy ?                  # Generic Ten-Bit 1000BASE-[CLS]X PHYs
#glxtphy* at mii? phy ?                 # Level One LXT-1000 PHYs
#gphyter* at mii? phy ?                 # NS83861 Gig-E PHY
#icsphy* at mii? phy ?                  # Integrated Circuit Systems ICS189x
#igphy* at mii? phy ?                   # Intel IGP01E1000
#inphy* at mii? phy ?                   # Intel 82555 PHYs
#iophy* at mii? phy ?                   # Intel 82553 PHYs
#lxtphy* at mii? phy ?                  # Level One LXT-970 PHYs
#makphy* at mii? phy ?                  # Marvell Semiconductor 88E1000 PHYs
#nsphy* at mii? phy ?                   # NS83840 PHYs
#nsphyter* at mii? phy ?                # NS83843 PHYs
#pnaphy* at mii? phy ?                  # generic HomePNA PHYs
#qsphy* at mii? phy ?                   # Quality Semiconductor QS6612 PHYs
#sqphy* at mii? phy ?                   # Seeq 80220/80221/80223 PHYs
#tlphy* at mii? phy ?                   # ThunderLAN PHYs
#tqphy* at mii? phy ?                   # TDK Semiconductor PHYs
ukphy*  at mii? phy ?                   # generic unknown PHYs
#urlphy* at mii? phy ?                  # Realtek RTL8150L internal PHYs

# USB Controller and Devices

# USB bus support
#usb*   at ehci?
usb*    at ohci?
#usb*   at uhci?
#usb*   at slhci?

# USB Hubs
uhub*   at usb?
uhub*   at uhub? port ?

# USB HID device
uhidev* at uhub? port ? configuration ? interface ?

# USB Mice
# ums*  at uhidev? reportid ?
# wsmouse* at ums? mux 0

# USB eGalax touch-panel
# uep*  at uhub? port ?
# wsmouse* at uep? mux 0

# USB Keyboards
#ukbd*  at uhidev? reportid ?
#wskbd* at ukbd? console ? mux 1

# USB serial adapter
#ucycom*        at uhidev? reportid ?

# USB Generic HID devices
#uhid*  at uhidev? reportid ?

# USB Printer
#ulpt*  at uhub? port ? configuration ? interface ?

# USB Modem
#umodem*        at uhub? port ? configuration ?
#ucom*  at umodem?

# USB Mass Storage
#umass* at uhub? port ? configuration ? interface ?
#scsibus* at umass?
# SCSI devices
#sd*     at scsibus? target ? lun ?      # SCSI disk drives
#st*     at scsibus? target ? lun ?      # SCSI tape drives
#cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
#ch*     at scsibus? target ? lun ?      # SCSI autochangers
#ses*    at scsibus? target ? lun ?      # SCSI Enclosure Services devices
#ss*     at scsibus? target ? lun ?      # SCSI scanners
#uk*     at scsibus? target ? lun ?      # SCSI unknown

# wd*   at umass?

# USB audio
#uaudio*        at uhub? port ? configuration ?

# USB MIDI
#umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
#uirda* at uhub? port ? configuration ? interface ?
#irframe* at uirda?

# SigmaTel STIr4200 USB/IrDA Bridge
#ustir* at uhub? port ?
#irframe* at ustir?

# USB Ethernet adapters
#aue*   at uhub? port ?         # ADMtek AN986 Pegasus based adapters
#axe*   at uhub? port ?         # ASIX AX88172 based adapters
#cue*   at uhub? port ?         # CATC USB-EL1201A based adapters
#kue*   at uhub? port ?         # Kawasaki LSI KL5KUSB101B based adapters
#udav*  at uhub? port ?         # Davicom DM9601 based adapters
#url*   at uhub? port ?         # Realtek RTL8150L based adapters

# Prolific PL2301/PL2302 host-to-host adapter
#upl*   at uhub? port ?

# Serial adapters
#ubsa*  at uhub? port ?         # Belkin serial adapter
#ucom*  at ubsa? portno ?

#uftdi* at uhub? port ?         # FTDI FT8U100AX serial adapter
#ucom*  at uftdi? portno ?

#umct*  at uhub? port ?         # MCT USB-RS232 serial adapter
#ucom*  at umct? portno ?

#uplcom* at uhub? port ?        # I/O DATA USB-RSAQ2 serial adapter
#ucom*  at uplcom? portno ?

#uvscom* at uhub? port ?        # SUNTAC Slipper U VS-10U serial adapter
#ucom*  at uvscom? portno ?
#atu*   at uhub? port ?         # Atmel AT76C50XX 802.11b adapter

# Diamond Multimedia Rio 500
# urio* at uhub? port ?

# USB Handspring Visor
# uvisor*       at uhub? port ?
# ucom* at uvisor?

# Kyocera AIR-EDGE PHONE
#ukyopon* at uhub? port ?
#ucom*  at ukyopon? portno ?

# USB scanners
# uscanner* at uhub? port ?

# USB scanners that use SCSI emulation, e.g., HP5300
# usscanner* at uhub? port ?

# Y@P firmware loader
# uyap* at uhub? port ?

# D-Link DSB-R100 USB radio
# udsbr*        at uhub? port ?
# radio*        at udsbr?

# USB Generic driver
ugen*   at uhub? port ?

# IrDA and Consumer Ir devices

# Toshiba Oboe
# oboe*         at pci? dev ? function ?
# irframe* at oboe?

# CardBus IEEE1394 controllers
#fwohci* at cardbus? function ? # IEEE1394 Open Host Controller

#fw*    at fwbus?                       # IP over 1394

# IEEE1394 nodes
#fwnode* at fwbus? idhi ? idlo ?
#sbpscsi* at fwnode?
#scsibus* at sbpscsi?

# Audio Devices

# OPL[23] FM synthesizers
#opl*   at cmpci? flags 1
#opl*   at eso?
#opl*   at fms?
#opl*   at sv?
#opl*   at yds?

# Audio support
#audio* at audiobus?

# MPU 401 UARTs
#mpu*   at cmpci?
#mpu*   at eso?
#mpu*   at fms?
#mpu*   at yds?

# MIDI support
#midi*  at midibus?

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device  md              1       # memory disk device (ramdisk)
pseudo-device   vnd                     # disk-like interface to files
#pseudo-device  fss             4       # file system snapshot device

# 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
pseudo-device   rnd                     # /dev/random and in-kernel generator
#options        RND_COM
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   ksyms                   # /dev/ksyms

# data mover pseudo-devices
#pseudo-device  swdmover                # softare dmover(9) back-end
#pseudo-device  dmoverio                # /dev/dmover dmover(9) interface

#
# wscons options
#
# builtin terminal emulations
#options        WSEMUL_SUN              # sun terminal emulation
options         WSEMUL_VT100            # VT100 / VT220 emulation
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
#options        WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options        WS_DEFAULT_FG=WSCOL_WHITE
#options        WS_DEFAULT_BG=WSCOL_BLACK
#options        WS_DEFAULT_COLATTR="(0)"
#options        WS_DEFAULT_MONOATTR="(0)"
#options        WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
#options        WS_KERNEL_COLATTR=""
#options        WS_KERNEL_MONOATTR=""
# customization of console border color
#options        WSDISPLAY_CUSTOM_BORDER # border customization from wsconsctl(8)
#options        WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
# compatibility to other console drivers
#options        WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
#options        WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
#options        WSDISPLAY_COMPAT_USL            # VT handling
#options        WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
#options        PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
#options        PCDISPLAY_SOFTCURSOR
# modify the screen type of the console; defaults to "80x25"
#options        VGA_CONSOLE_SCREENTYPE="\"80x24\""
# work around a hardware bug that loaded fonts don't work; found on ATI cards
#options        VGA_CONSOLE_ATI_BROKEN_FONTSEL
# console scrolling support.
#options        WSDISPLAY_SCROLLSUPPORT
# enable VGA raster mode capable of displaying multilingual text on console
#options        VGA_RASTERCONSOLE

# wscons pseudo-devices
#pseudo-device  wsmux                   # mouse & keyboard multiplexor
#pseudo-device  wsfont



Home | Main Index | Thread Index | Old Index