summaryrefslogtreecommitdiff
path: root/board/raspberrypi/rpi
Commit message (Collapse)AuthorAgeLines
* rpi: set board serial number in environmentLubomir Rintel2016-02-24-0/+33
| | | | | | | | | 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>
* rpi: set ethaddr as wellLubomir Rintel2016-02-08-0/+3
| | | | | | | | | 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>
* rpi: fix up Model B entriesLubomir Rintel2016-02-08-10/+10
| | | | | | | | | | | | | 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>
* rpi: link to another model number info sourceStephen Warren2016-02-08-0/+5
| | | | | | | | | | 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>
* rpi: add support for Raspberry Pi ZeroStephen Warren2015-12-05-0/+5
| | | | | | | 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>
* rpi: fix revision scheme parsingStephen Warren2015-12-05-34/+53
| | | | | | | | | | 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>
* rpi: get rid of BCM2835_BOARD_REV_* macrosStephen Warren2015-12-05-19/+23
| | | | | | | | | | | | | | 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>
* ARM: rpi: Add CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG supportGuillaume GARDET2015-10-24-0/+13
| | | | | | | | | | | | 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>
* ARM: rpi: add another revision of Raspberry Pi A+Lubomir Rintel2015-10-19-0/+5
| | | | | | | | 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>
* Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h headerSimon Glass2015-09-11-0/+1
| | | | | | | 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>
* ARM: bcm283x: Allocate all mailbox buffers cacheline alignedAlexander Stein2015-08-12-5/+5
| | | | | | | | | | 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>
* ARM: rpi: add a couple more revision IDsStephen Warren2015-04-13-0/+10
| | | | | | | | | | | | 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>
* ARM: bcm283x: merge BCM2835/BCM2836 directories into mach-bcm283xMasahiro Yamada2015-03-28-15/+0
| | | | | | | | | | 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>
* ARM: rpi: fix RPi1 board rev detection for warranty bitStephen Warren2015-03-24-0/+7
| | | | | | | | | 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>
* rpi: add support for Raspberry Pi 2 model BStephen Warren2015-02-21-2/+26
| | | | | | | | 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>
* bcm2835/rpi: add SPDX license tags for some filesStephen Warren2015-02-21-21/+3
| | | | Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
* lcd: dt: extract simplefb supportNikita Kiryanov2015-02-10-0/+1
| | | | | | | | | | | | | | | | | 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>
* ARM: rpi: consolidate board rev error checkingStephen Warren2014-12-29-7/+9
| | | | | | | | | 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>
* ARM: rpi: support model A+Stephen Warren2014-12-29-2/+12
| | | | | | | 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>
* ARM: rpi: only set usbethaddr on relevant systemsStephen Warren2014-12-29-0/+17
| | | | | | | | | 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>
* dm: rpi: Move serial to driver modelSimon Glass2014-12-11-0/+12
| | | | | | | | 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>
* ARM: rpi: rename rpi_b to rpiStephen Warren2014-12-08-0/+319
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>