From: Brandon Date: Sat, 15 Oct 2022 02:43:06 +0000 (+0000) Subject: Add support for aml-s905x-cc-v1 X-Git-Tag: 8.6.0~1^2~1 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/3583e914966fe4aaf66eb701f31916f77896c935?ds=inline Add support for aml-s905x-cc-v1 --- diff --git a/src/adafruit_blinka/board/librecomputer/__init__.py b/src/adafruit_blinka/board/librecomputer/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/board/librecomputer/aml_s905x_cc_v1.py b/src/adafruit_blinka/board/librecomputer/aml_s905x_cc_v1.py new file mode 100644 index 0000000..e84812c --- /dev/null +++ b/src/adafruit_blinka/board/librecomputer/aml_s905x_cc_v1.py @@ -0,0 +1,63 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""Pin definitions for the AML-S905X-CC-V1.""" + +from adafruit_blinka.microcontroller.amlogic.s905x import pin + +for it in pin.i2cPorts: + globals()["SCL" + str(it[0])] = it[1] + globals()["SDA" + str(it[0])] = it[2] + +SCL = pin.i2cPorts[0][1] +SDA = pin.i2cPorts[0][2] + +SCLK = pin.SPI1_SCLK +MOSI = pin.SPI1_MOSI +MISO = pin.SPI1_MISO +SPI_CS = pin.SPI1_CS + +# Pinout reference: +# https://github.com/libre-computer-project/libretech-wiring-tool/blob/master/libre-computer/aml-s905x-cc/gpio.map + +# 40 pin Header 7J1 +P3 = pin.GPIO105 +P5 = pin.GPIO104 +P7 = pin.GPIO289 +P8 = pin.GPIO291 +P10 = pin.GPIO292 +P12 = pin.GPIO106 +P13 = pin.GPIO109 +P15 = pin.GPIO110 +P16 = pin.GPIO293 +P18 = pin.GPIO294 +P19 = pin.GPIO287 +P21 = pin.GPIO288 +P22 = pin.GPIO279 +P23 = pin.GPIO290 +P24 = pin.GPIO289 +P26 = pin.GPIO280 +P27 = pin.GPIO275 +P28 = pin.GPIO276 +P29 = pin.GPIO296 +P31 = pin.GPIO297 +P32 = pin.GPIO295 +P33 = pin.GPIO285 +P35 = pin.GPIO286 +P36 = pin.GPIO281 +P37 = pin.GPIO284 +P38 = pin.GPIO282 +P40 = pin.GPIO283 + +# 8 Pin Header 2J3 +P2J33 = pin.GPIO225 +P2J34 = pin.GPIO224 +P2J35 = pin.GPIO223 +P2J36 = pin.GPIO222 + +# 3 Pin Header 2J1 +P2J12 = pin.GPIO100 +P2J13 = pin.GPIO101 + +# 3 Pin Header 9J1 +P9J12 = pin.GPIO220 diff --git a/src/adafruit_blinka/microcontroller/amlogic/s905x/__init__.py b/src/adafruit_blinka/microcontroller/amlogic/s905x/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/amlogic/s905x/pin.py b/src/adafruit_blinka/microcontroller/amlogic/s905x/pin.py new file mode 100644 index 0000000..e00bab5 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/amlogic/s905x/pin.py @@ -0,0 +1,71 @@ +# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""AmLogic s905x pin names""" +# pylint: disable=wildcard-import,unused-wildcard-import +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin + +# Chip 0 +GPIO100 = Pin((0,0)) +GPIO101 = Pin((0,1)) +GPIO104 = Pin((0,4)) +GPIO105 = Pin((0,5)) +GPIO106 = Pin((0,6)) +GPIO109 = Pin((0,9)) +GPIO110 = Pin((0,10)) + +# Chip 1 +GPIO220 = Pin((1,20)) +GPIO222 = Pin((1,22)) +GPIO223 = Pin((1,23)) +GPIO224 = Pin((1,24)) +GPIO225 = Pin((1,25)) +GPIO275 = Pin((1,75)) +GPIO276 = Pin((1,76)) +GPIO279 = Pin((1,79)) +GPIO280 = Pin((1,80)) +GPIO281 = Pin((1,81)) +GPIO282 = Pin((1,82)) +GPIO283 = Pin((1,83)) +GPIO284 = Pin((1,84)) +GPIO285 = Pin((1,85)) +GPIO286 = Pin((1,86)) +GPIO287 = Pin((1,87)) +GPIO288 = Pin((1,88)) +GPIO289 = Pin((1,89)) +GPIO290 = Pin((1,90)) +GPIO291 = Pin((1,91)) +GPIO292 = Pin((1,92)) +GPIO293 = Pin((1,93)) +GPIO294 = Pin((1,94)) +GPIO295 = Pin((1,95)) +GPIO296 = Pin((1,96)) +GPIO297 = Pin((1,97)) +GPIO298 = Pin((1,98)) + +I2C0_SDA = GPIO105 +I2C0_SCK = GPIO104 +I2C1_SDA = GPIO275 +I2C1_SCK = GPIO276 + +UART1_RX = GPIO288 +UART1_TX = GPIO287 +UART2_RX = GPIO292 +UART2_TX = GPIO291 + +SPI1_SCLK = GPIO223 +SPI1_MISO = GPIO288 +SPI1_MOSI = GPIO287 +SPI1_CS = GPIO289 + +i2cPorts = ( + (0, I2C0_SCK, I2C0_SDA), + (1, I2C1_SCK, I2C1_SDA) +) + +spiPorts = ((0, SPI1_SCLK, SPI1_MOSI, SPI1_MISO)) + +uartPorts = ( + (1, UART1_TX, UART1_RX), + (2, UART2_TX, UART2_RX), +) diff --git a/src/board.py b/src/board.py index 4b8ae56..0a525e7 100644 --- a/src/board.py +++ b/src/board.py @@ -280,6 +280,9 @@ elif board_id == ap_board.LICHEE_RV: elif board_id == ap_board.SIEMENS_SIMATIC_IOT2050_ADV: from adafruit_blinka.board.siemens.siemens_iot2050 import * +elif board_id == ap_board.AML_S905X_CC: + from adafruit_blinka.board.librecomputer.aml_s905x_cc_v1 import * + elif "sphinx" in sys.modules: pass diff --git a/src/digitalio.py b/src/digitalio.py index 7f64fb1..3032706 100644 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -38,6 +38,8 @@ elif detector.chip.T234: from adafruit_blinka.microcontroller.tegra.t234.pin import Pin elif detector.chip.S905: from adafruit_blinka.microcontroller.amlogic.s905.pin import Pin +elif detector.board.aml_s905x_cc: + from adafruit_blinka.microcontroller.amlogic.s905x.pin import Pin elif detector.chip.S905X3: from adafruit_blinka.microcontroller.amlogic.s905x3.pin import Pin elif detector.chip.S905Y2: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index debf41c..5858481 100644 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -68,6 +68,8 @@ elif chip_id == ap_chip.T234: from adafruit_blinka.microcontroller.tegra.t234 import * elif chip_id == ap_chip.S905: from adafruit_blinka.microcontroller.amlogic.s905 import * +elif chip_id == ap_chip.S905X: + from adafruit_blinka.microcontroller.amlogic.s905x import * elif chip_id == ap_chip.S905X3: from adafruit_blinka.microcontroller.amlogic.s905x3 import * elif chip_id == ap_chip.S905Y2: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index a46c6cd..d21ccb2 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -55,6 +55,8 @@ elif chip_id == ap_chip.T234: from adafruit_blinka.microcontroller.tegra.t234.pin import * elif chip_id == ap_chip.S905: from adafruit_blinka.microcontroller.amlogic.s905.pin import * +elif chip_id == ap_chip.S905X: + from adafruit_blinka.microcontroller.amlogic.s905x.pin import * elif chip_id == ap_chip.S905X3: from adafruit_blinka.microcontroller.amlogic.s905x3.pin import * elif chip_id == ap_chip.S905Y2: