@@ -156,10 +156,14 @@ def id(self) -> Optional[str]:
156
156
or self ._allwinner_variants_id ()
157
157
or self ._repka_variants_id ()
158
158
)
159
+ elif chip_id == chips .H618 :
160
+ board_id = self ._armbian_id () or self ._allwinner_variants_id ()
159
161
elif chip_id == chips .H616 :
160
162
board_id = self ._armbian_id () or self ._allwinner_variants_id ()
161
163
elif chip_id == chips .A33 :
162
164
board_id = self ._clockwork_pi_id ()
165
+ elif chip_id == chips .K1 :
166
+ board_id = self ._armbian_id () or self ._spacemit_variants_id ()
163
167
elif chip_id == chips .RK3308 :
164
168
board_id = self ._rock_pi_id ()
165
169
elif chip_id == chips .RK3399 :
@@ -431,8 +435,14 @@ def _armbian_id(self) -> Optional[str]:
431
435
board = boards .BANANA_PI_M2_PLUS
432
436
elif board_value == "bananapim2berry" :
433
437
board = boards .BANANA_PI_M2_BERRY
438
+ elif board_value == "bananapim4berry" :
439
+ board = boards .BANANA_PI_M4_BERRY
440
+ elif board_value == "bananapim4zero" :
441
+ board = boards .BANANA_PI_M4_ZERO
434
442
elif board_value == "bananapim5" :
435
443
board = boards .BANANA_PI_M5
444
+ elif board_value == "bananapif3" :
445
+ board = boards .BANANA_PI_F3
436
446
elif board_value == "orangepizeroplus2-h5" :
437
447
board = boards .ORANGE_PI_ZERO_PLUS_2H5
438
448
elif board_value == "orangepizeroplus" :
@@ -755,8 +765,13 @@ def _allwinner_variants_id(self) -> Optional[str]:
755
765
if "banana pro" in board_value :
756
766
board = boards .LEMAKER_BANANA_PRO
757
767
758
- if "banana pi m2 berry" in board_value :
759
- board = boards .BANANA_PI_M2_BERRY
768
+ if any (x in board_value for x in ("banana pi" , "bananapi" )):
769
+ if "m2 berry" in board_value :
770
+ board = boards .BANANA_PI_M2_BERRY
771
+ elif "m4berry" in board_value or "m4 berry" in board_value :
772
+ board = boards .BANANA_PI_M4_BERRY
773
+ elif "m4zero" in board_value or "m4 zero" in board_value :
774
+ board = boards .BANANA_PI_M4_ZERO
760
775
761
776
if "nanopi" in board_value :
762
777
if "neo" in board_value and "SUN8I" in chip_id :
@@ -779,6 +794,24 @@ def _allwinner_variants_id(self) -> Optional[str]:
779
794
board = boards .OLIMEX_LIME2
780
795
return board
781
796
797
+ def _spacemit_variants_id (self ) -> Optional [str ]:
798
+ """Try to detect the id of spacemit based board. (bananapi)"""
799
+ board_value = self .detector .get_device_model ()
800
+ board = None
801
+ if not board_value :
802
+ return board
803
+ board_value = board_value .lower ()
804
+
805
+ if any (x in board_value for x in ("banana pi" , "bananapi" )):
806
+ if "bpi-f3" in board_value :
807
+ board = boards .BANANA_PI_F3
808
+
809
+ if "spacemit" in board_value :
810
+ if "deb1" in board_value :
811
+ board = boards .BANANA_PI_F3
812
+
813
+ return board
814
+
782
815
def _repka_variants_id (self ) -> Optional [str ]:
783
816
board_value = self .detector .get_device_model ()
784
817
board = None
0 commit comments