1.. zephyr:board:: rpi_5
2
3Overview
4********
5
6`Raspberry Pi 5 product-brief`_
7
8Hardware
9********
10
11- Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU, with cryptography extensions, 512KB per-core L2 caches and a 2MB shared L3 cache
12- VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.2
13- Dual 4Kp60 HDMI® display output with HDR support
14- 4Kp60 HEVC decoder
15- LPDDR4X-4267 SDRAM (4GB and 8GB SKUs available at launch)
16- Dual-band 802.11ac Wi-Fi®
17- Bluetooth 5.0 / Bluetooth Low Energy (BLE)
18- microSD card slot, with support for high-speed SDR104 mode
19- 2 x USB 3.0 ports, supporting simultaneous 5Gbps operation
20- 2 x USB 2.0 ports
21- Gigabit Ethernet, with PoE+ support (requires separate PoE+ HAT)
22- 2 x 4-lane MIPI camera/display transceivers
23- PCIe 2.0 x1 interface for fast peripherals (requires separate M.2 HAT or other adapter)
24- 5V/5A DC power via USB-C, with Power Delivery support
25- Raspberry Pi standard 40-pin header
26- Real-time clock (RTC), powered from external battery
27- Power button
28
29Supported Features
30==================
31
32The Raspberry Pi 5 board configuration supports the following hardware features:
33
34.. list-table::
35   :header-rows: 1
36
37   * - Peripheral
38     - Kconfig option
39     - Devicetree compatible
40   * - GIC-400
41     - N/A
42     - :dtcompatible:`arm,gic-v2`
43   * - GPIO
44     - :kconfig:option:`CONFIG_GPIO`
45     - :dtcompatible:`raspberrypi,rp1-gpio`
46   * - GPIO (Internal)
47     - :kconfig:option:`CONFIG_GPIO`
48     - :dtcompatible:`brcm,brcmstb-gpio`
49   * - UART
50     - :kconfig:option:`CONFIG_SERIAL`
51     - :dtcompatible:`arm,pl011`
52
53Not all hardware features are supported yet. See `Raspberry Pi hardware`_ for the complete list of hardware features.
54
55The default configuration can be found in
56:zephyr_file:`boards/raspberrypi/rpi_5/rpi_5_defconfig`.
57
58Programming and Debugging
59*************************
60
61Blinky
62======
63
64In brief,
65    1. Format your Micro SD card with MBR and FAT32.
66    2. Save three files below in the root directory.
67        * config.txt
68        * zephyr.bin
69        * `bcm2712-rpi-5.dtb`_
70    3. Insert the Micro SD card and power on the Raspberry Pi 5.
71
72then, You will see the Raspberry Pi 5 running the :file:`zephyr.bin`.
73
74config.txt
75----------
76
77.. code-block:: text
78
79   kernel=zephyr.bin
80   arm_64bit=1
81
82
83zephyr.bin
84----------
85
86Build an app, for example :zephyr:code-sample:`blinky`
87
88.. zephyr-app-commands::
89   :zephyr-app: samples/basic/blinky
90   :board: rpi_5
91   :goals: build
92
93Copy :file:`zephyr.bin` from :file:`build/zephyr` directory to the root directory of the Micro SD
94card.
95
96Insert the Micro SD card and power on the Raspberry Pi 5. And then, the STAT LED will start to blink.
97
98
99Serial Communication
100====================
101
102wiring
103------
104
105You will need the following items:
106   * `Raspberry Pi Debug Probe`_
107   * JST cable: 3-pin JST connector to 3-pin JST connector cable
108   * USB cable: USB A male - Micro USB B male
109
110Use the JST cable to connect the Raspberry Pi Debug Probe UART port to the Raspberry Pi 5 UART port between the HDMI ports.
111
112Then connect the Raspberry Pi Debug Probe to your computer with a USB cable.
113
114
115config.txt
116----------
117
118.. code-block:: text
119
120   kernel=zephyr.bin
121   arm_64bit=1
122   enable_uart=1
123   uart_2ndstage=1
124
125
126zephyr.bin
127----------
128
129Build an app, for example :zephyr:code-sample:`hello_world`:
130
131.. zephyr-app-commands::
132   :zephyr-app: samples/hello_world
133   :board: rpi_5
134   :goals: build
135
136Copy :file:`zephyr.bin` from :file:`build/zephyr` directory to the root directory of the Micro SD card.
137
138Insert the Micro SD card into your Raspberry Pi 5.
139
140
141serial terminal emulator
142------------------------
143
144When you power on the Raspberry Pi 5, you will see the following output in the serial console:
145
146.. code-block:: text
147
148   *** Booting Zephyr OS build XXXXXXXXXXXX  ***
149   Hello World! rpi_5/bcm2712
150
151
152.. _Raspberry Pi 5 product-brief:
153   https://datasheets.raspberrypi.com/rpi5/raspberry-pi-5-product-brief.pdf
154
155.. _Raspberry Pi hardware:
156   https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
157
158.. _bcm2712-rpi-5.dtb:
159   https://github.com/raspberrypi/firmware/raw/master/boot/bcm2712-rpi-5-b.dtb
160
161.. _Raspberry Pi Debug Probe:
162   https://www.raspberrypi.com/products/debug-probe/
163