1.. zephyr:board:: roc_rk3568_pc
2
3Overview
4********
5
6The ROC-RK3568-PC is a Quad-Core 64-Bit Mini Computer, which supports 4G large RAM. M.2
7and SATA3.0 interfaces enables expansion with large hard drives.
8Providing dual Gigabit Ethernet ports, it supports WiFi 6 wireless transmission.
9Control Port can be connected with RS485/RS232 devices.
10
11RK3568 quad-core 64-bit Cortex-A55 processor, with brand new ARM v8.2-A architecture,
12has frequency up to 2.0GHz. Zephyr OS is ported to run on it.
13
14
15- Board features:
16
17  - RAM: 4GB LPDDR4
18  - Storage:
19
20    - 32GB eMMC
21    - M.2 PCIe 3.0 x 1 (Expand with 2242 / 2280 NVMe SSD)
22    - TF-Card Slot
23  - Wireless:
24
25    - Supports WiFi 6 (802.11 AX)
26    - Supports BT5.0
27  - USB:
28
29    - One USB 3.0
30    - Two USB 2.0
31    - One Type-C
32  - Ethernet
33  - M.2 PCIe3.0 (Expand with NVMe SSD)
34  - LEDs:
35
36    - 1x Power status LED
37  - Debug
38
39    - UART debug ports for board
40
41
42Supported Features
43==================
44
45.. zephyr:board-supported-hw::
46
47Devices
48========
49System Clock
50------------
51
52This board configuration uses a system clock frequency of 24 MHz.
53Cortex-A55 Core runs up to 2.0 GHz.
54
55Serial Port
56-----------
57
58This board configuration uses a single serial communication channel with the
59CPU's UART2.
60
61Programming and Debugging
62*************************
63
64.. zephyr:board-supported-runners::
65
66Use U-Boot to load the zephyr.bin to the memory and kick it:
67
68.. code-block:: console
69
70    tftp 0x40000000 zephyr.bin; dcache flush; icache flush; dcache off; icache off; go 0x40000000
71
72Use this configuration to run basic Zephyr applications and kernel tests,
73for example, with the :zephyr:code-sample:`synchronization` sample:
74
75.. zephyr-app-commands::
76   :zephyr-app: samples/synchronization
77   :host-os: unix
78   :board: roc_rk3568_pc
79   :goals: run
80
81This will build an image with the synchronization sample app, boot it and
82display the following ram console output:
83
84.. code-block:: console
85
86    ***  Booting Zephyr OS build bc695c6df5eb  ***
87    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
88    thread_b: Hello World from cpu 0 on roc_rk3568_pc!
89    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
90    thread_b: Hello World from cpu 0 on roc_rk3568_pc!
91
92
93``roc_rk3568_pc//smp`` support, use this configuration to run Zephyr smp applications and subsys tests,
94for example, with the :zephyr:code-sample:`synchronization` sample:
95
96.. zephyr-app-commands::
97   :zephyr-app: samples/synchronization
98   :host-os: unix
99   :board: roc_rk3568_pc//smp
100   :goals: run
101
102This will build an image with the shell_module sample app, boot it and
103display the following ram console output:
104
105.. code-block:: console
106
107    ***  Booting Zephyr OS build bc695c6df5eb  ***
108    I/TC: Secondary CPU 1 initializing
109    I/TC: Secondary CPU 1 switching to normal world boot
110    I/TC: Secondary CPU 2 initializing
111    I/TC: Secondary CPU 2 switching to normal world boot
112    I/TC: Secondary CPU 3 initializing
113    I/TC: Secondary CPU 3 switching to normal world boot
114    Secondary CPU core 1 (MPID:0x100) is up
115    Secondary CPU core 2 (MPID:0x200) is up
116    Secondary CPU core 3 (MPID:0x300) is up
117
118    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
119    thread_b: Hello World from cpu 1 on roc_rk3568_pc!
120    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
121    thread_b: Hello World from cpu 1 on roc_rk3568_pc!
122
123References
124==========
125
126More information can refer to Firefly official website:
127`Firefly website`_.
128
129.. _Firefly website:
130   https://en.t-firefly.com/product/industry/rocrk3568pc.html?theme=pc
131