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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to