Avenger96: Difference between revisions

From Wiki-DB
Jump to navigationJump to search
(46 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''The Avenger96 board is the official DHCOR STM32MP1 reference design!'''
{|
{|
|
|
Line 64: Line 66:
* [https://www.dropbox.com/s/f9jvcdq8rgb3e3f/DOC_Getting-Started-588-200_R03_2020-05-29.pdf?dl=1 Avenger96 588-200 Getting-Started R03]
* [https://www.dropbox.com/s/f9jvcdq8rgb3e3f/DOC_Getting-Started-588-200_R03_2020-05-29.pdf?dl=1 Avenger96 588-200 Getting-Started R03]
* [https://www.dropbox.com/s/40k1tygmsiogy6r/USM_DHCOR-STM32MP1_R05_2019-12-12.pdf?dl=0 '''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span> ]
* [https://www.dropbox.com/s/40k1tygmsiogy6r/USM_DHCOR-STM32MP1_R05_2019-12-12.pdf?dl=0 '''NEW''' DHCOR STM32MP1 User Manual R05 <span style="color:#FF0000">'''IMPORTANT: Please have a look at NEW chapter 24. Hardware design checklist'''</span> ]
:'''IMPORTANT''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]
:'''NOTE:''' Please also have a look at the STM32 MPU wiki: [[Avenger96#Links | Links]]


== Avenger96 Design Files ==
== Design Files ==
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Schematic]
* [https://www.dropbox.com/s/u8nihe1xd6ysk3v/SCH_588-200-HS00008-public_R07_2019-08-01.pdf?dl=0 Avenger96 Schematic]
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Bill of Material]
* [https://www.dropbox.com/s/1gyb53slm50uu80/BOM_588-200-HS00008-public_R07_2019-08-01.xlsx?dl=0 Avenger96 Bill of Material]
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Assembly Top]
* [https://www.dropbox.com/s/78otmzqqbw0fkio/588-200_TOP_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Top]
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Assembly Bottom]
* [https://www.dropbox.com/s/su226xkonru494t/588-200_BOTTOM_ASSEMBLY__R04_2019-04-12.pdf?dl=0 Avenger96 Assembly Bottom]
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 3D STEP file]
* [https://www.dropbox.com/s/orku1po5d7gywwd/BRD_588-200-with-DHCOR_2020-06-22.STEP?dl=1 Avenger96 3D STEP file]
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 DHCOR STM32MP1 Allegro/Orcad schematic and layout symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]
* [https://www.dropbox.com/s/4i0la7q1wkv4anh/DHCOR-PinMux-TFBGA361-Avenger96-HW200_2019-05-03.zip?dl=0 Avenger96 CubeMX configuration (release date: 03.05.2019)]


== DHCOR STM32MP1 schematic and layout symbols ==
== Software ==
* [https://www.dropbox.com/s/yjx9l0qj9ja0de8/DHCOR-STM32MP1-Design-Symbols_2019-10-16.zip?dl=0 STM32MP1 Allegro/Orcad symbols (release date: 16.10.2019) '''Now with Allegro *.brd file and 3D information''']
=== DH Mainline based Linux ===
:'''Notes:'''
:- The Mainline based Linux offers Etnaviv GPU driver support!!!
:- Based on '''kernel 5.10.x''' and Yocto version dunfell
* [https://github.com/dh-electronics/dhcom_stm32mp1-bsp-platform Yocto meta layer --> Github]
* [https://www.dropbox.com/s/5r74b7ybbnq1998/2021-02-09-dh-image-demo-dh-stm32mp1-dhcor-common-avenger96.wic.xz?dl=0 '''NEW''' DH Mainline based Starter Image 2021-02-09 (based on 5.10 kernel)]
* [[DHCOR_STM32MP1_Linux| Linux and bootloader documentation]]
:<span style="color:#008000">'''NEW How to start with custom DHCOR design?'''</span>
:The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.
:[https://www.dropbox.com/s/zg6f9h1vms6lxdg/0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch?dl=0 '''NEW''' 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch]


== DHCOR STM32MP1 3D STEP file ==
=== OpenSTLinux ===
* [https://www.dropbox.com/s/s4n5j9wzhhrv6so/DHCOR_STM32MP1_3D_STEP_586-100_R02.zip?dl=0 DHCOR STM32MP1 3D STEP file]
:'''Notes:'''
:- Based on OpenSTLinux v2.1
:- GPU support based on original vivante GPU driver.
:- Based on kernel 5.4.x and Yocto version dunfell
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]
:DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.


== DHCOR STM32MP1 STM CubeMX configuration ==
* [https://www.dropbox.com/s/hii15mbft3p4qyu/Avenger96_v6.9_2020-03-28.img.zip?dl=0 OpenSTLinux-2.1 based on Yocto Dunfell LTS and Linux 5.4.56 - v6.9 Starter Image] (Supported by Arrow Electronics) [[Starter Image Changelog]]
* [https://www.dropbox.com/s/4i0la7q1wkv4anh/DHCOR-PinMux-TFBGA361-Avenger96-HW200_2019-05-03.zip?dl=0 Avenger96 CubeMX configuration (release date: 03.05.2019)]
: This Image includes four different bootmodes to support some additional mezzanine boars. [https://wiki.dh-electronics.com/index.php/Starter_Image_Bootmode Click here to learn, how to change them.]


== Yocto meta layer ==
:'''X-LINUX-AI OpenSTLinux Expansion Package:''' Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.
* [https://github.com/dh-electronics/manifest-av96 Yocto meta layer --> Github]
* [https://wiki.st.com/stm32mpu/wiki/X-LINUX-AI_OpenSTLinux_Expansion_Package '''NEW''' X-LINUX-AI OpenSTLinux Expansion Package]
DH electronics Github contains the meta-av96 layer for ST v1.2.0 SDK. Please see readme.txt which describes the build process.
* [https://wiki.st.com/stm32mpu/wiki/How_to_install_X-LINUX-AI_v2.0.0_on_Avenger96_board '''NEW''' How to install X-LINUX-AI v2.0.0 on Avenger96 board]


== Images ==
=== Debian ===
* [https://www.dropbox.com/s/i29htstp35awt3m/Avenger96_v5.0.0_2020-07-08.zip?dl=0 '''NEW''' OpenSTLinux-4.19-thud v5.0.0 Starter Image]
* [http://releases.linaro.org/96boards/avenger96/ Debian Buster Starter Image]
* [http://releases.linaro.org/96boards/avenger96/ Debian Buster Starter Image]


Line 94: Line 112:
==== SPI Flash and eMMC Image Programming ====
==== SPI Flash and eMMC Image Programming ====
*[[Avenger96 Image Programming | Avenger96 Image Programming]]
*[[Avenger96 Image Programming | Avenger96 Image Programming]]
==== Add camera support to Avenger96 board ====
*[[Avenger96 Camera Support | '''NEW''' Avenger96 Camera Support]]


== Links ==
== Links ==
Line 103: Line 118:
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]
* [https://wiki.st.com/stm32mpu/index.php/STM32MP15_resources STM32MP15 resources]
* [https://www.96boards.org/ 96Boards]
* [https://www.96boards.org/ 96Boards]
== OpenSTLinux-4.19-thud Image Changelog ==
'''Changelog v4.1.0 to v5.0.0:'''
* tf-a now supports pure eMMC boot on silicon revision 2.1, rev Z
* init script moved to meta-av96-scripts repo, manifest file moved to manifest-av96 repo. meta-av96 layer is now totally independent of the manifest and init scripts.
* meta-av96 now uses STM32MP15-Ecosystem-v1.2.0
* meta-av96 and av96-5.0.img uSD card image now support the “apt-get” feature of STM32MP15-Ecosystem-v1.2.0
'''Changelog v3.2.0 to v4.1.0:'''
* STMIPID02 and D3 camera mezzanine patches added, OV5640 camera can be tested with the default Weston GUI.
* Source folder structure reworked. meta-av96 now uses a ‘repo’ manifest-based setup. ‘thud’ branch created and folder structure resembles more the ST way.
'''Changelog v2.1.0 to v3.2.0:'''
* U-Boot sets ethernet MAC address from 24AA02 EEprom
* mmc0 now supports switching to 1.8V, UHS-I cards speeded up
* HW version 1 added to U-Boot device tree, U-Boot now checks HW version of the actual Avenger96 board
* Flashlayout file generation fixed, no need to change Flashlayout files manually before programming nor+emmc
'''Changelog v2.0.3 to v2.1.0:'''
* HDMI max resolution fixed, it’s 1280x720@60Hz again
* DRAM size in U-Boot fixed, Linux now sees the whole 1GB
* UART0 and SPI now supported on low-speed extension connector
* tpm2-tools and tpm2-tss-engine for openssl added, TPM2.0 chip on Tresor board supported by openssl
'''Changelog v2.0.2 to v2.0.3:'''
* DHCP server running at usb0 network interface
'''Changelog v2.0.1 to v2.0.2:'''
* Supported features in U-Boot: UART, DDR3, QSPI, uSD, eMMC, ethernet
* PRODUCT_BELOW_2V5 fix in U-Boot
* Supported features in Linux: UART, uSD, eMMC, USB host, USB OTG, HDMI, GPU, WiFi, Bluetooth, Gbit ethernet
* STM32CubeProgrammer can initialize NOR, eMMC, uSD
* Avenger96 can boot from uSD or NOR+eMMC
* BSP contains a single meta-av96 layer and a readme.txt
* BSP builds the whole uSD or NOR+eMMC image in a single step, no extra file operations are needed
* Standard STM32MP157C-DK2 demo runs on Avenger96: WiFi hotspot, video playback with sound, 3D demo
Improvements compared to av96 v2.0.1:
* SDMMC1,2,3 order fixed, build process simplified
* WiFi fixed
* Sound over HDMI, GPU support (there was no GPU in v2.0.1 because of EULA issues during build)
* Bluetooth support, dummy soundcard added for BT (not tested yet)
* QSPI, eMMC in U-Boot, PRODUCT_BELOW_2V5 programming added -> Gbit ethernet
* STM32CubeProgrammer can initialize NOR, eMMC, uSD (a single manual modification of flashlayout files is still needed for NOR+eMMC boot -> needs to be documented yet)
'''Changelog v1.2 to v2.0.1:'''
* Switch to ST v1.0.0 SDK with 4.19 kernel
* Till now, not all features of v1.2 (based on beta1 release of ST with 4.14 kernel support) are supported with v2.0.1 release
* NOT working: QSPI in U-Boot and Linux, eMMC in U-Boot, WiFi, …
* Working interfaces: HDMI, Ethernet, USB, uSD card and Gigabit ethernet (on board with programmed PRODUCT_BELOW_2V5 fuse)
'''Changelog v1.1 to v1.2:'''
* /home/root folder contains simple OpenAMP demo
* HSLVEN_QSPI fix (from ST) was added to make QSPI boot work again with PRODUCT_BELOW_2V5 programmed
'''Changelog v1.0 to v1.1:'''
* Updated U-Boot which programs the PRODUCT_BELOW_2V5 fuse if necessary and reboots the board
* BUCK3 voltage changed to 2.5V which enables Gbit ethernet support
* Icon added in Weston for starting glmark2-es2-wayland
* /etc/issue contains version info
* Reduced display resolution of HDMI
'''Old Images and Yocto releases:'''
* [https://www.dropbox.com/s/ygjzu52syc63fi4/Avenger96_v4.1.0_2020-02-12.zip?dl=0 OpenSTLinux-4.19-thud v4.1.0 Starter Image]
* [https://www.dropbox.com/s/3r52ld1f5zl09jb/Avenger96_v3.2.0_2019-08-09.zip?dl=0 OpenSTLinux-4.19-thud v3.2.0 Starter Image]
* [https://www.dropbox.com/s/4x0olkqv3g983d7/Avenger96_v2.1.0_2019-05-22.zip?dl=0 Avenger96 v2.1.0 Starter Image]
* [https://www.dropbox.com/s/ypv15rpe5a6wze4/Avenger96_v2.0.3_2019-05-03.zip?dl=0 Avenger96 v2.0.3 Starter Image]
* [https://www.dropbox.com/s/wm1faek37u8c9v9/Avenger96_v2.0.2_2019-04-25.zip?dl=0 Avenger96 v2.0.2 Starter Image]
* [https://www.dropbox.com/s/bevx8wv1fpf2ir8/Avenger96_v2.0.1_2019-04-12.zip?dl=0 Avenger96 v2.0.1 Starter Image]
* [https://www.dropbox.com/s/6x484idku2youbw/meta-av96.thud.e11d35a1_2019-04-12.zip?dl=0 Avenger96 Yocto meta layer (based on v2.0.1 image from 2019-04-12)]
* [https://www.dropbox.com/s/6oe6r1w3ig1vhep/Avenger96_v1.2_2019-03-29.zip?dl=0 Avenger96 v1.2 Starter Image]
* [https://www.dropbox.com/s/c30rbj1z4wijpx4/Avenger96_v1.1_2019-03-15.zip?dl=0 Avenger96 v1.1 Starter Image]
* [https://www.dropbox.com/s/cu3ivdukcp1x40g/Avenger96_EW_v1.0_2019-02-15.zip?dl=0 Avenger96 Embedded World v1.0 Starter Image]

Revision as of 16:01, 9 April 2021

The Avenger96 board is the official DHCOR STM32MP1 reference design!

COM Avenger96Board

Introduction

The AVENGER Board is a 96Boards compliant consumer edition board based on the STM32MP15 series of SoCs. The STM32MP15 series is a highly integrated multi-market applications processor designed to enable secure and portable applications within the Internet of Things. AVENGER board features Dual-core Arm® Cortex®-A7 processors operating at up to 650 MHz, Single core Arm® Cortex® M4 operating up to 209 MHz. In addition, an extensive set of interfaces and connectivity peripherals are included to interface to cameras, touch-screen displays, MMC/SD cards and media processor engine. It also fully supports wireless communication, including WLAN and BLE.

Technical Details

  • STM32MP157AAC
    • 2x ARM® Cortex-A7 up to 650 MHz
    • 1x ARM® Cortex-M4 up to 209 MHz

  • GPU 1x 3D GPU Vivante® @ 533 MHz - OpenGL® ES 2.0
  • PMIC STPMIC1A
  • DDR3 DRAM 1024 Mbyte @ 533 MHz
  • eMMC Flash 8 Gbyte, v4.51 interface
  • NOR Flash 2 Mbyte, Quad SPI interface
  • EEPROM 128 byte
  • microSD Socket UHS-I speed grade, v3.01
  • USB Host 2x type A, 2.0 high-speed
  • USB OTG 1x type micro-AB, 2.0 high-speed
  • HDMI WXGA (1366x768) @ 60 fps, HDMI 1.4
  • WiFi / Bluetooth
    • WiFi 5 GHz & 2.4GHz IEEE 802.11a / b / g / n / ac
    • Bluetooth® v4.2 (BR/EDR/BLE)
    • PCB antenna
  • Ethernet 10 / 100 / 1000 Mbit/s, IEEE 802.3-compliant
  • Push-Buttons Power and reset
  • Battery Socket CR1216, CR1220 and CR1225
  • LEDs
    • 4x green user controlled LEDs
    • 1x blue Bluetooth enabled
    • 1x yellow WiFi enabled
    • 1x red power supply okay
  • Boot Mode 3 bit boot mode switch
  • Debug Interface JTAG interface via tag-connect
  • Supply (SYS_DCIN) 8 - 18 VDC
  • Temperature Range 0 - 40 °C
  • Dimensions 100 x 85 mm
  • Serial Peripherals
    • 2 x UART
    • 2 x I2C
    • 1 x I2S
    • 1 x SPI
    • 1 x GPIOs

Documentation

NOTE: Please also have a look at the STM32 MPU wiki: Links

Design Files

Software

DH Mainline based Linux

Notes:
- The Mainline based Linux offers Etnaviv GPU driver support!!!
- Based on kernel 5.10.x and Yocto version dunfell
NEW How to start with custom DHCOR design?
The patch below is an example patch which applies on top of u-boot v2021.01 and implements a custom board derived from 3V3 option of DHCOR STM32MP1 SoM. That's pretty much all you have to change to implement the board. But, please tweak the DTs esp. where there are the FIXME comments.
NEW 0001-ARM-dts-stm32-Add-DHCOR-based-FOO-board-u-boot-v2021.01.patch

OpenSTLinux

Notes:
- Based on OpenSTLinux v2.1
- GPU support based on original vivante GPU driver.
- Based on kernel 5.4.x and Yocto version dunfell
DH electronics Github contains the meta-av96 layer for ST SDK. Please see readme.txt which describes the build process.
This Image includes four different bootmodes to support some additional mezzanine boars. Click here to learn, how to change them.
X-LINUX-AI OpenSTLinux Expansion Package: Description: Expansion Package that targets artificial intelligence for STM32MP1 Series devices.

Debian

Useful instructions

SPI Flash and eMMC Image Programming

Links