diff --git a/adafruit_platformdetect/board.py b/adafruit_platformdetect/board.py index d206cbba..e1295911 100644 --- a/adafruit_platformdetect/board.py +++ b/adafruit_platformdetect/board.py @@ -155,6 +155,10 @@ def id(self) -> Optional[str]: board_id = self._asus_tinker_board_id() elif chip_id == chips.RK3328: board_id = self._rock_pi_id() + elif chip_id == chips.RK3566: + board_id = self._rk3566_id() + elif chip_id == chips.RK3568: + board_id = self._rk3568_id() elif chip_id == chips.RK3588: board_id = self._rock_pi_id() elif chip_id == chips.RYZEN_V1605B: @@ -469,6 +473,24 @@ def _pynq_id(self) -> Optional[str]: except FileNotFoundError: return None + def _rk3566_id(self) -> Optional[str]: + """Check what type of rk3566 board.""" + board_value = self.detector.get_device_model() + board = None + if board_value and "LubanCat-Zero" in board_value: + board = boards.LUBANCAT_ZERO + if board_value and "LubanCat1" in board_value: + board = boards.LUBANCAT1 + return board + + def _rk3568_id(self) -> Optional[str]: + """Check what type of rk3568 board.""" + board_value = self.detector.get_device_model() + board = None + if board_value and "LubanCat2" in board_value: + board = boards.LUBANCAT2 + return board + def _rock_pi_id(self) -> Optional[str]: """Check what type of Rock Pi board.""" board_value = self.detector.get_device_model() diff --git a/adafruit_platformdetect/chip.py b/adafruit_platformdetect/chip.py index d82545c5..222104a1 100644 --- a/adafruit_platformdetect/chip.py +++ b/adafruit_platformdetect/chip.py @@ -218,6 +218,12 @@ def _linux_id(self) -> Optional[str]: if self.detector.check_dt_compatible_value("rockchip,rk3328"): return chips.RK3328 + if self.detector.check_dt_compatible_value("rockchip,rk3566"): + return chips.RK3566 + + if self.detector.check_dt_compatible_value("rockchip,rk3568"): + return chips.RK3568 + if self.detector.check_dt_compatible_value("rockchip,rk3588"): return chips.RK3588 diff --git a/adafruit_platformdetect/constants/boards.py b/adafruit_platformdetect/constants/boards.py index 529899a8..c8ed4d4a 100644 --- a/adafruit_platformdetect/constants/boards.py +++ b/adafruit_platformdetect/constants/boards.py @@ -94,6 +94,9 @@ # Embedfire LubanCat board LUBANCAT_IMX6ULL = "LUBANCAT_IMX6ULL" LUBANCAT_STM32MP157 = "LUBANCAT_STM32MP157" +LUBANCAT_ZERO = "LUBANCAT_ZERO" +LUBANCAT1 = "LUBANCAT1" +LUBANCAT2 = "LUBANCAT2" # Various Raspberry Pi models RASPBERRY_PI_B_REV1 = "RASPBERRY_PI_B_REV1" @@ -220,7 +223,13 @@ _BANANA_PI_IDS = (BANANA_PI_M2_ZERO, BANANA_PI_M2_PLUS, BANANA_PI_M5) # LubanCat -_LUBANCAT_IDS = (LUBANCAT_IMX6ULL, LUBANCAT_STM32MP157) +_LUBANCAT_IDS = ( + LUBANCAT_IMX6ULL, + LUBANCAT_STM32MP157, + LUBANCAT_ZERO, + LUBANCAT1, + LUBANCAT2, +) # Coral boards _CORAL_IDS = (CORAL_EDGE_TPU_DEV, CORAL_EDGE_TPU_DEV_MINI) diff --git a/adafruit_platformdetect/constants/chips.py b/adafruit_platformdetect/constants/chips.py index 782f8a72..c5c44853 100644 --- a/adafruit_platformdetect/constants/chips.py +++ b/adafruit_platformdetect/constants/chips.py @@ -55,6 +55,8 @@ RK3328 = "RK3328" LPC4330 = "LPC4330" RK3288 = "RK3288" +RK3566 = "RK3566" +RK3568 = "RK3568" RK3588 = "RK3588" PENTIUM_N3710 = "PENTIUM_N3710" # SOC Braswell core STM32F405 = "STM32F405"