Add Pi500 and CM5 Lite Detection

This commit is contained in:
Melissa LeBlanc-Williams 2025-01-15 11:43:13 -08:00
parent 49b677907c
commit a9dba12376
3 changed files with 66 additions and 28 deletions

View file

@ -946,6 +946,16 @@ class Board:
"""Check whether the current board is any Compute Module Raspberry Pi.""" """Check whether the current board is any Compute Module Raspberry Pi."""
return self.id in boards._RASPBERRY_PI_CM_IDS return self.id in boards._RASPBERRY_PI_CM_IDS
@property
def any_raspberry_pi_4_board(self) -> bool:
"""Check whether the current board is any Raspberry Pi 4."""
return self.id in boards._RASPBERRY_PI_4_IDS
@property
def any_raspberry_pi_5_board(self) -> bool:
"""Check whether the current board is any Raspberry Pi 5."""
return self.id in boards._RASPBERRY_PI_5_IDS
@property @property
def any_beaglebone(self) -> bool: def any_beaglebone(self) -> bool:
"""Check whether the current board is any Beaglebone-family system.""" """Check whether the current board is any Beaglebone-family system."""

View file

@ -147,6 +147,8 @@ RASPBERRY_PI_CM4 = "RASPBERRY_PI_CM4"
RASPBERRY_PI_CM4S = "RASPBERRY_PI_CM4S" RASPBERRY_PI_CM4S = "RASPBERRY_PI_CM4S"
RASPBERRY_PI_5 = "RASPBERRY_PI_5" RASPBERRY_PI_5 = "RASPBERRY_PI_5"
RASPBERRY_PI_CM5 = "RASPBERRY_PI_CM5" RASPBERRY_PI_CM5 = "RASPBERRY_PI_CM5"
RASPBERRY_PI_500 = "RASPBERRY_PI_500"
RASPBERRY_PI_CM5_LITE = "RASPBERRY_PI_CM5_LITE"
ODROID_C1 = "ODROID_C1" ODROID_C1 = "ODROID_C1"
ODROID_C1_PLUS = "ODROID_C1_PLUS" ODROID_C1_PLUS = "ODROID_C1_PLUS"
@ -412,6 +414,8 @@ _JETSON_IDS = (
_TI_SK_BOARD_IDS = ((TI_J721E_SK, ("ti,j721e-sk", "ti,j721e")),) _TI_SK_BOARD_IDS = ((TI_J721E_SK, ("ti,j721e-sk", "ti,j721e")),)
# Raspberry Pi boards
_RASPBERRY_PI_40_PIN_IDS = ( _RASPBERRY_PI_40_PIN_IDS = (
RASPBERRY_PI_B_PLUS, RASPBERRY_PI_B_PLUS,
RASPBERRY_PI_A_PLUS, RASPBERRY_PI_A_PLUS,
@ -426,6 +430,7 @@ _RASPBERRY_PI_40_PIN_IDS = (
RASPBERRY_PI_AVNET_IIOT_GW, RASPBERRY_PI_AVNET_IIOT_GW,
RASPBERRY_PI_400, RASPBERRY_PI_400,
RASPBERRY_PI_5, RASPBERRY_PI_5,
RASPBERRY_PI_500,
) )
_RASPBERRY_PI_CM_IDS = ( _RASPBERRY_PI_CM_IDS = (
@ -435,8 +440,56 @@ _RASPBERRY_PI_CM_IDS = (
RASPBERRY_PI_CM4, RASPBERRY_PI_CM4,
RASPBERRY_PI_CM4S, RASPBERRY_PI_CM4S,
RASPBERRY_PI_CM5, RASPBERRY_PI_CM5,
RASPBERRY_PI_CM5_LITE,
) )
# Pi 4 boards have additional peripherals
_RASPBERRY_PI_4_IDS = (
RASPBERRY_PI_4B,
RASPBERRY_PI_CM4,
RASPBERRY_PI_CM4S,
RASPBERRY_PI_400,
)
# Pi 5 boards work differently
_RASPBERRY_PI_5_IDS = (
RASPBERRY_PI_5,
RASPBERRY_PI_CM5,
RASPBERRY_PI_500,
RASPBERRY_PI_CM5_LITE,
)
_PI_MODELS = {
0x00: RASPBERRY_PI_A,
0x01: {
1.0: RASPBERRY_PI_B_REV1,
2.0: RASPBERRY_PI_B_REV2,
},
0x02: RASPBERRY_PI_A_PLUS,
0x03: RASPBERRY_PI_B_PLUS,
0x04: RASPBERRY_PI_2B,
0x06: RASPBERRY_PI_CM1,
0x08: RASPBERRY_PI_3B,
0x09: RASPBERRY_PI_ZERO,
0x0A: RASPBERRY_PI_CM3,
0x0B: RASPBERRY_PI_AVNET_IIOT_GW,
0x0C: RASPBERRY_PI_ZERO_W,
0x0D: RASPBERRY_PI_3B_PLUS,
0x0E: RASPBERRY_PI_3A_PLUS,
0x10: RASPBERRY_PI_CM3_PLUS,
0x11: RASPBERRY_PI_4B,
0x12: RASPBERRY_PI_ZERO_2_W,
0x13: RASPBERRY_PI_400,
0x14: RASPBERRY_PI_CM4,
0x15: RASPBERRY_PI_CM4S,
0x17: RASPBERRY_PI_5,
0x18: RASPBERRY_PI_CM5,
0x19: RASPBERRY_PI_500,
0x1A: RASPBERRY_PI_CM5_LITE,
}
# ODROID boards
_ODROID_40_PIN_IDS = ( _ODROID_40_PIN_IDS = (
ODROID_C1, ODROID_C1,
ODROID_C1_PLUS, ODROID_C1_PLUS,
@ -526,40 +579,13 @@ _BEAGLEBONE_BOARD_IDS = {
BEAGLELOGIC_STANDALONE: (("A", "A335BLGC000A"),), BEAGLELOGIC_STANDALONE: (("A", "A335BLGC000A"),),
} }
_PI_MODELS = {
0x00: RASPBERRY_PI_A,
0x01: {
1.0: RASPBERRY_PI_B_REV1,
2.0: RASPBERRY_PI_B_REV2,
},
0x02: RASPBERRY_PI_A_PLUS,
0x03: RASPBERRY_PI_B_PLUS,
0x04: RASPBERRY_PI_2B,
0x06: RASPBERRY_PI_CM1,
0x08: RASPBERRY_PI_3B,
0x09: RASPBERRY_PI_ZERO,
0x0A: RASPBERRY_PI_CM3,
0x0B: RASPBERRY_PI_AVNET_IIOT_GW,
0x0C: RASPBERRY_PI_ZERO_W,
0x0D: RASPBERRY_PI_3B_PLUS,
0x0E: RASPBERRY_PI_3A_PLUS,
0x10: RASPBERRY_PI_CM3_PLUS,
0x11: RASPBERRY_PI_4B,
0x12: RASPBERRY_PI_ZERO_2_W,
0x13: RASPBERRY_PI_400,
0x14: RASPBERRY_PI_CM4,
0x15: RASPBERRY_PI_CM4S,
0x17: RASPBERRY_PI_5,
0x18: RASPBERRY_PI_CM5,
}
# Onion omega boards # Onion omega boards
_ONION_OMEGA_BOARD_IDS = (ONION_OMEGA, ONION_OMEGA2) _ONION_OMEGA_BOARD_IDS = (ONION_OMEGA, ONION_OMEGA2)
# Pine64 boards and devices # Pine64 boards and devices
_PINE64_DEV_IDS = (PINE64, PINEH64, PINEBOOK, PINEPHONE, SOPINE, QUARTZ64_A) _PINE64_DEV_IDS = (PINE64, PINEH64, PINEBOOK, PINEPHONE, SOPINE, QUARTZ64_A)
# Pcduino baords # Pcduino boards
_PCDUINO_DEV_IDS = (PCDUINO2, PCDUINO3) _PCDUINO_DEV_IDS = (PCDUINO2, PCDUINO3)
# RockPi boards and devices # RockPi boards and devices
_ROCK_PI_IDS = ( _ROCK_PI_IDS = (

View file

@ -97,6 +97,8 @@ PI_TYPE = {
0x15: "CM4S", 0x15: "CM4S",
0x17: "5", 0x17: "5",
0x18: "CM5", 0x18: "CM5",
0x19: "500",
0x1A: "CM5 Lite",
} }
OLD_MANUFACTURER = ( OLD_MANUFACTURER = (