ACPI: docs: gpio-properties: Unify ASL style for GPIO examples

GPIO examples of ASL in the board.rst, enumeration.rst and gpio-properties.rst
are not unified. Unify them for better reader experience.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Andy Shevchenko 2022-03-08 16:05:59 +02:00 committed by Rafael J. Wysocki
parent 01399a994b
commit 830751d54b
3 changed files with 28 additions and 41 deletions

View File

@ -71,14 +71,14 @@ with the help of _DSD (Device Specific Data), introduced in ACPI 5.1::
Device (FOO) { Device (FOO) {
Name (_CRS, ResourceTemplate () { Name (_CRS, ResourceTemplate () {
GpioIo (Exclusive, ..., IoRestrictionOutputOnly, GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPI0") {15} // red "\\_SB.GPI0", 0, ResourceConsumer) { 15 } // red
GpioIo (Exclusive, ..., IoRestrictionOutputOnly, GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPI0") {16} // green "\\_SB.GPI0", 0, ResourceConsumer) { 16 } // green
GpioIo (Exclusive, ..., IoRestrictionOutputOnly, GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPI0") {17} // blue "\\_SB.GPI0", 0, ResourceConsumer) { 17 } // blue
GpioIo (Exclusive, ..., IoRestrictionOutputOnly, GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPI0") {1} // power "\\_SB.GPI0", 0, ResourceConsumer) { 1 } // power
}) })
Name (_DSD, Package () { Name (_DSD, Package () {
@ -92,10 +92,7 @@ with the help of _DSD (Device Specific Data), introduced in ACPI 5.1::
^FOO, 2, 0, 1, ^FOO, 2, 0, 1,
} }
}, },
Package () { Package () { "power-gpios", Package () { ^FOO, 3, 0, 0 } },
"power-gpios",
Package () {^FOO, 3, 0, 0},
},
} }
}) })
} }

View File

@ -295,26 +295,13 @@ For example::
{ {
Name (SBUF, ResourceTemplate() Name (SBUF, ResourceTemplate()
{ {
...
// Used to power on/off the device // Used to power on/off the device
GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionOutputOnly,
IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", "\\_SB.PCI0.GPI0", 0, ResourceConsumer) { 85 }
0x00, ResourceConsumer,,)
{
// Pin List
0x0055
}
// Interrupt for the device // Interrupt for the device
GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0,
0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer,,) "\\_SB.PCI0.GPI0", 0, ResourceConsumer) { 88 }
{
// Pin list
0x0058
}
...
} }
Return (SBUF) Return (SBUF)
@ -331,6 +318,7 @@ For example::
} }
}) })
... ...
}
These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0" These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0"
specifies the path to the controller. In order to use these GPIOs in Linux specifies the path to the controller. In order to use these GPIOs in Linux

View File

@ -21,18 +21,18 @@ index, like the ASL example below shows::
Name (_CRS, ResourceTemplate () Name (_CRS, ResourceTemplate ()
{ {
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0, ResourceConsumer) {15} "\\_SB.GPO0", 0, ResourceConsumer) { 15 }
GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly,
"\\_SB.GPO0", 0, ResourceConsumer) {27, 31} "\\_SB.GPO0", 0, ResourceConsumer) { 27, 31 }
}) })
Name (_DSD, Package () Name (_DSD, Package ()
{ {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () Package ()
{ {
Package () {"reset-gpios", Package() {^BTH, 1, 1, 0 }}, Package () { "reset-gpios", Package () { ^BTH, 1, 1, 0 } },
Package () {"shutdown-gpios", Package() {^BTH, 0, 0, 0 }}, Package () { "shutdown-gpios", Package () { ^BTH, 0, 0, 0 } },
} }
}) })
} }
@ -123,17 +123,17 @@ Example::
// _DSD Hierarchical Properties Extension UUID // _DSD Hierarchical Properties Extension UUID
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
Package () { Package () {
Package () {"hog-gpio8", "G8PU"} Package () { "hog-gpio8", "G8PU" }
} }
}) })
Name (G8PU, Package () { Name (G8PU, Package () {
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
Package () { Package () {
Package () {"gpio-hog", 1}, Package () { "gpio-hog", 1 },
Package () {"gpios", Package () {8, 0}}, Package () { "gpios", Package () { 8, 0 } },
Package () {"output-high", 1}, Package () { "output-high", 1 },
Package () {"line-name", "gpio8-pullup"}, Package () { "line-name", "gpio8-pullup" },
} }
}) })
@ -266,15 +266,17 @@ have a device like below::
Name (_CRS, ResourceTemplate () { Name (_CRS, ResourceTemplate () {
GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone, GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone,
"\\_SB.GPO0", 0, ResourceConsumer) {15} "\\_SB.GPO0", 0, ResourceConsumer) { 15 }
GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone, GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone,
"\\_SB.GPO0", 0, ResourceConsumer) {27} "\\_SB.GPO0", 0, ResourceConsumer) { 27 }
}) })
} }
The driver might expect to get the right GPIO when it does:: The driver might expect to get the right GPIO when it does::
desc = gpiod_get(dev, "reset", GPIOD_OUT_LOW); desc = gpiod_get(dev, "reset", GPIOD_OUT_LOW);
if (IS_ERR(desc))
...error handling...
but since there is no way to know the mapping between "reset" and but since there is no way to know the mapping between "reset" and
the GpioIo() in _CRS desc will hold ERR_PTR(-ENOENT). the GpioIo() in _CRS desc will hold ERR_PTR(-ENOENT).