forked from hathach/tinyusb
-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added new bootloader board type "opta_expansion"
This board is for opta expansion (it is just a copy of uno_r4 with 1 change -> it does not use the USB_LDO)
- Loading branch information
Showing
9 changed files
with
257 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
set(CMAKE_SYSTEM_PROCESSOR cortex-m4 CACHE INTERNAL "System Processor") | ||
set(MCU_VARIANT ra4m1) | ||
|
||
set(JLINK_DEVICE R7FA4M1AB) | ||
set(LD_FILE_GNU ${CMAKE_CURRENT_LIST_DIR}/${BOARD}.ld) | ||
|
||
function(update_board TARGET) | ||
# target_compile_definitions(${TARGET} PUBLIC) | ||
# target_sources(${TARGET} PRIVATE) | ||
# target_include_directories(${BOARD_TARGET} PUBLIC) | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
/* | ||
* The MIT License (MIT) | ||
* | ||
* Copyright (c) 2023 Ha Thach (tinyusb.org) | ||
* | ||
* Permission is hereby granted, free of charge, to any person obtaining a copy | ||
* of this software and associated documentation files (the "Software"), to deal | ||
* in the Software without restriction, including without limitation the rights | ||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
* copies of the Software, and to permit persons to whom the Software is | ||
* furnished to do so, subject to the following conditions: | ||
* | ||
* The above copyright notice and this permission notice shall be included in | ||
* all copies or substantial portions of the Software. | ||
* | ||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
* THE SOFTWARE. | ||
* | ||
* This file is part of the TinyUSB stack. | ||
*/ | ||
|
||
#ifndef _BOARD_H_ | ||
#define _BOARD_H_ | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#define LED1 BSP_IO_PORT_01_PIN_11 // D13 | ||
#define LED_STATE_ON 1 | ||
|
||
#define SW1 BSP_IO_PORT_01_PIN_10 // D12 | ||
#define BUTTON_STATE_ACTIVE 0 | ||
|
||
static const ioport_pin_cfg_t board_pin_cfg[] = { | ||
{.pin = LED1, .pin_cfg = IOPORT_CFG_PORT_DIRECTION_OUTPUT}, | ||
{.pin = SW1, .pin_cfg = IOPORT_CFG_PORT_DIRECTION_INPUT}, | ||
// USB FS D+, D-, VBus | ||
{.pin = BSP_IO_PORT_04_PIN_07, .pin_cfg = IOPORT_CFG_PERIPHERAL_PIN | IOPORT_PERIPHERAL_USB_FS}, | ||
{.pin = BSP_IO_PORT_09_PIN_14, .pin_cfg = IOPORT_CFG_PERIPHERAL_PIN | IOPORT_PERIPHERAL_USB_FS}, | ||
{.pin = BSP_IO_PORT_09_PIN_15, .pin_cfg = IOPORT_CFG_PERIPHERAL_PIN | IOPORT_PERIPHERAL_USB_FS}, | ||
}; | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
CPU_CORE = cortex-m4 | ||
MCU_VARIANT = ra4m1 | ||
|
||
LD_FILE = ${BOARD_PATH}/${BOARD}.ld | ||
|
||
# For flash-jlink target | ||
JLINK_DEVICE = R7FA4M1AB | ||
|
||
flash: flash-jlink |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
/* generated configuration header file - do not edit */ | ||
#ifndef BSP_CFG_H_ | ||
#define BSP_CFG_H_ | ||
|
||
#include "bsp_clock_cfg.h" | ||
#include "bsp_mcu_family_cfg.h" | ||
#include "board_cfg.h" | ||
|
||
#undef RA_NOT_DEFINED | ||
#define BSP_CFG_RTOS (0) | ||
#if defined(_RA_BOOT_IMAGE) | ||
#define BSP_CFG_BOOT_IMAGE (1) | ||
#endif | ||
#define BSP_CFG_MCU_VCC_MV (3300) | ||
#define BSP_CFG_STACK_MAIN_BYTES (0x800) | ||
#define BSP_CFG_HEAP_BYTES (0x1000) | ||
#define BSP_CFG_PARAM_CHECKING_ENABLE (1) | ||
#define BSP_CFG_ASSERT (0) | ||
#define BSP_CFG_ERROR_LOG (0) | ||
|
||
#define BSP_CFG_PFS_PROTECT ((1)) | ||
|
||
#define BSP_CFG_C_RUNTIME_INIT ((1)) | ||
#define BSP_CFG_EARLY_INIT ((0)) | ||
|
||
#define BSP_CFG_STARTUP_CLOCK_REG_NOT_RESET ((0)) | ||
|
||
#define BSP_CLOCK_CFG_MAIN_OSC_POPULATED (0) | ||
|
||
#define BSP_CLOCK_CFG_MAIN_OSC_CLOCK_SOURCE (0) | ||
#define BSP_CLOCK_CFG_SUBCLOCK_DRIVE (0) | ||
#define BSP_CLOCK_CFG_SUBCLOCK_POPULATED (0) | ||
#define BSP_CLOCK_CFG_SUBCLOCK_STABILIZATION_MS 1000 | ||
|
||
#endif /* BSP_CFG_H_ */ |
5 changes: 5 additions & 0 deletions
5
hw/bsp/ra/boards/opta_expansion/fsp_cfg/bsp/bsp_mcu_device_cfg.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
/* generated configuration header file - do not edit */ | ||
#ifndef BSP_MCU_DEVICE_CFG_H_ | ||
#define BSP_MCU_DEVICE_CFG_H_ | ||
#define BSP_CFG_MCU_PART_SERIES (4) | ||
#endif /* BSP_MCU_DEVICE_CFG_H_ */ |
11 changes: 11 additions & 0 deletions
11
hw/bsp/ra/boards/opta_expansion/fsp_cfg/bsp/bsp_mcu_device_pn_cfg.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
/* generated configuration header file - do not edit */ | ||
#ifndef BSP_MCU_DEVICE_PN_CFG_H_ | ||
#define BSP_MCU_DEVICE_PN_CFG_H_ | ||
#define BSP_MCU_R7FA4M1AB3CNE | ||
#define BSP_MCU_FEATURE_SET ('A') | ||
#define BSP_ROM_SIZE_BYTES (262144) | ||
#define BSP_RAM_SIZE_BYTES (32768) | ||
#define BSP_DATA_FLASH_SIZE_BYTES (8192) | ||
#define BSP_PACKAGE_QFN | ||
#define BSP_PACKAGE_PINS (48) | ||
#endif /* BSP_MCU_DEVICE_PN_CFG_H_ */ |
87 changes: 87 additions & 0 deletions
87
hw/bsp/ra/boards/opta_expansion/fsp_cfg/bsp/bsp_mcu_family_cfg.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* generated configuration header file through renesas e2 studio */ | ||
#ifndef BSP_MCU_FAMILY_CFG_H_ | ||
#define BSP_MCU_FAMILY_CFG_H_ | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#include "bsp_mcu_device_pn_cfg.h" | ||
#include "bsp_mcu_device_cfg.h" | ||
#include "bsp_mcu_info.h" | ||
#include "bsp_clock_cfg.h" | ||
|
||
#define BSP_MCU_GROUP_RA4M1 (1) | ||
#define BSP_LOCO_HZ (32768) | ||
#define BSP_MOCO_HZ (8000000) | ||
#define BSP_SUB_CLOCK_HZ (32768) | ||
#if BSP_CFG_HOCO_FREQUENCY == 0 | ||
#define BSP_HOCO_HZ (24000000) | ||
#elif BSP_CFG_HOCO_FREQUENCY == 2 | ||
#define BSP_HOCO_HZ (32000000) | ||
#elif BSP_CFG_HOCO_FREQUENCY == 4 | ||
#define BSP_HOCO_HZ (48000000) | ||
#elif BSP_CFG_HOCO_FREQUENCY == 5 | ||
#define BSP_HOCO_HZ (64000000) | ||
#else | ||
#error "Invalid HOCO frequency chosen (BSP_CFG_HOCO_FREQUENCY) in bsp_clock_cfg.h" | ||
#endif | ||
#define BSP_CORTEX_VECTOR_TABLE_ENTRIES (16U) | ||
#define BSP_VECTOR_TABLE_MAX_ENTRIES (48U) | ||
#define BSP_MCU_VBATT_SUPPORT (1) | ||
|
||
#define OFS_SEQ1 0xA001A001 | (1 << 1) | (3 << 2) | ||
#define OFS_SEQ2 (15 << 4) | (3 << 8) | (3 << 10) | ||
#define OFS_SEQ3 (1 << 12) | (1 << 14) | (1 << 17) | ||
#define OFS_SEQ4 (3 << 18) |(15 << 20) | (3 << 24) | (3 << 26) | ||
#define OFS_SEQ5 (1 << 28) | (1 << 30) | ||
#define BSP_CFG_ROM_REG_OFS0 (OFS_SEQ1 | OFS_SEQ2 | OFS_SEQ3 | OFS_SEQ4 | OFS_SEQ5) | ||
#define BSP_CFG_ROM_REG_OFS1 (0xFFFFFEC3 | (1 << 2) | (3 << 3) | (0 << 8)) | ||
#define BSP_CFG_USE_LOW_VOLTAGE_MODE ((0)) | ||
#define BSP_CFG_ROM_REG_MPU_PC0_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_PC0_START (0x00FFFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_PC0_END (0x00FFFFFF) | ||
#define BSP_CFG_ROM_REG_MPU_PC1_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_PC1_START (0x00FFFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_PC1_END (0x00FFFFFF) | ||
#define BSP_CFG_ROM_REG_MPU_REGION0_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_REGION0_START (0x00FFFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_REGION0_END (0x00FFFFFF) | ||
#define BSP_CFG_ROM_REG_MPU_REGION1_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_REGION1_START (0x200FFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_REGION1_END (0x200FFFFF) | ||
#define BSP_CFG_ROM_REG_MPU_REGION2_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_REGION2_START (0x407FFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_REGION2_END (0x407FFFFF) | ||
#define BSP_CFG_ROM_REG_MPU_REGION3_ENABLE (1) | ||
#define BSP_CFG_ROM_REG_MPU_REGION3_START (0x400DFFFC) | ||
#define BSP_CFG_ROM_REG_MPU_REGION3_END (0x400DFFFF) | ||
#ifndef BSP_CLOCK_CFG_MAIN_OSC_WAIT | ||
#define BSP_CLOCK_CFG_MAIN_OSC_WAIT (9) | ||
#endif | ||
/* Used to create IELS values for the interrupt initialization table g_interrupt_event_link_select. */ | ||
#define BSP_PRV_IELS_ENUM(vector) (ELC_ ## vector) | ||
|
||
/* | ||
ID Code | ||
Note: To permanently lock and disable the debug interface define the BSP_ID_CODE_PERMANENTLY_LOCKED in the compiler settings. | ||
WARNING: This will disable debug access to the part and cannot be reversed by a debug probe. | ||
*/ | ||
#if defined(BSP_ID_CODE_PERMANENTLY_LOCKED) | ||
#define BSP_CFG_ID_CODE_LONG_1 (0x00000000) | ||
#define BSP_CFG_ID_CODE_LONG_2 (0x00000000) | ||
#define BSP_CFG_ID_CODE_LONG_3 (0x00000000) | ||
#define BSP_CFG_ID_CODE_LONG_4 (0x00000000) | ||
#else | ||
/* ID CODE: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF */ | ||
#define BSP_CFG_ID_CODE_LONG_1 (0xFFFFFFFF) | ||
#define BSP_CFG_ID_CODE_LONG_2 (0xFFFFFFFF) | ||
#define BSP_CFG_ID_CODE_LONG_3 (0xFFFFFFFF) | ||
#define BSP_CFG_ID_CODE_LONG_4 (0xffFFFFFF) | ||
#endif | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* BSP_MCU_FAMILY_CFG_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* generated configuration header file - do not edit */ | ||
#ifndef BSP_CLOCK_CFG_H_ | ||
#define BSP_CLOCK_CFG_H_ | ||
#define BSP_CFG_CLOCKS_SECURE (0) | ||
#define BSP_CFG_CLOCKS_OVERRIDE (0) | ||
#define BSP_CFG_XTAL_HZ (0) /* XTAL 0Hz */ | ||
#define BSP_CFG_PLL_SOURCE (BSP_CLOCKS_CLOCK_DISABLED) /* PLL Src: XTAL */ | ||
#define BSP_CFG_HOCO_FREQUENCY (4) /* HOCO 48MHz */ | ||
#define BSP_CFG_PLL_DIV (BSP_CLOCKS_PLL_DIV_4) /* PLL Div /4 */ | ||
#define BSP_CFG_PLL_MUL BSP_CLOCKS_PLL_MUL(12, 0) /* PLL Mul x12 */ | ||
#define BSP_CFG_CLOCK_SOURCE (BSP_CLOCKS_SOURCE_CLOCK_HOCO) /* Clock Src: HOCO */ | ||
#define BSP_CFG_ICLK_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_1) /* ICLK Div /1 */ | ||
#define BSP_CFG_PCLKA_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_1) /* PCLKA Div /1 */ | ||
#define BSP_CFG_PCLKB_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_2) /* PCLKB Div /2 */ | ||
#define BSP_CFG_PCLKC_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_1) /* PCLKC Div /1 */ | ||
#define BSP_CFG_PCLKD_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_1) /* PCLKD Div /1 */ | ||
#define BSP_CFG_FCLK_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_2) /* FCLK Div /2 */ | ||
#define BSP_CFG_CLKOUT_SOURCE (BSP_CLOCKS_CLOCK_DISABLED) /* CLKOUT Src: SUBCLK */ | ||
#define BSP_CFG_CLKOUT_DIV (BSP_CLOCKS_SYS_CLOCK_DIV_1) /* CLKOUT Div /1 */ | ||
#define BSP_CFG_UCK_SOURCE (BSP_CLOCKS_SOURCE_CLOCK_HOCO) /* UCLK Src: HOCO */ | ||
#endif /* BSP_CLOCK_CFG_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
RAM_START = 0x20000000; | ||
RAM_LENGTH = 0x8000; | ||
FLASH_START = 0x00000000; | ||
FLASH_LENGTH = 0x40000; | ||
DATA_FLASH_START = 0x40100000; | ||
DATA_FLASH_LENGTH = 0x2000; | ||
OPTION_SETTING_START = 0x00000000; | ||
OPTION_SETTING_LENGTH = 0x0; | ||
OPTION_SETTING_S_START = 0x80000000; | ||
OPTION_SETTING_S_LENGTH = 0x0; | ||
ID_CODE_START = 0x01010018; | ||
ID_CODE_LENGTH = 0x20; | ||
SDRAM_START = 0x80010000; | ||
SDRAM_LENGTH = 0x0; | ||
QSPI_FLASH_START = 0x60000000; | ||
QSPI_FLASH_LENGTH = 0x0; | ||
OSPI_DEVICE_0_START = 0x80020000; | ||
OSPI_DEVICE_0_LENGTH = 0x0; | ||
OSPI_DEVICE_1_START = 0x80030000; | ||
OSPI_DEVICE_1_LENGTH = 0x0; | ||
|
||
/* Uno R4 has bootloader */ | ||
FLASH_IMAGE_START = 0x4000; | ||
|
||
INCLUDE fsp.ld |