diff --git a/src/adafruit_blinka/board/hardkernel/odroidc4.py b/src/adafruit_blinka/board/hardkernel/odroidc4.py index 34e1acec..fd7af822 100644 --- a/src/adafruit_blinka/board/hardkernel/odroidc4.py +++ b/src/adafruit_blinka/board/hardkernel/odroidc4.py @@ -16,7 +16,9 @@ SCLK = pin.SPI0_SCLK MOSI = pin.SPI0_MOSI MISO = pin.SPI0_MISO -SPI_CS0 = pin.SPI0_CS0 +CS0 = pin.SPI0_CS0 +CS1 = pin.GPIOH_6 +SPI_CS0 = CS0 # aliased for backward compatibility """J2: physical pin number""" @@ -57,3 +59,10 @@ """ ADC """ A0 = 40 A1 = 37 + +""" PWM """ +PWM = D15 + +""" UART """ +UART0_TX = D8 +UART0_RX = D10 diff --git a/src/adafruit_blinka/board/hardkernel/odroidm1.py b/src/adafruit_blinka/board/hardkernel/odroidm1.py index 7093fc41..23ec8885 100644 --- a/src/adafruit_blinka/board/hardkernel/odroidm1.py +++ b/src/adafruit_blinka/board/hardkernel/odroidm1.py @@ -31,18 +31,20 @@ D33 = pin.GPIO0B_5 D35 = pin.GPIO3D_5 -SDA = D27 -SCL = D28 +SDA = D3 +SCL = D5 SCLK = D23 MOSI = D19 MISO = D21 -CS = D24 +CS0 = D24 +CS1 = D26 +CS = CS0 # aliased for backward compatibility -UART0_TX = D13 -UART0_RX = D11 -UART1_TX = D8 -UART1_RX = D10 +UART0_TX = D8 +UART0_RX = D10 +UART1_TX = D13 +UART1_RX = D11 UART1_CTS = D29 UART1_RTS = D31 @@ -55,3 +57,6 @@ """ ADC """ A0 = 40 A1 = 37 + +""" PWM """ +PWM = D15 diff --git a/src/adafruit_blinka/board/hardkernel/odroidm1s.py b/src/adafruit_blinka/board/hardkernel/odroidm1s.py index 4b5d6007..3ed43a50 100644 --- a/src/adafruit_blinka/board/hardkernel/odroidm1s.py +++ b/src/adafruit_blinka/board/hardkernel/odroidm1s.py @@ -37,18 +37,20 @@ EXT_D13 = pin.GPIO3_B3 EXT_D14 = pin.GPIO3_B4 -SDA = D27 -SCL = D28 +SDA = D3 +SCL = D5 SCLK = D23 MOSI = D19 MISO = D21 -CS = D24 +CS0 = D24 +CS1 = D26 +CS = CS0 # aliased for backward compatibility -UART0_TX = D13 -UART0_RX = D11 -UART1_TX = D8 -UART1_RX = D10 +UART0_TX = D8 +UART0_RX = D10 +UART1_TX = D13 +UART1_RX = D11 UART1_CTS = D29 UART1_RTS = D31 @@ -61,3 +63,6 @@ """ ADC """ A0 = 40 A1 = 37 + +""" PWM """ +PWM = D15 diff --git a/src/adafruit_blinka/board/hardkernel/odroidn2.py b/src/adafruit_blinka/board/hardkernel/odroidn2.py index 782fbd26..c88f1ded 100644 --- a/src/adafruit_blinka/board/hardkernel/odroidn2.py +++ b/src/adafruit_blinka/board/hardkernel/odroidn2.py @@ -58,47 +58,50 @@ globals()["SCL" + str(it[0])] = it[1] globals()["SDA" + str(it[0])] = it[2] -SCL = None -SDA = None -# Set second i2c bus as default for backward compatibility. -if len(pin.i2cPorts) > 1: - SCL = pin.i2cPorts[1][1] - SDA = pin.i2cPorts[1][2] -elif len(pin.i2cPorts) > 0: +if pin.i2cPorts: SCL = pin.i2cPorts[0][1] SDA = pin.i2cPorts[0][2] SCLK = pin.SPI0_SCLK MOSI = pin.SPI0_MOSI MISO = pin.SPI0_MISO -SPI_CS0 = pin.GPIO486 +CS0 = pin.GPIO486 +CS1 = pin.GPIO464 +SPI_CS0 = CS0 # aliased for backward compatibility -D0 = GPIOX_3 # PIN_11 -D1 = GPIOX_16 # PIN_12 -D2 = GPIOX_4 # PIN_13 -D3 = GPIOX_7 # PIN_15 -D4 = GPIOX_0 # PIN_16 -D5 = GPIOX_1 # PIN_18 -D6 = GPIOX_2 # PIN_22 -D7 = GPIOA_13 # PIN_7 -D8 = GPIOX_17 # PIN_3 -D9 = GPIOX_18 # PIN_5 -D10 = GPIOX_10 # PIN_24 -D11 = GPIOA_4 # PIN_26 -D12 = GPIOX_8 # PIN_19 -D13 = GPIOX_9 # PIN_21 -D14 = GPIOX_11 # PIN_23 -D15 = GPIOX_12 # PIN_8 -D16 = GPIOX_13 # PIN_10 -D21 = GPIOX_14 # PIN_29 -D22 = GPIOX_15 # PIN_31 -D23 = GPIOX_5 # PIN_33 -D24 = GPIOX_6 # PIN_35 -D26 = GPIOA_12 # PIN_32 -D27 = GPIOX_19 # PIN_36 -D30 = GPIOA_14 # PIN_27 -D31 = GPIOA_15 # PIN_28 +D3 = GPIOX_17 +D5 = GPIOX_18 +D7 = GPIOA_13 +D8 = GPIOX_12 +D10 = GPIOX_13 +D11 = GPIOX_3 +D12 = GPIOX_16 +D13 = GPIOX_4 +D15 = GPIOX_7 +D16 = GPIOX_0 +D18 = GPIOX_1 +D19 = GPIOX_8 +D21 = GPIOX_9 +D22 = GPIOX_2 +D23 = GPIOX_11 +D24 = GPIOX_10 +D26 = GPIOA_4 +D27 = GPIOA_14 +D28 = GPIOA_15 +D29 = GPIOX_14 +D31 = GPIOX_15 +D32 = GPIOA_12 +D33 = GPIOX_5 +D35 = GPIOX_6 +D36 = GPIOX_19 """ ADC """ A0 = 40 A1 = 37 + +""" PWM """ +PWM = D15 + +""" UART """ +UART0_TX = D8 +UART0_RX = D10 diff --git a/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py b/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py index f44f92a0..c18e9d94 100644 --- a/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py +++ b/src/adafruit_blinka/microcontroller/amlogic/meson_g12_common/pin.py @@ -13,7 +13,7 @@ """ from adafruit_blinka.agnostic import detector -from adafruit_blinka.microcontroller.alias import get_dts_alias +from adafruit_blinka.microcontroller.alias import get_dts_alias, get_pwm_chipid from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin try: @@ -131,6 +131,9 @@ # ordered as spiId, sckId, mosiId, misoId spiPorts = ((0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),) +# SysFs pwm outputs, pwm channel and pin in first tuple +pwmOuts = [] + # ordered as uartId, txId, rxId uartPorts = [ (1, UART1_TX, UART1_RX), @@ -151,24 +154,55 @@ globals()[alias + "_SCL"] = GPIOA_15 globals()[alias + "_SDA"] = GPIOA_14 i2cPorts.append((int(alias[-1]), GPIOA_15, GPIOA_14)) - alias = get_dts_alias("fdd24000.serial") + alias = get_dts_alias("ffd24000.serial") if alias is not None: globals()[alias + "_TX"] = GPIOX_12 globals()[alias + "_RX"] = GPIOX_13 uartPorts.append((int(alias[-1]), GPIOX_12, GPIOX_13)) - alias = get_dts_alias("fdd23000.serial") + alias = get_dts_alias("ffd23000.serial") if alias is not None: globals()[alias + "_TX"] = GPIOX_6 globals()[alias + "_RX"] = GPIOX_7 uartPorts.append((int(alias[-1]), GPIOX_6, GPIOX_7)) if board in ("ODROID_C4"): + alias = get_pwm_chipid("ffd1b000.pwm") + if alias is not None: + globals()["PWMA"] = GPIOX_6 + globals()["PWMB"] = GPIOX_19 + pwmOuts.append(((int(alias[-1]), 0), GPIOX_6)) + pwmOuts.append(((int(alias[-1]), 1), GPIOX_19)) + alias = get_pwm_chipid("ffd1a000.pwm") + if alias is not None: + globals()["PWMC"] = GPIOX_5 + globals()["PWMD"] = GPIOX_3 + pwmOuts.append(((int(alias[-1]), 0), GPIOX_5)) + pwmOuts.append(((int(alias[-1]), 1), GPIOX_3)) + alias = get_pwm_chipid("ffd19000.pwm") + if alias is not None: + globals()["PWME"] = GPIOX_16 + globals()["PWMF"] = GPIOH_5 + pwmOuts.append(((int(alias[-1]), 0), GPIOX_16)) + pwmOuts.append(((int(alias[-1]), 1), GPIOH_5)) analogIns.append((37, 0, 2)) analogIns.append((40, 0, 0)) if board in ("ODROID_N2"): + alias = get_pwm_chipid("ffd1a000.pwm") + if alias is not None: + globals()["PWMC"] = GPIOX_5 + globals()["PWMD"] = GPIOX_6 + pwmOuts.append(((int(alias[-1]), 0), GPIOX_5)) + pwmOuts.append(((int(alias[-1]), 1), GPIOX_6)) + alias = get_pwm_chipid("ffd19000.pwm") + if alias is not None: + globals()["PWME"] = GPIOX_16 + globals()["PWMF"] = GPIOX_7 + pwmOuts.append(((int(alias[-1]), 0), GPIOX_16)) + pwmOuts.append(((int(alias[-1]), 1), GPIOX_7)) analogIns.append((37, 0, 3)) analogIns.append((40, 0, 2)) analogIns = tuple(analogIns) i2cPorts = tuple(i2cPorts) +pwmOuts = tuple(pwmOuts) uartPorts = tuple(uartPorts)