summaryrefslogtreecommitdiff
path: root/board/raspberrypi/rpi
AgeCommit message (Collapse)Author
2016-03-27ARM: bcm283x: don't always define CONFIG_BCM2835Stephen Warren
Currently, CONFIG_BCM2835 is defined for all BCM283x builds and _BCM2836 is defined when building for that SoC. That means there isn't a single define that means "exactly BCM2835". This will complicate future patches where BCM2835-vs-anything-else needs to be determined simply. Modify the code to define one or the other of CONFIG_BCM2835/BCM2836 so future patches are simpler. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-03-22serial: pl01x: Add support for devices with the rate pre-configured.Eric Anholt
For Raspberry Pi, we had the input clock rate to the pl011 fixed in the rpi.c file, but it may be changed by firmware due to user changes to config.txt. Since the firmware always sets up the uart (default 115200 output unless the user changes it), we can just skip our own uart init to simplify the boot process and more reliably get serial output. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Tom Rini <trini@konsulko.com> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2016-02-24rpi: set board serial number in environmentLubomir Rintel
Gets propagated into the device tree and then into /proc/cpuinfo where users often expect it. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Tested-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
2016-02-08rpi: set ethaddr as wellLubomir Rintel
Let's set "ethaddr" when we get the ethernet address too, so that fdt_fixup_ethernet() sets the address in the device tree and the Linux driver can pick it up. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2016-02-08rpi: fix up Model B entriesLubomir Rintel
The P5 header was not present on "Model B" any board prior to Revision 2.0, there's no need for a separate device tree. Also, it looks like "rev2" is incorrectly used to only cover the 512MiB memory models; there also were 256MiB 2.0 boards. I don't have all of the boards to check this, I'm following this table: http://elinux.org/RPi_HardwareHistory#Board_Revision_History Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
2016-02-08rpi: link to another model number info sourceStephen Warren
This source has been blessed by Dom Cobley at the RPi Foundation, so seems like the best source to refer to. It's a superset of and consistent with the other sources. Cc: Lubomir Rintel <lkundrak@v3.sk> Cc: Eric Anholt <eric@anholt.net> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-12-05rpi: add support for Raspberry Pi ZeroStephen Warren
For U-Boot's purposes, at present all we care about is ensuring there's a model table entry. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-12-05rpi: fix revision scheme parsingStephen Warren
The RPi has two different schemes for encoding board revision values. When adding RPi 2 support, I thought that the conflicting type field values were to be interpreted based on bcm2835-vs-bcm2836. In fact, the scheme bit determines the encoding. The RPi Zero uses the bcm2835 yet uses the new encoding scheme. Fix the code to cater for this correctly. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-12-05rpi: get rid of BCM2835_BOARD_REV_* macrosStephen Warren
There are two numbering schemes for the RPi revision values; old and new scheme. The values within each scheme overlap. Hence, it doesn't make sense to have absolute/global names for the revision IDs. Get rid of the names and just use the raw revision/type values to set up the array of per-revision data. This change makes most sense when coupled with the next change. However, it's split out so that the mechanical cut/paste is separate from the logic changes for easier review and problem bisection. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-10-24ARM: rpi: Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG supportGuillaume GARDET
Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG support and enable it to set 'board_rev' and 'board_name' envs. 'board_rev' can be used in scripts to determine what board we are running on and 'board_name' for pretty printing. Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Stephen Warren <swarren@wwwdotorg.org> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2015-10-19ARM: rpi: add another revision of Raspberry Pi A+Lubomir Rintel
Seen this one in the wild. Is labelled "Raspberry Pi Model A+ V1.1, (C) Raspberry Pi 2014". A standard A+ board, much like the one with version 0x12, didn't notice any differencies. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
2015-09-11Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h headerSimon Glass
Now that we have a new header file for cache-aligned allocation, we should move the stack-based allocation macro there also. Signed-off-by: Simon Glass <sjg@chromium.org>
2015-08-12ARM: bcm283x: Allocate all mailbox buffers cacheline alignedAlexander Stein
The mailbox buffer is required to be at least 16 bytes aligned, but for cache invalidation and/or flush it needs to be cacheline aligned. Use ALLOC_CACHE_ALIGN_BUFFER for all mailbox buffer allocations. Signed-off-by: Alexander Stein <alexanders83@web.de> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2015-04-13ARM: rpi: add a couple more revision IDsStephen Warren
According to Gordon Henderson's WiringPi library, there are some more Pi revision IDs out there. Add support for them. http://git.drogon.net/?p=wiringPi;a=blob_plain;f=wiringPi/wiringPi.c;hb=5edd177112c99416f68ba3e8c6c4db6ed942e796 At least ID 0x13 is out in the wild: Reported-by: Chee-Yang Chau <cychau@gmail.com> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-03-28ARM: bcm283x: merge BCM2835/BCM2836 directories into mach-bcm283xMasahiro Yamada
BCM2835 (used on Raspberry Pi) and BCM2836 (used on Raspberry Pi 2) are similar enough. One of the biggest differences is the ARM processor. It is reasonable to collect the source files into a single place, arch/arm/mach-bcm283x/. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
2015-03-24ARM: rpi: fix RPi1 board rev detection for warranty bitStephen Warren
Apparently the firmware's board rev response includes both the board revision and some other data even on the RPi1. In particular, the "warranty bit" is bit 24. We need to mask that out when looking up the board ID. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-02-21rpi: add support for Raspberry Pi 2 model BStephen Warren
USB doesn't seem to work yet; the controller detects the on-board Hub/ Ethernet device but can't read the descriptors from it. I haven't investigated yet. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-02-21bcm2835/rpi: add SPDX license tags for some filesStephen Warren
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2015-02-10lcd: dt: extract simplefb supportNikita Kiryanov
We now have api functions that can support compiling simplefb code as its own module. Since this code is not part of the display functionality, extract it to its own file. Raspberry Pi is updated to accommodate the changes. Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il> Acked-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Bo Shen <voice.shen@atmel.com> Tested-by: Josh Wu <josh.wu@atmel.com> Cc: Simon Glass <sjg@chromium.org> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stephen Warren <swarren@wwwdotorg.org>
2014-12-29ARM: rpi: consolidate board rev error checkingStephen Warren
Create a fake model table entry with default values, so we can error check the board rev value once when querying it from the firmware, rather than error-checking for invalid board rev values every time the model table is used. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2014-12-29ARM: rpi: support model A+Stephen Warren
Add a board rev entry for the new model A+, and augment the board rev error handling code to be a bit more verbose. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2014-12-29ARM: rpi: only set usbethaddr on relevant systemsStephen Warren
Model A and CM RPis don't have an on-board USB Ethernet device. Hence, there's no point setting $usbethaddr based on the device fuses. Use the model detection code to gate this. Note that the fuses are actually programmed even on those devices though. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2014-12-11dm: rpi: Move serial to driver modelSimon Glass
Adjust the configuration to use the driver model version of the pl01x serial driver. Add the required platform data. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Stephen Warren <swarren@wwwdotorg.org>
2014-12-08ARM: rpi: rename rpi_b to rpiStephen Warren
The U-Boot port runs on a variety of RPi models, not just the B. So, rename the port to something slightly more generic. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>