File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm.mdwn
Revision 1.43: download - view: text, annotated - select for diffs
Sat Oct 21 22:43:03 2017 UTC (4 weeks, 2 days ago) by gdt
Branches: MAIN
CVS tags: HEAD
Extend cpu discussion

[[!template id=port
port="evbarm"
port_alt="arm"
port_var1="arm"
port_var2="armeb"
port_var3="earm"
port_var4="earmeb"
port_var5="earmv6hf"
port_var6="earmv7hf"
port_var7="earmv7hfeb"
port_var_install_notes="evbarm-arm"
cur_rel="7.1"
future_rel="8.0"
changes_cur="7.0"
changes_future="8.0"
thumbnail="http://www.netbsd.org/images/ports/evbarm/adi_brh.gif"
about="""
NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping
boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also
supports some specific embedded system products based on prototype board
designs.

Matt Thomas is the maintainer of NetBSD/evbarm.

### CPU types

The evbarm port can be built with a variety of CPU options.  There are
three main variables: the instruction set, the endianness, and whether
there is hardware floating point.  By default the CPU type is "earm",
and this implies little endian (el when explicitly stated), and soft
(emulated) floating point.  Another example, suitable for Raspberry PI
2, is earmv7hf, which is the v7 instruction support, little endian,
and hardware floating point.

Typically, various boards are best compiled with a CPU type that
matches the board's CPU and floating point support, but generally a
lower CPU instruction set version is workable on a newer board.  See
build.sh and look for aliases for the evbarm port.

### Kernels and userland

The evbarm userland can be used on any system that can run code of the
CPU type used for the build.  Typically, a particular board requires a
kernel for that board.

### Board specific information
 - [[Allwinner sunxi family SoCs|Allwinner]]
 - [[BeagleBone and BeagleBone Black|BeagleBone]]
 - [[NVIDIA Tegra|Tegra]]
 - [[ODROID C1 and C1+|ODROID-C1]]
 - [[Raspberry Pi 1, 2 and 3|Raspberry Pi]]

"""

supported_hardware="""

**NOTE**: This list is incomplete. For a full list of configurations, please see the [evbarm kernel configs](http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/evbarm/conf/) directory in CVS.

[[!toc startlevel=3]]

### ADI Engineering **BRH** ("Big Red Head")

The BRH is an evaluation and development platform for the Intel **i80200**
XScale processor. The BRH is based on ADI's **BECC** ("Big Endian Companion
Chip"). The BRH is capable of both big- and little-endian operation, although
NetBSD currently only supports little-endian operation.

Support for the BRH was written by Jason Thorpe, and contributed by Wasabi
Systems, Inc.

 * On-board NS16550-compatible serial ports (_com_)
 * On-board Intel i82559 Ethernet on the PCI bus (_fxp_)
 * On-chip timer on the BECC (used as system clock)
 * Other devices inserted into the PCI slot

The BRH comes with 128M of SDRAM. Systems with BECC revision 7 or less are
limited to 64M due to the layout of the PCI DMA windows. Users of these
systems should obtain an FPGA upgrade from ADI to revision 8 or later of the
BECC.

### Allwinner Technology
Various boards based on [[Allwinner]] SoCs are supported, including the BananaPi, Cubieboard 2, Cubietruck, Cubieboard 4, and Merrii Hummingbird A31.

### Arcom **Viper**

The Arcom Viper is a single board computer based on the PXA255 XScale
processor.

Support for the Arcom Viper was written by Antti Kantee.

 * On-chip timers (_saost_ used as system clock)
 * On-chip serial ports (_com_)
 * On-board SMC91C111 ethernet (_sm_)

### ARM, Ltd. **Integrator**

The Integrator/AP is an ATX form-factor board that is used for development of
ARM processor-based designs. It supports up to four processors on plug-in core
modules, and provides clocks, a bus interface, and interrupt support. The
Integrator/AP also supports logic modules which provide additional
peripherals, and can accommodate up to three PCI expansion cards. The
Integrator/AP can also be inserted into a CompactPCI backplane.

Support for the Integrator was written by Richard Earnshaw, and contributed by
ARM, Ltd.

 * PrimeCell PL010 UARTs in the System Controller FPGA (_plcom_)
 * PrimeCell PL030 Real-time Clock in the System Controller FPGA (_plrtc_)
 * PrimeCell PL181 MultiMedia Card Interface
 * Other devices inserted into the PCI expansion slots

### Atmark Techno **Armadillo-9**

The Armadillo-9 is a single board computer based on the EP9315 processor.

Support for the Armadillo-9 was written by Katsuomi Hamajima.

 * On-CPU RS232 UARTs (2) (_epcom_)
 * On-CPU 10/100 Ethernet MAC (_epe_)
 * system clock from on-CPU timers (_epclk_)
 * CompactFlash socket (_eppcic_)
 * USB 1.1 ports (_ohci_)

### BeagleBoard.org **BeagleBoard** and **BeagleBoard-xM**
The [[BeagleBoard]] is a low-power open-source hardware single-board computer from BeagleBoard.org.

### BeagleBoard.org **BeagleBone** and **BeagleBone Black**
The [[BeagleBone]] is a low-cost credit-card-sized computer from BeagleBoard.org.

### Gumstix, Inc. **gumstix**

The [gumstix](http://www.gumstix.com/) is a small form-factor motherboard
based on the PXA255 and PXA270 XScale processor. Supports only PXA255 now.

Support for the gumstix was written by KIYOHARA Takashi.

 * basix
 * cfstix
 * etherstix
 * netCF
 * netDUO
 * netDUO-mmc
 * netMMC

When booting, it is necessary to set these with u-boot dynamically.

<pre> > go 0xa0200000 busheader=basix</pre>

 * audiostix
 * console-st (waysmall - STUART)
 * console-hw (waysmall)
 * GPSstix (GPS not test)
 * tweener

### Hardkernel ODROID-C1 and ODROID-C1+

The [[ODROID-C1]] is a quad core Cortex-A5 small form-factor board from Hardkernel co., Ltd.

### Intel **DBPXA250** ("Lubbock")

DBPXA250 (a.k.a. Lubbock) is an evaluation and development platform for the
Intel **PXA250** XScale Core application processor. More information about the **DBPXA250** can be found at [Intel website](http://www.intel.com/design/pca/applicationsprocessors/swsup/index.htm).

Support for the **DBPXA250** was written by Hiroyuki Bessho, and contributed
by Genetec Corp.

 * On-chip timers (_saost_ used as system clock)
 * On-chip 2 serial port (_com_)
 * On-board SMC91C96 ethernet (_sm_)
 * On-board SA-1111 StrongArm companion chip (_sacc_)
 * PS/2 keyboard (_pckbd_)
 * 640x480 LCD (_lcd_)
 * PCMCIA and CF card slots

### Intel **IQ31244**

The IQ31244 is a development platform for the Intel **IOP321** I/O Processor
chipset and the Intel **i31244** SATA controller.

Initial support for the IQ31244 was written by Jason Thorpe, and contributed
by Wasabi Systems, Inc.

 * Quad on-board Intel i31244 SATA controllers on the PCI-X bus (_artsata_)
 * On-board Intel i82546EB Gigabit Ethernet on the PCI-X bus (_wm_)
 * On-board NS16550-compatible serial port (_com_)
 * On-chip timers (TMR0 used as system clock)
 * On-chip Application Accelerator Unit (_iopaau_)
 * On-chip watchdog timer (_iopwdog_)
 * On-board compact flash reader (_wdc_)
 * Other devices inserted into the PCI-X expansion slot

### Intel **IQ80310**

The IQ80310 is the reference platform for the Intel **IOP310** I/O Processor
chipset, which is comprised of the i80200 XScale processor and the i80312 I/O
Companion chip.

Support for the IQ80310 was written by Jason Thorpe and Allen Briggs, and
contributed by Wasabi Systems, Inc.

 * On-board Intel i82559 Ethernet on the PCI bus (_fxp_)
 * On-board timer in the CPLD (used as system clock)
 * On-board NS16550-compatible serial ports (_com_)
 * Other devices inserted into the PCI expansion slots

### Intel **IQ80321**

The IQ80321 is the reference platform for the Intel **IOP321** I/O Processor
(i80321 XScale processor).

Support for the IQ80321 was written by Jason Thorpe, and contributed by Wasabi
Systems, Inc.

 * On-board Intel i82544EI Gigabit Ethernet on the PCI-X bus (_wm_)
 * On-board NS16550-compatible serial port (_com_)
 * On-chip timers (TMR0 used as system clock)
 * On-chip Application Accelerator Unit (_iopaau_)
 * On-chip watchdog timer (_iopwdog_)
 * Other devices inserted into the PCI-X expansion slots

### Intel **IXM1200**

The IXM1200 is the reference platform for the Intel **IXP1200** Network
Processor.

Support for the IXM1200 was written by Ichiro FUKUHARA and Naoto Shimazaki.

 * On-board Intel i82559 Ethernet on the PCI bus (_fxp_)
 * On-board Intel i21555 Non-Transparent PCI-PCI Bridge (_nppb_)
 * On-chip timers (ixpclk0 used as system clock)
 * On-chip serial port (_ixpcom_)

### NOVATEC **NTNP425B** ("ZAO425")

NTNP425B is an evaluation and development platform for the Intel **IXP425**
XScale Core NetworkProcessor. NTNP425B is based on the reference board of
Intel **IXDP425**. The **NTNP425B** is capable of only big-endian operation.
Since the library for micro-engine(NPE) offered from Intel Corp. is big-
endian. More information about the **NTNP425B** can be found on [product
catalogue of **NTNP425B**(2.5MB,PDF
file)](http://www.novatec.co.jp/NTNP425BBrochureE.pdf).

Support for the NTNP425B was written by Ichiro FUKUHARA.

 * On-chip timers (_ixpclk0_ used as system clock)
 * On-chip 2 serial port (_ixpcom0_ and _ixpcom1_)
 * Other devices inserted into the PCI/mPCI slot
 * On-chip watchdog timer (_ixpwdog_)

### NVIDIA Tegra K1
Support for NVIDIA [[Tegra]] K1 SoCs is present in NetBSD-current and
8.0_BETA. The Jetson TK1 board is currently supported.

### Raspberry Pi Foundation **Raspberry Pi**/**Raspberry Pi 2**/**Raspberry Pi 3**
The [[Raspberry Pi]] is a low-cost credit-card-sized computer from the Raspberry Pi Foundation.  The Raspberry Pi, Pi 2, and Pi 3 are supported.

### Rockchip PX2/RK3066/RK3188/RK3188+
Various [[Rockchip]] family SoCs are supported by the ROCKCHIP kernel.

### Samsung **SMDK2410**

The SMDK2410 is the reference platform for the Samsung **S3C2410** processor,
which has an ARM920T core.

More information on the S3C2410 can be found at [Samsung Electronics web page]
(http://www.samsung.com/Products/Semiconductor/MobileSoC/ApplicationProcessor/
ARM9Series/S3C2410/S3C2410.htm).

Support for the SMDK2410 was written by Hiroyuki Bessho, and contributed by
Genetec Corp.

 * On-chip serial ports (_sscom_)
 * On-chip USB host controller (_ohc_)
 * On-chip timers (used as system clock)
 * On-chip SPI (_ssspi_, used for other on-board devices)
 * 240x320 TFT LCD (_lcd_)
 * keyboard. (_sskbd_)

### Samsung **SMDK2800**

The SMDK2800 is the reference platform for the **Samsung S3C2800** processor,
which has an ARM920T core.

S3C2800 has built-in PCI controller, and SMDK2800 has three PCI slots.

Support for the SMDK2800 was written by Hiroyuki Bessho, and contributed by
Fujitsu Component Ltd., and Genetec Corp.

 * On-chip serial ports (_sscom_)
 * On-chip Host-PCI bridge (_sspci_)
 * On-chip timers (used as system clock)
 * Other devices inserted into the PCI slots

### Team ASA, Inc. **Npwr**

The Npwr is an IOP310-based design targeted at the network-attached storage
space. The Npwr comes in several configurations (single or dual Gigabit
Ethernet, single or dual Ultra160 SCSI), and can be purchased as a bare board
or as a small server appliance. More information on the Npwr can be found at
the [Team ASA web page](http://www.teamasa.com/).

Support for the Npwr was written by Jason Thorpe and Allen Briggs, and
contributed by Wasabi Systems, Inc.

 * On-board Intel i82544 Gigabit Ethernet on the PCI bus (_wm_)
 * On-board LSI Logic 53c1010 Ultra160 SCSI on the PCI bus (_siop_)
 * On-board timer in the CPLD (used as system clock)
 * On-board NS16550-compatible serial port (_com_)

### Technologic Systems **TS-7200**

The TS-7200 is a low-cost mass-produced PC/104 embedded single board computer
intended as a general purpose core for real embedded applications. The TS-7200
uses the Cirrus Logic EP9302 ARM9 system-on-chip and comes with a PC/104 (isa)
bus and can either boot to CompactFlash or onboard flash. The board also has
general purpose digital IO and optional multichannel analog-to-digital
converters. More information on the TS-7200 can be found at [Technologic
Systems](http://www.embeddedarm.com/epc/ts7200-spec-h.html).

Support for the TS-7200 was written by Jesse Off

* On-CPU RS232 UARTs (2) (_epcom_)
* On-CPU 10/100 Ethernet MAC (_epe_)
* CompactFlash socket (_wdc_)
* USB 1.1 ports (2) (_ohci_)
* Watchdog timer on CPLD (_tspld_)
* TMP124 high precision temperature sensor via sysctl
* 64Hz system clock from on-CPU timers (_epclk_)
* HD44780 2x24 text mode LCD (_tslcd_)
* 4x4 16 button matrix keypad (_wskbd_)
* TS-5620 battery backed RTC daughter-card (_tsrtc_)
* 1,2,4 port serial TS-SER daughter cards (_com_)
* Up to 4 10Mb TS-ETH10 daughter cards (_tscs_)
* Other devices inserted into the PC/104 (_isa_) expansion slot

"""
additional="""
  * The [NetBSD Diskless HOWTO](http://www.netbsd.org/docs/network/netboot/)
  * [ Porting NetBSD/evbarm to the Arcom Viper](http://www.cs.hut.fi/~pooka/pubs/EuroBSDCon2005/viper.pdf), presented at EuroBSDCon 2005.
"""
]]
[[!tag tier1port]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb