boards: renesas: add support for mck_ra8t1 board
Initial commit for MCK-RA8T1 board Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com> Signed-off-by: Duy Phuong Hoang. Nguyen <duy.nguyen.xa@renesas.com>
This commit is contained in:
parent
356d331db5
commit
93f69cd8bc
11 changed files with 338 additions and 0 deletions
5
boards/renesas/mck_ra8t1/Kconfig.mck_ra8t1
Normal file
5
boards/renesas/mck_ra8t1/Kconfig.mck_ra8t1
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_MCK_RA8T1
|
||||||
|
select SOC_R7FA8T1AHECBD
|
6
boards/renesas/mck_ra8t1/board.cmake
Normal file
6
boards/renesas/mck_ra8t1/board.cmake
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board_runner_args(jlink "--device=R7FA8T1AH")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
5
boards/renesas/mck_ra8t1/board.yml
Normal file
5
boards/renesas/mck_ra8t1/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
board:
|
||||||
|
name: mck_ra8t1
|
||||||
|
vendor: renesas
|
||||||
|
socs:
|
||||||
|
- name: r7fa8t1ahecbd
|
178
boards/renesas/mck_ra8t1/doc/index.rst
Normal file
178
boards/renesas/mck_ra8t1/doc/index.rst
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
.. _mcb_ra8t1:
|
||||||
|
|
||||||
|
RA8T1 Evaluation Kit
|
||||||
|
####################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The **MCK-RA8T1** is a development kit that enables easy evaluation of motor control using permanent magnet synchronous
|
||||||
|
motors (brushless DC motors). More detailed information about the features of this toolkit and it's applications can be
|
||||||
|
found here: `MCK-RA8T1 Website`_
|
||||||
|
|
||||||
|
MCK-RA8T1 kit includes the items below:
|
||||||
|
|
||||||
|
- RA8T1 CPU board (`MCB-RA8T1`_)
|
||||||
|
- Inverter board (`MCI-LV-1`_)
|
||||||
|
- Communication board (`MC-COM`_)
|
||||||
|
- Permanent magnet synchronous motors
|
||||||
|
- Accessories (cables, standoffs, etc.)
|
||||||
|
|
||||||
|
.. figure:: mck-ra8t1-product-contents.jpg
|
||||||
|
:align: center
|
||||||
|
:alt: RA8T1 Evaluation Kit
|
||||||
|
|
||||||
|
MCK-RA8T1 product contents (Credit: Renesas Electronics Corporation)
|
||||||
|
|
||||||
|
**MCB-RA8T1** is a CPU board for motor control equipped with RA8T1. Motor control using RA8T1 can be easily realized by
|
||||||
|
using it in combination with a supported inverter board. The RA8T1 MCU can be evaluated using this board alone.
|
||||||
|
|
||||||
|
By using a supported communication board, the CPU board can be electrically isolated from the PC for safe motor control
|
||||||
|
evaluation and debugging.
|
||||||
|
|
||||||
|
The specifications of the CPU board are shown below:
|
||||||
|
|
||||||
|
**MCU specifications**
|
||||||
|
|
||||||
|
- 480MHz Arm Cortex-M85 based RA8T1 MCU in 224 pins, BGA package
|
||||||
|
- ROM/RAM size: 2MB/1MB
|
||||||
|
- MCU input clock: 24MHz (Generate with external crystal oscillator)
|
||||||
|
- Power supply: DC 5V, select one way automatically from the below:
|
||||||
|
|
||||||
|
- Power is supplied from compatible inverter board
|
||||||
|
- Power is supplied from USB connector
|
||||||
|
|
||||||
|
**Connector**
|
||||||
|
|
||||||
|
- Inverter board connector (2 pair)
|
||||||
|
- USB connector for J-Link OB
|
||||||
|
- USB connector for RA8T1
|
||||||
|
- SCI connector for Renesas Motor Workbench communication
|
||||||
|
- Through hole for CAN communication
|
||||||
|
- 20 pin through hole for Arm debugger
|
||||||
|
- Pmod connectors (Type6A + Type2A/3A)
|
||||||
|
- Ethrnet connector
|
||||||
|
- microSD card connector
|
||||||
|
|
||||||
|
.. figure:: ra8t1-cpu-board-block-diagram.jpg
|
||||||
|
:align: center
|
||||||
|
:alt: RA8T1 Evaluation Kit
|
||||||
|
|
||||||
|
CPU Board Layout (Credit: Renesas Electronics Corporation)
|
||||||
|
|
||||||
|
**Onboard debugger**
|
||||||
|
|
||||||
|
This product has the onboard debugger circuit, J-Link On-Board (hereinafter called “J-Link-OB”). You can
|
||||||
|
write a program (firmware) of RA8T1 with it.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
Detail Hardware feature for the RA8T1 MCU group can be found at `RA8T1 Group User's Manual Hardware`_
|
||||||
|
|
||||||
|
.. figure:: ra8t1-block-diagram.png
|
||||||
|
:width: 442px
|
||||||
|
:align: center
|
||||||
|
:alt: RA8T1 MCU group feature
|
||||||
|
|
||||||
|
RA8T1 Block diagram (Credit: Renesas Electronics Corporation)
|
||||||
|
|
||||||
|
Detail Hardware feature for the MCB-RA8T1 board can be found at `MCB-RA8T1 - User's Manual`_
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The below features are currently supported on Zephyr OS for MCB-RA8T1 board:
|
||||||
|
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+==============+============+======================+
|
||||||
|
| GPIO | on-chip | gpio |
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
| MPU | on-chip | arch/arm |
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
| NVIC | on-chip | arch/arm |
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
| UART | on-chip | serial |
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
| CLOCK | on-chip | clock control |
|
||||||
|
+--------------+------------+----------------------+
|
||||||
|
|
||||||
|
Other hardware features are currently not supported by the port.
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
Applications for the ``mcb_ra8t1`` board configuration can be
|
||||||
|
built, flashed, and debugged in the usual way. See
|
||||||
|
:ref:`build_an_application` and :ref:`application_run` for more details on
|
||||||
|
building and running.
|
||||||
|
|
||||||
|
**Note:** Only support from SDK v0.16.6 in which GCC for Cortex Arm-M85 was available.
|
||||||
|
To build for EK-RA8M1 user need to get and install GNU Arm Embedded toolchain from https://github.com/zephyrproject-rtos/sdk-ng/releases/tag/v0.16.6
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
Program can be flashed to MCB-RA8T1 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 `MCB-RA8T1 - User's Manual`_
|
||||||
|
|
||||||
|
3. Execute west command
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
west flash -r jlink
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
=========
|
||||||
|
|
||||||
|
You can use Segger Ozone (`Segger Ozone Download`_) for a visual debug interface
|
||||||
|
|
||||||
|
Once downloaded and installed, open Segger Ozone and configure the debug project
|
||||||
|
like so:
|
||||||
|
|
||||||
|
* Target Device: R7FA8T1AH
|
||||||
|
* Target Interface: SWD
|
||||||
|
* Target Interface Speed: 4 MHz
|
||||||
|
* Host Interface: USB
|
||||||
|
* Program File: <path/to/your/build/zephyr.elf>
|
||||||
|
|
||||||
|
**Note:** It's verified that debug is OK on Segger Ozone v3.30d so please use this or later
|
||||||
|
version of Segger Ozone
|
||||||
|
|
||||||
|
References
|
||||||
|
**********
|
||||||
|
- `MCB-RA8T1 Website`_
|
||||||
|
- `RA8T1 MCU group Website`_
|
||||||
|
|
||||||
|
.. _MCB-RA8T1 Website:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/rtk0ema5k0c00000bj-mcb-ra8t1-cpu-board-ra8t1-mcu-group
|
||||||
|
|
||||||
|
.. _RA8T1 MCU group Website:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra8t1-480-mhz-arm-cortex-m85-based-motor-control-microcontroller-helium-and-trustzone
|
||||||
|
|
||||||
|
.. _MCB-RA8T1 - User's Manual:
|
||||||
|
https://www.renesas.com/us/en/document/mat/mcb-ra8t1-users-manual?r=25466356
|
||||||
|
|
||||||
|
.. _RA8T1 Group User's Manual Hardware:
|
||||||
|
https://www.renesas.com/us/en/document/mah/ra8t1-group-users-manual-hardware?r=25463106
|
||||||
|
|
||||||
|
.. _Segger Ozone Download:
|
||||||
|
https://www.segger.com/downloads/jlink#Ozone
|
||||||
|
|
||||||
|
.. _MCK-RA8T1 Website:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/rtk0ema5k0s00020bj-mck-ra8t1-renesas-flexible-motor-control-kit-ra8t1-mcu-group
|
||||||
|
|
||||||
|
.. _MCB-RA8T1:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/rtk0ema5k0c00000bj-mcb-ra8t1-cpu-board-ra8t1-mcu-group
|
||||||
|
|
||||||
|
.. _MCI-LV-1:
|
||||||
|
https://www.renesas.com/us/en/products/power-power-management/fet-motor-drivers/rtk0em0000s04020bj-mci-lv-1-renesas-flexible-motor-control-inverter-board-low-voltage-48v10a-three-phase-bldcpmsm-motor
|
||||||
|
|
||||||
|
.. _MC-COM:
|
||||||
|
https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rtk0emxc90s00000bj-mc-com-renesas-flexible-motor-control-communication-board
|
BIN
boards/renesas/mck_ra8t1/doc/mck-ra8t1-product-contents.jpg
Normal file
BIN
boards/renesas/mck_ra8t1/doc/mck-ra8t1-product-contents.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
BIN
boards/renesas/mck_ra8t1/doc/ra8t1-block-diagram.png
Normal file
BIN
boards/renesas/mck_ra8t1/doc/ra8t1-block-diagram.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 89 KiB |
BIN
boards/renesas/mck_ra8t1/doc/ra8t1-cpu-board-block-diagram.jpg
Normal file
BIN
boards/renesas/mck_ra8t1/doc/ra8t1-cpu-board-block-diagram.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 74 KiB |
18
boards/renesas/mck_ra8t1/mck_ra8t1-pinctrl.dtsi
Normal file
18
boards/renesas/mck_ra8t1/mck_ra8t1-pinctrl.dtsi
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
sci3_default: sci3_default {
|
||||||
|
group1 {
|
||||||
|
/* tx */
|
||||||
|
psels = <RA_PSEL(RA_PSEL_SCI_3, 3, 10)>;
|
||||||
|
drive-strength = "medium";
|
||||||
|
};
|
||||||
|
group2 {
|
||||||
|
/* rx */
|
||||||
|
psels = <RA_PSEL(RA_PSEL_SCI_3, 3, 9)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
95
boards/renesas/mck_ra8t1/mck_ra8t1.dts
Normal file
95
boards/renesas/mck_ra8t1/mck_ra8t1.dts
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <renesas/ra/ra8/r7fa8t1ahecbd.dtsi>
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
#include "mck_ra8t1-pinctrl.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Renesas MCK-RA8T1";
|
||||||
|
compatible = "renesas,ra8t1", "renesas,ra8";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,console = &uart3;
|
||||||
|
zephyr,shell-uart = &uart3;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
led1: led1 {
|
||||||
|
gpios = <&ioporta 12 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED1";
|
||||||
|
};
|
||||||
|
led2: led2 {
|
||||||
|
gpios = <&ioporta 14 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED2";
|
||||||
|
};
|
||||||
|
led3: led3 {
|
||||||
|
gpios = <&ioport6 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED3";
|
||||||
|
};
|
||||||
|
led4: led4 {
|
||||||
|
gpios = <&ioporta 6 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "LED4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &led1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&xtal {
|
||||||
|
clock-frequency = <DT_FREQ_M(24)>;
|
||||||
|
mosel = <0>;
|
||||||
|
#clock-cells = <0>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&subclk {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pll {
|
||||||
|
source = <RA_PLL_SOURCE_MAIN_OSC>;
|
||||||
|
div = <RA_PLL_DIV_2>;
|
||||||
|
mul = <80 0>;
|
||||||
|
divp = <RA_PLL_DIV_2>;
|
||||||
|
freqp = <DT_FREQ_M(480)>;
|
||||||
|
divq = <RA_PLL_DIV_2>;
|
||||||
|
freqq = <DT_FREQ_M(480)>;
|
||||||
|
divr = <RA_PLL_DIV_2>;
|
||||||
|
freqr = <DT_FREQ_M(480)>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sciclk {
|
||||||
|
clk_src = <RA_CLOCK_SOURCE_PLL1P>;
|
||||||
|
clk_div = <RA_SCI_CLOCK_DIV_4>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ioport6 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&ioporta {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&sci3 {
|
||||||
|
pinctrl-0 = <&sci3_default>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
uart3: uart {
|
||||||
|
current-speed = <115200>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
12
boards/renesas/mck_ra8t1/mck_ra8t1.yaml
Normal file
12
boards/renesas/mck_ra8t1/mck_ra8t1.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
identifier: mck_ra8t1
|
||||||
|
name: Renesas MCK-RA8T1
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
ram: 1024
|
||||||
|
flash: 2048
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- uart
|
19
boards/renesas/mck_ra8t1/mck_ra8t1_defconfig
Normal file
19
boards/renesas/mck_ra8t1/mck_ra8t1_defconfig
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Copyright (c) 2024 Renesas Electronics Corporation
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=480000000
|
||||||
|
|
||||||
|
# Enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
CONFIG_PINCTRL=y
|
||||||
|
|
||||||
|
# Enable Console
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_UART_CONSOLE=y
|
||||||
|
CONFIG_UART_INTERRUPT_DRIVEN=y
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
|
||||||
|
CONFIG_BUILD_OUTPUT_HEX=y
|
||||||
|
CONFIG_BUILD_NO_GAP_FILL=y
|
Loading…
Add table
Add a link
Reference in a new issue