diff --git a/src/adafruit_blinka/board/milkv_duo.py b/src/adafruit_blinka/board/milkv_duo.py new file mode 100644 index 00000000..463c4012 --- /dev/null +++ b/src/adafruit_blinka/board/milkv_duo.py @@ -0,0 +1,40 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""Pin definitions for the Milk-V Duo.""" + +from adafruit_blinka.microcontroller.cv1800b import pin + +# see milkvduo/sdk_linux/duo-buildroot-sdk/buildroot-2021.05/ +# package/python-pinpong/pinpong/extension/milkvDuo.py +GP1 = pin.GP1 +GP2 = pin.GP2 +GP3 = pin.GP3 +GP4 = pin.GP4 +GP5 = pin.GP5 +GP6 = pin.GP6 +GP7 = pin.GP7 +GP8 = pin.GP8 +GP9 = pin.GP9 +GP10 = pin.GP10 +GP11 = pin.GP11 +GP12 = pin.GP12 +GP13 = pin.GP13 +GP14 = pin.GP14 +GP15 = pin.GP15 +GP16 = pin.GP16 +GP17 = pin.GP17 +GP18 = pin.GP18 +GP19 = pin.GP19 +GP20 = pin.GP20 +GP21 = pin.GP21 +GP22 = pin.GP22 +GP25 = pin.GP25 +GP26 = pin.GP26 +GP27 = pin.GP27 + +SCLK = pin.SPI2_SCLK +MOSI = pin.SPI2_MOSI +MISO = pin.SPI2_MISO +CS = pin.SPI2_CS +SCK = SCLK diff --git a/src/adafruit_blinka/microcontroller/cv1800b/__init__.py b/src/adafruit_blinka/microcontroller/cv1800b/__init__.py new file mode 100644 index 00000000..bc66679d --- /dev/null +++ b/src/adafruit_blinka/microcontroller/cv1800b/__init__.py @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""Definition for the CVITEK CV1800B chip""" diff --git a/src/adafruit_blinka/microcontroller/cv1800b/pin.py b/src/adafruit_blinka/microcontroller/cv1800b/pin.py new file mode 100644 index 00000000..a592b641 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/cv1800b/pin.py @@ -0,0 +1,45 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""CVITEK CV1800B pin names""" + +# from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin +from adafruit_blinka.microcontroller.generic_linux.sysfs_pin import Pin + +# see milkvduo/sdk_linux/duo-buildroot-sdk/buildroot-2021.05/ +# package/python-pinpong/pinpong/extension/milkvDuo.py +GP0 = Pin(508) +GP1 = Pin(509) +GP2 = Pin(378) +GP3 = Pin(377) +GP4 = Pin(371) +GP5 = Pin(372) +GP6 = Pin(375) +GP7 = Pin(374) +GP8 = Pin(373) +GP9 = Pin(370) +GP10 = Pin(425) +GP11 = Pin(426) +GP12 = Pin(496) +GP13 = Pin(497) +GP14 = Pin(494) +GP15 = Pin(495) +GP16 = Pin(503) +GP17 = Pin(504) +GP18 = Pin(502) +GP19 = Pin(505) +GP20 = Pin(507) +GP21 = Pin(506) +GP22 = Pin(356) +GP25 = Pin(440) +GP26 = Pin(451) +GP27 = Pin(454) + +# SPI +SPI2_CS = GP9 +SPI2_SCLK = GP6 +SPI2_MISO = GP8 +SPI2_MOSI = GP7 + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((0, SPI2_SCLK, SPI2_MOSI, SPI2_MISO),) diff --git a/src/board.py b/src/board.py index 2c569261..ca7c683f 100644 --- a/src/board.py +++ b/src/board.py @@ -376,6 +376,9 @@ elif board_id == ap_board.LICHEEPI_4A: from adafruit_blinka.board.licheepi_4a import * +elif board_id == ap_board.MILKV_DUO: + from adafruit_blinka.board.milkv_duo import * + elif "sphinx" in sys.modules: pass diff --git a/src/digitalio.py b/src/digitalio.py index e7926304..640a8cfc 100644 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -135,6 +135,8 @@ from machine import Pin elif detector.chip.RP2040: from machine import Pin +elif detector.chip.CV1800B: + from adafruit_blinka.microcontroller.cv1800b.pin import Pin from adafruit_blinka import Enum, ContextManaged diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 1667986a..2c51e3b0 100644 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -144,6 +144,8 @@ def delay_us(delay): from adafruit_blinka.microcontroller.rp2040_u2if import * elif chip_id == ap_chip.D1_RISCV: from adafruit_blinka.microcontroller.allwinner.D1 import * +elif chip_id == ap_chip.CV1800B: + from adafruit_blinka.microcontroller.cv1800b import * elif chip_id == ap_chip.TH1520: from adafruit_blinka.microcontroller.thead.th1520 import * elif chip_id == ap_chip.GENERIC_X86: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index f0da3194..c499364f 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -139,6 +139,8 @@ from adafruit_blinka.microcontroller.rp2040_u2if.pin import * elif chip_id == ap_chip.D1_RISCV: from adafruit_blinka.microcontroller.allwinner.D1.pin import * +elif chip_id == ap_chip.CV1800B: + from adafruit_blinka.microcontroller.cv1800b.pin import * elif chip_id == ap_chip.TH1520: from adafruit_blinka.microcontroller.thead.th1520.pin import * elif "sphinx" in sys.modules: