GPIO Controller

Options
FunnySun
FunnySun New Member Posts: 4

Windwos iot Run windows demo HelloBinky : Error No GPIO Controller

system:

HelloBlinky
https://github.com/ms-iot/samples

RHPROXY Problem:

https://forum.up-community.org/discussion/4120/spi-gpio-support

https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/enable-usermode-access#verify-that-rhproxy-is-present-on-the-system

DefinitionBlock ("ACPITABL1.dat", "SSDT", 1, "MSFT", "RHPROXY", 1)
{
Scope (_SB)
{
Device(RHPX)
{
Name(_HID, "MSFT8000")
Name(_CID, "MSFT8000")
Name(_UID, 1)

        Name(_CRS, ResourceTemplate()
        {

            GpioIo (Shared, PullNone, 0, 0, IoRestrictionNone, "\\_SB.GPO0",) {36}  
            GpioInt(Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) {36}
        })

    }
}

}

https://forum.up-community.org/discussion/4120/spi-gpio-support

make ACPITABL.dat and load

Problem :12
error code:0xC0000034
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/cm-prob-normal-conflict

Comments

  • FunnySun
    FunnySun New Member Posts: 4
    Options

    how to resolve this problem ?Thanks

  • jayman
    jayman New Member Posts: 66 ✭✭
    edited July 2020
    Options

    I see a number of problems:
    1. _CRS must be declared as a method, not a name.
    2. The _CRS method must return something (the resource buffer).
    3. The pin number must be valid relative to the chipset, not the I/O header. The header pin numbers mean nothing to ACPI or the GPIO controller driver.
    Try something like this instead:

    Method (_CRS, 0x0, NotSerialized)    // _CRS: Current Resource Settings
    {
        Name (RBUF, ResourceTemplate()
        {
            GpioIo (...) { 0x00a8 }    // value shown for illustration purposes only
            GpioInt (...) { 0x00a8 }
        }
        Return (RBUF)
    }
    
  • FunnySun
    FunnySun New Member Posts: 4
    edited July 2020
    Options

    _CRS sample reference:https://docs.microsoft.com/en-us/windows/uwp/devices-sensors/enable-usermode-access#appendix-b---minnowboardmax-asl-listing

    and if i changed like this
    DefinitionBlock ("ACPITABL1.dat", "SSDT", 1, "MSFT", "RHPROXY", 1)
    {
    Scope (_SB)
    {
    Device(RHPX)
    {
    Name(_HID, "MSFT8000")
    Name(_CID, "MSFT8000")
    Name(_UID, 1)

            Method (_CRS, 0x0, NotSerialized)    // _CRS: Current Resource Settings
        {
                Name (RBUF, ResourceTemplate()
            {
                GpioIo (Shared, PullNone, 0, 0, IoRestrictionNone, "\\_SB.GPO0") { 0x00a8 }    // value shown for illustration purposes only
                GpioInt (Edge, ActiveBoth, SharedAndWake, PullNone, 0,"\\_SB.GPO0",) { 0x00a8 }
            }
            Return (RBUF)
         }
    
    
    
        }
    }
    

    }

    parse error:

  • jayman
    jayman New Member Posts: 66 ✭✭
    Options

    Sorry, I was missing a parenthesis before Return. My mistake.

    Method (_CRS, 0x0, NotSerialized)    // _CRS: Current Resource Settings
    {
        Name (RBUF, ResourceTemplate()
        {
            GpioIo (...) { 0x00a8 }    // value shown for illustration purposes only
            GpioInt (...) { 0x00a8 }
        })
        Return (RBUF)
    }