.. _roc_rk3568_pc:

Firefly ROC-RK3568-PC (Quad-core Cortex-A55)
############################################

Overview
********

The ROC-RK3568-PC is a Quad-Core 64-Bit Mini Computer, which supports 4G large RAM. M.2
and SATA3.0 interfaces enables expansion with large hard drives.
Providing dual Gigabit Ethernet ports, it supports WiFi 6 wireless transmission.
Control Port can be connected with RS485/RS232 devices.

RK3568 quad-core 64-bit Cortex-A55 processor, with brand new ARM v8.2-A architecture,
has frequency up to 2.0GHz. Zephyr OS is ported to run on it.


- Board features:

  - RAM: 4GB LPDDR4
  - Storage:

    - 32GB eMMC
    - M.2 PCIe 3.0 x 1 (Expand with 2242 / 2280 NVMe SSD)
    - TF-Card Slot
  - Wireless:

    - Supports WiFi 6 (802.11 AX)
    - Supports BT5.0
  - USB:

    - One USB 3.0
    - Two USB 2.0
    - One Type-C
  - Ethernet
  - M.2 PCIe3.0 (Expand with NVMe SSD)
  - LEDs:

    - 1x Power status LED
  - Debug

    - UART debug ports for board


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

The Zephyr roc_rk3568_pc board configuration supports the following hardware
features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| GIC-v3    | on-chip    | interrupt controller                |
+-----------+------------+-------------------------------------+
| ARM TIMER | on-chip    | system clock                        |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port                         |
+-----------+------------+-------------------------------------+

Devices
========
System Clock
------------

This board configuration uses a system clock frequency of 24 MHz.
Cortex-A55 Core runs up to 2.0 GHz.

Serial Port
-----------

This board configuration uses a single serial communication channel with the
CPU's UART2.

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

Use U-Boot to load the zephyr.bin to the memory and kick it:

.. code-block:: console

    tftp 0x40000000 zephyr.bin; dcache flush; icache flush; dcache off; icache off; go 0x40000000

Use this configuration to run basic Zephyr applications and kernel tests,
for example, with the :zephyr:code-sample:`synchronization` sample:

.. zephyr-app-commands::
   :zephyr-app: samples/synchronization
   :host-os: unix
   :board: roc_rk3568_pc
   :goals: run

This will build an image with the synchronization sample app, boot it and
display the following ram console output:

.. code-block:: console

    ***  Booting Zephyr OS build bc695c6df5eb  ***
    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
    thread_b: Hello World from cpu 0 on roc_rk3568_pc!
    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
    thread_b: Hello World from cpu 0 on roc_rk3568_pc!


roc_rk3568_pc_smp support, use this configuration to run Zephyr smp applications and subsys tests,
for example, with the :zephyr:code-sample:`synchronization` sample:

.. zephyr-app-commands::
   :zephyr-app: samples/synchronization
   :host-os: unix
   :board: roc_rk3568_pc_smp
   :goals: run

This will build an image with the shell_module sample app, boot it and
display the following ram console output:

.. code-block:: console

    ***  Booting Zephyr OS build bc695c6df5eb  ***
    I/TC: Secondary CPU 1 initializing
    I/TC: Secondary CPU 1 switching to normal world boot
    I/TC: Secondary CPU 2 initializing
    I/TC: Secondary CPU 2 switching to normal world boot
    I/TC: Secondary CPU 3 initializing
    I/TC: Secondary CPU 3 switching to normal world boot
    Secondary CPU core 1 (MPID:0x100) is up
    Secondary CPU core 2 (MPID:0x200) is up
    Secondary CPU core 3 (MPID:0x300) is up

    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
    thread_b: Hello World from cpu 1 on roc_rk3568_pc!
    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
    thread_b: Hello World from cpu 1 on roc_rk3568_pc!

References
==========

More information can refer to Firefly official website:
`Firefly website`_.

.. _Firefly website:
   https://en.t-firefly.com/product/industry/rocrk3568pc.html?theme=pc
