diff options
author | Stephen Warren <swarren@wwwdotorg.org> | 2014-12-23 20:01:43 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-12-29 16:31:22 -0500 |
commit | 47705eff7a822105dfddaa03aadfe95f05849892 (patch) | |
tree | 5c668dce5bdcb4a541d79a1ef2106a94d1bf3736 | |
parent | 3207d8fc9cc8fcc91d0dcc02890c7aaff48a6a27 (diff) | |
download | u-boot-imx-47705eff7a822105dfddaa03aadfe95f05849892.zip u-boot-imx-47705eff7a822105dfddaa03aadfe95f05849892.tar.gz u-boot-imx-47705eff7a822105dfddaa03aadfe95f05849892.tar.bz2 |
ARM: rpi: support model A+
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>
-rw-r--r-- | arch/arm/include/asm/arch-bcm2835/mbox.h | 1 | ||||
-rw-r--r-- | board/raspberrypi/rpi/rpi.c | 14 |
2 files changed, 13 insertions, 2 deletions
diff --git a/arch/arm/include/asm/arch-bcm2835/mbox.h b/arch/arm/include/asm/arch-bcm2835/mbox.h index 0289ba6..88d2ec1 100644 --- a/arch/arm/include/asm/arch-bcm2835/mbox.h +++ b/arch/arm/include/asm/arch-bcm2835/mbox.h @@ -140,6 +140,7 @@ struct bcm2835_mbox_tag_hdr { #define BCM2835_BOARD_REV_B_REV2_f 0xf #define BCM2835_BOARD_REV_B_PLUS 0x10 #define BCM2835_BOARD_REV_CM 0x11 +#define BCM2835_BOARD_REV_A_PLUS 0x12 struct bcm2835_mbox_tag_get_board_rev { struct bcm2835_mbox_tag_hdr tag_hdr; diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c index ca8e86d..6227e9b 100644 --- a/board/raspberrypi/rpi/rpi.c +++ b/board/raspberrypi/rpi/rpi.c @@ -149,6 +149,11 @@ static const struct { "bcm2835-rpi-cm.dtb", false, }, + [BCM2835_BOARD_REV_A_PLUS] = { + "Model A+", + "bcm2835-rpi-a-plus.dtb", + false, + }, }; u32 rpi_board_rev = 0; @@ -260,12 +265,17 @@ static void get_board_rev(void) } rpi_board_rev = msg->get_board_rev.body.resp.rev; - if (rpi_board_rev >= ARRAY_SIZE(models)) + if (rpi_board_rev >= ARRAY_SIZE(models)) { + printf("RPI: Board rev %u outside known range\n", + rpi_board_rev); rpi_board_rev = 0; + } name = models[rpi_board_rev].name; - if (!name) + if (!name) { + printf("RPI: Board rev %u unknown\n", rpi_board_rev); name = "Unknown model"; + } printf("RPI model: %s\n", name); } |