created pin, board files and added to board, digitoaio, pin and init.
--- /dev/null
+"""Pin definitions for Udoo x86 Ultra
+(should work for Ultra and Ultra II)"""
+
+from adafruit_blinka.microcontroller.pentium.n3710 import pin
+
+""" There are 2 naming systems. A Digital Pin system which includes
+the arduino chip (Leonardo or 101). The Braswell #s start at 16 and
+is documented in the diagram in https://www.udoo.org/docs-x86II/Introduction/Introduction.html
+The other is based on the hardware manual https://udoo.org/download/files/UDOO_X86/Doc/UDOO_X86II_MANUAL.pdf
+
+This will use the D system based on the diagram in the user guide
+"""
+
+# Connector CN15
+D16 = pin.UART1_RTS
+D17 = pin.UART1_CTS
+D18 = pin.UART1_TXD
+D19 = pin.UART1_RXD
+D20 = pin.UART2_RTS
+D21 = pin.UART2_CTS
+D22 = pin.UART2_TXD
+D23 = pin.UART2_RXD
+
+# Connector CN13 LPC interface
+D24 = pin.GPIO_275
+D25 = pin.GPIO_280
+D26 = pin.GPIO_273
+D27 = pin.GPIO_278
+D28 = pin.GPIO_276
+D29 = pin.GPIO_279
+D30 = pin.GPIO_307
+
+# Connector CN14
+D34 = pin.I2C0_SCL
+D35 = pin.I2C0_SDA
+
+D36 = pin.GPIO_492
+D27 = pin.GPIO_490
+
+D38 = pin.I2C5_SCL
+D39 = pin.I2C5_SDA
+
+# Connector CN12 SDIO SD/MMC interfaces
+D40 = GPIO_358
+D41 = GPIO_243
+D42 = GPIO_249
+D43 = GPIO_246
+D44 = GPIO_253
+D45 = GPIO_250
+D46 = GPIO_247
+
+# aliases
+UART1_RX = D19
+UART1_TX = D18
+
+UART2_RX = D23
+UART2_TX = D22
+
+I2C0_SCL = D34 # labeled on diagram as I2C1
+I2C0_SDA = D35 # actually port 0
+
+I2C1_SCL = D38 # Labeled on diagram as I2C2 hardware manual port 5
+I2C1_SCL = D39 # i2c detect lists it as i2c1
+
--- /dev/null
+"""Pentium N3710 (Braswell core SOC) pin names"""
+from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
+
+# gpiochip3
+GPIO_243 = Pin((3,15))
+GPIO_246 = Pin((3,18))
+GPIO_247 = Pin((3,19))
+GPIO_249 = Pin((3,21))
+GPIO_250 = Pin((3,22))
+GPIO_253 = Pin((3,25))
+GPIO_273 = Pin((3,45))
+GPIO_275 = Pin((3,47))
+GPIO_276 = Pin((3,48))
+GPIO_278 = Pin((3,50))
+GPIO_279 = Pin((3,51))
+GPIO_280 = Pin((3,52))
+GPIO_307 = Pin((3,79))
+
+sdmmc2_D3 = GPIO_243 # SDIO_D3 on diagram
+sdmmc2_D1 = GPIO_246
+sdmmc2_CLK = GPIO_247
+sdmmc2_D2 = GPIO_249
+sdmmc2_CMD = GPIO_250
+sdmmc2_D0 = GPIO_253
+
+MF_LPC_AD2 = GPIO_273
+MF_LPC_AD0 = GPIO_275
+LPC_FRAMEB = GPIO_276
+MF_LPC_AD3 = GPIO_278
+MF_LPC_CLKOUT0 = GPIO_279
+MF_LPC_AD1 = GPIO_280
+ILB_SERIRQ = GPIO_307
+
+# ggpiochip1
+GPIO_358 = Pin((1,17))
+GPIO_SUS3 = SDIO_WAKE = GPIO_358
+
+
+# gpiochip0
+GPIO_490 = Pin((0,76))
+GPIO_492 = Pin((0,78))
+
+SATA_GP1 = TS_INT = GPIO_490
+SATA_GP@ = TS_RST = GPIO_492
+
+
+# not general gpio on chip 0
+# uarts
+
+UART1_RXD = Pin((0,16))
+UART1_TXD = Pin((0,20))
+UART1_RTS = Pin((0,15))
+UART1_CTS = Pin((0,18))
+
+UART2_RXD = Pin((0,17))
+UART2_TXD = Pin((0,21))
+UART2_RTS = Pin((0,19))
+UART2_CTS = Pin((0,22))
+
+GPIO_429 = UART1_RTS
+GPIO_430 = UART1_RXD
+GPIO_431 = UART2_RXD
+GPIO_432 = UART1_CTS
+GPIO_434 = UART1_TXD
+GPIO_435 = UART2_TXD
+GPIO_436 = UART2_CTS
+
+#i2c
+I2C0_SDA = Pin((0,61))
+I2C0_SCL = Pin((0,65))
+
+I2C1_SDA = TS_I2C_SDA = Pin((0,45)) # listed as port 5 on hardware manual
+I2C1_SCL = TS_I2C_SCL = Pin((0,48))
+
+
+GPIO_469 = I2C5_SDA #I2C2 on diagram
+GPIO_472 = I2C5_SCL
+GPIO_475 = I2C0_SDA #I2C1 on diagram
+GPIO_479 = I2C0_SCL
+
+i2cPorts = (
+ (0, I2C0_SCL, I2C0_SDA),
+ (1, I2C1_SCL, I2C1_SDA),
+)
+
+# ordered as uartId, txId, rxId
+uartPorts = (
+ (1, UART1_TXD, UART1_RXD),
+ (2, UART2_TXD, UART2_RXD),
elif board_id == ap_board.ROCK_PI_S:
from adafruit_blinka.board.radxa.rockpis import *
+
+elif board_id == ap_board.UDOO_X86:
+ from adafruit_blinka.board.udoo_x86ultra import *
elif "sphinx" in sys.modules:
pass
from machine import Pin
elif detector.board.microchip_mcp2221:
from adafruit_blinka.microcontroller.mcp2221.pin import Pin
+elif detector.chip.PENTIUM_N3710:
+ from adafruit_blinka.microcontroller.pentium.n3710.pin import Pin
+
from adafruit_blinka import Enum, ContextManaged
from adafruit_blinka.microcontroller.atheros.ar9331.pin import *
elif chip_id == ap_chip.MIPS24KEC:
from adafruit_blinka.microcontroller.mips24kec.pin import *
+elif chip_id == ap_chip.PENTIUM_n3710:
+ from adafruit_blinka.microcontroller.pentium.n3710.pin import *
else:
raise NotImplementedError("Microcontroller not supported:", chip_id)
from adafruit_blinka.microcontroller.atheros.ar9331.pin import *
elif chip_id == ap_chip.MIPS24KEC:
from adafruit_blinka.microcontroller.mips24kec.pin import *
+elif chip_id == ap_chip.PENTIUM_N3710
+ from adafruit_blinka.microcontroller.pentium.n3710.pin import *
else:
raise NotImplementedError("Microcontroller not supported: ", chip_id)