Commit 2bf1fe20 authored by Armando Visconti's avatar Armando Visconti Committed by Kumar Gala
Browse files

boards: arm: Add support for 96Boards Argonkey Board



ArgonKey board is a 96boards sensor hub platform for all 96Boards
compliant family products. The ArgonKey packs a Cortex-M4 chip
together with a set of motion, environmental and ambiental sensors
and can be used as a development platform for many different
applications.

Signed-off-by: default avatarArmando Visconti <armando.visconti@st.com>
parent 12b5ef0e
Loading
Loading
Loading
Loading
+45 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018 STMicroelectronics
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

/ {
	model = "Tocoding Argonkey 96boards";
	compatible = "tocoding,argonkey", "st,stm32f412";

	chosen {
		zephyr,console = &usart1;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
	};
};

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

&spi2 {
	status = "ok";
};

&i2c1 {
	status = "ok";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c2 {
	status = "ok";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c3 {
	status = "ok";
	clock-frequency = <I2C_BITRATE_STANDARD>;
};
+7 −0
Original line number Diff line number Diff line
identifier: 96b_argonkey
name: 96Boards Argonkey
type: mcu
arch: arm
toolchain:
  - zephyr
  - gccarmemb
+49 −0
Original line number Diff line number Diff line
CONFIG_ARM=y
CONFIG_BOARD_96B_ARGONKEY=y
CONFIG_SOC_SERIES_STM32F4X=y
CONFIG_SOC_STM32F412CG=y
CONFIG_CORTEX_M_SYSTICK=y

# 84MHz system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=84000000
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000

# enable uart driver
CONFIG_SERIAL=y

# enable pinmux
CONFIG_PINMUX=y

# enable GPIO
CONFIG_GPIO=y

# enable I2C
CONFIG_I2C=y

# enable SPI
CONFIG_SPI=y

# clock configuration
CONFIG_CLOCK_CONTROL=y

# SYSCLK selection
CONFIG_CLOCK_STM32_SYSCLK_SRC_PLL=y

# PLL configuration
CONFIG_CLOCK_STM32_PLL_SRC_HSE=y
CONFIG_CLOCK_STM32_HSE_CLOCK=16000000

# produce 84MHz clock at PLL output
CONFIG_CLOCK_STM32_PLL_M_DIVISOR=8
CONFIG_CLOCK_STM32_PLL_N_MULTIPLIER=84
CONFIG_CLOCK_STM32_PLL_P_DIVISOR=2
CONFIG_CLOCK_STM32_PLL_Q_DIVISOR=8
CONFIG_CLOCK_STM32_AHB_PRESCALER=1

# APB1 clock must not exceed 50MHz limit
CONFIG_CLOCK_STM32_APB1_PRESCALER=2
CONFIG_CLOCK_STM32_APB2_PRESCALER=1

# console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
+3 −0
Original line number Diff line number Diff line
zephyr_library()
zephyr_library_sources(pinmux.c)
zephyr_library_include_directories(${PROJECT_SOURCE_DIR}/drivers)
+9 −0
Original line number Diff line number Diff line
# Kconfig - 96Boards Argonkey Board Configuration
#
# Copyright (c) 2018 STMicroelectronics
#
# SPDX-License-Identifier: Apache-2.0
#
config BOARD_96B_ARGONKEY
	bool "96Boards Argonkey"
	depends on SOC_STM32F412CG
Loading