From: "Sunny Wang" <Sunny.Wang@arm.com>
To: devel@edk2.groups.io
Cc: "Sunny Wang" <Sunny.Wang@arm.com>,
"Samer El-Haj-Mahmoud" <samer.el-haj-mahmoud@arm.com>,
"Sami Mujawar" <sami.mujawar@arm.com>,
"Jeremy Linton" <jeremy.linton@arm.com>,
"Pete Batard" <pete@akeo.ie>,
"Ard Biesheuvel" <ardb+tianocore@kernel.org>,
"Mario Bălănică" <mariobalanica02@gmail.com>,
"Sunny Wang" <sunny.wang@arm.com>
Subject: [PATCH v3 2/2] Platform/RaspberryPi: Enable Bluetooth and UART in Windows OS
Date: Mon, 31 May 2021 16:22:39 +0800 [thread overview]
Message-ID: <20210531082239.918-3-Sunny.Wang@arm.com> (raw)
In-Reply-To: <20210531082239.918-1-Sunny.Wang@arm.com>
This change is based on edk2-platforms-raspberrypi-pl011-bth-noflow.diff
in https://github.com/worproject/RPi-Bluetooth-Testing/ for enabling
Bluetooth and serial port (Mini UART) in Windows IOT.
Note that PL011 UART still doesn't work with Windows 10 IOT with this
change, but PL011 UART works fine with VMware ESXi-Arm Fling v1.3.
Therefore, there should be no issue with PL011 UART related changes,
and we will still need a Windows expert to take a further look in the
future. Making PL011 UART work properly with Windows 10 IOT may require
additional changes to Windows driver or firmware's ACPI table.
Testing Done:
- Successfully booted Windows Windows 10 IOT (20279.1) on SD (made by WOR) with
the RPi-Windows-Drivers release ver 0.5 downloaded from
https://github.com/worproject/RPi-Windows-Drivers/releases
and checked that both Bluetooth and serial port (Mini UART) can
work fine.
- Successfully booted VMware ESXi-Arm Fling v1.3 with only serial
console connection (PL011 UART).
Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@arm.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Jeremy Linton <jeremy.linton@arm.com>
Cc: Pete Batard <pete@akeo.ie>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Mario Bălănică <mariobalanica02@gmail.com>
Signed-off-by: Sunny Wang <sunny.wang@arm.com>
---
Platform/RaspberryPi/AcpiTables/Uart.asl | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/Platform/RaspberryPi/AcpiTables/Uart.asl b/Platform/RaspberryPi/AcpiTables/Uart.asl
index bac9d791eb..cb99086d39 100644
--- a/Platform/RaspberryPi/AcpiTables/Uart.asl
+++ b/Platform/RaspberryPi/AcpiTables/Uart.asl
@@ -30,6 +30,12 @@ Device (URT0)
{
MEMORY32FIXED (ReadWrite, 0, BCM2836_PL011_UART_LENGTH, RMEM)
Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { BCM2836_PL011_UART_INTERRUPT }
+
+ PinFunction (Exclusive, PullDown, BCM_ALT3, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 32, 33 }
+
+ // fake the CTS signal as we don't support HW flow control yet
+ // BCM_ALT2 is set as output (low) by default
+ PinFunction (Exclusive, PullNone, BCM_ALT2, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 31 }
})
Method (_CRS, 0x0, Serialized)
{
@@ -79,6 +85,11 @@ Device (URTM)
// from muxing the pins away.
// PinFunction (Exclusive, PullDown, BCM_ALT5, "\\_SB.GPI0", 0, ResourceConsumer, , ) { 14, 15 }
+ PinFunction (Exclusive, PullDown, BCM_ALT5, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 32, 33 }
+
+ // fake the CTS signal as we don't support HW flow control yet
+ // BCM_ALT2 is set as output (low) by default
+ PinFunction (Exclusive, PullNone, BCM_ALT2, "\\_SB.GDV0.GPI0", 0, ResourceConsumer, , ) { 31 }
})
Method (_CRS, 0x0, Serialized)
{
@@ -143,10 +154,6 @@ Device(BTH0)
UAR0, // DescriptorName: creates name
// for offset of resource descriptor
) // Vendor data
- //
- // RPIQ connection for BT_ON/OFF
- //
- GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.RPIQ", 0, ResourceConsumer, , ) { 128 }
})
//
@@ -190,10 +197,6 @@ Device(BTH0)
UARM, // DescriptorName: creates name
// for offset of resource descriptor
) // Vendor data
- //
- // RPIQ connection for BT_ON/OFF
- //
- GpioIO (Shared, PullUp, 0, 0, IoRestrictionNone, "\\_SB.GDV0.RPIQ", 0, ResourceConsumer, , ) { 128 }
})
Method (_CRS, 0x0, Serialized)
--
2.31.0.windows.1
next prev parent reply other threads:[~2021-05-31 8:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-31 8:22 [PATCH v3 0/2] Dynamically build UARTs info in ACPI Sunny Wang
2021-05-31 8:22 ` [PATCH v3 1/2] Platform/RaspberryPi: " Sunny Wang
2021-05-31 8:22 ` Sunny Wang [this message]
2021-05-31 12:40 ` [PATCH v3 2/2] Platform/RaspberryPi: Enable Bluetooth and UART in Windows OS Mario Bălănică
2021-05-31 13:26 ` [edk2-devel] " Sunny Wang
2021-05-31 15:56 ` Mario Bălănică
2021-05-31 16:35 ` Mario Bălănică
2021-06-07 8:31 ` Sunny Wang
2021-06-07 14:58 ` Mario Bălănică
2021-06-02 12:11 ` [edk2-devel] [PATCH v3 0/2] Dynamically build UARTs info in ACPI Samer El-Haj-Mahmoud
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210531082239.918-3-Sunny.Wang@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox