From 3678f1e186b757fc8e7a94f0c117999c286f5667 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Thu, 6 Jun 2019 14:03:16 -0700 Subject: [PATCH] Added Odroid C2 --- src/adafruit_blinka/board/odroidc2.py | 78 +++++++++++++++++ .../microcontroller/amlogic/s905/__init__.py | 0 .../microcontroller/amlogic/s905/pin.py | 83 +++++++++++++++++++ src/board.py | 3 + src/digitalio.py | 2 + src/microcontroller/__init__.py | 2 + src/microcontroller/pin.py | 2 + src/pulseio.py | 2 + 8 files changed, 172 insertions(+) create mode 100644 src/adafruit_blinka/board/odroidc2.py create mode 100644 src/adafruit_blinka/microcontroller/amlogic/s905/__init__.py create mode 100644 src/adafruit_blinka/microcontroller/amlogic/s905/pin.py diff --git a/src/adafruit_blinka/board/odroidc2.py b/src/adafruit_blinka/board/odroidc2.py new file mode 100644 index 0000000..c43ebce --- /dev/null +++ b/src/adafruit_blinka/board/odroidc2.py @@ -0,0 +1,78 @@ +"""Pin definitions for the Odroid C2.""" + +from adafruit_blinka.microcontroller.amlogic.s905 import pin + +GPIOX_0 = pin.GPIO228 +GPIOX_1 = pin.GPIO229 +GPIOX_2 = pin.GPIO230 +GPIOX_3 = pin.GPIO231 +GPIOX_4 = pin.GPIO232 +GPIOX_5 = pin.GPIO233 +GPIOX_6 = pin.GPIO234 +GPIOX_7 = pin.GPIO235 +GPIOX_8 = pin.GPIO236 +GPIOX_9 = pin.GPIO237 +GPIOX_10 = pin.GPIO238 +GPIOX_11 = pin.GPIO239 +GPIOX_12 = pin.GPIO240 +GPIOX_13 = pin.GPIO241 +GPIOX_19 = pin.GPIO247 +GPIOX_21 = pin.GPIO249 + +GPIODV_24 = pin.GPIO205 +GPIODV_25 = pin.GPIO206 +GPIODV_26 = pin.GPIO207 +GPIODV_27 = pin.GPIO208 +GPIODV_28 = pin.GPIO209 +GPIODV_29 = pin.GPIO210 + +GPIOY_0 = pin.GPIO211 +GPIOY_1 = pin.GPIO212 +GPIOY_3 = pin.GPIO214 +GPIOY_7 = pin.GPIO218 +GPIOY_8 = pin.GPIO219 +GPIOY_12 = pin.GPIO223 +GPIOY_13 = pin.GPIO224 +GPIOY_14 = pin.GPIO225 + +GPIOA0_0 = pin.GPIO122 +GPIOA0_1 = pin.GPIO123 +GPIOA0_2 = pin.GPIO124 +GPIOA0_3 = pin.GPIO125 +GPIOA0_4 = pin.GPIO126 +GPIOA0_5 = pin.GPIO127 +GPIOA0_6 = pin.GPIO128 +GPIOA0_7 = pin.GPIO129 +GPIOA0_8 = pin.GPIO130 +GPIOA0_9 = pin.GPIO131 +GPIOA0_10 = pin.GPIO132 +GPIOA0_11 = pin.GPIO133 +GPIOA0_12 = pin.GPIO134 +GPIOA0_13 = pin.GPIO135 + +SDA = pin.I2C0_SDA +SCL = pin.I2C0_SCL + +SCLK = pin.SPI0_SCLK +MOSI = pin.SPI0_MOSI +MISO = pin.SPI0_MISO + +D0 = GPIOX_19 +D1 = GPIOX_10 +D2 = GPIOX_11 +D3 = GPIOX_9 +D4 = GPIOX_8 +D5 = GPIOX_5 +D6 = GPIOX_3 +D7 = GPIOX_21 +D10 = GPIOX_1 +D11 = GPIOY_14 +D12 = GPIOX_7 +D13 = GPIOX_4 +D14 = GPIOX_2 +D21 = GPIOX_0 +D22 = GPIOY_8 +D23 = GPIOX_6 +D24 = GPIOY_3 +D26 = GPIOY_13 +D27 = GPIOY_7 diff --git a/src/adafruit_blinka/microcontroller/amlogic/s905/__init__.py b/src/adafruit_blinka/microcontroller/amlogic/s905/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/adafruit_blinka/microcontroller/amlogic/s905/pin.py b/src/adafruit_blinka/microcontroller/amlogic/s905/pin.py new file mode 100644 index 0000000..f50f40b --- /dev/null +++ b/src/adafruit_blinka/microcontroller/amlogic/s905/pin.py @@ -0,0 +1,83 @@ +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin + +GPIO122 = Pin((0, 0)) +GPIO123 = Pin((0, 1)) +GPIO124 = Pin((0, 2)) +GPIO125 = Pin((0, 3)) +GPIO126 = Pin((0, 4)) +GPIO127 = Pin((0, 5)) +GPIO128 = Pin((0, 6)) +GPIO129 = Pin((0, 7)) +GPIO130 = Pin((0, 8)) +GPIO131 = Pin((0, 9)) +GPIO132 = Pin((0, 10)) +GPIO133 = Pin((0, 11)) +GPIO134 = Pin((0, 12)) +GPIO135 = Pin((0, 13)) + +GPIO205 = Pin((1, 69)) +GPIO206 = Pin((1, 70)) +GPIO207 = Pin((1, 71)) +GPIO208 = Pin((1, 72)) +GPIO209 = Pin((1, 73)) +GPIO210 = Pin((1, 74)) + +GPIO211 = Pin((1, 75)) +GPIO212 = Pin((1, 76)) +GPIO213 = Pin((1, 77)) +GPIO214 = Pin((1, 78)) +GPIO215 = Pin((1, 79)) +GPIO216 = Pin((1, 80)) +GPIO217 = Pin((1, 81)) +GPIO218 = Pin((1, 82)) +GPIO219 = Pin((1, 83)) +GPIO220 = Pin((1, 84)) +GPIO221 = Pin((1, 85)) +GPIO222 = Pin((1, 86)) +GPIO223 = Pin((1, 87)) +GPIO224 = Pin((1, 88)) +GPIO225 = Pin((1, 89)) +GPIO226 = Pin((1, 90)) +GPIO227 = Pin((1, 91)) + +GPIO228 = Pin((1, 92)) +GPIO229 = Pin((1, 93)) +GPIO230 = Pin((1, 94)) +GPIO231 = Pin((1, 95)) +GPIO232 = Pin((1, 96)) +GPIO233 = Pin((1, 97)) +GPIO234 = Pin((1, 98)) +GPIO235 = Pin((1, 99)) +GPIO236 = Pin((1, 100)) +GPIO237 = Pin((1, 101)) +GPIO238 = Pin((1, 102)) +GPIO239 = Pin((1, 103)) +GPIO240 = Pin((1, 104)) +GPIO241 = Pin((1, 105)) +GPIO242 = Pin((1, 106)) +GPIO243 = Pin((1, 107)) +GPIO247 = Pin((1, 111)) +GPIO248 = Pin((1, 112)) +GPIO249 = Pin((1, 113)) + +I2C0_SDA = GPIO205 +I2C0_SCL = GPIO206 +I2C1_SDA = GPIO207 +I2C1_SCL = GPIO208 +I2C2_SDA = GPIO209 +I2C2_SCL = GPIO210 + +UART1_TX = GPIO240 +UART1_RX = GPIO241 +UART2_TX = GPIO205 +UART2_RX = GPIO206 + +SPI0_SCLK = GPIO230 +SPI0_MISO = GPIO232 +SPI0_MOSI = GPIO235 + +i2cPorts = ( (0, I2C0_SCL, I2C0_SDA), (1, I2C1_SCL, I2C1_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), (2, UART2_TX, UART2_RX), ) diff --git a/src/board.py b/src/board.py index 9732e4e..2b8aa14 100755 --- a/src/board.py +++ b/src/board.py @@ -82,6 +82,9 @@ elif board_id == ap_board.JETSON_NANO: elif board_id == ap_board.CORAL_EDGE_TPU_DEV: from adafruit_blinka.board.coral_edge_tpu import * +elif board_id == ap_board.ODROID_C2: + from adafruit_blinka.board.odroidc2 import * + elif "sphinx" in sys.modules: pass diff --git a/src/digitalio.py b/src/digitalio.py index f3fbced..be536ec 100755 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -25,6 +25,8 @@ elif detector.chip.T186: from adafruit_blinka.microcontroller.tegra.t186.pin import Pin 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.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m.pin import Pin elif detector.chip.STM32: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index 81965ef..b4c1ed7 100755 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -42,6 +42,8 @@ elif chip_id == ap_chip.T186: from adafruit_blinka.microcontroller.tegra.t186 import * 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.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m import * else: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index 5d49580..bde7312 100755 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -24,6 +24,8 @@ elif chip_id == ap_chip.T186: from adafruit_blinka.microcontroller.tegra.t186.pin import * 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.IMX8MX: from adafruit_blinka.microcontroller.nxp_imx8m.pin import * else: diff --git a/src/pulseio.py b/src/pulseio.py index 42524fc..82cd663 100644 --- a/src/pulseio.py +++ b/src/pulseio.py @@ -6,3 +6,5 @@ if detector.board.any_coral_board: from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut if detector.board.any_giant_board: from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut +if detector.board.any_odroid_40_pin: + from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut -- 2.49.0