|Version 1 (modified by 6 years ago) ( diff ),|
Gateworks Newport Family Support
Wireless / WiFi Radios
Shop Newport Accessories
- Gateworks Newport Family Support
- Board Support Packages (BSP) Software
- Third Party Linux Distros
- Mainline Linux Kernel support
The Gateworks Newport product family utilizes the Cavium ARM ThunderX CN80xx / CN81xx SoC (System On Chip) offering a large variety of peripherals with a focus on Networking, and Security. See here for a product comparison matrix.
Please note: This is a subset of information for Newport, however, please visit our Main Wiki for all other information
- Newport Board Support Packages and Operating Systems
- Mainline Linux kernel support
- Booting Third Party Linux Distro's on Newport
- Newport JTAG Programming
- Gateworks Expansion Modules - GW16081, GW16082, GW16083
- SPI Support
- GPIO Control
- LED Control
- Connector and Cable Information
- mSATA Information
- GPS Support
- CAN Bus Support
- PCIe Accessory Cards
- SIM and microSD Card Information
- Gateworks System Controller (GSC) - Temperature, voltage, RTC, GPIO, Digital IO, I/O, pushbutton, etc
- Gateworks Enclosures
Performance / Processor / Memory / Power / Thermal
The Gateworks JTAG dongle (GW16099) is available in the Newport Dev Kit as well as on the Gateworks web store here
All Newport boards have a 10-pin JTAG header which provides:
- JTAG Programming for embedded FLASH - see here for instructions
- Serial Console access via UART0 (/dev/ttyAMA0)
Please note, the Linux software is supported for programming Newport (jtag_usbv4 required). Windows is not supported at this time. (serial console through Windows does work).
Processor Reference Manual / Datasheet / Errata
The Cavium Website contains details about the OCTEON TX Dual and Quad core 64bit ARM based SoC's.
Board Support Packages (BSP) Software
Choosing a BSP
Gateworks offers several Board Support Packages for the Newport Product family. Which one we recommend depends a bit upon what your goal is and what your experience level is
- OpenWrt - intended for wireless routers and access points (low flash and memory footprint)
- Recommended for networking users wanting to create a headless router, VPN, basestation, wireless access point and more. Produces by far the smallest storage and memory footprint but users new to Embedded Linux will have a bit of a learning curve
- Fairly up-to-date and/or vanilla kernel support
- Latest wireless drivers (via linux-backports)
- Custom application config and init system (nice for small footprint, but can make adding support for additional packages more work)
- Wide variety of packages (including a fairly nice web-admin)
- Console-based build system (expect 60mins to build BSP for a specific board family)
- Downloadable SDK and Toolchain available to build apps on a development host without building the entire BSP
- Pre-built images available
- Recommended for developers trying to heavily leverage opensource software packages or libraries that are not supported by the other BSP's. This is the most user-friendly for developers new to Embedded Linux but will not produce a very trimmed down filesystem image.
- Documentation provided to use Ubuntu pre-built packages and debootstrap to create a root filesystem in minutes
- Native compilation: no SDK or cross-toolchain needed
- Pre-built images available
The following table may also help in choosing what BSP is right for you:
|Storage Needed||<256MB||2GB or larger|
- The OpenWrt BSP contains an integrated build-system to build the toolchain, kernel, and root filesystem from source. For Ubuntu, step-by-step instructions are provided to build an bootable system in 10 or so steps.
- The OpenWrt BSP's provide a downloadable SDK for cross-compiling applications on a development hosts. For Ubuntu native development and compilation is supported.
- OpenWrt is designed to be a wireless router and has an integrated web-admin for configuration and control.
OpenWrt Board Support Package (BSP)
Newport OpenWrt BSP:
- Pre-Built Binaries?
- Building/Installing OpenWrt w/ Gateworks Patches for the Newport Family?
- Main OpenWrt Wiki Page
- OpenWrt SDK Toolchain
- join the maillist to follow activity
- Source Code
The Newport OpenWrt BSP provides the following:
- Linux 4.x kernel (fairly vanilla)
- latest wireless drivers (compat-wireless)
- tuned for minimal FLASH/memory footprint (entire distro fits on embedded 16MB FLASH)
Gateworks offers a pre-built Ubuntu distribution using the latest Gateworks kernel with Freescale patches as well as instructions on how to build your own Ubuntu based distribution.
Third Party Linux Distros
While Gateworks cannot fully support all Linux distros, it is relatively simple to overlay a Gateworks Newport kernel onto any non-Gateworks third party Linux distro rootfs image.
The following links will describe what is needed:
- Linux kernel supporting Newport: linux/kernel
- Root Filesystem: see below
- Bootable media: linux/blockdev
Root filesystem Sources
There are several sources of pre-built root filesystems that are compatible with Newport. As Newport uses an ARM 64bit based SoC, you need to use something that is compatible with an ARMv8 instruction set. Many pre-built distributions will reference 'arm64' which means 'ARM 64-bit' which is appropriate for the CN80XX / CN81XX SoC.
Some popular third-party sources:
- Ubuntu Core - this is a minimal filesystem that you can build off of at runtime by adding packages from various repositories.
- Linaro - Linaro has several root filesystems available.
- some root filesystems may require you to manually add a user before booting (ie Ubuntu Core)
Mainline Linux Kernel support
Gateworks actively participates in the development of the Linux kernel.
Cavium licenses CPU core IP from ARM and the name they give the CPU core within the OCTEON-TX CN80XX / CN81XX is the Cavium 'ThunderX'. Therefore many of the peripheral drivers within the Linux kernel have 'thunderx' in their name and more often then not the 'OCTEON' name refers to the older OCTEON MIP64 core.
The following table shows what OCTEON-TX CN80XX / CN81XX peripherals support is available in the mainline kernel starting from 4.13:
|Networking MAC (thunderx_bgx)||Yes (4.2+)|
|Networking PHY (thunder_xcv)||Yes (4.9+)|
|MultiMediaCard eMMC / microSD||Yes (4.12+)|
|HW RNG (Hardware Random Number Generator)||Yes (4.9+)|
|HW Compressions offload||Yes (4.12+)|
For details on building a Linux kernel see here