boards: realtek: Add rts5912_evb board

Add support for Realtek rts5912_evb board

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
This commit is contained in:
Lin Yu-Cheng 2024-11-23 08:23:08 +08:00 committed by Benjamin Cabé
commit 7762d3ea2b
10 changed files with 199 additions and 0 deletions

10
boards/realtek/index.rst Normal file
View file

@ -0,0 +1,10 @@
.. _boards-realtek:
Realtek
#######
.. toctree::
:maxdepth: 1
:glob:
**/*

View file

@ -0,0 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#
config BOARD_RTS5912_EVB
select SOC_RTS5912

View file

@ -0,0 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)

View file

@ -0,0 +1,5 @@
board:
name: rts5912_evb
vendor: realtek
socs:
- name: rts5912

View file

@ -0,0 +1,93 @@
.. _rts5912_evb:
Realtek RTS5912 Evaluation Board
################################
Overview
********
The RTS5912 EVB is a development platform to evaluate the Realtek RTS5912 embedded controller.
.. figure:: rts5912evb.webp
:width: 800px
:align: center
:alt: RTS5912-GR EVB
Hardware
********
- Realtek-M300 Processor (compatible to Cortex-M33)
- Memory:
- 384 KB SRAM
- 64 KB ROM
- 512 KB Flash(MCM)
- 256 B Battery SRAM
- PECI interface 3.1
- FAN, PWM and TACHO pins
- 6x I2C instances
- eSPI header
- 1x PS/2 ports
- Keyboard interface headers
For more information about the evb board please see `RTS5912_EVB_Schematics`_ and `RTS5912_DATASHEET`_
The board is powered through the +5V USB Type-C connector or adaptor.
Supported Features
==================
The ``rts5912_evb`` supports the following hardware features:
+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component |
+===========+============+=====================================+
| NVIC | on-chip | nested vector interrupt controller |
+-----------+------------+-------------------------------------+
| UART | on-chip | serial |
+-----------+------------+-------------------------------------+
| GPIO | on-chip | gpio |
+-----------+------------+-------------------------------------+
| PINCTRL | on-chip | pinctrl |
+-----------+------------+-------------------------------------+
| SCCON | on-chip | clock_control |
+-----------+------------+-------------------------------------+
| RTMR | on-chip | timer |
+-----------+------------+-------------------------------------+
Other hardware features are not currently supported by Zephyr.
Programming and Debugging
*************************
Building
========
#. Build :zephyr:code-sample:`hello_world` application as you would normally do.
#. The file ``zephyr.rts5912.bin`` will be created if the build system can build successfully.
This binary image can be found under file "build/zephyr/".
Flashing
========
#. Connect Dediprog into header ``J81`` and ``J82``.
#. Use Dediprog SF600 programmer to write the binary into the external flash ``U10`` at the address 0x0.
#. Power off the board.
#. Set the strap pin ``GPIO108`` to high and power on the board.
Debugging
=========
Using SWD or JTAG with ULINPRO.
References
**********
.. target-notes::
.. _RTS5912_EVB_Schematics:
https://github.com/JasonLin-RealTek/Realtek_EC/blob/main/RTS5912_EVB_Schematic_Ver%201.1_20240701_1407.pdf
.. _RTS5912_DATASHEET:
https://github.com/JasonLin-RealTek/Realtek_EC/blob/main/RTS5912_datasheet_brief.pdf

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View file

@ -0,0 +1,36 @@
/*
* SPDX-License-Identifier: Apache-2.0
*
* Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
*
*/
/dts-v1/;
#include <realtek/ec/rts5912.dtsi>
#include <realtek/ec/rts5912-pinctrl.dtsi>
#include <zephyr/dt-bindings/gpio/gpio.h>
/ {
model = "Realtek RTS5912 Evaluation Board";
compatible = "realtek,rts5912-evb";
chosen {
zephyr,sram = &sram0;
zephyr,console = &uart0;
zephyr,flash = &flash0;
};
};
&uart0 {
status = "okay";
current-speed = <115200>;
};
&uart0_wrapper {
status = "okay";
pinctrl-0 = <&uart_rx_gpio113 &uart_tx_gpio114>;
pinctrl-names = "default";
};
&swj_port {
status = "okay";
};

View file

@ -0,0 +1,19 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#
identifier: rts5912_evb
name: RTS5912-EVB
type: mcu
arch: arm
toolchain:
- zephyr
- gnuarmemb
- xtools
ram: 64
flash: 320
supported:
- gpio
- pinmux
vendor: realtek

View file

@ -0,0 +1,19 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#
# Enable RTS5912 image tool
CONFIG_REALTEK_RTS5912_BOOTROM_HEADER=y
# Serial Driver
CONFIG_SERIAL=y
CONFIG_UART_NS16550=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
# Enable GPIO
CONFIG_GPIO=y