rpi: fix up Model B entries
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
@@ -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
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:
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.
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;
PATCH 1/1 rpi: fix up Model B entries
In reply to Lubomir RintelQuoted 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.