Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Oct 2016 22:43:31 -0700
From:      Oleksandr Tymoshenko <gonzo@bluezbox.com>
To:        freebsd-arm@freebsd.org
Subject:   Raspberry Pi 3 support
Message-ID:  <5F2E0B05-0A54-4BD6-9CFE-4DFF5FEF07DC@bluezbox.com>

next in thread | raw e-mail | index | archive | help
Hello,

Limited support for Raspberry Pi 3 has just landed in HEAD. No SMP
and no 3D yet. And no BT/WiFi drivers. If you would like to give it a =
spin
read this info, it may save you some googling time:

- SD card layout is the same as for RPi or RPi 2

- Firmware and DTB files can be downloaded from official repo:
    https://github.com/raspberrypi/firmware/tree/master/boot
    Just copy them as-is to FAT partition on SD. There are plans to
    import latest .dts files and provide rpi3.dtb just like for
    Raspberry Pi and Raspberry Pi 2

- boot mode on RPi 3 is controlled by arm_control parameter in =
config.txt,
    set it to 0x200 to boot in 64-bit mode

- To reduce mess with consoles for now only PL01x UART is used (old one,=20=

    not miniUART) in all boot component: firmware, U-Boot, kernel.

- On RPi 3 firmware defaults to miniUART, use =
"dtoverlay=3Dpi3-disable-bt=E2=80=9D in
    config.txt to revert to old behaviour

- A lot of peripherals are disabled in default dtb, to enable them add =
this
    line to config.txt before any dtoverlay line:
        dtparam=3Daudio=3Don,i2c_arm=3Don,spi=3Don

- MMC is not included in dtb, add "dtoverlay=3Dmmc=E2=80=9D to =
config.txt to enable it

- Stock U-Boot uses miniUART as console so manual patching of
    include/configs/rpi.h required. Just search for =
CONFIG_BCM283X_MU_SERIAL
    or CONFIG_PL01X_SERIAL

- ubldr was switched for loader.efi, hence CONFIG_EFI is required for =
U-Boot.
    Patch include/configs/rpi.h or pass CONFIG_EFI=3Dy to gmake when =
building
    u-boot. Diane Bruce works on u-boot-rpi3 port that addresses all =
these
    issues.

- No crochet config for RPi 3 yet

- To save you hassle, here are u-boot.bin, loader.efi, config.txt:
    https://people.freebsd.org/~gonzo/arm/rpi3/
    Copy these files to FAT partition along with firmware mentioned =
above

- bootcmd for EFI would look like:
    fatload mmc 0 ${loadaddr} loader.efi; bootefi ${loadaddr} 0x100
    where 0x100 is FDT blob address matching the value of =
device_tree_address
    parameter in config.txt

=E2=80=94=20
gonzo=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5F2E0B05-0A54-4BD6-9CFE-4DFF5FEF07DC>