windows-drivers icon indicating copy to clipboard operation
windows-drivers copied to clipboard

Preliminary ARM64 IoT Core BSP

Open driver1998 opened this issue 3 years ago • 1 comments

This adds two new BSPs: RPi3.ARM64 and RPi4.ARM64.

Currently they require UEFI firmware from PFTF to be manually added to bspfiles/RPix.ARM64/Packages/RPi.BootFirmware before exporting the BSP.

Also the proprietary USB and LAN drivers for Pi3 are not included, and have to be manually added.

A special INF file, rpirshub3.inf, is added to bring up XHCI on Pi 4 on Windows builds <= RS5.

Check out https://github.com/driver1998/windows-drivers/blob/arm64-iot/IOTARM64.md for more details.

Current Status:

Features Pi 3 Pi 4
WiFi
Bluetooth
UART
LAN ✔(1) ❌ (1)
Rear USB
USB-C OTG N/A ✔ (2)
GPIO
I2C ✔(3) ✔ (3)
SPI ✔(3) ✔ (3)
Mailbox
PWM ❓(4)
Audio Jack ❓(4)
HDMI Audio
  1. LAN95xx/LAN78xx on Pi 3 requires Microchip driver, GENET does not work on IoT Core. USB LAN Adapter works but you'll need to provide your own drivers.
  2. Will work if you limit RAM to 1GB
  3. Will only work if you modify ACPI to use the old, Microsoft-specific MsftFunctionConfig resources to describe pin muxing, instead of the new, standard PinFunction used in upstream EDK2 nowadays (I doubt a patch to revert this change will ever be merged)
  4. Untested, hopefully they are not affected by PinFunction issues.

driver1998 avatar Jan 17 '22 01:01 driver1998

Will only work if you modify ACPI to use the old, Microsoft-specific MsftFunctionConfig resources to describe pin muxing

I doubt a patch to revert this change will ever be merged

While trying to upstream a revert patch does not make much sense, one can try to make a patch that will allow to switch between MS-specific function and the standard PinFunction which is used by default now.

The switch can be then added to the UEFI setup application.

binarymaster avatar Jan 17 '22 14:01 binarymaster