Skip to content

Commit 07bbea9

Browse files
committed
support spacemit k1, bananapif3
1 parent f5b0f3e commit 07bbea9

File tree

4 files changed

+29
-0
lines changed

4 files changed

+29
-0
lines changed

adafruit_platformdetect/board.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ def id(self) -> Optional[str]:
162162
board_id = self._armbian_id() or self._allwinner_variants_id()
163163
elif chip_id == chips.A33:
164164
board_id = self._clockwork_pi_id()
165+
elif chip_id == chips.K1:
166+
board_id = self._armbian_id() or self._spacemit_variants_id()
165167
elif chip_id == chips.RK3308:
166168
board_id = self._rock_pi_id()
167169
elif chip_id == chips.RK3399:
@@ -439,6 +441,8 @@ def _armbian_id(self) -> Optional[str]:
439441
board = boards.BANANA_PI_M4_ZERO
440442
elif board_value == "bananapim5":
441443
board = boards.BANANA_PI_M5
444+
elif board_value == "bananapif3":
445+
board = boards.BANANA_PI_F3
442446
elif board_value == "orangepizeroplus2-h5":
443447
board = boards.ORANGE_PI_ZERO_PLUS_2H5
444448
elif board_value == "orangepizeroplus":
@@ -790,6 +794,25 @@ def _allwinner_variants_id(self) -> Optional[str]:
790794
board = boards.OLIMEX_LIME2
791795
return board
792796

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+
chip_id = self.detector.chip.id
805+
806+
if any(x in board_value for x in ("banana pi", "bananapi")):
807+
if "bpi-f3" in board_value:
808+
board = boards.BANANA_PI_F3
809+
810+
if "spacemit" in board_value:
811+
if "deb1" in board_value:
812+
board = boards.BANANA_PI_F3
813+
814+
return board
815+
793816
def _repka_variants_id(self) -> Optional[str]:
794817
board_value = self.detector.get_device_model()
795818
board = None

adafruit_platformdetect/chip.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@ def _linux_id(self) -> Optional[str]:
297297
if self.detector.check_dt_compatible_value("sun50i-h6"):
298298
return chips.H6
299299

300+
if self.detector.check_dt_compatible_value("spacemit,k1-x"):
301+
return chips.K1
302+
300303
if self.detector.check_dt_compatible_value("mediatek,mt8167"):
301304
return chips.MT8167
302305

adafruit_platformdetect/constants/boards.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
BANANA_PI_M4_BERRY = "BANANA_PI_M4_BERRY"
8282
BANANA_PI_M4_ZERO = "BANANA_PI_M4_ZERO"
8383
BANANA_PI_M5 = "BANANA_PI_M5"
84+
BANANA_PI_F3 = "BANANA_PI_F3"
8485

8586
# LeMaker boards
8687
LEMAKER_BANANA_PRO = "LEMAKER_BANANA_PRO"
@@ -310,6 +311,7 @@
310311
BANANA_PI_M4_BERRY,
311312
BANANA_PI_M4_ZERO,
312313
BANANA_PI_M5,
314+
BANANA_PI_F3,
313315
)
314316

315317
# LeMaker

adafruit_platformdetect/constants/chips.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
D1_RISCV = "D1_RISCV"
8181
ATOM_J4105 = "ATOM_J4105"
8282
TH1520 = "TH1520"
83+
K1 = "K1"
8384

8485
BCM_RANGE = {"BCM2708", "BCM2709", "BCM2711", "BCM2712", "BCM2835", "BCM2837"}
8586

0 commit comments

Comments
 (0)