Skip to content

Commit

Permalink
boards: realtek: Add rts5912_evb board
Browse files Browse the repository at this point in the history
Add support for Realtek rts5912_evb board

Signed-off-by: Lin Yu-Cheng <[email protected]>
  • Loading branch information
JasonLin-RealTek committed Nov 14, 2024
1 parent 034cc57 commit 431b444
Show file tree
Hide file tree
Showing 10 changed files with 193 additions and 0 deletions.
10 changes: 10 additions & 0 deletions boards/realtek/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. _boards-realtek:

Realtek
#######

.. toctree::
:maxdepth: 1
:glob:

**/*
4 changes: 4 additions & 0 deletions boards/realtek/rts5912_evb/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2024 Realtek Semiconductor Corporation, SIBG-SD7
#
7 changes: 7 additions & 0 deletions boards/realtek/rts5912_evb/Kconfig.rts5912_evb
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions boards/realtek/rts5912_evb/board.cmake
Original file line number Diff line number Diff line change
@@ -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)
5 changes: 5 additions & 0 deletions boards/realtek/rts5912_evb/board.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
board:
name: rts5912_evb
vendor: realtek
socs:
- name: rts5912
93 changes: 93 additions & 0 deletions boards/realtek/rts5912_evb/doc/rts5912_evb.rst
Original file line number Diff line number Diff line change
@@ -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:

- 384KB SRAM
- 64KB ROM
- 512KB Flash(MCM)
- 256B 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 added boards/realtek/rts5912_evb/doc/rts5912evb.webp
Binary file not shown.
32 changes: 32 additions & 0 deletions boards/realtek/rts5912_evb/rts5912_evb.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* 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>;
pinctrl-0 = <&uart_rx_gpio113 &uart_tx_gpio114>;
pinctrl-names = "default";
};

&swj_port {
status = "okay";
};
19 changes: 19 additions & 0 deletions boards/realtek/rts5912_evb/rts5912_evb.yaml
Original file line number Diff line number Diff line change
@@ -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
17 changes: 17 additions & 0 deletions boards/realtek/rts5912_evb/rts5912_evb_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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

# Console
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y

# Enable GPIO
CONFIG_GPIO=y

0 comments on commit 431b444

Please sign in to comment.