Skip to contentSkip to conversation

rpi: fix up Model B entries

PATCH Superseded Lubomir Rintel 3 participants 4 messages Jan 25, 2016 – Jan 29, 2016 Broadcom BCM2711/BCM2835 Arm architecture

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rpi: fix up Model B entries

It seems like 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

---
 board/raspberrypi/rpi/rpi.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
board/raspberrypi/rpi/rpi.c +10 -10
index 4b80d7b..b344362 100644
@@ -110,28 +110,28 @@ static const struct rpi_model rpi_models_new_scheme[] = {
 
 static const struct rpi_model rpi_models_old_scheme[] = {
 	[0x2] = {
-		"Model B (no P5)",
-		"bcm2835-rpi-b-i2c0.dtb",
+		"Model B",
+		"bcm2835-rpi-b.dtb",
 		true,
 	},
 	[0x3] = {
-		"Model B (no P5)",
-		"bcm2835-rpi-b-i2c0.dtb",
+		"Model B",
+		"bcm2835-rpi-b.dtb",
 		true,
 	},
 	[0x4] = {
-		"Model B",
-		"bcm2835-rpi-b.dtb",
+		"Model B rev2",
+		"bcm2835-rpi-b-rev2.dtb",
 		true,
 	},
 	[0x5] = {
-		"Model B",
-		"bcm2835-rpi-b.dtb",
+		"Model B rev2",
+		"bcm2835-rpi-b-rev2.dtb",
 		true,
 	},
 	[0x6] = {
-		"Model B",
-		"bcm2835-rpi-b.dtb",
+		"Model B rev2",
+		"bcm2835-rpi-b-rev2.dtb",
 		true,
 	},
 	[0x7] = {
Signature · 1 line
2.5.0
#1 lore raw

PATCH 1/1 rpi: fix up Model B entries

Quoted 8 lines · Lubomir Rintel

It seems like 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

Yes, I believe this makes sense, and is consistent with the URLs listed as data sources just a little above the model table.

I tested this patch on board rev 0x2 (B, no P5/rev1, 256M), 0x8 (A, 256M), 0xf (B, P5/rev2, 512M).

It would be really nice if you could get someone at the Pi Foundation to validate the complete updated tables (at least, the revision number to model name mapping) in this file after this patch. I CC'd Gordon and Dom to see if one of them could do that, or track someone down who can. Gordon, Dom, you can find the file content at:

Quoted 1 line

https://github.com/swarren/u-boot/blob/rpi_dev/board/raspberrypi/rpi/rpi.c#L98

P.S. Lubomir, I used my personal email swarren at wwwdotorg.org for RPi work, not my work email swarren at nvidia.com.

Thanks for working on cleaning this up.

#2 lore raw

PATCH 1/1 rpi: fix up Model B entries

I believe this is accurate for identifying boards from revision numbers:
https://github.com/AndrewFromMelbourne/raspberry_pi_revision

From the firmware, old style revision numbers:

      case 0x02: case 0x03:
         boardrev = MAKE_BOARDREV(MODELB, 1_1); break;
      case 0x04: case 0x05: case 0x06:
         boardrev = MAKE_BOARDREV(MODELB, 1_2); break;
      case 0x07: case 0x08: case 0x09:
         boardrev = MAKE_BOARDREV(MODELA, 1_2); break;
      case 0x0d: case 0x0e: case 0x0f:
         boardrev = MAKE_BOARDREV(MODELB, 1_2); break;
      case 0x10: case 0x13: case 0x16: case 0x19:
         boardrev = MAKE_BOARDREV(MODELBPLUS, 1_2);
         break;
      case 0x11: case 0x14: case 0x17: case 0x1a:
         boardrev = MAKE_BOARDREV(CM, 1_0); break;
      case 0x12: case 0x15: case 0x18: case 0x1b:
         boardrev = MAKE_BOARDREV(MODELAPLUS, 1_1); break;
      default:
         boardrev = MAKE_BOARDREV(MODELB, 1_2); break;
      }

and new style (bits 4-11):

typedef enum
{
BOARD_TYPE_MODELA = 0,
BOARD_TYPE_MODELB = 1,
BOARD_TYPE_MODELAPLUS = 2,
BOARD_TYPE_MODELBPLUS = 3,
BOARD_TYPE_PI2MODELB = 4,
BOARD_TYPE_ALPHA = 5,
BOARD_TYPE_CM = 6,
BOARD_TYPE_PI0 = 9,
} BOARD_TYPE_T;

#3 lore raw

PATCH 1/1 rpi: fix up Model B entries

In reply to Lubomir Rintel
Quoted 9 lines · Lubomir Rintel

It seems like 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
---

You forgot you signed-off-by line on this patch. You also possibly need to Cc Tom Rini so he knows the patch exists.