From: Melissa LeBlanc-Williams Date: Fri, 23 Aug 2019 18:08:17 +0000 (-0700) Subject: Merge pull request #145 from makermelissa/master X-Git-Tag: 2.3.2 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/a322e55fdbdd05eb12a9d4cd928811a2a61bb99c?hp=8f13ca976665af043b5e673507253114974a361d Merge pull request #145 from makermelissa/master Update requirements for SpiDev >= 3.4 --- diff --git a/requirements.txt b/requirements.txt index 49b8afc..433b122 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,6 @@ Adafruit-PlatformDetect Adafruit-PureIO +Jetson.GPIO; platform_machine=='aarch64' RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l' rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l' spidev>=3.4; sys_platform == 'linux' diff --git a/setup.py b/setup.py index cb3549c..57a5c39 100755 --- a/setup.py +++ b/setup.py @@ -37,6 +37,7 @@ setup( install_requires=[ "Adafruit-PlatformDetect", "Adafruit-PureIO", + "Jetson.GPIO; platform_machine=='aarch64'", "RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l'", "rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l'", "spidev; sys_platform=='linux'", diff --git a/src/adafruit_blinka/board/jetson_nano.py b/src/adafruit_blinka/board/jetson_nano.py index 4da8cf5..8b9b77c 100644 --- a/src/adafruit_blinka/board/jetson_nano.py +++ b/src/adafruit_blinka/board/jetson_nano.py @@ -29,3 +29,17 @@ D24 = pin.B07 D25 = pin.B05 D26 = pin.B04 D27 = pin.B06 + +CE1 = D7 +CE0 = D8 +MISO = D9 +MOSI = D10 +SCLK = D11 +SCK = D11 + +CE1_1 = D23 +CE0_1 = D24 +MISO_1 = D25 +MOSI_1 = D26 +SCLK_1 = D27 +SCK_1 = D27 diff --git a/src/adafruit_blinka/board/jetson_tx1.py b/src/adafruit_blinka/board/jetson_tx1.py index 05fc390..cfa70dc 100644 --- a/src/adafruit_blinka/board/jetson_tx1.py +++ b/src/adafruit_blinka/board/jetson_tx1.py @@ -29,3 +29,10 @@ D24 = pin.X00 D25 = pin.P16 D26 = pin.X03 D27 = pin.E06 + +CE1 = D7 +CE0 = D8 +MISO = D9 +MOSI = D10 +SCLK = D11 +SCK = D11 diff --git a/src/adafruit_blinka/board/jetson_tx2.py b/src/adafruit_blinka/board/jetson_tx2.py index 906fa56..47c1624 100644 --- a/src/adafruit_blinka/board/jetson_tx2.py +++ b/src/adafruit_blinka/board/jetson_tx2.py @@ -10,6 +10,7 @@ SCL_1 = pin.SCL_1 D4 = pin.J04 D5 = pin.J06 D6 = pin.AA02 +D7 = pin.N03 D8 = pin.N06 D9 = pin.N04 D10 = pin.N05 @@ -28,3 +29,10 @@ D24 = pin.Y01 D25 = pin.P16 D26 = pin.I04 D27 = pin.J05 + +CE1 = D7 +CE0 = D8 +MISO = D9 +MOSI = D10 +SCLK = D11 +SCK = D11 diff --git a/src/adafruit_blinka/board/jetson_xavier.py b/src/adafruit_blinka/board/jetson_xavier.py index 24e229f..2910582 100644 --- a/src/adafruit_blinka/board/jetson_xavier.py +++ b/src/adafruit_blinka/board/jetson_xavier.py @@ -29,3 +29,10 @@ D24 = pin.H00 D25 = pin.Q01 D26 = pin.AA01 D27 = pin.R00 + +CE1 = D7 +CE0 = D8 +MISO = D9 +MOSI = D10 +SCLK = D11 +SCK = D11 diff --git a/src/adafruit_blinka/board/odroidn2.py b/src/adafruit_blinka/board/odroidn2.py new file mode 100644 index 0000000..7d23d70 --- /dev/null +++ b/src/adafruit_blinka/board/odroidn2.py @@ -0,0 +1,86 @@ +"""Pin definitions for the Odroid N2.""" + +from adafruit_blinka.microcontroller.amlogic.s922x import pin + +GPIOX_0 = pin.GPIO476 +GPIOX_1 = pin.GPIO477 +GPIOX_2 = pin.GPIO478 +GPIOX_3 = pin.GPIO479 +GPIOX_4 = pin.GPIO480 +GPIOX_5 = pin.GPIO481 +GPIOX_6 = pin.GPIO482 +GPIOX_7 = pin.GPIO483 +GPIOX_8 = pin.GPIO484 +GPIOX_9 = pin.GPIO485 +GPIOX_10 = pin.GPIO486 +GPIOX_11 = pin.GPIO487 +GPIOX_12 = pin.GPIO488 +GPIOX_13 = pin.GPIO489 +GPIOX_14 = pin.GPIO490 +GPIOX_15 = pin.GPIO491 +GPIOX_16 = pin.GPIO492 +GPIOX_17 = pin.GPIO493 +GPIOX_18 = pin.GPIO494 +GPIOX_19 = pin.GPIO495 + +GPIODV_24 = pin.GPIO493 +GPIODV_25 = pin.GPIO494 +GPIODV_26 = pin.GPIO474 +GPIODV_27 = pin.GPIO475 + +GPIOA_4 = pin.GPIO464 +GPIOA_12 = pin.GPIO472 +GPIOA_13 = pin.GPIO473 +GPIOA_14 = pin.GPIO474 +GPIOA_15 = pin.GPIO475 + +GPIOA0_0 = pin.GPIO496 +GPIOA0_1 = pin.GPIO497 +GPIOA0_2 = pin.GPIO498 +GPIOA0_3 = pin.GPIO499 +GPIOA0_4 = pin.GPIO500 +GPIOA0_5 = pin.GPIO501 +GPIOA0_6 = pin.GPIO502 +GPIOA0_7 = pin.GPIO503 +GPIOA0_8 = pin.GPIO504 +GPIOA0_9 = pin.GPIO505 +GPIOA0_10 = pin.GPIO506 +GPIOA0_11 = pin.GPIO507 +GPIOA0_12 = pin.GPIO508 +GPIOA0_13 = pin.GPIO509 +GPIOA0_14 = pin.GPIO510 +GPIOA0_15 = pin.GPIO511 + +SDA = pin.I2C3_SDA +SCL = pin.I2C3_SCL + +SCLK = pin.SPI0_SCLK +MOSI = pin.SPI0_MOSI +MISO = pin.SPI0_MISO +SPI_CS0 = pin.GPIO486 + +D0 = GPIOX_3 +D1 = GPIOX_16 +D2 = GPIOX_4 +D3 = GPIOX_7 +D4 = GPIOX_0 +D5 = GPIOX_1 +D6 = GPIOX_2 +D7 = GPIOA_13 +D8 = GPIOX_17 +D9 = GPIOX_18 +D10 = GPIOX_10 +D11 = GPIOA_4 +D12 = GPIOX_8 +D13 = GPIOX_9 +D14 = GPIOX_11 +D15 = GPIOX_12 +D16 = GPIOX_13 +D21 = GPIOX_14 +D22 = GPIOX_15 +D23 = GPIOX_5 +D24 = GPIOX_6 +D26 = GPIOA_12 +D27 = GPIOX_19 +D30 = GPIOA_14 +D31 = GPIOA_15 diff --git a/src/adafruit_blinka/microcontroller/amlogic/s922x/__init__.py b/src/adafruit_blinka/microcontroller/amlogic/s922x/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/amlogic/s922x/__init__.py @@ -0,0 +1 @@ + diff --git a/src/adafruit_blinka/microcontroller/amlogic/s922x/pin.py b/src/adafruit_blinka/microcontroller/amlogic/s922x/pin.py new file mode 100644 index 0000000..fcde5cc --- /dev/null +++ b/src/adafruit_blinka/microcontroller/amlogic/s922x/pin.py @@ -0,0 +1,74 @@ +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin + +GPIO496 = Pin((0, 0)) +GPIO497 = Pin((0, 1)) +GPIO498 = Pin((0, 2)) +GPIO499 = Pin((0, 3)) +GPIO500 = Pin((0, 4)) +GPIO501 = Pin((0, 5)) +GPIO502 = Pin((0, 6)) +GPIO503 = Pin((0, 7)) +GPIO504 = Pin((0, 8)) +GPIO505 = Pin((0, 9)) +GPIO506 = Pin((0, 10)) +GPIO507 = Pin((0, 11)) +GPIO508 = Pin((0, 12)) +GPIO509 = Pin((0, 13)) +GPIO510 = Pin((0, 14)) +GPIO511 = Pin((0, 15)) + +GPIO460 = Pin((1, 50)) +GPIO461 = Pin((1, 51)) +GPIO462 = Pin((1, 52)) +GPIO463 = Pin((1, 53)) +GPIO464 = Pin((1, 54)) +GPIO465 = Pin((1, 55)) +GPIO466 = Pin((1, 56)) +GPIO467 = Pin((1, 57)) +GPIO468 = Pin((1, 58)) +GPIO469 = Pin((1, 59)) +GPIO470 = Pin((1, 60)) +GPIO472 = Pin((1, 62)) +GPIO471 = Pin((1, 61)) +GPIO472 = Pin((1, 62)) +GPIO473 = Pin((1, 63)) +GPIO474 = Pin((1, 64)) +GPIO475 = Pin((1, 65)) +GPIO476 = Pin((1, 66)) +GPIO477 = Pin((1, 67)) +GPIO478 = Pin((1, 68)) +GPIO479 = Pin((1, 69)) +GPIO480 = Pin((1, 70)) +GPIO481 = Pin((1, 71)) +GPIO482 = Pin((1, 72)) +GPIO483 = Pin((1, 73)) +GPIO484 = Pin((1, 74)) +GPIO485 = Pin((1, 75)) +GPIO486 = Pin((1, 76)) +GPIO487 = Pin((1, 77)) +GPIO488 = Pin((1, 78)) +GPIO489 = Pin((1, 79)) +GPIO490 = Pin((1, 80)) +GPIO491 = Pin((1, 81)) +GPIO492 = Pin((1, 82)) +GPIO493 = Pin((1, 83)) +GPIO494 = Pin((1, 84)) +GPIO495 = Pin((1, 85)) + +I2C2_SDA = GPIO493 +I2C2_SCL = GPIO494 +I2C3_SDA = GPIO474 +I2C3_SCL = GPIO475 + +UART1_TX = GPIO488 +UART1_RX = GPIO489 + +SPI0_SCLK = GPIO487 +SPI0_MISO = GPIO485 +SPI0_MOSI = GPIO484 + +i2cPorts = ( (2, I2C2_SCL, I2C2_SDA), (3, I2C3_SCL, I2C3_SDA), ) +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ( (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO), ) +# ordered as uartId, txId, rxId +uartPorts = ( (1, UART1_TX, UART1_RX), ) diff --git a/src/adafruit_blinka/microcontroller/generic_linux/spi.py b/src/adafruit_blinka/microcontroller/generic_linux/spi.py index 71f74c8..58a465d 100755 --- a/src/adafruit_blinka/microcontroller/generic_linux/spi.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/spi.py @@ -36,7 +36,8 @@ class SPI: # Linux SPI driver for AM33XX chip in BeagleBone and PocketBeagle # does not support setting SPI_NO_CS mode bit (issue #104) if not self.chip.AM33XX and not self.chip.IMX8MX and not self.chip.SAMA5 \ - and not self.chip.APQ8016: + and not self.chip.APQ8016 and not self.chip.T210 and not self.chip.T186 \ + and not self.chip.T194: try: self._spi.no_cs = True # this doesn't work but try anyways except AttributeError: diff --git a/src/adafruit_blinka/microcontroller/tegra/t186/pin.py b/src/adafruit_blinka/microcontroller/tegra/t186/pin.py index 25ec2e0..f033b5c 100644 --- a/src/adafruit_blinka/microcontroller/tegra/t186/pin.py +++ b/src/adafruit_blinka/microcontroller/tegra/t186/pin.py @@ -1,7 +1,5 @@ import sys import atexit -sys.path.append("/opt/nvidia/jetson-gpio/lib/python") -sys.path.append("/opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO") import Jetson.GPIO as GPIO GPIO.setmode(GPIO.TEGRA_SOC) GPIO.setwarnings(False) # shh! @@ -98,3 +96,6 @@ J05 = Pin('GPIO_AUD0') i2cPorts = ( (1, SCL, SDA), (0, SCL_1, SDA_1), ) + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((3, N03, N05, N04), ) diff --git a/src/adafruit_blinka/microcontroller/tegra/t194/pin.py b/src/adafruit_blinka/microcontroller/tegra/t194/pin.py index 2598c51..971474e 100644 --- a/src/adafruit_blinka/microcontroller/tegra/t194/pin.py +++ b/src/adafruit_blinka/microcontroller/tegra/t194/pin.py @@ -1,7 +1,5 @@ import sys import atexit -sys.path.append("/opt/nvidia/jetson-gpio/lib/python") -sys.path.append("/opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO") import Jetson.GPIO as GPIO GPIO.setmode(GPIO.TEGRA_SOC) GPIO.setwarnings(False) # shh! @@ -99,3 +97,6 @@ R00 = Pin('SOC_GPIO44') i2cPorts = ( (8, SCL, SDA), (1, SCL_1, SDA_1), ) + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((0, Z03, Z05, Z04), ) diff --git a/src/adafruit_blinka/microcontroller/tegra/t210/pin.py b/src/adafruit_blinka/microcontroller/tegra/t210/pin.py index c6d4b6e..50e2daa 100644 --- a/src/adafruit_blinka/microcontroller/tegra/t210/pin.py +++ b/src/adafruit_blinka/microcontroller/tegra/t210/pin.py @@ -1,7 +1,5 @@ import sys import atexit -sys.path.append("/opt/nvidia/jetson-gpio/lib/python") -sys.path.append("/opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO") import Jetson.GPIO as GPIO GPIO.setmode(GPIO.TEGRA_SOC) GPIO.setwarnings(False) # shh! @@ -119,3 +117,6 @@ E06 = Pin('GPIO_PE6') i2cPorts = ( (0, SCL, SDA), (1, SCL_1, SDA_1), ) + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((0, C02, C00, C01), (1, B06, B04, B05)) diff --git a/src/board.py b/src/board.py index 4be1146..5065b2f 100755 --- a/src/board.py +++ b/src/board.py @@ -88,6 +88,9 @@ elif board_id == ap_board.CORAL_EDGE_TPU_DEV: elif board_id == ap_board.ODROID_C2: from adafruit_blinka.board.odroidc2 import * +elif board_id == ap_board.ODROID_N2: + from adafruit_blinka.board.odroidn2 import * + elif board_id == ap_board.DRAGONBOARD_410C: from adafruit_blinka.board.dragonboard_410c import * diff --git a/src/busio.py b/src/busio.py index f5991f9..0f4b15b 100755 --- a/src/busio.py +++ b/src/busio.py @@ -111,6 +111,18 @@ class SPI(Lockable): elif board_id == ap_board.DRAGONBOARD_410C: from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import Pin from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + elif board_id == ap_board.JETSON_NANO: + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + from adafruit_blinka.microcontroller.tegra.t210.pin import Pin + elif board_id == ap_board.JETSON_TX1: + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + from adafruit_blinka.microcontroller.tegra.t210.pin import Pin + elif board_id == ap_board.JETSON_TX2: + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + from adafruit_blinka.microcontroller.tegra.t186.pin import Pin + elif board_id == ap_board.JETSON_XAVIER: + from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI + from adafruit_blinka.microcontroller.tegra.t194.pin import Pin else: from machine import SPI as _SPI from machine import Pin diff --git a/src/digitalio.py b/src/digitalio.py index dc5e734..6f6e9d1 100755 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -27,6 +27,8 @@ elif detector.chip.T194: from adafruit_blinka.microcontroller.tegra.t194.pin import Pin elif detector.chip.S905: from adafruit_blinka.microcontroller.amlogic.s905.pin import Pin +elif detector.chip.S922X: + from adafruit_blinka.microcontroller.amlogic.s922x.pin import Pin elif detector.chip.APQ8016: from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import Pin elif detector.chip.IMX8MX: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index b39c30d..5550543 100755 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -44,6 +44,8 @@ elif chip_id == ap_chip.T194: from adafruit_blinka.microcontroller.tegra.t194 import * elif chip_id == ap_chip.S905: from adafruit_blinka.microcontroller.amlogic.s905.pin import * +elif chip_id == ap_chip.S922X: + from adafruit_blinka.microcontroller.amlogic.s922x.pin import * elif chip_id == ap_chip.APQ8016: from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import * elif chip_id == ap_chip.IMX8MX: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index b796dc2..5dd250c 100755 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -26,6 +26,8 @@ elif chip_id == ap_chip.T194: from adafruit_blinka.microcontroller.tegra.t194.pin import * elif chip_id == ap_chip.S905: from adafruit_blinka.microcontroller.amlogic.s905.pin import * +elif chip_id == ap_chip.S922X: + from adafruit_blinka.microcontroller.amlogic.s922x.pin import * elif chip_id == ap_chip.APQ8016: from adafruit_blinka.microcontroller.snapdragon.apq8016.pin import * elif chip_id == ap_chip.IMX8MX: