Skip to content

boards: renesas: Add support Renesas ek_ra4c1 board #94074

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions boards/renesas/ek_ra4c1/Kconfig.ek_ra4c1
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

config BOARD_EK_RA4C1
select SOC_R7FA4C1BD3CFP
6 changes: 6 additions & 0 deletions boards/renesas/ek_ra4c1/board.cmake
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please try to add pyocd runner support for this board. Thank you!

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Copyright (c) 2025 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

board_runner_args(jlink "--device=R7FA4C1BD")

include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
6 changes: 6 additions & 0 deletions boards/renesas/ek_ra4c1/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
board:
name: ek_ra4c1
full_name: RA4C1 Evaluation Kit
vendor: renesas
socs:
- name: r7fa4c1bd3cfp
Binary file added boards/renesas/ek_ra4c1/doc/ek_ra4c1.webp
Binary file not shown.
123 changes: 123 additions & 0 deletions boards/renesas/ek_ra4c1/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
.. zephyr:board:: ek_ra4c1

Overview
********

The EK-RA4C1, an Evaluation Kit for the RA4 Series, enables users to seamlessly evaluate
the features of the RA4C1 MCU group and develop embedded systems applications using
Flexible Software Package (FSP) and the e2 studio IDE. The users can use rich on-board
features along with their choice of popular ecosystems add-ons to bring their big ideas to life.

The key features of the EK-RA4C1 board are categorized in three groups (consistent with
the architecture of the kit) as follows:

**Renesas RA4C1 Microcontroller Group**

- R7FA4C1BD3CFP MCU (referred to as RA MCU)
- 80 MHz, Arm® Cortex®-M33 core
- 512 KB Code Flash, 96 KB SRAM
- 100 pins, LQFP package
- Native pin access through 3 x 26-pin headers (not populated)
- Tamper Detection embedded into J4
- Segment LCD Board Interface
- MCU current measurement points for precision current consumption measurement
- Multiple clock sources – RA MCU oscillator and sub-clock oscillator crystals,
providing precision 8.000 MHz and 32,768 Hz reference clocks. Additional low-precision
clocks are available internal to the RA MCU

**System Control and Ecosystem Access**

- Two 5 V input sources

- USB (Debug)
- External Power Supply 2-pin header (not populated)

- Three Debug modes

- Debug on-board (SWD)
- Debug in (SWD)
- Debug out (SWD, SWO and JTAG)

- User LEDs and buttons

- Three User LEDs (red, blue, green)
- Power LED (white) indicating availability of regulated power
- Debug LED (yellow) indicating the debug connection
- Two User buttons
- One Reset button

- Five most popular ecosystems expansions

- Two Seeed Grove® system (I2C/Analog) connectors (not populated)
- SparkFun® Qwiic® connector (not populated)
- Two Digilent PmodTM (SPI, UART and I2C) connectors
- Arduino™ (UNO R3) connector
- MikroElektronikaTM mikroBUS connector (not populated)

- MCU boot configuration jumper
- Low Voltage Mode voltage input and operation

**Special Feature Access**
- 32 MB (256 Mb) External Quad-SPI Flash
- CAN-FD (3-pin header)
- External Battery Connector
- Configuration Switch

Hardware
********

Detailed hardware features can be found at:
- RA4C1 MCU: `RA4C1 Group User's Manual Hardware`_
- EK-RA4C1 board: `EK-RA4C1 - User's Manual`_

Supported Features
==================

.. zephyr:board-supported-hw::

.. note::

Other hardware features are currently not supported by the port.

Programming and Debugging
*************************

Applications for the ``ek_ra4c1`` board target configuration can be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Applications for the ``ek_ra4c1`` board target configuration can be
Applications for the ``ek_ra4c1`` board can be

or did this get removed, can't remember @kartben

built, flashed, and debugged in the usual way. See
:ref:`build_an_application` and :ref:`application_run` for more details on
building and running.

Flashing
========

Program can be flashed to EK-RA4C1 via the on-board SEGGER J-Link debugger.
SEGGER J-link's drivers are avaialbe at https://www.segger.com/downloads/jlink/

To flash the program to board

1. Connect to J-Link OB via USB port to host PC

2. Make sure J-Link OB jumper is in default configuration as describe in `EK-RA4C1 - User's Manual`_

3. Execute west command

.. code-block:: console

west flash -r jlink

References
**********
- `EK-RA4C1 Website`_
- `RA4C1 MCU group Website`_

.. _EK-RA4C1 Website:
http://www.renesas.com/ek-ra4c1

.. _RA4C1 MCU group Website:
http://www.renesas.com/ra4c1

.. _EK-RA4C1 - User's Manual:
https://www.renesas.com/us/en/document/mat/ek-ra4c1-v1-users-manual

.. _RA4C1 Group User's Manual Hardware:
https://www.renesas.com/us/en/document/man/ra4c1-group-users-manual-hardware
58 changes: 58 additions & 0 deletions boards/renesas/ek_ra4c1/ek_ra4c1-pinctrl.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* Copyright (c) 2025 Renesas Electronics Corporation
* SPDX-License-Identifier: Apache-2.0
*/

&pinctrl {
sci4_default: sci4_default {
group1 {
/* tx rx */
psels = <RA_PSEL(RA_PSEL_SCI_0, 2, 7)>,
<RA_PSEL(RA_PSEL_SCI_0, 2, 6)>;
};
};

spi0_default: spi0_default {
group1 {
/* MISO MOSI RSPCK SSL */
psels = <RA_PSEL(RA_PSEL_SPI, 1, 10)>,
<RA_PSEL(RA_PSEL_SPI, 1, 9)>,
<RA_PSEL(RA_PSEL_SPI, 1, 11)>,
<RA_PSEL(RA_PSEL_SPI, 1, 12)>;
Comment on lines +18 to +21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tab indentation should be consistent throughout this file. Please check other items in this file.

Suggested change
psels = <RA_PSEL(RA_PSEL_SPI, 1, 10)>,
<RA_PSEL(RA_PSEL_SPI, 1, 9)>,
<RA_PSEL(RA_PSEL_SPI, 1, 11)>,
<RA_PSEL(RA_PSEL_SPI, 1, 12)>;
psels = <RA_PSEL(RA_PSEL_SPI, 1, 10)>,
<RA_PSEL(RA_PSEL_SPI, 1, 9)>,
<RA_PSEL(RA_PSEL_SPI, 1, 11)>,
<RA_PSEL(RA_PSEL_SPI, 1, 12)>;

};
};

adc0_default: adc0_default {
group1 {
/* input */
psels = <RA_PSEL(RA_PSEL_ADC, 0, 2)>;
renesas,analog-enable;
};
};

pwm4_default: pwm4_default {
group1 {
/* GTIOC4A GTIOC4B */
psels = <RA_PSEL(RA_PSEL_GPT1, 3, 2)>,
<RA_PSEL(RA_PSEL_GPT1, 3, 1)>;
};
};

iic1_default: iic1_default {
group1 {
/* SCL1 SDA1 */
psels = <RA_PSEL(RA_PSEL_I2C, 4, 0)>,
<RA_PSEL(RA_PSEL_I2C, 4, 1)>;
drive-strength = "medium";
};
};

canfd0_default: canfd0_default {
group1 {
/* CRX0 CTX0 */
psels = <RA_PSEL(RA_PSEL_CANFD, 1, 3)>,
<RA_PSEL(RA_PSEL_CANFD, 1, 2)>;
drive-strength = "high";
};
};
};
Loading
Loading