Diff for /wikisrc/ports/evbarm.mdwn between versions 1.80 and 1.90

version 1.80, 2019/06/27 17:30:46 version 1.90, 2020/09/15 07:36:01
Line 6  port_var2="earmeb" Line 6  port_var2="earmeb"
 port_var3="earmv6hf"  port_var3="earmv6hf"
 port_var4="earmv7hf"  port_var4="earmv7hf"
 port_var5="earmv7hfeb"  port_var5="earmv7hfeb"
   port_var6="aarch64"
 port_var_install_notes="evbarm-earm"  port_var_install_notes="evbarm-earm"
 cur_rel="8.1"  cur_rel="9.0"
 future_rel="9.0"  future_rel="10.0"
 changes_cur="8.1"  changes_cur="9.0"
 changes_future="9.0"  changes_future="10.0"
 thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif"  thumbnail="//www.netbsd.org/images/ports/evbarm/adi_brh.gif"
 about="""  about="""
 NetBSD/evbarm is the port of NetBSD to various evaluation and prototyping  NetBSD/evbarm is the port of NetBSD to various systems based on chips
 boards based on CPUs implementing the ARM architecture. NetBSD/evbarm also  implementing the ARM architecture. The "evb" component is a reference
 supports some specific embedded system products based on prototype board  to evaluation boards, the original target of the port, but this
 designs.  is no longer relevant - NetBSD/evbarm now runs on a range of
   hardware based on APCI or devicetrees, including a range of development
   boards, powerful servers, virtual machines, and even some laptops.
   """
   ]]
   
 ### CPU types  ### CPU types
   
 The evbarm port can be built with a variety of CPU options, corresponding to the  Various CPU variants are supported, e.g:
 [large array of ARM CPU architectures](https://en.wikipedia.org/wiki/ARM_architecture#Cores).  
 There are  
 four main variables: the word size, the instruction set, the  
 endianness, and whether there is hardware floating point.  By default  
 the CPU type is "earm", and this implies aarch32 (32-bit), earmv5 cpu  
 architecture, little endian (el when explicitly stated), and soft  
 (Emulated) floating point.  Another example, suitable for Raspberry PI  
 2, is earmv7hf, which is aarch32, the v7 instruction set, 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.  
   
 Through NetBSD 8, the evbarm port has supported exclusively the  
 aarch32 (32-bit CPU) sub-family of the ARM architecture.  Some  
 processors, such as many supporting the armv8 CPU architecture, also  
 support a 64-bit instruction set, referred to as aarch64.  This is  
 sometimes referred to as a distinct port, [[NetBSD/aarch64|aarch64]],  
 with code in src/sys/arch/aarch64, but it is built as the evbarm port  
 with aarch64 cpu type, and available as the alias evbarm64.  
   
 Note that MACHINE_ARCH=aarch64 currently refers to the A64 instruction  
 set and the aarch64 architecture, built for the armv8 architecture.  
 (Note also that armv8 is the first architecture to support aarch64, so  
 this will not be an issue until at least armv9.)  
   
 ### anita and qemu  
   
 anita can be used to test builds.  (In addition to anita, install qemu and dtb-arm-vexpress from pkgsrc.)   The release subdirectory should follow the naming convention on the autobuild cluster, used below.  - evbarm-earmv6hf - ARMv6 with EABI and hardware floating point, e.g.
     the original Raspberry Pi.
  - evbarm-earmv7hf uses "qemu-system-arm -M vexpress-a15"  - evbarm-earmv7hf - ARMv7 with EABI and hardware floating point, e.g.
  - evbarm-aarch64 uses "qemu-system-aarch64 -M virt"    most recent and common 32-bit ARM boards.
  - Information on how to test emulated versions of other specific hardware is welcome.  - evbarm-earmv7hfeb - Same as the above, but with the CPU running in
     big endian mode.
   - evbarm-aarch64 - 64-bit ARMv8
   - evbarm-aarch64eb - Same as the above, but with the CPU running in
     big endian mode.
   
   Since NetBSD 9.0, 64-bit ARM processors are supported (referred to here
   as aarch64). These run with fully 64-bit kernels and userland. Running
   32-bit ARM binaries is also supported with `compat32`.
   
   evbarm variants are little endian unless otherwise stated. NetBSD provides
   big endian images primarily for testing purposes and to ensure that the code
   is endian-clean.
   
 ### invisible.ca builds  ### armbsd.org builds
   
 NetBSD developer Jared McNeill provides [builds of NetBSD-current for a vast variety of hardware.](https://www.invisible.ca/arm/)   In addition to the standard build, these images have board-specific uboot contents.  See also /usr/pkgsrc/sysutils/u-boot*.  NetBSD developer Jared McNeill provides [builds of NetBSD 9 and -current for a vast variety of hardware.](https://www.armbsd.org/)   In addition to the standard build, these images have board-specific U-Boot contents.  See also /usr/pkgsrc/sysutils/u-boot*.
   
 ### Board specific information (often including installation information)  ### Board specific information (often including installation information)
   
  - [[Allwinner sunxi family SoCs|Allwinner]]   - [[Allwinner sunxi family SoCs|Allwinner]]
  - [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]]   - [[BeagleBone, BeagleBone Black, and PocketBeagle|BeagleBone]]
  - [[NVIDIA Tegra|Tegra]]   - [[NVIDIA Tegra|Tegra]]
  - [[ODROID C1 and C1+|ODROID-C1]]   - [[ODROID C1 and C1+|ODROID-C1]]
  - [[Raspberry Pi 1, 2 and 3|Raspberry Pi]]   - [[Raspberry Pi 1, 2 and 3|Raspberry Pi]]
    - [[RockChip SoCs|RockChip]]
    - [[Terasic DE0 Nano-SoC|Cyclone5]]
   
 ### SSH configuration for installtion  **NOTE**: This list is incomplete. For a full list of supported boards, please see the list of [32-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC#L18) and [64-bit](https://github.com/NetBSD/src/blob/netbsd-9/sys/arch/evbarm/conf/GENERIC64#L20) device trees.
   
 The default configuration will connect to the local network via DHCP and  
 run an SSH server. In order to use the SSH server, we must configure  
 users. This can be done by writing to the SD card's MS-DOS partition.  
   
 Create a creds.txt file and use:  
   
            useradd user password  
   
 <!--TODO: Additional configuration options are available on creds_msdos.8-->  
   
 """  
 supported_hardware="""  
   
 **NOTE**: This list is incomplete. For a full list of boards, please see the [GENERIC DTS files](http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/arch/evbarm/conf/GENERIC).  
   
 [[!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")  ### QEMU
   
 DBPXA250 (a.k.a. Lubbock) is an evaluation and development platform for the  See the [[NetBSD/evbarm under QEMU|qemu_arm]] page for instructions on how to get started with QEMU.
 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  ### anita
 by Genetec Corp.  
   
  * On-chip timers (_saost_ used as system clock)  anita can be used to test builds.  (In addition to anita, install qemu and dtb-arm-vexpress from pkgsrc.)   The release subdirectory should follow the naming convention on the autobuild cluster, used below.
  * 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.  
   
 ### 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_)   - evbarm-earmv7hf uses "qemu-system-arm -M vexpress-a15"
 * On-CPU 10/100 Ethernet MAC (_epe_)   - evbarm-aarch64 uses "qemu-system-aarch64 -M virt"
 * CompactFlash socket (_wdc_)   - Information on how to test emulated versions of other specific hardware is welcome.
 * 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]]  [[!tag tier1port]]

Removed from v.1.80  
changed lines
  Added in v.1.90


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