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>