]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #148 from swarren/jetson-spi 2.3.1
authorMelissa LeBlanc-Williams <melissa@adafruit.com>
Thu, 15 Aug 2019 16:43:46 +0000 (09:43 -0700)
committerGitHub <noreply@github.com>
Thu, 15 Aug 2019 16:43:46 +0000 (09:43 -0700)
Jetson SPI support and Jetson.GPIO requirement

requirements.txt
setup.py
src/adafruit_blinka/board/jetson_nano.py
src/adafruit_blinka/board/jetson_tx1.py
src/adafruit_blinka/board/jetson_tx2.py
src/adafruit_blinka/board/jetson_xavier.py
src/adafruit_blinka/microcontroller/generic_linux/spi.py
src/adafruit_blinka/microcontroller/tegra/t186/pin.py
src/adafruit_blinka/microcontroller/tegra/t194/pin.py
src/adafruit_blinka/microcontroller/tegra/t210/pin.py
src/busio.py

index daaff66ff22ca347f955b8c6ba0195d62ea8be12..b44ee7151b1f6c75166c2eaad5095eb18e1779ed 100755 (executable)
@@ -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; sys_platform == 'linux'
index cb3549cb8057373c8fa75661d006e446f6decebb..57a5c39872e420bc994116a01b1654fd3d06e439 100755 (executable)
--- 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'",
index 4da8cf504875f0a4e7220ac9b6d29015ad26ab3a..8b9b77cbb73854361cef5d816a432f423f51fb2a 100644 (file)
@@ -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
index 05fc3903092b7a41a9ab845af205f56dc1eef471..cfa70dccd74c45caf4594c5e331e9247374eb90d 100644 (file)
@@ -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
index 906fa56696a7a71815d4b83b1a6dec0fdb25abe2..47c1624b94803e6aed450c210d514ffe2b4bf253 100644 (file)
@@ -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
index 24e229f50677305d9043363bc8e3084ef0f845f8..29105822955bd1833b99b5e8b7972cfe111f022f 100644 (file)
@@ -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
index 71f74c8b931577efb655c8ef42efd1f54ce5093b..58a465db727588abb1b758c1c5987292e1f30f3c 100755 (executable)
@@ -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:
index 25ec2e080fccc3d5d5b1b08cc6600f62382d787d..f033b5c4149fbbf089ade427b5894491374bdcf7 100644 (file)
@@ -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), )
index 2598c51460643165a3e91d7a3469296406d07c1d..971474e385d404f552010c176de12959ffdcc163 100644 (file)
@@ -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), )
index c6d4b6e8266fb254c00387a2c446489bfa11fc90..50e2daa45484078bf07c696f9e1dd0670e4e35de 100644 (file)
@@ -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))
index f5991f9b27744d020b4b1658351e9ac9a448b035..0f4b15b3a4e5304eacf9ef7995ab17b97379d011 100755 (executable)
@@ -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