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>
master
Stephen Warren 10 years ago committed by Tom Rini
parent 3207d8fc9c
commit 47705eff7a
  1. 1
      arch/arm/include/asm/arch-bcm2835/mbox.h
  2. 14
      board/raspberrypi/rpi/rpi.c

@ -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;

@ -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);
}

Loading…
Cancel
Save