[edk2-devel] [PATCH edk2-platforms v2 0/4] Provide XHCI USB controller only for newer hardware

Marcin Juszkiewicz marcin.juszkiewicz at linaro.org
Tue Oct 17 13:18:24 UTC 2023


W dniu 17.10.2023 o 13:46, Nhi Pham pisze:
>>
>> Then looked again at code from
>> Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiDsdt.c and noticed
>> UpdateStatusMethodObject() function. Copied some code and it worked.
> 
> Could you please check whether we can replace the 
> UpdateStatusMethodObject() function with the 
> AcpiAmlObjectUpdateInteger() function provided by AcpiLib?

AcpiAmlObjectUpdateInteger() finds \\_SB.USB0._STA, checks Buffer[0] and
quits because it is AML_METHOD_OP while it only works for AML_NAME_OP.

So I went a way I had in meantime. Added AML variable into DSDT and then
have _STA method return it's value (as I set it to either 0xF or 0x0).

DSDT.asl snippet:
----------------------------------------------------------------------
     // USB XHCI Host Controller
     Device (USB0) {
         Name (_HID, "PNP0D10")      // _HID: Hardware ID
         Name (_UID, 0x00)            // _UID: Unique ID
         Name (_CCA, 0x01)            // _CCA: Cache Coherency Attribute
         Name (XHCI, 0xF)            // will be set using AcpiLib
         Method (_STA) {
           Return (XHCI)
         }
----------------------------------------------------------------------

And then:

     // UpdateStatusMethodObject (AcpiSdtProtocol, TableHandle, "\\_SB.USB0._STA", 0x0);
     AcpiAmlObjectUpdateInteger (AcpiSdtProtocol, TableHandle, "\\_SB.USB0.XHCI", 0x0);


With this change code works as expected. Thanks!

Will send v3.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109680): https://edk2.groups.io/g/devel/message/109680
Mute This Topic: https://groups.io/mt/101992601/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list