On Thu, Mar 24, 2016 at 10:15:20PM -0600, Stephen Warren wrote: > The Raspberry Pi 3 contains a BCM2837 SoC. The BCM2837 is a BCM2836 with > the CPU complex swapped out for a quad-core ARMv8. This can operate in 32- > or 64-bit mode. 32-bit mode is the current default selected by the > VideoCore firmware on the Raspberry Pi 3. This patch adds a 32-bit port of > U-Boot for the Raspberry Pi 3. > > >From U-Boot's perspective, the only delta between the RPi 2 and RPi 3 is a > change in usage of the SoC UARTs. On all previous Pis, the PL011 was the > only UART in use. The Raspberry Pi 3 adds a Bluetooth module which uses a > UART to connect to the SoC. By default, the PL011 is used for this purpose > since it has larger FIFOs than the other "mini" UART. However, this can > be configured via the VideoCore firmware's config.txt file. This patch > hard-codes use of the mini UART in the RPi 3 port. If your system uses the > PL011 UART for the console even on the RPi 3, please use the RPi 2 U-Boot > port instead. A future change might determine which UART to use at > run-time, thus allowing the RPi 2 and RPi 3 (32-bit) ports to be squashed > together. > > The mini UART has some limitations. One externally visible issue in the > BCM2837 integration is that the UART divides the SoC's "core clock" to > generate the baud rate. The core clock is typically variable, and under > control of the VideoCore firmware for thermal management reasons. If the > VC FW does modify the core clock rate, UART communication will be > corrupted since the baud rate will vary from the expected value. This was > not an issue for the PL011 UART, since it is fed by a fixed 3MHz clock. To > work around this, the VideoCore firmware can be told not to modify the SoC > core clock. However, the only way this can happen and be thermally safe is > to limit the core clock to a low/minimum frequency. This leaves > performance on the table for use-cases that don't care about a UART > console. Consequently, use of the mini UART console must be explicitly > requested by entering the following line into config.txt: > > enable_uart=1 > > A recent version of the VC firmware is required to ensure that the mini > UART is fully and correctly initialized by the VC FW; at least > firmware.git 046effa13ebc "firmware: arm_loader: emmc clock depends on > core clock See: https://github.com/raspberrypi/firmware/issues/572". > > Signed-off-by: Stephen Warren <swar...@wwwdotorg.org> > Reviewed-by: Tom Rini <tr...@konsulko.com>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot