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
32.. zephyr:board-supported-hw::
33
34See `Raspberry Pi hardware`_ for the complete list of hardware features.
35
36Programming and Debugging
37*************************
38
39Blinky
40======
41
42In brief,
43    1. Format your Micro SD card with MBR and FAT32.
44    2. Save three files below in the root directory.
45        * config.txt
46        * zephyr.bin
47        * `bcm2712-rpi-5.dtb`_
48    3. Insert the Micro SD card and power on the Raspberry Pi 5.
49
50then, You will see the Raspberry Pi 5 running the :file:`zephyr.bin`.
51
52config.txt
53----------
54
55.. code-block:: text
56
57   kernel=zephyr.bin
58   arm_64bit=1
59
60
61zephyr.bin
62----------
63
64Build an app, for example :zephyr:code-sample:`blinky`
65
66.. zephyr-app-commands::
67   :zephyr-app: samples/basic/blinky
68   :board: rpi_5
69   :goals: build
70
71Copy :file:`zephyr.bin` from :file:`build/zephyr` directory to the root directory of the Micro SD
72card.
73
74Insert the Micro SD card and power on the Raspberry Pi 5. And then, the STAT LED will start to blink.
75
76
77Serial Communication
78====================
79
80wiring
81------
82
83You will need the following items:
84   * `Raspberry Pi Debug Probe`_
85   * JST cable: 3-pin JST connector to 3-pin JST connector cable
86   * USB cable: USB A male - Micro USB B male
87
88Use the JST cable to connect the Raspberry Pi Debug Probe UART port to the Raspberry Pi 5 UART port between the HDMI ports.
89
90Then connect the Raspberry Pi Debug Probe to your computer with a USB cable.
91
92
93config.txt
94----------
95
96.. code-block:: text
97
98   kernel=zephyr.bin
99   arm_64bit=1
100   enable_uart=1
101   uart_2ndstage=1
102
103
104zephyr.bin
105----------
106
107Build an app, for example :zephyr:code-sample:`hello_world`:
108
109.. zephyr-app-commands::
110   :zephyr-app: samples/hello_world
111   :board: rpi_5
112   :goals: build
113
114Copy :file:`zephyr.bin` from :file:`build/zephyr` directory to the root directory of the Micro SD card.
115
116Insert the Micro SD card into your Raspberry Pi 5.
117
118
119serial terminal emulator
120------------------------
121
122When you power on the Raspberry Pi 5, you will see the following output in the serial console:
123
124.. code-block:: text
125
126   *** Booting Zephyr OS build XXXXXXXXXXXX  ***
127   Hello World! rpi_5/bcm2712
128
129
130.. _Raspberry Pi 5 product-brief:
131   https://datasheets.raspberrypi.com/rpi5/raspberry-pi-5-product-brief.pdf
132
133.. _Raspberry Pi hardware:
134   https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
135
136.. _bcm2712-rpi-5.dtb:
137   https://github.com/raspberrypi/firmware/raw/master/boot/bcm2712-rpi-5-b.dtb
138
139.. _Raspberry Pi Debug Probe:
140   https://www.raspberrypi.com/products/debug-probe/
141