@@ -67,6 +67,8 @@ def id(self) -> Optional[str]:
67
67
board_id = self ._pi_id ()
68
68
elif chip_id == chips .AM33XX :
69
69
board_id = self ._beaglebone_id ()
70
+ elif chip_id == chips .AM65XX :
71
+ board_id = self ._siemens_simatic_iot2000_id ()
70
72
elif chip_id == chips .DRA74X :
71
73
board_id = self ._bbai_id ()
72
74
elif chip_id == chips .SUN8I :
@@ -541,6 +543,21 @@ def _rp2040_u2if_id(self) -> Optional[str]:
541
543
# Will only reach here if a device was added in chip.py but here.
542
544
raise RuntimeError ("RP2040_U2IF device was added to chip but not board." )
543
545
546
+ def _siemens_simatic_iot2000_id (self ) -> Optional [str ]:
547
+ """Try to detect if this is a IOT2050 Gateway."""
548
+ board_value = self .detector .get_device_model ()
549
+ board = None
550
+ if board_value and "SIMATIC IOT2050 Advanced" in board_value :
551
+ board = boards .SIEMENS_SIMATIC_IOT2050_ADV
552
+ elif board_value and "SIMATIC IOT2050 Basic" in board_value :
553
+ board = boards .SIEMENS_SIMATIC_IOT2050_BASIC
554
+ return board
555
+
556
+ @property
557
+ def any_siemens_simatic_iot2000 (self ) -> bool :
558
+ """Check whether the current board is a SIEMENS SIMATIC IOT2000 Gateway."""
559
+ return self .id in boards ._SIEMENS_SIMATIC_IOT2000_IDS
560
+
544
561
@property
545
562
def any_nanopi (self ) -> bool :
546
563
"""Check whether the current board is any defined Nano Pi."""
@@ -700,6 +717,7 @@ def any_embedded_linux(self) -> bool:
700
717
self .any_bananapi ,
701
718
self .any_maaxboard ,
702
719
self .any_tisk_board ,
720
+ self .any_siemens_simatic_iot2000 ,
703
721
self .any_lichee_riscv_board ,
704
722
]
705
723
)
0 commit comments