mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
boards/nrf5340dk-app: add SPI flash configuration and I2C pins
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
This commit is contained in:
parent
f27bde3f37
commit
fdbba517a2
@ -11,11 +11,15 @@ config BOARD_NRF5340DK_APP
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
select CPU_MODEL_NRF5340_APP
|
select CPU_MODEL_NRF5340_APP
|
||||||
|
select HAS_PERIPH_I2C
|
||||||
|
select HAS_PERIPH_SPI
|
||||||
|
select HAS_PERIPH_SPI_GPIO_MODE
|
||||||
select HAS_PERIPH_PWM
|
select HAS_PERIPH_PWM
|
||||||
select HAS_PERIPH_RTT
|
select HAS_PERIPH_RTT
|
||||||
select HAS_PERIPH_TIMER
|
select HAS_PERIPH_TIMER
|
||||||
select HAS_PERIPH_UART
|
select HAS_PERIPH_UART
|
||||||
select HAS_PERIPH_UART_HW_FC
|
select HAS_PERIPH_UART_HW_FC
|
||||||
select HAS_PERIPH_USBDEV
|
select HAS_PERIPH_USBDEV
|
||||||
|
select HAVE_MTD_SPI_NOR
|
||||||
|
|
||||||
# Put other features for this board (in alphabetical order)
|
# Put other features for this board (in alphabetical order)
|
||||||
|
9
boards/nrf5340dk-app/Makefile.dep
Normal file
9
boards/nrf5340dk-app/Makefile.dep
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
ifneq (,$(filter mtd,$(USEMODULE)))
|
||||||
|
USEMODULE += mtd_spi_nor
|
||||||
|
endif
|
||||||
|
|
||||||
|
# default to using littlefs2 on the external flash
|
||||||
|
ifneq (,$(filter vfs_default,$(USEMODULE)))
|
||||||
|
USEPKG += littlefs2
|
||||||
|
USEMODULE += mtd
|
||||||
|
endif
|
58
boards/nrf5340dk-app/board.c
Normal file
58
boards/nrf5340dk-app/board.c
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2023 Mesotic SAS
|
||||||
|
*
|
||||||
|
* This file is subject to the terms and conditions of the GNU Lesser
|
||||||
|
* General Public License v2.1. See the file LICENSE in the top level
|
||||||
|
* directory for more details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup boards_nrf5340dk-app
|
||||||
|
* @{
|
||||||
|
*
|
||||||
|
* @file
|
||||||
|
* @brief Board specific implementations for the Nordic nRF5340DK board
|
||||||
|
*
|
||||||
|
* @author Dylan Laduranty <dylan.laduranty@mesotic.com>
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "board.h"
|
||||||
|
#include "periph/gpio.h"
|
||||||
|
#include "timex.h"
|
||||||
|
#ifdef MODULE_VFS_DEFAULT
|
||||||
|
#include "vfs_default.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODULE_MTD_SPI_NOR
|
||||||
|
#include "mtd_spi_nor.h"
|
||||||
|
/* MX25R64 */
|
||||||
|
static const mtd_spi_nor_params_t _nrf5340_nor_params = {
|
||||||
|
.opcode = &mtd_spi_nor_opcode_default,
|
||||||
|
.wait_chip_erase = 240 * US_PER_SEC,
|
||||||
|
.wait_64k_erase = 800 * US_PER_MS,
|
||||||
|
.wait_sector_erase = 240 * US_PER_MS,
|
||||||
|
.wait_chip_wake_up = 1 * US_PER_MS,
|
||||||
|
.clk = MHZ(54),
|
||||||
|
.flag = SPI_NOR_F_SECT_4K | SPI_NOR_F_SECT_64K,
|
||||||
|
.spi = SPI_DEV(0),
|
||||||
|
.mode = SPI_MODE_0,
|
||||||
|
.cs = BOARD_QSPI_PIN_CS,
|
||||||
|
.wp = BOARD_QSPI_PIN_WP,
|
||||||
|
.hold = BOARD_QSPI_PIN_HOLD,
|
||||||
|
};
|
||||||
|
|
||||||
|
static mtd_spi_nor_t nrf5340_nor_dev = {
|
||||||
|
.base = {
|
||||||
|
.driver = &mtd_spi_nor_driver,
|
||||||
|
.page_size = 256,
|
||||||
|
.pages_per_sector = 16,
|
||||||
|
},
|
||||||
|
.params = &_nrf5340_nor_params,
|
||||||
|
};
|
||||||
|
mtd_dev_t *mtd0 = (mtd_dev_t *)&nrf5340_nor_dev;
|
||||||
|
|
||||||
|
#ifdef MODULE_VFS_DEFAULT
|
||||||
|
VFS_AUTO_MOUNT(littlefs2, VFS_MTD(nrf5340_nor_dev), VFS_DEFAULT_NVM(0), 0);
|
||||||
|
#endif
|
||||||
|
#endif /* MODULE_MTD_SPI_NOR */
|
@ -20,6 +20,7 @@
|
|||||||
#define BOARD_H
|
#define BOARD_H
|
||||||
|
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
#include "mtd.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -95,6 +96,19 @@ extern "C" {
|
|||||||
#define BTN3_MODE GPIO_IN_PU /**< BTN3 default mode */
|
#define BTN3_MODE GPIO_IN_PU /**< BTN3 default mode */
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name MTD configuration
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
extern mtd_dev_t *mtd0;
|
||||||
|
#define MTD_0 mtd0
|
||||||
|
#define MTD_NUMOF 1
|
||||||
|
|
||||||
|
#define BOARD_QSPI_PIN_CS GPIO_PIN(0, 18) /**< SPI Flash Chip Select */
|
||||||
|
#define BOARD_QSPI_PIN_WP GPIO_PIN(0, 15) /**< SPI Flash Write Protect */
|
||||||
|
#define BOARD_QSPI_PIN_HOLD GPIO_PIN(0, 16) /**< SPI Flash Hold pin */
|
||||||
|
/** @} */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -126,6 +126,21 @@ static const spi_conf_t spi_config[] = {
|
|||||||
#define SPI_NUMOF ARRAY_SIZE(spi_config)
|
#define SPI_NUMOF ARRAY_SIZE(spi_config)
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * @name I2C configuration
|
||||||
|
* * @{
|
||||||
|
* */
|
||||||
|
static const i2c_conf_t i2c_config[] = {
|
||||||
|
{
|
||||||
|
.dev = NRF_TWIM2_S,
|
||||||
|
.scl = GPIO_PIN(1, 3),
|
||||||
|
.sda = GPIO_PIN(1, 2),
|
||||||
|
.speed = I2C_SPEED_NORMAL
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#define I2C_NUMOF ARRAY_SIZE(i2c_config)
|
||||||
|
/** @} */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,16 +7,6 @@
|
|||||||
|
|
||||||
if TEST_KCONFIG
|
if TEST_KCONFIG
|
||||||
|
|
||||||
config MODULE_PERIPH_UART_NONBLOCKING
|
|
||||||
depends on HAS_PERIPH_UART_NONBLOCKING
|
|
||||||
depends on MODULE_PERIPH_UART
|
|
||||||
select MODULE_TSRB
|
|
||||||
|
|
||||||
config MODULE_PERIPH_SPI
|
|
||||||
depends on HAS_PERIPH_SPI
|
|
||||||
select MODULE_PERIPH_GPIO_IRQ if CPU_MODEL_NRF52832XXAA && HAS_PERIPH_GPIO_IRQ
|
|
||||||
select MODULE_PERIPH_SPI_GPIO_MODE if MODULE_PERIPH_SPI && HAS_PERIPH_SPI_GPIO_MODE
|
|
||||||
|
|
||||||
config MODULE_SAUL_NRF_VDDH
|
config MODULE_SAUL_NRF_VDDH
|
||||||
bool "Internal Voltage Sensor"
|
bool "Internal Voltage Sensor"
|
||||||
depends on HAS_PERIPH_ADC
|
depends on HAS_PERIPH_ADC
|
||||||
|
@ -15,9 +15,6 @@ config CPU_FAM_NRF53
|
|||||||
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
select HAS_PERIPH_FLASHPAGE_PAGEWISE
|
||||||
select HAS_PERIPH_GPIO
|
select HAS_PERIPH_GPIO
|
||||||
select HAS_PERIPH_GPIO_IRQ
|
select HAS_PERIPH_GPIO_IRQ
|
||||||
select HAS_PERIPH_I2C
|
|
||||||
select HAS_PERIPH_SPI
|
|
||||||
select HAS_PERIPH_SPI_GPIO_MODE
|
|
||||||
select HAS_PERIPH_TIMER_PERIODIC
|
select HAS_PERIPH_TIMER_PERIODIC
|
||||||
select HAS_PERIPH_UART_MODECFG
|
select HAS_PERIPH_UART_MODECFG
|
||||||
select HAS_PERIPH_WDT
|
select HAS_PERIPH_WDT
|
||||||
|
@ -33,4 +33,14 @@ config MODULE_VDD_LC_FILTER_REG1
|
|||||||
help
|
help
|
||||||
Use the LC filter attached to the CPUs voltage regulator
|
Use the LC filter attached to the CPUs voltage regulator
|
||||||
|
|
||||||
|
config MODULE_PERIPH_UART_NONBLOCKING
|
||||||
|
depends on HAS_PERIPH_UART_NONBLOCKING
|
||||||
|
depends on MODULE_PERIPH_UART
|
||||||
|
select MODULE_TSRB
|
||||||
|
|
||||||
|
config MODULE_PERIPH_SPI
|
||||||
|
depends on HAS_PERIPH_SPI
|
||||||
|
select MODULE_PERIPH_GPIO_IRQ if CPU_MODEL_NRF52832XXAA && HAS_PERIPH_GPIO_IRQ
|
||||||
|
select MODULE_PERIPH_SPI_GPIO_MODE if MODULE_PERIPH_SPI && HAS_PERIPH_SPI_GPIO_MODE
|
||||||
|
|
||||||
endif # TEST_KCONFIG
|
endif # TEST_KCONFIG
|
||||||
|
Loading…
Reference in New Issue
Block a user