boards: add EOS S3 Quick Feather board

Add basic port for EOS S3 Quick Feather board.

Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
This commit is contained in:
Jan Kowalewski 2020-01-23 10:22:52 +01:00 committed by Anas Nashif
parent 36ba3d4abd
commit 3b6e81531a
10 changed files with 149 additions and 0 deletions

View file

@ -98,6 +98,7 @@
/boards/arm/qemu_cortex_a53/ @carlocaione /boards/arm/qemu_cortex_a53/ @carlocaione
/boards/arm/qemu_cortex_r*/ @stephanosio /boards/arm/qemu_cortex_r*/ @stephanosio
/boards/arm/qemu_cortex_m*/ @ioannisg /boards/arm/qemu_cortex_m*/ @ioannisg
/boards/arm/quick_feather/ @kowalewskijan @kgugala
/boards/arm/xmc45_relax_kit/ @parthitce /boards/arm/xmc45_relax_kit/ @parthitce
/boards/arm/sam4e_xpro/ @nandojve /boards/arm/sam4e_xpro/ @nandojve
/boards/arm/sam4s_xplained/ @fallrisk /boards/arm/sam4s_xplained/ @fallrisk

View file

@ -0,0 +1,6 @@
# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
zephyr_library_include_directories(${ZEPHYR_BASE}/drivers)
zephyr_library_sources(board.c)
zephyr_include_directories(.)

View file

@ -0,0 +1,10 @@
# Quick Feather board
# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config BOARD_INIT_PRIORITY
int
default KERNEL_INIT_PRIORITY_DEFAULT
help
Board initialization priority.

View file

@ -0,0 +1,8 @@
# Quick Feather board
# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config BOARD_QUICK_FEATHER
bool "QuickLogic Quick Feather target"
depends on SOC_EOS_S3

View file

@ -0,0 +1,11 @@
# QuickLogic Quick Feather board
# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
if BOARD_QUICK_FEATHER
config BOARD
default "quick_feather"
endif # BOARD_QUICK_FEATHER

View file

@ -0,0 +1,24 @@
/*
* Copyright (c) 2020 Antmicro <www.antmicro.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <init.h>
#include <soc.h>
#include <board.h>
static int eos_s3_board_init(const struct device *arg)
{
ARG_UNUSED(arg);
/* IO MUX setup for UART */
eos_s3_io_mux(UART_TX_PAD, UART_TX_PAD_CFG);
eos_s3_io_mux(UART_RX_PAD, UART_RX_PAD_CFG);
IO_MUX->UART_rxd_SEL = UART_RX_SEL;
return 0;
}
SYS_INIT(eos_s3_board_init, PRE_KERNEL_1, CONFIG_BOARD_INIT_PRIORITY);

View file

@ -0,0 +1,19 @@
/*
* Copyright (c) 2020 Antmicro <www.antmicro.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef __INC_BOARD_H
#define __INC_BOARD_H
#include <soc_pinmap.h>
#define UART_TX_PAD 44
#define UART_TX_PAD_CFG UART_TXD_PAD44
#define UART_RX_PAD 45
#define UART_RX_PAD_CFG UART_RXD_PAD45
#define UART_RX_SEL UART_RXD_SEL_PAD45
#endif /* __INC_BOARD_H */

View file

@ -0,0 +1,30 @@
/*
* Copyright (c) 2020 Antmicro <www.antmicro.com>
*
* SPDX-License-Identifier: Apache-2.0
*/
/dts-v1/;
#include <quicklogic/quicklogic_eos_s3.dtsi>
/ {
model = "QuickLogic Quick Feather board";
compatible = "quicklogic,eos_s3";
chosen {
zephyr,sram = &sram0;
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,uart-pipe = &uart0;
};
};
&cpu0 {
clock-frequency = <61440000>;
};
&uart0 {
status = "okay";
current-speed = <115200>;
};

View file

@ -0,0 +1,12 @@
identifier: quick_feather
name: QuickLogic Quick Feather
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
testing:
ignore_tags:
- net
- bluetooth

View file

@ -0,0 +1,28 @@
# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
CONFIG_ARM_MPU=n
CONFIG_SOC_EOS_S3=y
CONFIG_BOARD_QUICK_FEATHER=y
# system clock
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=61440000
CONFIG_CORTEX_M_SYSTICK=y
# console
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_PRINTK=y
CONFIG_UART_CONSOLE=y
# misc
CONFIG_BOOT_BANNER=y
# EOS S3 Configuartion Manager copies software from external flash to MCU
# memory using preconfigured DMA and execute it there.
# Thus we do not use flash directly.
CONFIG_XIP=n
CONFIG_FLASH=n
CONFIG_FLASH_SIZE=0
CONFIG_FLASH_BASE_ADDRESS=0x0