]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Udoo x64 with Pentium N3710 (Braswell core) SOC
authorkent <fuzzballz@comcast.net>
Thu, 13 Aug 2020 01:03:00 +0000 (18:03 -0700)
committerkent <fuzzballz@comcast.net>
Thu, 13 Aug 2020 01:03:00 +0000 (18:03 -0700)
created pin, board files and added to board, digitoaio, pin and init.

src/adafruit_blinka/board/udoo_x86ultra.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/pentium/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/pentium/n3710/.gitignore [new file with mode: 0644]
src/adafruit_blinka/microcontroller/pentium/n3710/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/pentium/n3710/pin.py [new file with mode: 0644]
src/board.py
src/digitalio.py
src/microcontroller/__init__.py
src/microcontroller/pin.py

diff --git a/src/adafruit_blinka/board/udoo_x86ultra.py b/src/adafruit_blinka/board/udoo_x86ultra.py
new file mode 100644 (file)
index 0000000..078a0d1
--- /dev/null
@@ -0,0 +1,64 @@
+"""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
+
diff --git a/src/adafruit_blinka/microcontroller/pentium/__init__.py b/src/adafruit_blinka/microcontroller/pentium/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/adafruit_blinka/microcontroller/pentium/n3710/.gitignore b/src/adafruit_blinka/microcontroller/pentium/n3710/.gitignore
new file mode 100644 (file)
index 0000000..0e7f550
--- /dev/null
@@ -0,0 +1 @@
+pins
diff --git a/src/adafruit_blinka/microcontroller/pentium/n3710/__init__.py b/src/adafruit_blinka/microcontroller/pentium/n3710/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/adafruit_blinka/microcontroller/pentium/n3710/pin.py b/src/adafruit_blinka/microcontroller/pentium/n3710/pin.py
new file mode 100644 (file)
index 0000000..e01e4d4
--- /dev/null
@@ -0,0 +1,89 @@
+"""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),
index 03aeee938b010166fcde6bffd77bfa7eaa636c28..9aa520edc31c62af53e0650aeee69aef942f664a 100755 (executable)
@@ -158,6 +158,9 @@ elif board_id == ap_board.ONION_OMEGA2:
 
 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
index 4b0036b6537f835236f5324f8bb45418a03e3ddc..9ed8ac37bdf8074853a74f296c26628a0cee1ce3 100755 (executable)
@@ -57,6 +57,9 @@ elif detector.chip.STM32:
     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
 
 
index 027a557e6cfe8c2aec9c8d4821bc813964644ee5..3c0b37aa100719f617d061f2e10095317fbba1c6 100755 (executable)
@@ -78,5 +78,7 @@ elif chip_id == ap_chip.MIPS24KC:
     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)
index 09edd3ce217be3e568f017eca2364f7d46945c35..4494de5a78b49271640c4b438b14c2b289708b10 100755 (executable)
@@ -56,5 +56,7 @@ elif chip_id == ap_chip.MIPS24KC:
     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)