Skip to content

Commit

Permalink
renesas-ra/boards/WEACT_RA4M1_CORE: Add board profile.
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Leech <[email protected]>
  • Loading branch information
pi-anl committed Dec 14, 2024
1 parent 406bccc commit 9b339e5
Show file tree
Hide file tree
Showing 35 changed files with 2,474 additions and 0 deletions.
11 changes: 11 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/.settings/
/cmake/
/ra/
/script/
/src/
/.api_xml
/.secure_azone
/.secure_xml
/buildinfo.json
/memory_regions.ld
/ra_cfg.txt
15 changes: 15 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/board.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"deploy": [
"../deploy.md"
],
"docs": "",
"features": [],
"images": [
"ek_ra4m1_board.jpg"
],
"mcu": "ra4m1",
"product": "WEACT_RA4M1_CORE",
"thumbnail": "",
"url": "https://github.com/WeActStudio/WeActStudio.RA4M1_64Pin_CoreBoard",
"vendor": "WeAct Studio"
}
588 changes: 588 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/configuration.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/manifest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include("$(MPY_DIR)/extmod/asyncio")
72 changes: 72 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/mpconfigboard.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
// MCU config
#define MICROPY_HW_BOARD_NAME "WEACT_RA4M1_CORE"
#define MICROPY_HW_MCU_NAME "RA4M1"
#define MICROPY_HW_MCU_SYSCLK 48000000
#define MICROPY_HW_MCU_PCLK 48000000

// module config
// #define MICROPY_CONFIG_ROM_LEVEL (MICROPY_CONFIG_ROM_LEVEL_BASIC_FEATURES)
// #define MICROPY_ENABLE_FINALISER (1)

#define MICROPY_EMIT_THUMB (0)
#define MICROPY_EMIT_INLINE_THUMB (0)
#define MICROPY_PY_BUILTINS_COMPLEX (0)
#define MICROPY_PY_GENERATOR_PEND_THROW (0)
#define MICROPY_PY_MATH (0)
#define MICROPY_PY_HEAPQ (0)
#define MICROPY_PY_THREAD (0) // disable ARM_THUMB_FP using vldr due to RA has single float only

// peripheral config
#define MICROPY_HW_ENABLE_RTC (1)
#define MICROPY_HW_RTC_SOURCE (1) // 0: subclock, 1:LOCO (32.768khz)
#define MICROPY_HW_ENABLE_ADC (1)
#define MICROPY_HW_HAS_FLASH (1)
#define MICROPY_HW_ENABLE_USBDEV (1)
#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1)

// board config

// UART
// #define MICROPY_HW_UART0_TX (pin_P411)
// #define MICROPY_HW_UART0_RX (pin_P410)
// #define MICROPY_HW_UART1_TX (pin_P401) // PMOD B
// #define MICROPY_HW_UART1_RX (pin_P402) // PMOD B
// #define MICROPY_HW_UART1_CTS (pin_P403) // PMOD B
// #define MICROPY_HW_UART2_TX (pin_P302)
// #define MICROPY_HW_UART2_RX (pin_P301)
// #define MICROPY_HW_UART2_CTS (pin_P203) // (Conflict with SPI1)
#define MICROPY_HW_UART9_TX (pyb_pin_MBTX9) // REPL
#define MICROPY_HW_UART9_RX (pyb_pin_MBRX9) // REPL
#define MICROPY_HW_UART_REPL HW_UART_9
#define MICROPY_HW_UART_REPL_BAUD 115200

// I2C (not supported)
// #define MICROPY_HW_I2C0_SCL (pin_P204) // Conflict with SPI1
// #define MICROPY_HW_I2C0_SDA (pin_P407) // Conflict with USB_VBUS
// #define MICROPY_HW_I2C0_SCL (pin_P400) // Conflict with PMOD B (GPIO)
// #define MICROPY_HW_I2C0_SDA (pin_P401) // Conflict with PMOD B (TXD1)
// #define MICROPY_HW_I2C1_SCL (pin_P100) // Conflict with PMOD A (MISOA_A)
// #define MICROPY_HW_I2C1_SDA (pin_P101) // Conflict with PMOD A (MOSIA_A)

