]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Add support for aml-s905x-cc-v1
authorBrandon <github@brandonmoloney.com>
Sat, 15 Oct 2022 02:43:06 +0000 (02:43 +0000)
committerBrandon <github@brandonmoloney.com>
Sat, 15 Oct 2022 19:38:40 +0000 (19:38 +0000)
src/adafruit_blinka/board/librecomputer/__init__.py [new file with mode: 0644]
src/adafruit_blinka/board/librecomputer/aml_s905x_cc_v1.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/amlogic/s905x/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/amlogic/s905x/pin.py [new file with mode: 0644]
src/board.py
src/digitalio.py
src/microcontroller/__init__.py
src/microcontroller/pin.py

diff --git a/src/adafruit_blinka/board/librecomputer/__init__.py b/src/adafruit_blinka/board/librecomputer/__init__.py
new file mode 100644 (file)
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 (file)
index 0000000..e84812c
--- /dev/null
@@ -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 (file)
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 (file)
index 0000000..e00bab5
--- /dev/null
@@ -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),
+)
index 4b8ae56a92433459a9b0dc6ebde460de58d15282..0a525e72697b92527798b405cc8a2e18d16ca1f3 100644 (file)
@@ -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.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
 
 elif "sphinx" in sys.modules:
     pass
 
index 7f64fb106c4463a0ca6358250bfe7f6da9e471c5..30327062a6f85b131c435d40e1cf680e6334a3f0 100644 (file)
@@ -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
     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:
 elif detector.chip.S905X3:
     from adafruit_blinka.microcontroller.amlogic.s905x3.pin import Pin
 elif detector.chip.S905Y2:
index debf41c3423ea18a3743d2696eea2a83682887a2..5858481073a82f6741f2fe6c9047a648772320e0 100644 (file)
@@ -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 *
     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:
 elif chip_id == ap_chip.S905X3:
     from adafruit_blinka.microcontroller.amlogic.s905x3 import *
 elif chip_id == ap_chip.S905Y2:
index a46c6cd21fe9cdeeb4bf493dadd549d4dceb1615..d21ccb2fda5bd037333bc75e818081316c724fcb 100644 (file)
@@ -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 *
     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:
 elif chip_id == ap_chip.S905X3:
     from adafruit_blinka.microcontroller.amlogic.s905x3.pin import *
 elif chip_id == ap_chip.S905Y2: