diff --git a/src/adafruit_blinka/board/hardkernel/odroidm1.py b/src/adafruit_blinka/board/hardkernel/odroidm1.py new file mode 100644 index 00000000..61d9757e --- /dev/null +++ b/src/adafruit_blinka/board/hardkernel/odroidm1.py @@ -0,0 +1,53 @@ +# SPDX-FileCopyrightText: 2022 MrPanc0 for Adafruit Industries +# +# SPDX-License-Identifier: MIT +"""Pin definitions for the Odroid M1.""" + +from adafruit_blinka.microcontroller.rockchip.rk3568b2 import pin + +D8 = pin.GPIO3D_6 +D10 = pin.GPIO3D_7 +D12 = pin.GPIO3D_0 +D16 = pin.GPIO3C_6 +D18 = pin.GPIO3D_7 +D22 = pin.GPIO3D_1 +D24 = pin.GPIO2D_2 +D26 = pin.GPIO3D_2 +D28 = pin.GPIO0B_3 +D32 = pin.GPIO3D_3 +D36 = pin.GPIO3D_4 +D3 = pin.GPIO3B_6 +D5 = pin.GPIO3B_5 +D7 = pin.GPIO0B_6 +D11 = pin.GPIO0C_0 +D13 = pin.GPIO0C_1 +D15 = pin.GPIO3B_2 +D19 = pin.GPIO2D_1 +D21 = pin.GPIO2D_0 +D23 = pin.GPIO2D_3 +D27 = pin.GPIO0B_4 +D29 = pin.GPIO4C_1 +D31 = pin.GPIO4B_6 +D33 = pin.GPIO0B_5 +D35 = pin.GPIO3D_5 + +SDA = D27 +SCL = D28 + +SCLK = D23 +MOSI = D19 +MISO = D21 +CS = D24 + +UART0_TX = D13 +UART0_RX = D11 +UART1_TX = D8 +UART1_RX = D10 + +UART1_CTS = D29 +UART1_RTS = D31 + +I2C0_SDA = D3 +I2C0_SCL = D5 +I2C1_SDA = D27 +I2C1_SCL = D28 diff --git a/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/__init__.py b/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/__init__.py new file mode 100644 index 00000000..2e61edf1 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/__init__.py @@ -0,0 +1,3 @@ +# SPDX-FileCopyrightText: 2022 MrPanc0 for Adafruit Industries +# +# SPDX-License-Identifier: MIT diff --git a/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/pin.py b/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/pin.py new file mode 100644 index 00000000..0f1a01b6 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/rockchip/rk3568b2/pin.py @@ -0,0 +1,79 @@ +# SPDX-FileCopyrightText: 2022 MrPanc0 for Adafruit Industries +# +# SPDX-License-Identifier: MIT + +"""A Pin class for use with Rockchip RK3568B2.""" + +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin + +GPIO3C_6 = Pin((3, 22)) +GPIO3C_7 = Pin((3, 23)) +GPIO3D_0 = Pin((3, 24)) +GPIO3D_1 = Pin((3, 25)) +GPIO3D_2 = Pin((3, 26)) +GPIO3D_3 = Pin((3, 27)) +GPIO3D_4 = Pin((3, 28)) +GPIO3D_5 = Pin((3, 29)) +GPIO3D_6 = Pin((3, 30)) +GPIO3D_7 = Pin((3, 31)) +GPIO3B_2 = Pin((3, 10)) +GPIO3B_5 = Pin((3, 13)) +GPIO3B_6 = Pin((3, 14)) +GPIO0B_3 = Pin((0, 11)) +GPIO0B_4 = Pin((0, 12)) +GPIO0B_5 = Pin((0, 13)) +GPIO0B_6 = Pin((0, 14)) +GPIO0C_0 = Pin((0, 16)) +GPIO0C_1 = Pin((0, 17)) +GPIO2D_0 = Pin((2, 24)) +GPIO2D_1 = Pin((2, 25)) +GPIO2D_2 = Pin((2, 26)) +GPIO2D_3 = Pin((2, 27)) +GPIO4B_6 = Pin((4, 14)) +GPIO4C_1 = Pin((4, 17)) +ADC_AIN0 = 37 +ADC_AIN1 = 40 + +# I2C +I2C0_SCL = GPIO3B_5 +I2C0_SDA = GPIO3B_6 +I2C1_SCL = GPIO0B_3 +I2C1_SDA = GPIO0B_4 + +# SPI +SPI0_CS = GPIO2D_2 +SPI0_SCLK = GPIO2D_3 +SPI0_MISO = GPIO2D_0 +SPI0_MOSI = GPIO2D_1 + + +# UART +UART0_TX = GPIO0C_1 +UART0_RX = GPIO0C_0 +UART1_TX = GPIO3D_6 +UART1_RX = GPIO3D_7 + +# PWM +# PWM0 = GPIO4_C2 +# PWM1 = GPIO4_C6 + +# ordered as i2cId, SCL, SDA +i2cPorts = ( + (0, I2C0_SCL, I2C0_SDA), + (1, I2C1_SCL, I2C1_SDA), +) + +# ordered as spiId, sckId, mosiId, misoId +spiPorts = ((1, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),) + +# SysFS pwm outputs, pwm channel and pin in first tuple +# pwmOuts = ( +# ((0, 0), PWM0), +# ((1, 0), PWM1), +# ) + +# SysFS analog inputs, Ordered as analog analogInId, device, and channel +analogIns = ( + (ADC_AIN0, 0, 0), + (ADC_AIN1, 0, 0), +) diff --git a/src/board.py b/src/board.py index c21ed309..bde2686e 100644 --- a/src/board.py +++ b/src/board.py @@ -178,6 +178,9 @@ elif board_id == ap_board.ODROID_N2: from adafruit_blinka.board.hardkernel.odroidn2 import * +elif board_id == ap_board.ODROID_M1: + from adafruit_blinka.board.hardkernel.odroidm1 import * + elif board_id == ap_board.KHADAS_VIM3: from adafruit_blinka.board.khadas.khadasvim3 import * diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index d21ccb2f..d13437a4 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -95,6 +95,8 @@ from adafruit_blinka.microcontroller.rockchip.rk3399.pin import * elif chip_id == ap_chip.RK3328: from adafruit_blinka.microcontroller.rockchip.rk3328.pin import * +elif chip_id == ap_chip.RK3568B2: + from adafruit_blinka.microcontroller.rockchip.rk3568b2.pin import * elif chip_id == ap_chip.MIPS24KC: from adafruit_blinka.microcontroller.atheros.ar9331.pin import * elif chip_id == ap_chip.MIPS24KEC: