From: Vladimir Shtarev <73039810+DarkMechanikum@users.noreply.github.com> Date: Thu, 27 Jun 2024 16:14:51 +0000 (+0300) Subject: Merge pull request #1 from DarkMechanikum/dev X-Git-Tag: 8.46.0~2^2~3 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/6b2d57a752d03e6cbba71a7fdc614a93e9673b32?hp=69290a7d4b6a18faa24759caf6d90c37d89fac17 Merge pull request #1 from DarkMechanikum/dev Dev --- diff --git a/src/adafruit_blinka/board/starfive/__init__.py b/src/adafruit_blinka/board/starfive/__init__.py new file mode 100644 index 0000000..06d9822 --- /dev/null +++ b/src/adafruit_blinka/board/starfive/__init__.py @@ -0,0 +1 @@ +"""Starffive boards defenition""" diff --git a/src/adafruit_blinka/board/starfive/visionfive2.py b/src/adafruit_blinka/board/starfive/visionfive2.py new file mode 100644 index 0000000..63509ce --- /dev/null +++ b/src/adafruit_blinka/board/starfive/visionfive2.py @@ -0,0 +1,46 @@ +from adafruit_blinka.microcontroller.starfive.JH7110 import pin + +D0 = pin.D0 +D1 = pin.D1 +D4 = pin.D4 +D5 = pin.D5 +D6 = pin.D6 +D7 = pin.D7 +D8 = pin.D8 +D9 = pin.D9 +D10 = pin.D10 +D11 = pin.D11 +D12 = pin.D12 +D13 = pin.D13 +D14 = pin.D14 +D15 = pin.D15 +D16 = pin.D16 +D17 = pin.D17 +D18 = pin.D18 +D19 = pin.D19 +D20 = pin.D20 +D21 = pin.D21 +D22 = pin.D22 +D23 = pin.D23 +D24 = pin.D24 +D25 = pin.D25 +D26 = pin.D26 +D27 = pin.D27 + +# I2C +SDA = pin.I2C1_SDA +SCL = pin.I2C1_SCL +SDA2 = pin.I2C2_SDA +SCL2 = pin.I2C2_SCL +SDA3 = pin.I2C3_SDA +SCL3 = pin.I2C3_SCL + +# SPI +SPI_MISO = pin.SPI_MISO +SPI_MOSI = pin.SPI_MOSI +SPI_SCLK = pin.SPI_SCLK + + +# UART +UART_TX = pin.UART_TX +UART_RX = pin.UART_RX diff --git a/src/adafruit_blinka/microcontroller/generic_micropython/i2c.py b/src/adafruit_blinka/microcontroller/generic_micropython/i2c.py index 2036233..c609249 100755 --- a/src/adafruit_blinka/microcontroller/generic_micropython/i2c.py +++ b/src/adafruit_blinka/microcontroller/generic_micropython/i2c.py @@ -8,6 +8,7 @@ from machine import I2C as _I2C class I2C: """I2C Class for Generic MicroPython""" + MASTER = 0 # pylint: disable=unused-argument diff --git a/src/adafruit_blinka/microcontroller/starfive/JH7110/__init__.py b/src/adafruit_blinka/microcontroller/starfive/JH7110/__init__.py new file mode 100644 index 0000000..2a4aa83 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/starfive/JH7110/__init__.py @@ -0,0 +1 @@ +"""Definition for the StarFive JH7110 chip""" diff --git a/src/adafruit_blinka/microcontroller/starfive/JH7110/pin.py b/src/adafruit_blinka/microcontroller/starfive/JH7110/pin.py new file mode 100644 index 0000000..5fdbf2c --- /dev/null +++ b/src/adafruit_blinka/microcontroller/starfive/JH7110/pin.py @@ -0,0 +1,60 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""A Pin class for use with StarFive JH7110.""" + +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin + +D0 = Pin(9) +D1 = Pin(10) +D4 = Pin(46) +D5 = Pin(8) +D6 = Pin(6) +D7 = Pin(11) +D8 = Pin(15) +D9 = Pin(16) +D10 = Pin(18) +D11 = Pin(12) +D12 = Pin(7) +D13 = Pin(5) +D14 = Pin(14) +D15 = Pin(13) +D16 = Pin(4) +D17 = Pin(44) +D18 = Pin(45) +D19 = Pin(3) +D20 = Pin(2) +D21 = Pin(0) +D22 = Pin(20) +D23 = Pin(21) +D24 = Pin(19) +D25 = Pin(17) +D26 = Pin(1) +D27 = Pin(22) + +# I2C +I2C1_SDA = Pin(48) +I2C1_SCL = Pin(47) +I2C2_SDA = Pin(59) +I2C2_SCL = Pin(60) +I2C3_SDA = Pin(61) +I2C3_SCL = Pin(62) + +# SPI +SPI_MISO = D9 +SPI_MOSI = D10 +SPI_SCLK = D11 + +# UART +UART_TX = D14 +UART_RX = D15 + +# ordered as i2cId, SCL, SDA +i2cPorts = ( + (0, I2C1_SCL, I2C1_SDA), + (1, I2C2_SCL, I2C2_SDA), + (2, I2C3_SCL, I2C3_SDA), +) + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((0, SPI_SCLK, SPI_MOSI, SPI_MISO),) diff --git a/src/board.py b/src/board.py index 667a234..0706f42 100644 --- a/src/board.py +++ b/src/board.py @@ -26,6 +26,9 @@ from adafruit_blinka.agnostic import board_id, detector if board_id == ap_board.FEATHER_HUZZAH: from adafruit_blinka.board.feather_huzzah import * +elif board_id == ap_board.VISIONFIVE2: + from adafruit_blinka.board.starfive.visionfive2 import * + elif board_id == ap_board.OLIMEX_LIME2: from adafruit_blinka.board.OLIMEX_LIME2 import * @@ -438,6 +441,7 @@ elif board_id is None: ) else: + raise NotImplementedError(f"Board not supported {board_id}.") if "SCL" in locals() and "SDA" in locals(): diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 0baf43d..187d642 100644 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -49,6 +49,8 @@ elif chip_id == ap_chip.AM65XX: from adafruit_blinka.microcontroller.am65xx import * elif chip_id == ap_chip.JH71X0: from adafruit_blinka.microcontroller.starfive.JH71x0 import * +elif chip_id == ap_chip.JH7110: + from adafruit_blinka.microcontroller.starfive.JH7110 import * elif chip_id == ap_chip.SUN4I: from adafruit_blinka.microcontroller.allwinner.a20 import * elif chip_id == ap_chip.SUN7I: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index adf92db..115d71a 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -34,6 +34,8 @@ elif chip_id == ap_chip.AM65XX: from adafruit_blinka.microcontroller.am65xx.pin import * elif chip_id == ap_chip.JH71X0: from adafruit_blinka.microcontroller.starfive.JH71x0.pin import * +elif chip_id == ap_chip.JH7110: + from adafruit_blinka.microcontroller.starfive.JH7110.pin import * elif chip_id == ap_chip.SUN4I: from adafruit_blinka.microcontroller.allwinner.a20.pin import * elif chip_id == ap_chip.SUN7I: