SPI/GPIO support
I'm trying to test out SPI connectivity on my UP Core on Windows 10 IoT Core. The UP Core is connected to a custom carrier board which has a SPI GPIO Extender. When I run the "spitesttool -list" I get the following message: "There are no SPI controllers on this system." When I run "GpioTestTool - list" I get this error: ' GPIO is not available on this system'. I see the same behavior when the UP Core is paired with the high speed and low speed UP Core carrier boards.
I have tried installing the UP SDK and see the same behavior. What do I need to do to enable SPI/GPIO ? Is there a BIOS setting?
Comments
-
I have some more info. I can see that the drivers are installed when I run "devcon status acpi*" [1]
**[1] devcon output** [10.10.10.11]: PS C:\Data\Users\Administrator\Documents> devcon status acpi\* ACPI\PNP0C02\1 Name: Motherboard resources Device is currently stopped. ACPI\PNP0C02\2 Name: Motherboard resources Device is currently stopped. ACPI\PNP0C02\3 Name: Motherboard resources Device is currently stopped. ACPI\MSFT8000\7 Name: Resource Hub proxy device Driver is running. ACPI\PNP0B00\2&DABA3FF&0 Name: System CMOS/real time clock Driver is running. ACPI\ACPI000C\2&DABA3FF&0 Name: ACPI Processor Aggregator Driver is running. ACPI\808622C1\1 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\808622C1\2 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\808622C1\3 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\808622C1\5 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\808622C1\6 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\808622C1\7 Name: Intel(R) Serial IO I2C ES Controller Driver is running. ACPI\80862288\1 The device has the following problem: 28 Problem status: 0xC0000490 ACPI\80862288\2 The device has the following problem: 28 Problem status: 0xC0000490 ACPI\8086228A\1 Name: Intel(R) Serial IO UART Controller Driver is running. ACPI\8086228A\2 Name: Intel(R) Serial IO UART Controller Driver is running. ACPI\8086228E\2 Name: Intel(R) Serial IO SPI Controller Driver is running. ACPI\AANT0F02\1 The device has the following problem: 28 Problem status: 0xC0000490 ACPI\THERMALZONE\TZ00 Name: ACPI Thermal Zone Driver is running. ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_76_-_______INTEL(R)_ATOM(TM)_X5-Z8350__CPU_@_1.44GHZ\_1 Name: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz Driver is running. ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_76_-_______INTEL(R)_ATOM(TM)_X5-Z8350__CPU_@_1.44GHZ\_2 Name: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz Driver is running. ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_76_-_______INTEL(R)_ATOM(TM)_X5-Z8350__CPU_@_1.44GHZ\_3 Name: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz Driver is running. ACPI\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_76_-_______INTEL(R)_ATOM(TM)_X5-Z8350__CPU_@_1.44GHZ\_4 Name: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz Driver is running. ACPI\PNP0103\0 Name: High precision event timer Device is currently stopped. ACPI\INT33D5\3&11583659&0 Name: Intel(R) HID Event Filter Driver is running. ACPI\BCM2EA3\4&1728BCB7&0 Name: Broadcom Serial Bus Driver over UART Bus Enumerator Driver is running. ACPI\INT0800\4&26563CFA&0 Name: Legacy device Device is currently stopped. ACPI\PNP0501\1 Name: Communications Port Driver is running. ACPI\PNP0100\4&26563CFA&0 Name: System timer Device is currently stopped. ACPI\HAD022A8\1 The device has the following problem: 28 Problem status: 0xC0000490 ACPI\PNP0A08\0 Name: PCI Express Root Complex Driver is running. ACPI\PNP0C0C\2&DABA3FF&0 Name: ACPI Power Button Driver is running. ACPI\INTL9C60\1 Name: Intel(R) Serial IO DMA Controller Device is currently stopped. ACPI\INTL9C60\2 Name: Intel(R) Serial IO DMA Controller Device is currently stopped. ACPI\INT33F5\1 Name: Intel(R) Power Management IC Device Driver is running. ACPI\MSFT0101\1 Name: Trusted Platform Module 2.0 Driver is running. ACPI\FIXEDBUTTON\2&DABA3FF&0 Name: ACPI Fixed Feature Button Driver is running. ACPI\INT33FF\1 Name: Intel Serial IO GPIO Controller Driver is running. ACPI\INT33FF\2 Name: Intel Serial IO GPIO Controller Driver is running. ACPI\INT33FF\3 Name: Intel Serial IO GPIO Controller Driver is running. ACPI\INT33FF\4 Name: Intel Serial IO GPIO Controller Driver is running. ACPI\INT33FF\5 Name: Intel Serial IO GPIO Controller Driver is running. ACPI\INT33A4\1 Name: Intel(R) Power Engine Plug-in Driver is running. ACPI\808622A8\1 Name: Intel SST Audio Device (WDM) Driver is running. ACPI\PNP0000\4&26563CFA&0 Name: Programmable interrupt controller Device is currently stopped. ACPI\INT3403\0 The device has the following problem: 28 Problem status: 0xC0000490 ACPI\INT33BD\1 Name: Intel(R) Sideband Fabric Device Driver is running. ACPI\80860F14\1 Name: Intel SD Host Controller Driver is running. ACPI\80860F14\2 Name: Intel SD Host Controller Driver is running. 49 matching device(s) found.
-
With the help of an AAEON engineer I was able to get the SPI functionality enabled on the UP Core. Here are the steps required:
- Install the UP Core SDK
- In the "IoT" folder, the RemoteInstallation.ps1 file needs to be modified with the correct user name and password.
- After this is done the script can be executed from an Administrative Powershell session to install the SDK on the UP Core.
- Then the attached ACPITABL.dat file needs to be copied to "C:\windows\system32" on the UP Core.
- Reboot
- Run "spitesttool -list" to confirm the UP Core has been properly configured.
-
Here's the mapping * between the UpBridge SDK and the physical pins on the UP Core...
DIO NO(Up Framework) | Pin No(100 pin connector) | Description |
|-------------------------------|-----------------------------------|---------------------|
| 1 | 79 | I2C1_SOC_SDA |
| 2 | 81 | I2C1_SOC_SCL |
| 3 | 32 | ISH_GPIO0 |
| 4 | 23 | GPIO7/HAT_SPI2_MOSI |
| 5 | 25 | GPIO8/SPI_MISO |
| 6 | 27 | GPIO9/SPI_CLK |
| 7 | 73 | I2C0_SOC_SDA |
| 8 | 36 | ISH_GPIO2 |
| 9 | 38 | ISH_GPIO3 |
| 10 | 48 | GPIO13/PWM1 |
| 11 | 47 | GPIO14/I2S2_FRM |
| 12 | 40 | ISH_GPIO4 |
| 13 | 16 | GPIO16/UART1_TX |
| 14 | 18 | GPIO17/UART1_RX |
| 15 | 45 | GPIO18/I2S2_CLK |
| 16 | 29 | GPIO22/SPI_CS0N |
| 17 | 31 | GPIO23/SPI_CS1N |
| 18 | 75 | I2C0_SOC_SCL |
| 19 | 46 | GPIO25/PWM0 |
| 20 | 44 | ISH_GPIO9 |
| 21 | 49 | GPIO27/I2S2_DATAIN |
| 22 | 51 | GPIO28/I2S2_DATAOUT |- please excuse the formatting it appears that the forum does not support Markdown tables. I've included an excel file with the same info.