Version 11 (modified by 7 years ago) ( diff ) | ,
---|
Gateworks Ventana Family Support
Getting Started |
Ventana Software |
Video and Audio |
Peripherals |
User Manuals |
Wireless / WiFi Radios |
Cellular Modems |
GPS |
3D Model |
Shop Ventana Accessories |
The Gateworks Ventana product family utilizes the Freescale / NXP i.MX6 CPU offering a large variety of peripherals, especially focused on video and audio. See here for a product comparison matrix.
Links
Please note: This is a subset of information for Ventana, however, please visit our Main Wiki for all other information
- Ventana Board Support Packages and Operating Systems
- Ventana Bootloader
- Mainline Linux kernel support
- Ventana i.MX6 Encryption / Crypto (CAAM) Support
- Booting Third Party Linux Distro's on Ventana
- Freescale Unit Tests
- Ventana JTAG Programming
- Third Party Software
- High Availability Boot (HAB) (secure boot)
Video / Audio Support
Video is currently primarily supported in the Yocto BSP.
Software
This section is recommended for getting started with example commands for video and audio.
- Ventana GStreamer Wiki ( Pipelines, etc ) - Software commands to use Video/Audio, streaming, compositing and more.
Hardware
- Ventana LVDS LCD Touchscreen Displays
- Ventana Graphics Capabilities - Resolution and HW acceleration, IPU, GPU, VPU
- Ventana Codecs - Codec Licensing information
- Ventana Video Output Wiki - Hardware capabilities for Video Output
- Ventana Video Input Wiki - Hardware capabilities for Video Input
- Ventana Audio Wiki - Hardware capabilities for Video Input
- Streaming Video Latency - Measuring Latency while streaming
- Audio / Video breakout Adapters
Peripheral Support
- Gateworks Expansion Modules - GW16081, GW16082, GW16083
- Ventana off-board Digital IO Mappings
- I2C Support
- SPI Support
- Serial/RS232 Support
- GPIO Control
- LED Control
- Ventana Connector and Cable Information
- Ventana Development Breakout Adapters for Video / Audio / GPIO
- Audio / Video breakout Adapters
- Ventana Ethernet Performance
- Ventana LVDS LCD Touchscreen Display
- USB OTG Documentation
- GW5200 USB
- mSATA Information
- GPS Support
- CAN Bus Support
- Bluetooth Support
- PCI/PCIe information
- PCIe Accessory Cards
- Accelerometer and Magnetometer Information
- MultiMediaCard support (microSD / eMMC)
- Gateworks System Controller (GSC) - Temperature, voltage, RTC, GPIO, Digital IO, I/O, pushbutton, etc
- Gateworks Ventana Enclosures
Performance / Processor / Memory / Power / Thermal
- Dynamic Voltage and Frequency Scaling
- Multi Core Processing
- Ventana Memory Access
- Ventana Power (including Consumption, Protection, etc)
- Ventana 3.3 and 5V rails
- Thermal and Temperature Information about Ventana
- Ventana Floating Point
- Streaming Video Latency
- Memory Information
- Increasing Boot Speeds
Other Info
- Product Info
- Where to Buy
- Ventana Board Errata
- The GW5220
- Ventana Functional Block Diagram
- Youtube Video w/Video Demonstration
- Linux Kernel Device-Tree info
- Direct Memory Access
- Ordering Options
JTAG Programming
The Gateworks JTAG dongle (GW16099) is available in the Ventana Dev Kit as well as on the Gateworks web store here
All Ventana boards have a 10-pin JTAG header which provides:
- JTAG Programming for NAND FLASH - see here for instructions
- Serial Console access via UART2 (/dev/ttymxc1)
Please note, the Linux software is supported for programming Ventana (jtag_usbv4 required). Windows is not supported at this time. (serial console through Windows does work).
User Manual
Processor Reference Manual / Datasheet / Errata
The IMX6 product family includes several System On Chip (SoC) designs. You can find the Technical Reference Manual (TRM) as well as the datasheets and other Freescale documenation at Freescales site:
- Reference Manuals:
- Datasheets:
- IMX6 Dual/Quad Automotive Datasheet (IMX6DQAEC)
- IMX6 Dual/Quad Industrial Datasheet (IMX6DQIEC)
- IMX6 Dual/Quad Commercial Datasheet (IMX6DQCEC)
- IMX6 Solo/DualLite Automotive Datasheet (IMX6SDLIEC)
- IMX6 Solo/DualLite Industrial Datasheet (IMX6SDLIEC)
- IMX6 Solo/DualLite Consumer Datasheet (IMX6SDLIEC)
- Errata:
Board Support Packages (BSP) Software
Choosing a BSP
Gateworks offers several Board Support Packages for the Ventana 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 (this is what ships by default on all Ventana boards except for the GW551x)
- Yocto - Full-featured, recommended for video applications using gstreamer
- Recommended for users needing graphics output (either GUI or raw Video) or Video encode/decode/transcode and streaming. Produces the most tailored install (conserving filesystem space) while still using standard Linux distro config and init system. Users new to Embedded Linux or OpenEmbedded will have a bit of a learning curve
- Uses downstream vendor kernel consisting of Freescale patches on top of an older 'long term support' (LTS) kernel plus Gateworks patches for Ventana support
- Supports all Ventana features including those not available in mainline linux such as Video input and IMX6 VPU, GPU support
- Latest wireless drivers (via linux-backports)
- Wide variety of packages
- More 'desktop-like' environment with sysvinit and optional X11, Qt, or Qte
- Console-based build system (OpenEmbedded) (expect 2hours 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 (via web-download with EULA)
- Android
- Recommended for users with existing Android application code/experience or starting from scratch and needing high-end GUI display and/or network framework to take advantage of Android's vast collection of APIs and frameworks. Users new to Android or Java will have a learning curve.
- Uses downstream vendor kernel consisting of Freescale patches on top of an older 'long term support' (LTS) kernel plus Gateworks patches for Ventana support
- Supports all Ventana features including those not available in mainline linux such as Video input and IMX6 VPU, GPU support
- Console-based build system (expect 3hours to build BSP for a specific board family)
- Downloadable IDE to build apps on a development host without building the entire BSP
- Pre-built images available (via web-download with EULA)
- Ubuntu / Debian
- 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.
- Uses downstream vendor kernel consisting of Freescale patches on top of an older 'long term support' (LTS) kernel plus Gateworks patches for Ventana support
- Supports all Ventana features including those not available in mainline linux such as Video input and IMX6 VPU, GPU support
- Documentation provided to use Ubuntu and Debian pre-built packages and debootstrap to create a root filesystem in minutes
- Native compilation: no SDK or cross-toolchain needed
- Windows Embedded Compact 7 (WEC7)
- For users who have an existing WEC app/program and they are not able to migrate to a Linux based OS above.
- Provided by third-party: Adeneo
- Support for GW54xx
The following table may also help in choosing what BSP is right for you:
Feature | Yocto | Android | OpenWrt | Ubuntu | Debian | WEC7 | Notes |
---|---|---|---|---|---|---|---|
Pre-built images | Yes | Yes | Yes | No | No | Yes | |
NAND supported | Yes | Yes | Yes | Yes | Yes | No | |
Storage Needed | <256MB | 2GB or larger | <256MB | 1GB or larger | 1GB or larger | 1 | |
Build-System | Yes | Yes | Yes | No | No | No | 2 |
Toolchain | SDK/Native | No | SDK | Native | Native | 3 | |
GUI | X11/Qt/Qte | Yes | No | Future | Future | 4 | |
VPU/GPU | Yes | Yes | No | Yes | Yes | 5 | |
Web-Admin | No | No | Yes | No | No | 6 |
Notes:
- Two pre-built images are available for Yocto (console which will fit on 256MB or larger and GUI which typically requires 1GB or larger). OpenWrt fits easily in 256MB. Ubuntu and Debian can technically fit in 256MB but once anything useful is added you will need additional storage. NAND flash images are available for Yocto, OpenWrt, and Android (requires 2GB FLASH).
- The Yocto, OpenWrt, and Android BSP's contain an integrated build-system. Debian and Ubuntu have step-by-step instructions on how to build an bootable system in 10 or so steps.
- The Yocto, and OpenWrt BSP's provide a downloadable SDK for cross-compiling applications on a development hosts. The Android SDK for building applications on a development host is provided by Google. For Debian and Ubuntu native development and compilation is supported.
- Details can be found on the Internet on how to build Xserver with hardware acceleration support for IMX6 although its a bit technical.
- For Yocto, Ubuntu and Debian GStreamer support with IMX6 IPU, GPU and VPU support is provided via gstreamer-imx plugins. Android has its own API's for video.
- OpenWrt is designed to be a wireless router and has an integrated web-admin for configuration and control.
Ventana BSP Software Support Comparison
The following table shows details on device support per BSP:
Feature | Yocto | Android | Android | OpenWrt | Ubuntu | Debian | Windows Embedded | Notes |
---|---|---|---|---|---|---|---|---|
Version | 1.8 (fido) / 2.3 (pyro) | 5.1.1 (Lollipop) | 4.3 (Kitkat) | r48868 2016-02-17 | 14.04 (trusty) | WEC7 | ||
Kernel | 3.14.48 | 3.14 | 3.10.53 | 4.4.0 | 3.14.48 | 3.14.48 | - | |
SMP | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Eth0 (fec) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Eth1 (igb/sky2) | Yes | Yes6 | Yes6 | Yes | Yes | Yes | No | |
PCIe | Yes | Yes | Yes | Yes | Yes | Yes | No | |
WiFi | Yes | Yes | Yes | Yes | Yes | Yes | No | 4 |
Cellular | Yes | Future | Future | Yes | Yes | Yes | No | |
Bluetooth (USB HCI) | Yes | Yes | No | Yes | Yes | Yes | Yes | |
RS232 | Yes | Yes | Yes | Yes | Yes | Yes | No | |
RS485 | Yes | Yes | Yes | Yes | Yes | Yes | No | |
GPS | Yes | Yes | Yes | Yes | Yes | Yes | No | |
GPS PPS time sync | Yes | Yes | Yes | Yes | Yes | Yes | No | |
Accelerometer | Yes | Yes | Yes | Yes | Yes | Yes | No | |
Magnetometer | Yes | Yes | Yes | Yes | Yes | Yes | No | |
MMC microSD / eMMC | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
RTC | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 |
HWMON | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 |
LED/GPIO | Yes | Yes | Yes | Yes | Yes | Yes | No | |
CAN bus | Yes | Yes | Yes | Yes | Yes | Yes | No | |
USB 2.0 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
USB OTG | Yes | Yes | Yes | Yes | Yes | Yes | Yes (Host) | |
DVFS | Yes | Yes | Yes | Yes | Yes | Yes | No | |
mSATA | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 |
Crypto | Yes | Yes | Yes | Yes | Yes | Yes | No | 3 |
ventana/LVDS Video Out | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
Analog Audio In/Out | Yes | Yes | Yes | Yes | Yes | Yes | No | |
Analog Video In | Yes | Yes | Yes | Future | Yes | Yes | No | 2 |
Analog Video Out | Yes | Future | Future | Future | Yes | Yes | No | |
Digital Video (HDMI) In | Yes | Future | Future | Future | Yes | Yes | No | 1 |
Digital Video (HDMI) Out | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 1 |
Digital Audio (HDMI) In | Yes | Future | Future | Future | Yes | Yes | No | 1 |
Digital Audio (HDMI) Out | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 |
Video Processing Unit | Yes | Yes | Yes | No | Yes | Yes | No | |
Graphics Processing Unit | Yes | Yes | Yes | No | Yes | Yes | No | 7 |
GW16082 (MiniPCIe Exp) | Yes | Yes | Yes | Yes | Yes | Yes | No | |
GW16083 (Ethernet Exp) | Yes | Yes | Yes | Yes | Yes | Yes | No |
- If using a GW54xx, it requires GW54XX-B or later
- If using a GW54xx, it requires GW5400-C or later
- Requires binary Firmware module from Freescale
- WiFi supported through Mini-PCIe radios purchased separately. ath10k driver and AP mode not supported on Android.
- Bluetooth supported through separately purchased modules. For example, see here
- eth1 on Android needs to be configured manually
- Vivante GPU support is fully supported in the Yocto and Android BSP's and partially supported in the Ubuntu and Debian BSP's when used with gstreamer-imx
Android Board Support Package (BSP)
Gateworks supports Android for the Ventana product family:
OpenWrt Board Support Package (BSP)
The Ventana OpenWrt BSP provides the following:
- Linux 4.9 kernel (fairly vanilla)
- latest wireless drivers (compat-wireless)
- tuned for minimal FLASH/memory footprint (entire distro fits on embedded 16MB FLASH)
- no driver support currently exists for the following Ventana devices:
- Video In (requires vendor driver(s) to be ported up)
- simple upgrades and factory-reset capability provided by overlay filesystem
Ventana OpenWrt BSP:
- Pre-Built Binaries
- Source:
- https://github.com/Gateworks/openwrt - Gateworks OpenWrt BSP (watch)
- Additional Gateworks OpenWrt pages:
- OpenWrt
- OpenWrt/Configuration
- OpenWrt/GPS
- OpenWrt/Packages
- OpenWrt/Patch
- OpenWrt/SDK
- OpenWrt/Video_Out
- OpenWrt/factoryreset
- OpenWrt/gpio
- OpenWrt/hotplug
- OpenWrt/init
- OpenWrt/kernelconfig
- OpenWrt/logging
- OpenWrt/network_config
- OpenWrt/swconfig
- OpenWrt/sysupgrade
- OpenWrt/webadmin
- OpenWrt/webserver
- OpenWrt/wireless
- OpenWrt/wireless/access_point
- OpenWrt/wireless/client
- OpenWrt/wireless/relayd
- OpenWrt/wireless/wireless_bridge
- join the openwrt-devel mailing list to follow upstream OpenWrt activity
Yocto Board Support Package (BSP)
Yocto Information:
The Ventana Yocto BSP provides the following differences from the OpenWrt BSP:
- Linux 3.14 kernel (Based on Freescale's Kernel)
- more like standard linux 'desktop' distros (larger package support and community)
- USB OTG driver support
- mSATA driver support
- Video Out driver support
- Video Capture driver support
- hwconfig/GPIO/LED Configuration
Ubuntu
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.
Debian
Gateworks offers a Debian distribution using the latest Gateworks kernel with Freescale patches as well as instructions on how to build your own Debian based distribution.
Windows Embedded Compact 7 ( WEC7 )
Gateworks offers a pre-built Windows Embedded Compact 7 (WEC7) disk image that supports the GW5400:
Third Party Linux Distros
While Gateworks cannot fully support all Linux distros, it is relatively simple to overlay a Gateworks Ventana kernel onto any non-Gateworks third party Linux distro rootfs image.
The following links will describe what is needed:
- Linux kernel supporting Ventana: 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 Ventana. As Ventana uses an i.MX6 SoC, you need to use something that is compatible with an ARMv7 instruction set. Many pre-built distributions will reference 'armhf' which means 'ARM hard-float' which is appropriate for the i.MX6 as it has hardware floating-point.
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 including server, nano, developer, core, and ALIP. Each root filesystem will have different things installed for different purposes. Choose carefully which will work for you.
Notes:
- some root filesystems may require you to manually add a user before booting (ie Ubuntu Core)
- the default Ventana bootloader expects to find the uImage and dtbs in the /boot directory on the first partition of type ext2/3/4
Mainline Linux Kernel support
Gateworks actively participates in the development of the Linux kernel and has been submitting support for Ventana and device support since the 3.15 kernel.
The following table shows what Ventana/IMX6 peripherals support is available in the mainline kernel starting from its original merge in 3.15 up into of 4.6:
Feature | Support | Notes |
---|---|---|
Ventana (GW51xx/GW52xx/GW53xx/GW54xx) | Yes (3.15+) | |
Ventana (GW551x) | Yes (4.2+) | |
Ventana (GW552x) | Yes (3.18+) | |
Ventana (GW553x) | Yes (4.9+) | |
Ventana GW16081 (MiniPCIe Expansion) | Yes | |
Ventana GW16082 (MiniPCI Expansion) | Yes | |
SMP | Yes | |
eth0 (fec) | Yes | |
eth1 (igb/sky2) | Yes | |
serial (RS232 / RS485 / GPS) | Yes | |
MMC microSD / eMMC | Yes | |
NAND | Yes | |
RTC | Yes | |
LED/GPIO | Yes | |
CAN bus (flexcan) | Yes | |
USB 2.0 | Yes | |
USB OTG | Yes | |
DVFS | Yes | |
PCIe | Yes | |
mSATA | Yes | |
LVDS Video Out | Yes | |
Analog Audio In/Out (sgtl5000) | Yes | |
Video Processing Unit (coda) | Yes (3.16+) | |
HDMI Audio/Video Out | Yes (3.16+) | |
Crypto | Yes (4.3+) | |
LVDS Video Out | Yes (4.4+) | |
Graphics Processing Unit (etnaviv) | Yes (4.5+) | |
FXOS8700 Acc / Mag | No | 1 |
GSC HWMON / Watchdog / Input | No | 1 |
GW16083 (Ethernet Exp) | No | 1 |
IMX6 Video Capture (ipu-csi) | Yes (4.13+) | 2 |
Analog Video In | Yes (4.13+) | 2 |
Analog Video Out (GW54xx) | No | |
HDMI Audio / Video In | No |
Notes:
- Gateworks has mainline patches available that add this support (contact support@… for info)
- IMX6 capture requires use of the media-ctl API
Note-able IMX6 mainline support history:
- 4.15:
- Errata: PCI enumeration through a switch is broken with commit a20c7f3 PCI: Do not allocate more buses than available in parent. This regression got backported into 4.9.71 and the fix for it is currently under review: here
- 4.13:
- added: IMX6 Video Capture support. Currently the ADV7180 (analog capture) is supported through the media-ctl API
- 4.11:
- fixed: occasional failure with UHS-I capable boards with DDR50 capable microSD cards showing 'mmc0: ddr50 tuning failed' (commit). This was backported to stable kernels 4.10.13+, 4.9.25+, 4.4.64+
- 4.9:
- Gateworks Ventana support added: GW553x
- 4.7:
- Errata: MSI is no longer able to be disabled for IMX6 PCIe host controller which will cause any card/driver requiring legacy PCI interrupts (ie ath9k) to fail if enabled
- 4.5:
- IMX6 GPU support added (etnaviv) driver
- fixed: GW54xx front panel USB VBUS Not enabled on power-up (commit)
- Errata: MSI is enabled for IMX6 PCIe host controller in imx_v6_v7_defconfig which will cause any card/driver requiring legacy PCI interrupts (ie ath9k) to fail if enabled
- 4.4:
- IMX6 LVDS support added
- fixed: FEC Ethernet Device Tree Fix applied to resolve no ethernet on eth1 (Marvell sky2) on GW54xx/GW53xx when using Marvell PHY Driver (CONFIG_MARVELL_PHY/marvell.ko) (commit). This issue dates back to 3.15 when Ventana support was added. As a workaround you can also unload/blacklist the Marvell PHY driver (marvell.ko).
- Errata: occasional failure with UHS-I capable boards with DDR50 capable microSD cards showing 'mmc0: ddr50 tuning failed'. This was fixed in the 4.11 kernel and was backported to stable kernels 4.10.13+, 4.9.25+, 4.4.64+
- Errata: GW54xx front panel USB VBUS Not enabled on power-up. This requires a device-tree fixup that went into 4.5
- 4.3:
- IMX6 crypto support added to caam driver
- Errata: GW54xx front panel USB VBUS Not enabled on power-up. This requires a device-tree fixup that went into 4.5
- 4.2:
- Gateworks Ventana support added: GW551x
- Errata: GW54xx front panel USB VBUS Not enabled on power-up. This requires a device-tree fixup that went into 4.5
- 4.1:
- Errata: GW54xx front panel USB VBUS Not enabled on power-up. This requires a device-tree fixup that went into 4.5
- 4.0:
- Errata: GW54xx front panel USB VBUS Not enabled on power-up. This requires a device-tree fixup that went into 4.5
- 3.18:
- Gateworks Ventana support added: GW552x
- ipu_v3 Camera Sensor Interface (CSI) base framework added
- 3.17:
- IMX6 HDMI support added
- 3.16:
- hardware acceleration offload added (TSO, scatter/gather) to FEC driver providing large performance boost
- Ventana LVDS support added
- ipu_v3 driver moved from staging to drivers/gpu/ipu_v3 offering base IPU support
- coda driver support for IMX6 VPU added to staging
- 3.15:
- Gateworks Ventana support added: GW51xx, GW52xx, GW53xx, GW54xx
Note that the bulk of Ventana support was merged into mainline linux at 3.15 so patches for 3.15+ are typically fewer and smaller consisting of new boards or work-in-progress that has not been merged yet.
For details on building a Ventana kernel see here
Attachments (10)
- cellularicon.png (114.5 KB ) - added by 7 years ago.
- customizationicon.png (6.6 KB ) - added by 7 years ago.
- gettingstarted.png (15.5 KB ) - added by 7 years ago.
- shoppingcart.png (17.4 KB ) - added by 7 years ago.
- softwareicon.png (49.5 KB ) - added by 7 years ago.
- usermanualicon.png (66.8 KB ) - added by 7 years ago.
- videoicon.png (153.6 KB ) - added by 7 years ago.
- wirelessicon.png (39.3 KB ) - added by 7 years ago.
- softwareicon2.png (50.7 KB ) - added by 6 years ago.
- wirelessicon2.png (40.6 KB ) - added by 6 years ago.
Download all attachments as: .zip