Skip to content
Permalink
Browse files

boards: arm: Add 96Boards Avenger96 board support

Add board support for 96Boards Avenger96 board from Arrow Electronics
based on STM32MP157A MPU from ST Microelectronics. This board is one
of the consumer editions boards of the 96Boards family following the
Extented CE form factor. More information about this board can be found
in 96Boards website: https://www.96boards.org/product/avenger96/

By default Zephyr console output is available via RAM console, but it
can also be changed to UART7 exposed as UART0 on 40 pin LS header.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  • Loading branch information...
Mani-Sadhasivam authored and nashif committed Jun 12, 2019
1 parent 12faf11 commit 9ad071cdbe902a4db3fe9c18683dcf2a87ef387a
@@ -57,6 +57,7 @@
/boards/arc/quark_se_c1000_ss_devboard/ @nashif
/boards/arm/ @MaureenHelm @galak
/boards/arm/96b_argonkey/ @avisconti
/boards/arm/96b_avenger96/ @Mani-Sadhasivam
/boards/arm/96b_carbon/ @rsalveti @idlethread
/boards/arm/96b_meerkat96/ @Mani-Sadhasivam
/boards/arm/96b_nitrogen/ @idlethread
@@ -0,0 +1,41 @@
/*
* Copyright (c) 2019 Linaro Ltd.
*
* SPDX-License-Identifier: Apache-2.0
*/

/dts-v1/;
#include <st/mp1/stm32mp157.dtsi>

/ {
model = "Arrow Electronics STM32MP157A Avenger96 board";
compatible = "arrow,stm32mp157a-avenger96", "st,stm32mp15";

chosen {
/*
* By default, Zephyr console and shell are assigned to
* remoteproc. To enable console and shell over UART, uncomment
* following lines and set the correct config in
* 96b_avenger96_defconfig. Refer "Serial Port" section in
* Zephyr board documentation.
* zephyr,console = &uart7;
* zephyr,shell-uart = &uart7;
*/
zephyr,flash = &retram;
zephyr,sram = &mcusram;
};
};

&uart4 {
current-speed = <115200>;
pinctrl-0 = <&uart4_pins_a>;
pinctrl-names = "default";
status = "ok";
};

&uart7 {
current-speed = <115200>;
pinctrl-0 = <&uart7_pins_a &uart7_pins_rts_cts_a>;
pinctrl-names = "default";
status = "ok";
};
@@ -0,0 +1,24 @@
identifier: 96b_avenger96
name: 96B_AVENGER96
type: mcu
arch: arm
toolchain:
- zephyr
- gccarmemb
- xtools
supported:
- gpio
- shell
testing:
ignore_tags:
- cmsis_rtos_v2
- net
- mpu
- tinycrypt
- crypto
- aes
- cmm
- LED
- nfc
ram: 256
flash: 64
@@ -0,0 +1,31 @@
CONFIG_ARM=y
CONFIG_BOARD_96B_AVENGER96=y
CONFIG_SOC_SERIES_STM32MP1X=y
CONFIG_SOC_STM32MP15_M4=y
CONFIG_CORTEX_M_SYSTICK=y
# 209 MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=209000000

# enable GPIO
CONFIG_GPIO=y

# enable uart driver
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# pin mux configuration
CONFIG_PINMUX=y

# clock configuration
CONFIG_CLOCK_CONTROL=y

# console (remote proc console by default)
CONFIG_CONSOLE=y
CONFIG_RAM_CONSOLE=y
CONFIG_RAM_CONSOLE_BUFFER_SIZE=1024

# uart console (overrides remote proc console)
CONFIG_UART_CONSOLE=n

# remoteproc resource table
CONFIG_RPROC_RSC_TABLE=y
@@ -0,0 +1,9 @@
# Copyright (c) 2019 Linaro Ltd.
#
# SPDX-License-Identifier: Apache-2.0

if(CONFIG_PINMUX)
zephyr_library()
zephyr_library_sources(pinmux.c)
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
endif()
@@ -0,0 +1,10 @@
# Kconfig - 96Boards Avenger96 board configuration
#
# Copyright (c) 2019 Linaro Ltd.
#
# SPDX-License-Identifier: Apache-2.0
#

config BOARD_96B_AVENGER96
bool "96Boards Avenger96 Board"
depends on SOC_STM32MP15_M4
@@ -0,0 +1,27 @@
# Kconfig - 96Boards Avenger96 board configuration
#
# Copyright (c) 2019 Linaro Ltd.
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_96B_AVENGER96

config BOARD
default "96b_avenger96"

if UART_CONSOLE

config UART_7
default y

endif # UART_CONSOLE

if SERIAL

config UART_4
default y

endif # SERIAL

endif # BOARD_96B_AVENGER96
@@ -0,0 +1,3 @@
# SPDX-License-Identifier: Apache-2.0

include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
Binary file not shown.

0 comments on commit 9ad071c

Please sign in to comment.
You can’t perform that action at this time.