1.. zephyr:board:: rpi_4b
2
3Overview
4********
5see <https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/>
6
7Hardware
8********
9see <https://www.raspberrypi.com/documentation/computers/raspberry-pi.html>
10
11Supported Features
12==================
13The Raspberry Pi 4 Model B board configuration supports the following
14hardware features:
15
16.. list-table::
17   :header-rows: 1
18
19   * - Peripheral
20     - Kconfig option
21     - Devicetree compatible
22   * - GIC-400
23     - N/A
24     - :dtcompatible:`arm,gic-v2`
25   * - GPIO
26     - :kconfig:option:`CONFIG_GPIO`
27     - :dtcompatible:`brcm,bcm2711-gpio`
28   * - UART (Mini UART)
29     - :kconfig:option:`CONFIG_SERIAL`
30     - :dtcompatible:`brcm,bcm2711-aux-uart`
31
32Other hardware features have not been enabled yet for this board.
33
34The default configuration can be found in
35:zephyr_file:`boards/raspberrypi/rpi_4b/rpi_4b_defconfig`
36
37Programming and Debugging
38*************************
39
40TF Card
41=======
42
43Prepare a TF card with MBR and FAT32. In the root directory of the TF card:
44
451. Download and place these firmware files:
46
47   * `bcm2711-rpi-4-b.dtb <https://raw.githubusercontent.com/raspberrypi/firmware/master/boot/bcm2711-rpi-4-b.dtb>`_
48   * `bootcode.bin <https://raw.githubusercontent.com/raspberrypi/firmware/master/boot/bootcode.bin>`_
49   * `start4.elf <https://raw.githubusercontent.com/raspberrypi/firmware/master/boot/start4.elf>`_
50
512. Copy ``build/zephyr/zephyr.bin``
523. Create a ``config.txt``:
53
54   .. code-block:: text
55
56      kernel=zephyr.bin
57      arm_64bit=1
58      enable_uart=1
59      uart_2ndstage=1
60
61Insert the card and power on the board. You should see the following output on
62the serial console (GPIO 14/15):
63
64.. code-block:: text
65
66   *** Booting Zephyr OS build XXXXXXXXXXXX  ***
67   Hello World! Raspberry Pi 4 Model B!
68