Subject: TS-7200 embedded SBC ARM port
To: None <port-arm@netbsd.org, current-users@netbsd.org>
From: Jesse Off <joff@embeddedARM.com>
List: current-users
Date: 11/22/2004 08:47:49
I am nearing useability on a new port to the Cirrus Logic EP93XX (ARM9) CPU's 
and the Technologic Systems TS-7200 single board computer.  Is there anything 
like a "new port checklist" as I near completion?  So far, I have drivers for 
the compact flash card (wdc), USB 1.1 (epohci), on-chip serial (epcom), and 
an isa driver for the PC/104 bus.   I've only been able to test serial 
(16550) expansion cards on the PC/104 bus.  The system clock uses the 64Hz 
RTC interrupt and microtime() uses a 983.04 KHz freerunning timer to acheive 
~1uS timing precision.

Remaining work includes the PLD watchdog timer, on-chip ethernet MAC, and I'd 
like to do something useful with the 8Mb onboard NOR flash chip though I'm 
not sure how or what yet.  The MAC uses a Micrel low-power PHY that also 
might need a driver.  The NetBSD port is currently capable of booting to 
onboard CF or a USB thumb drive.

About the TS-7200:

The TS-7200 is a mass-produced low-cost embedded board available from 
http://www.embeddedARM.com at $119 in qty, (or $149 qty 1) that includes a 
200Mhz ARM9 processor, 32MB SDRAM, 10/100 ethernet, USB1.1, 2 serial ports 
with RS485 option, PC/104 expansion bus, and a compact flash card socket.   
The board also contains DIO and ADC's, and support for text mode (Hitachi 
controller based) LCDs but I'm thinking those may be best utilized by 
user-space access to /dev/mem.  The board targets industrial embedded 
applications but is also useful as an "embedded server" for infrastructure 
"guts" applications requiring the high reliability and low seek times of 
solid state disks, low power (runs 10-20x longer than PC's on a regular UPS), 
long production lifetime for replacements, small size, quiet running, and 
inherent system reliability due to all soldered-on components with relatively 
small (compared to a x86 PC server) hardware complexity.

//Jesse Off 

DISCLAIMER: I work for Technologic Systems and help design and produce the 
board :-)

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 2.99.10 (GENERIC) #149: Sun Nov 21 15:28:04 MST 2004
        joff@sayan.wifi.home:/home/joff/obj/home/joff/NetBSD-current/sys/arch/ts7xxx/compile/GENERIC
total memory = 32768 KB
avail memory = 29292 KB
mainbus0 (root)
cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
cpu0: DC enabled IC enabled WB enabled EABT
cpu0: 16KB/32B 64-way Instruction cache
cpu0: 16KB/32B 64-way write-back-locking-A Data cache
epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
epsoc0: fclk 200.03 Mhz hclk 100.01 Mhz pclk 50.01 Mhz
ohci0 at epsoc0 addr 0x80020000-0x80020fff intr 56
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 35
epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52
epcom0: console
epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Cirrus Logic OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
tspld0 at mainbus0: Technologic Systems TS-7200 rev A, features 0x0
tspld0: jumpers 0xb<JP2,JP3,JP5>
wdc2 at tspld0
atabus0 at wdc2 channel 0
isa0 at tspld0: PC/104 expansion bus
umass0 at uhub0 port 3 configuration 1 interface 0
umass0: SanDisk Corp. Cruzer Micro, rev 2.00/20.33, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <SanDisk, Cruzer Micro, 2033> disk removable
sd0: fabricating a geometry
sd0: 250 MB, 250 cyl, 64 head, 32 sec, 512 bytes/sect x 512000 sectors
wd0 at atabus0 drive 0: <SanDisk SDCFH-512>
wd0: drive supports 1-sector PIO transfers, LBA addressing
wd0: 488 MB, 993 cyl, 16 head, 63 sec, 512 bytes/sect x 1000944 sectors
wd0: drive supports PIO mode 4, DMA mode 2
boot device: <unknown>
root device: