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
45The Zephyr roc_rk3568_pc board configuration supports the following hardware
46features:
47
48+-----------+------------+-------------------------------------+
49| Interface | Controller | Driver/Component                    |
50+===========+============+=====================================+
51| GIC-v3    | on-chip    | interrupt controller                |
52+-----------+------------+-------------------------------------+
53| ARM TIMER | on-chip    | system clock                        |
54+-----------+------------+-------------------------------------+
55| UART      | on-chip    | serial port                         |
56+-----------+------------+-------------------------------------+
57
58Devices
59========
60System Clock
61------------
62
63This board configuration uses a system clock frequency of 24 MHz.
64Cortex-A55 Core runs up to 2.0 GHz.
65
66Serial Port
67-----------
68
69This board configuration uses a single serial communication channel with the
70CPU's UART2.
71
72Programming and Debugging
73*************************
74
75Use U-Boot to load the zephyr.bin to the memory and kick it:
76
77.. code-block:: console
78
79    tftp 0x40000000 zephyr.bin; dcache flush; icache flush; dcache off; icache off; go 0x40000000
80
81Use this configuration to run basic Zephyr applications and kernel tests,
82for example, with the :zephyr:code-sample:`synchronization` sample:
83
84.. zephyr-app-commands::
85   :zephyr-app: samples/synchronization
86   :host-os: unix
87   :board: roc_rk3568_pc
88   :goals: run
89
90This will build an image with the synchronization sample app, boot it and
91display the following ram console output:
92
93.. code-block:: console
94
95    ***  Booting Zephyr OS build bc695c6df5eb  ***
96    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
97    thread_b: Hello World from cpu 0 on roc_rk3568_pc!
98    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
99    thread_b: Hello World from cpu 0 on roc_rk3568_pc!
100
101
102``roc_rk3568_pc//smp`` support, use this configuration to run Zephyr smp applications and subsys tests,
103for example, with the :zephyr:code-sample:`synchronization` sample:
104
105.. zephyr-app-commands::
106   :zephyr-app: samples/synchronization
107   :host-os: unix
108   :board: roc_rk3568_pc//smp
109   :goals: run
110
111This will build an image with the shell_module sample app, boot it and
112display the following ram console output:
113
114.. code-block:: console
115
116    ***  Booting Zephyr OS build bc695c6df5eb  ***
117    I/TC: Secondary CPU 1 initializing
118    I/TC: Secondary CPU 1 switching to normal world boot
119    I/TC: Secondary CPU 2 initializing
120    I/TC: Secondary CPU 2 switching to normal world boot
121    I/TC: Secondary CPU 3 initializing
122    I/TC: Secondary CPU 3 switching to normal world boot
123    Secondary CPU core 1 (MPID:0x100) is up
124    Secondary CPU core 2 (MPID:0x200) is up
125    Secondary CPU core 3 (MPID:0x300) is up
126
127    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
128    thread_b: Hello World from cpu 1 on roc_rk3568_pc!
129    thread_a: Hello World from cpu 0 on roc_rk3568_pc!
130    thread_b: Hello World from cpu 1 on roc_rk3568_pc!
131
132References
133==========
134
135More information can refer to Firefly official website:
136`Firefly website`_.
137
138.. _Firefly website:
139   https://en.t-firefly.com/product/industry/rocrk3568pc.html?theme=pc
140