From: Andy Date: Tue, 12 Mar 2019 21:25:31 +0000 (-0700) Subject: Added individual jetson board and tegra chip integration X-Git-Tag: 1.2.5^2~4 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/31e8ce37f3af367ced18d7da63e0244a145c66ab Added individual jetson board and tegra chip integration --- diff --git a/src/adafruit_blinka/board/jetson_pin.py b/src/adafruit_blinka/board/jetson_pin.py deleted file mode 100644 index 87d7c59..0000000 --- a/src/adafruit_blinka/board/jetson_pin.py +++ /dev/null @@ -1,48 +0,0 @@ -"""Pin definitions for Jetson models.""" - -from adafruit_blinka.microcontroller.tegra import pin - -D1 = pin.D1 -D2 = pin.D2 -D3 = pin.D3 -SDA = pin.D3 -D4 = pin.D4 -D5 = pin.D5 -SCL = 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 -SDA_1 = pin.D27 -D28 = pin.D28 -SCL_1 = pin.D28 -D29 = pin.D29 -D30 = pin.D30 -D31 = pin.D31 -D32 = pin.D32 -D33 = pin.D33 -D34 = pin.D34 -D35 = pin.D35 -D36 = pin.D36 -D37 = pin.D37 -D38 = pin.D38 -D39 = pin.D39 -D40 = pin.D40 diff --git a/src/adafruit_blinka/board/jetson_tx1.py b/src/adafruit_blinka/board/jetson_tx1.py new file mode 100644 index 0000000..efcc033 --- /dev/null +++ b/src/adafruit_blinka/board/jetson_tx1.py @@ -0,0 +1,31 @@ +"""Pin definitions for Jetson TX1.""" + +from adafruit_blinka.microcontroller.tegra.tx1 import pin + +SDA = pin.SDA +SCL = pin.SCL +SDA_1 = pin.SDA_1 +SCL_1 = pin.SCL_1 + +D4 = pin.BB00 +D5 = pin.BB03 +D6 = pin.X02 +D7 = pin.C04 +D8 = pin.C03 +D9 = pin.C01 +D10 = pin.C00 +D11 = pin.C02 +D12 = pin.E04 +D13 = pin.H07 +D16 = pin.U03 +D17 = pin.U02 +D18 = pin.B03 +D19 = pin.B00 +D20 = pin.B01 +D21 = pin.B02 +D22 = pin.P17 +D23 = pin.E05 +D24 = pin.X00 +D25 = pin.P16 +D26 = pin.X03 +D27 = pin.E06 diff --git a/src/adafruit_blinka/board/jetson_tx2.py b/src/adafruit_blinka/board/jetson_tx2.py new file mode 100644 index 0000000..ec1159f --- /dev/null +++ b/src/adafruit_blinka/board/jetson_tx2.py @@ -0,0 +1,30 @@ +"""Pin definitions for Jetson TX2.""" + +from adafruit_blinka.microcontroller.tegra.tx2 import pin + +SDA = pin.SDA +SCL = pin.SCL +SDA_1 = pin.SDA_1 +SCL_1 = pin.SCL_1 + +D4 = pin.J04 +D5 = pin.J06 +D6 = pin.AA02 +D8 = pin.N06 +D9 = pin.N04 +D10 = pin.N05 +D11 = pin.N03 +D12 = pin.AA01 +D13 = pin.I05 +D16 = pin.T03 +D17 = pin.T02 +D18 = pin.J00 +D19 = pin.J03 +D20 = pin.J02 +D21 = pin.J01 +D22 = pin.P17 +D23 = pin.AA00 +D24 = pin.Y01 +D25 = pin.P16 +D26 = pin.I04 +D27 = pin.J05 diff --git a/src/adafruit_blinka/board/jetson_txx.py b/src/adafruit_blinka/board/jetson_txx.py new file mode 100644 index 0000000..d4a5715 --- /dev/null +++ b/src/adafruit_blinka/board/jetson_txx.py @@ -0,0 +1,31 @@ +"""Pin definitions for Jetson TXX.""" + +from adafruit_blinka.microcontroller.tegra.txx import pin + +SDA = pin.SDA +SCL = pin.SCL +SDA_1 = pin.SDA_1 +SCL_1 = pin.SCL_1 + +D4 = pin.BB00 +D5 = pin.S05 +D6 = pin.Z00 +D7 = pin.C04 +D8 = pin.C03 +D9 = pin.C01 +D10 = pin.C00 +D11 = pin.C02 +D12 = pin.V00 +D13 = pin.E06 +D16 = pin.G03 +D17 = pin.G02 +D18 = pin.J07 +D19 = pin.J04 +D20 = pin.J05 +D21 = pin.J06 +D22 = pin.Y02 +D23 = pin.DD00 +D24 = pin.B07 +D25 = pin.B05 +D26 = pin.B04 +D27 = pin.B06 diff --git a/src/adafruit_blinka/board/jetson_xavier.py b/src/adafruit_blinka/board/jetson_xavier.py new file mode 100644 index 0000000..4e26ab4 --- /dev/null +++ b/src/adafruit_blinka/board/jetson_xavier.py @@ -0,0 +1,31 @@ +"""Pin definitions for Jetson XAVIER.""" + +from adafruit_blinka.microcontroller.tegra.xavier import pin + +SDA = pin.SDA +SCL = pin.SCL +SDA_1 = pin.SDA_1 +SCL_1 = pin.SCL_1 + +D4 = pin.Q06 +D5 = pin.AA03 +D6 = pin.AA02 +D7 = pin.Z07 +D8 = pin.Z06 +D9 = pin.Z04 +D10 = pin.Z05 +D11 = pin.Z03 +D12 = pin.BB01 +D13 = pin.AA00 +D16 = pin.R05 +D17 = pin.R04 +D18 = pin.H07 +D19 = pin.I02 +D20 = pin.I01 +D21 = pin.I00 +D22 = pin.N01 +D23 = pin.BB00 +D24 = pin.H00 +D25 = pin.Q01 +D26 = pin.AA01 +D27 = pin.R00 diff --git a/src/adafruit_blinka/microcontroller/tegra/tx1/__init__.py b/src/adafruit_blinka/microcontroller/tegra/tx1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/tegra/pin.py b/src/adafruit_blinka/microcontroller/tegra/tx1/pin.py similarity index 60% rename from src/adafruit_blinka/microcontroller/tegra/pin.py rename to src/adafruit_blinka/microcontroller/tegra/tx1/pin.py index fa535ce..bdd982f 100644 --- a/src/adafruit_blinka/microcontroller/tegra/pin.py +++ b/src/adafruit_blinka/microcontroller/tegra/tx1/pin.py @@ -1,22 +1,11 @@ import sys -import Jetson.GPIO as GPIO +import atexit sys.path.append("/opt/nvidia/jetson-gpio/lib/python") sys.path.append("/opt/nvidia/jetson-gpio/lib/python/Jetson/GPIO") -GPIO.setmode(GPIO.BCM) +import Jetson.GPIO as GPIO +GPIO.setmode(GPIO.TEGRA_SOC) GPIO.setwarnings(False) # shh! -# Each Jetson model uses different I2C busses -JETSON_I2C_BUS_DEFS = { - "JETSON_TX1": [0, 1], - "JETSON_TX2": [1, 0], - "JETSON_XAVIER": [8, 1], - "JETSON_TXX": [1, 0] -} - -model = GPIO.get_model() -I2C_BUS = JETSON_I2C_BUS_DEFS[model][0] -I2C_BUS_1 = JETSON_I2C_BUS_DEFS[model][1] - # Pins dont exist in CPython so...lets make our own! class Pin: IN = 0 @@ -73,60 +62,54 @@ class Pin: else: return GPIO.input(self.id) - def cleanup(self, channel=None): - if channel is None: - GPIO.cleanup() - elif channel == self: - GPIO.cleanup(self.id) - else: - raise RuntimeError("Invalid pin to cleanup") - -D1 = Pin(1) -D2 = Pin(2) -D3 = Pin(3) -SDA = Pin(3) -D4 = Pin(4) -D5 = Pin(5) -SCL = Pin(5) -D6 = Pin(6) -D7 = Pin(7) -D8 = Pin(8) -D9 = Pin(9) -D10 = Pin(10) -D11 = Pin(11) -D12 = Pin(12) -D13 = Pin(13) -D14 = Pin(14) -D15 = Pin(15) -D16 = Pin(16) -D17 = Pin(17) -D18 = Pin(18) -D19 = Pin(19) -D20 = Pin(20) -D21 = Pin(21) -D22 = Pin(22) -D23 = Pin(23) -D24 = Pin(24) -D25 = Pin(25) -D26 = Pin(26) -D27 = Pin(27) -SDA_1 = Pin(27) -D28 = Pin(28) -SCL_1 = Pin(28) -D29 = Pin(29) -D30 = Pin(30) -D31 = Pin(31) -D32 = Pin(32) -D33 = Pin(33) -D34 = Pin(34) -D35 = Pin(35) -D36 = Pin(36) -D37 = Pin(37) -D38 = Pin(38) -D39 = Pin(39) -D40 = Pin(40) + @atexit.register + def cleanup(): + print("Exiting... \nCleaning up pins") + GPIO.cleanup() + +# Cannot be used as GPIO +SDA = Pin('GEN1_I2C_SDA') +SCL = Pin('GEN1_I2C_SCL') +SDA_1 = Pin('GEN2_I2C_SDA') +SCL_1 = Pin('GEN2_I2C_SCL') + +BB00 = Pin('AUD_MCLK') +BB03 = Pin('GPIO_X1_AUD') +X02 = Pin('MOTION_INT') +C04 = Pin('SPI1_CS1') +C03 = Pin('SPI1_CS0') +C01 = Pin('SPI1_MISO') +C00 = Pin('SPI1_MOSI') +C02 = Pin('SPI1_SCK') +H07 = Pin('AP_WAKE_NFC') +E04 = Pin('DMIC3_CLK') +U03 = Pin('UART1_CTS') +U02 = Pin('UART1_RTS') +B03 = Pin('DAP1_SCLK') +B00 = Pin('DAP1_FS') +B01 = Pin('DAP1_DIN') +B02 = Pin('DAP1_DOUT') +P17 = Pin('GPIO_EXP_P17') +E05 = Pin('DMIC3_DAT') +X00 = Pin('MODEM_WAKE_AP') +P16 = Pin('GPIO_EXP_P16') +X03 = Pin('ALS_PROX_INT') +E06 = Pin('GPIO_PE6') i2cPorts = ( - (I2C_BUS, SCL, SDA), (I2C_BUS_1, SCL_1, SDA_1), + (0, SCL, SDA), (1, SCL_1, SDA_1), ) + + + + + + + + + + + + + diff --git a/src/adafruit_blinka/microcontroller/tegra/tx2/__init__.py b/src/adafruit_blinka/microcontroller/tegra/tx2/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/tegra/tx2/pin.py b/src/adafruit_blinka/microcontroller/tegra/tx2/pin.py new file mode 100644 index 0000000..3268f34 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/tegra/tx2/pin.py @@ -0,0 +1,114 @@ +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! + +# Pins dont exist in CPython so...lets make our own! +class Pin: + IN = 0 + OUT = 1 + LOW = 0 + HIGH = 1 + PULL_NONE = 0 + PULL_UP = 1 + PULL_DOWN = 2 + + id = None + _value = LOW + _mode = IN + + def __init__(self, bcm_number): + self.id = bcm_number + + def __repr__(self): + return str(self.id) + + def __eq__(self, other): + return self.id == other + + def init(self, mode=IN, pull=None): + if mode != None: + if mode == self.IN: + self._mode = self.IN + GPIO.setup(self.id, GPIO.IN) + elif mode == self.OUT: + self._mode = self.OUT + GPIO.setup(self.id, GPIO.OUT) + else: + raise RuntimeError("Invalid mode for pin: %s" % self.id) + if pull != None: + if self._mode != self.IN: + raise RuntimeError("Cannot set pull resistor on output") + if pull == self.PULL_UP: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_UP) + elif pull == self.PULL_DOWN: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + else: + raise RuntimeError("Invalid pull for pin: %s" % self.id) + + def value(self, val=None): + if val != None: + if val == self.LOW: + self._value = val + GPIO.output(self.id, val) + elif val == self.HIGH: + self._value = val + GPIO.output(self.id, val) + else: + raise RuntimeError("Invalid value for pin") + else: + return GPIO.input(self.id) + + @atexit.register + def cleanup(): + print("Exiting... \nCleaning up pins") + GPIO.cleanup() + +# Cannot be used as GPIO +SDA = Pin('GPIO_SEN9') +SCL = Pin('GPIO_SEN8') +SDA_1 = Pin('GEN1_I2C_SDA') +SCL_1 = Pin('GEN1_I2C_SCL') + +J04 = Pin('AUD_MCLK') +J06 = Pin('GPIO_AUD1') +AA02 = Pin('CAN_GPIO2') +N06 = Pin('GPIO_CAM7') +N04 = Pin('GPIO_CAM5') +N05 = Pin('GPIO_CAM6') +N03 = Pin('GPIO_CAM4') +AA01 = Pin('CAN_GPIO1') +I05 = Pin('GPIO_PQ5') +T03 = Pin('UART1_CTS') +T02 = Pin('UART1_RTS') +J00 = Pin('DAP1_SCLK') +J03 = Pin('DAP1_FS') +J02 = Pin('DAP1_DIN') +J01 = Pin('DAP1_DOUT') +P17 = Pin('GPIO_EXP_P17') +AA00 = Pin('CAN0_GPIO0') +Y01 = Pin('GPIO_MDM2') +P16 = Pin('GPIO_EXP_P16') +I04 = Pin('GPIO_PQ4') +J05 = Pin('GPIO_AUD0') + +i2cPorts = ( + (1, SCL, SDA), (0, SCL_1, SDA_1), +) + + + + + + + + + + + + + + diff --git a/src/adafruit_blinka/microcontroller/tegra/txx/__init__.py b/src/adafruit_blinka/microcontroller/tegra/txx/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/tegra/txx/pin.py b/src/adafruit_blinka/microcontroller/tegra/txx/pin.py new file mode 100644 index 0000000..c8cb8b4 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/tegra/txx/pin.py @@ -0,0 +1,101 @@ +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! + +# Pins dont exist in CPython so...lets make our own! +class Pin: + IN = 0 + OUT = 1 + LOW = 0 + HIGH = 1 + PULL_NONE = 0 + PULL_UP = 1 + PULL_DOWN = 2 + + id = None + _value = LOW + _mode = IN + + def __init__(self, bcm_number): + self.id = bcm_number + + def __repr__(self): + return str(self.id) + + def __eq__(self, other): + return self.id == other + + def init(self, mode=IN, pull=None): + if mode != None: + if mode == self.IN: + self._mode = self.IN + GPIO.setup(self.id, GPIO.IN) + elif mode == self.OUT: + self._mode = self.OUT + GPIO.setup(self.id, GPIO.OUT) + else: + raise RuntimeError("Invalid mode for pin: %s" % self.id) + if pull != None: + if self._mode != self.IN: + raise RuntimeError("Cannot set pull resistor on output") + if pull == self.PULL_UP: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_UP) + elif pull == self.PULL_DOWN: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + else: + raise RuntimeError("Invalid pull for pin: %s" % self.id) + + def value(self, val=None): + if val != None: + if val == self.LOW: + self._value = val + GPIO.output(self.id, val) + elif val == self.HIGH: + self._value = val + GPIO.output(self.id, val) + else: + raise RuntimeError("Invalid value for pin") + else: + return GPIO.input(self.id) + + @atexit.register + def cleanup(): + print("Exiting... \nCleaning up pins") + GPIO.cleanup() + +# Cannot be used as GPIO +SDA = Pin('GEN2_I2C_SDA') +SCL = Pin('GEN2_I2C_SCL') +SDA_1 = Pin('GEN1_I2C_SDA') +SCL_1 = Pin('GEN1_I2C_SCL') + +BB00 = Pin('AUD_MCLK') +S05 = Pin('CAM_AF_EN') +Z00 = Pin('GPIO_PZ0') +C04 = Pin('SPI1_CS1') +C03 = Pin('SPI1_CS0') +C01 = Pin('SPI1_MISO') +C00 = Pin('SPI1_MOSI') +C02 = Pin('SPI1_SCK') +V00 = Pin('LCD_BL_PW') +E06 = Pin('GPIO_PE6') +G03 = Pin('UART2_CTS') +G02 = Pin('UART2_RTS') +J07 = Pin('DAP4_SCLK') +J04 = Pin('DAP4_FS') +J05 = Pin('DAP4_DIN') +J06 = Pin('DAP4_DOUT') +Y02 = Pin('LCD_TE') +DD00 = Pin('SPI2_CS1') +B07 = Pin('SPI2_CS0') +B05 = Pin('SPI2_MISO') +B04 = Pin('SPI2_MOSI') +B06 = Pin('SPI2_SCK') + +i2cPorts = ( + (1, SCL, SDA), (0, SCL_1, SDA_1), +) \ No newline at end of file diff --git a/src/adafruit_blinka/microcontroller/tegra/xavier/__init__.py b/src/adafruit_blinka/microcontroller/tegra/xavier/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/tegra/xavier/pin.py b/src/adafruit_blinka/microcontroller/tegra/xavier/pin.py new file mode 100644 index 0000000..26f0f7b --- /dev/null +++ b/src/adafruit_blinka/microcontroller/tegra/xavier/pin.py @@ -0,0 +1,115 @@ +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! + +# Pins dont exist in CPython so...lets make our own! +class Pin: + IN = 0 + OUT = 1 + LOW = 0 + HIGH = 1 + PULL_NONE = 0 + PULL_UP = 1 + PULL_DOWN = 2 + + id = None + _value = LOW + _mode = IN + + def __init__(self, bcm_number): + self.id = bcm_number + + def __repr__(self): + return str(self.id) + + def __eq__(self, other): + return self.id == other + + def init(self, mode=IN, pull=None): + if mode != None: + if mode == self.IN: + self._mode = self.IN + GPIO.setup(self.id, GPIO.IN) + elif mode == self.OUT: + self._mode = self.OUT + GPIO.setup(self.id, GPIO.OUT) + else: + raise RuntimeError("Invalid mode for pin: %s" % self.id) + if pull != None: + if self._mode != self.IN: + raise RuntimeError("Cannot set pull resistor on output") + if pull == self.PULL_UP: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_UP) + elif pull == self.PULL_DOWN: + GPIO.setup(self.id, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) + else: + raise RuntimeError("Invalid pull for pin: %s" % self.id) + + def value(self, val=None): + if val != None: + if val == self.LOW: + self._value = val + GPIO.output(self.id, val) + elif val == self.HIGH: + self._value = val + GPIO.output(self.id, val) + else: + raise RuntimeError("Invalid value for pin") + else: + return GPIO.input(self.id) + + @atexit.register + def cleanup(): + print("Exiting... \nCleaning up pins") + GPIO.cleanup() + +# Cannot be used as GPIO +SDA = Pin('DP_AUX_CH3_N') +SCL = Pin('DP_AUX_CH3_P') +SDA_1 = Pin('GEN2_I2C_SDA') +SCL_1 = Pin('GEN2_I2C_SCL') + +Q06 = Pin('SOC_GPIO42') +AA03 = Pin('CAN0_DIN') +AA02 = Pin('CAN0_DOUT') +Z07 = Pin('SPI1_CS1_N') +Z06 = Pin('SPI1_CS0_N') +Z04 = Pin('SPI1_MISO') +Z05 = Pin('SPI1_MOSI') +Z03 = Pin('SPI1_SCK') +BB01 = Pin('CAN1_EN') +AA00 = Pin('CAN1_DOUT') +R05 = Pin('UART1_CTS') +R04 = Pin('UART1_RTS') +H07 = Pin('DAP2_SCLK') +I02 = Pin('DAP2_FS') +I01 = Pin('DAP2_DIN') +I00 = Pin('DAP2_DOUT') +N01 = Pin('SOC_GPIO54') +BB00 = Pin('CAN1_STB') +H00 = Pin('SOC_GPIO12') +Q01 = Pin('SOC_GPIO21') +AA01 = Pin('CAN1_DIN') +R00 = Pin('SOC_GPIO44') + +i2cPorts = ( + (8, SCL, SDA), (1, SCL_1, SDA_1), +) + + + + + + + + + + + + + + diff --git a/src/board.py b/src/board.py index f6f1a69..e13d952 100755 --- a/src/board.py +++ b/src/board.py @@ -61,8 +61,17 @@ elif board_id == ap_board.ORANGE_PI_PC: elif board_id == ap_board.GIANT_BOARD: from adafruit_blinka.board.giantboard import * -elif detector.board.any_jetson_board: - from adafruit_blinka.board.jetson_pin import * +elif board_id == ap_board.JETSON_TX1: + from adafruit_blinka.board.jetson_tx1 import * + +elif board_id == ap_board.JETSON_TX2: + from adafruit_blinka.board.jetson_tx2 import * + +elif board_id == ap_board.JETSON_XAVIER: + from adafruit_blinka.board.jetson_xavier import * + +elif board_id == ap_board.JETSON_TXX: + from adafruit_blinka.board.jetson_txx import * elif "sphinx" in sys.modules: pass diff --git a/src/digitalio.py b/src/digitalio.py index 44034f9..0d9bc5b 100755 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -19,8 +19,14 @@ elif detector.chip.SUN8I: from adafruit_blinka.microcontroller.allwinner_h3.pin import Pin elif detector.chip.SAMA5: from adafruit_blinka.microcontroller.sama5.pin import Pin -elif detector.chip.TEGRAXXX: - from adafruit_blinka.microcontroller.tegra.pin import Pin +elif detector.chip.TEGRA_TX1: + from adafruit_blinka.microcontroller.tegra.tx1.pin import Pin +elif detector.chip.TEGRA_TX2: + from adafruit_blinka.microcontroller.tegra.tx2.pin import Pin +elif detector.chip.TEGRA_XAVIER: + from adafruit_blinka.microcontroller.tegra.xavier.pin import Pin +elif detector.chip.TEGRA_TXX: + from adafruit_blinka.microcontroller.tegra.txx.pin import Pin elif detector.chip.STM32: from machine import Pin from adafruit_blinka import Enum, ContextManaged @@ -74,12 +80,6 @@ class DigitalInOut(ContextManaged): def deinit(self): del self._pin - def cleanup(self, channel=None): - if channel == self: - Pin.cleanup(self._pin, self._pin) - else: - Pin.cleanup(self, channel) - @property def direction(self): return self.__direction diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 812178b..a274126 100755 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -1,6 +1,6 @@ """Microcontroller pins""" -from adafruit_platformdetect import chip as ap_chip +from adafruit_platformdetect import chip as ap_chip, board as ap_board from adafruit_blinka import Enum from adafruit_blinka.agnostic import board_id, chip_id @@ -36,7 +36,13 @@ elif chip_id == ap_chip.SUN8I: from adafruit_blinka.microcontroller.allwinner_h3 import * elif chip_id == ap_chip.SAMA5: from adafruit_blinka.microcontroller.sama5 import * -elif chip_id == ap_chip.TEGRAXXX: - from adafruit_blinka.microcontroller.tegra import * +elif chip_id == ap_chip.TEGRA_TX1: + from adafruit_blinka.microcontroller.tegra.tx1 import * +elif chip_id == ap_chip.TEGRA_TX2: + from adafruit_blinka.microcontroller.tegra.tx2 import * +elif chip_id == ap_chip.TEGRA_XAVIER: + from adafruit_blinka.microcontroller.tegra.xavier import * +elif chip_id == ap_chip.TEGRA_TXX: + from adafruit_blinka.microcontroller.tegra.txx import * else: raise NotImplementedError("Microcontroller not supported:", chip_id) diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index 8c997a4..6314f00 100755 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -18,7 +18,13 @@ elif chip_id == ap_chip.SUN8I: from adafruit_blinka.microcontroller.allwinner_h3.pin import * elif chip_id == ap_chip.SAMA5: from adafruit_blinka.microcontroller.sama5.pin import * -elif chip_id == ap_chip.TEGRAXXX: - from adafruit_blinka.microcontroller.tegra.pin import * +elif chip_id == ap_chip.TEGRA_TX1: + from adafruit_blinka.microcontroller.tegra.tx1.pin import * +elif chip_id == ap_chip.TEGRA_TX2: + from adafruit_blinka.microcontroller.tegra.tx2.pin import * +elif chip_id == ap_chip.TEGRA_XAVIER: + from adafruit_blinka.microcontroller.tegra.xavier.pin import * +elif chip_id == ap_chip.TEGRA_TXX: + from adafruit_blinka.microcontroller.tegra.txx.pin import * else: raise NotImplementedError("Microcontroller not supported: ", chip_id)