// SPI
// #define MICROPY_HW_SPI0_SSL (pin_P103) // PMOD A
// #define MICROPY_HW_SPI0_RSPCK (pin_P102) // PMOD A
// #define MICROPY_HW_SPI0_MISO (pin_P100) // PMOD A
// #define MICROPY_HW_SPI0_MOSI (pin_P101) // PMOD A
// #define MICROPY_HW_SPI1_SSL (pin_P206) // Use SSLB1 due to SSLB0 is used for TSCAP
// #define MICROPY_HW_SPI1_RSPCK (pin_P204) // Disable (vector not registered)
// #define MICROPY_HW_SPI1_MISO (pin_P202) // Disable (vector not registered)
// #define MICROPY_HW_SPI1_MOSI (pin_P203) // Disable (vector not registered)

// Switch
#define MICROPY_HW_HAS_SWITCH (1)
#define MICROPY_HW_USRSW_PIN (pyb_pin_USERSW)
#define MICROPY_HW_USRSW_PULL (MP_HAL_PIN_PULL_UP)
#define MICROPY_HW_USRSW_EXTI_MODE (MP_HAL_PIN_TRIGGER_FALLING)
#define MICROPY_HW_USRSW_PRESSED (0)

// LEDs
#define MICROPY_HW_LED1 (pyb_pin_LED1)
#define MICROPY_HW_LED_ON(pin) mp_hal_pin_high(pin)
#define MICROPY_HW_LED_OFF(pin) mp_hal_pin_low(pin)
#define MICROPY_HW_LED_TOGGLE(pin) mp_hal_pin_toggle(pin)
18 changes: 18 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/mpconfigboard.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
CMSIS_MCU = RA4M1
MCU_SERIES = m4
LD_FILES = boards/WEACT_RA4M1_CORE/ra4m1_ek.ld

# MicroPython settings
MICROPY_VFS_LFS2 = 1
MICROPY_VFS_FAT = 0
USE_FSP_LPM = 0

CFLAGS+=-DDEFAULT_DBG_CH=0 \
-DCFG_TUD_MAX_SPEED=OPT_MODE_FULL_SPEED \
-DCFG_TUSB_RHPORT0_MODE=OPT_MODE_DEVICE \
-DBOARD_TUD_MAX_SPEED=OPT_MODE_FULL_SPEED \
-DCFG_TUSB_MCU=OPT_MCU_RAXXX \
-DBOARD_TUD_RHPORT=0

# Don't include default frozen modules because MCU is tight on flash space
FROZEN_MANIFEST ?= boards/WEACT_RA4M1_CORE/manifest.py
62 changes: 62 additions & 0 deletions ports/renesas-ra/boards/WEACT_RA4M1_CORE/pins.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
P000,P000
P001,P001
P002,P002
P003,P003
P004,P004
VREF,P010
P011,P011
P012,P012
P013,P013
P014,P014
P015,P015
P100,P100
P101,P101
P102,P102
P103,P103
P104,P104
P105,P105
P106,P106
P107,P107
P109,P109
P110,P110
P111,P111
P112,P112
P113,P113
P200,P200
MD,P201
P204,P204
P205,P205
P206,P206
P301,P301
P302,P302
P303,P303
P304,P304
P400,P400
P401,P401
P402,P402
P408,P408
P409,P409
P410,P410
P411,P411
P500,P500
P501,P501
P502,P502
SWCLK,P300
SWDIO,P108
SWO,P109
TDI,P110
TSCAP,P112
MD,P201
USERSW,P013
BOOTSW,P201
MDSW,P201
LED1,P012
MBRX9,P110
MBTX9,P109
USBDP,P914
USBDM,P915
USB_VBUS,P407
VREFL,P013
VREFH,P012
VREFH0,P010
VREFL0,P011
Loading

0 comments on commit 9b339e5

Please sign in to comment.