From owner-freebsd-arm@freebsd.org Fri Oct 14 16:42:50 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E6637C117DE for ; Fri, 14 Oct 2016 16:42:50 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [45.55.20.155]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B9C71B1D for ; Fri, 14 Oct 2016 16:42:50 +0000 (UTC) (envelope-from gonzo@id.bluezbox.com) Received: from [76.102.118.237] (helo=[10.0.1.5]) by id.bluezbox.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.86_2 (FreeBSD)) (envelope-from ) id 1bv5ZH-0005Rb-B2; Fri, 14 Oct 2016 09:42:48 -0700 From: Oleksandr Tymoshenko Message-Id: <761781BA-6EDE-4C09-978C-6D312E6F1FAB@bluezbox.com> Mime-Version: 1.0 (Mac OS X Mail 10.0 \(3226\)) Subject: Re: Raspberry Pi 3 support Date: Fri, 14 Oct 2016 09:42:47 -0700 In-Reply-To: <20161014160442.GA5906@mutt-hardenedbsd> Cc: freebsd-arm@freebsd.org To: Shawn Webb References: <5F2E0B05-0A54-4BD6-9CFE-4DFF5FEF07DC@bluezbox.com> <20161014160442.GA5906@mutt-hardenedbsd> X-Mailer: Apple Mail (2.3226) Sender: gonzo@id.bluezbox.com X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: > On Oct 14, 2016, at 9:04 AM, Shawn Webb wrote: > > On Thu, Oct 13, 2016 at 10:43:31PM -0700, Oleksandr Tymoshenko wrote: >> 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, >> not miniUART) in all boot component: firmware, U-Boot, kernel. >> >> - On RPi 3 firmware defaults to miniUART, use "dtoverlay=pi3-disable-bt??? 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=audio=on,i2c_arm=on,spi=on >> >> - MMC is not included in dtb, add "dtoverlay=mmc??? 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=y 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 [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.0 HTML_MESSAGE BODY: HTML included in message Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Oct 2016 16:42:51 -0000 > On Oct 14, 2016, at 9:04 AM, Shawn Webb = wrote: >=20 > On Thu, Oct 13, 2016 at 10:43:31PM -0700, Oleksandr Tymoshenko wrote: >> Hello, >>=20 >> 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: >>=20 >> - SD card layout is the same as for RPi or RPi 2 >>=20 >> - 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 >>=20 >> - boot mode on RPi 3 is controlled by arm_control parameter in = config.txt, >> set it to 0x200 to boot in 64-bit mode >>=20 >> - 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. >>=20 >> - On RPi 3 firmware defaults to miniUART, use = "dtoverlay=3Dpi3-disable-bt??? in >> config.txt to revert to old behaviour >>=20 >> - 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 >>=20 >> - MMC is not included in dtb, add "dtoverlay=3Dmmc??? to config.txt = to enable it >>=20 >> - 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 >>=20 >> - 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. >>=20 >> - No crochet config for RPi 3 yet >>=20 >> - 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 >>=20 >> - 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 >=20 > Thank you so much for the hard work! It's great to see the progress > being made and I'm so excited! >=20 > If I were to set up an sdcard manually. What kind of partition layout > would I need? How would I install U-Boot to it? SD card layout is: one FAT partition for firmware/u-boot, one large = partition for BSD. Something like: # gpart create -s MBR da0 # gpart add -t '\!12' -a 63 -s 50m da0 # gpart set -a active -i 1 da0 # newfs_msdos -F 16 /dev/da0s1 # gpart add -t freebsd -a 4m da0 # gpart create -s BSD da0s2 # gpart add -t freebsd-ufs da0s2 # newfs -U da0s2a (source: https://wiki.freebsd.org/FreeBSD/arm/Raspberry%20Pi%202%20image = ) To install U-Boot just copy firmware files from github, u-boot.bin, = loader.efi, config.txt to FAT partition.=