Documentation: ACPI: move dsd/graph.txt to firmware-guide/acpi and convert to reST
This converts the plain text documentation to reStructuredText format and adds it to Sphinx TOC tree. No essential content change. Signed-off-by: Changbin Du <changbin.du@gmail.com> Reviewed-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
011eed59ba
commit
f2dde1ed0f
|
@ -1,8 +1,11 @@
|
||||||
Graphs
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
======
|
||||||
|
Graphs
|
||||||
|
======
|
||||||
|
|
||||||
_DSD
|
_DSD
|
||||||
----
|
====
|
||||||
|
|
||||||
_DSD (Device Specific Data) [7] is a predefined ACPI device
|
_DSD (Device Specific Data) [7] is a predefined ACPI device
|
||||||
configuration object that can be used to convey information on
|
configuration object that can be used to convey information on
|
||||||
|
@ -30,7 +33,7 @@ hierarchical data extension array on each depth.
|
||||||
|
|
||||||
|
|
||||||
Ports and endpoints
|
Ports and endpoints
|
||||||
-------------------
|
===================
|
||||||
|
|
||||||
The port and endpoint concepts are very similar to those in Devicetree
|
The port and endpoint concepts are very similar to those in Devicetree
|
||||||
[3]. A port represents an interface in a device, and an endpoint
|
[3]. A port represents an interface in a device, and an endpoint
|
||||||
|
@ -38,9 +41,9 @@ represents a connection to that interface.
|
||||||
|
|
||||||
All port nodes are located under the device's "_DSD" node in the hierarchical
|
All port nodes are located under the device's "_DSD" node in the hierarchical
|
||||||
data extension tree. The data extension related to each port node must begin
|
data extension tree. The data extension related to each port node must begin
|
||||||
with "port" and must be followed by the "@" character and the number of the port
|
with "port" and must be followed by the "@" character and the number of the
|
||||||
as its key. The target object it refers to should be called "PRTX", where "X" is
|
port as its key. The target object it refers to should be called "PRTX", where
|
||||||
the number of the port. An example of such a package would be:
|
"X" is the number of the port. An example of such a package would be::
|
||||||
|
|
||||||
Package() { "port@4", PRT4 }
|
Package() { "port@4", PRT4 }
|
||||||
|
|
||||||
|
@ -49,7 +52,7 @@ data extension key of the endpoint nodes must begin with
|
||||||
"endpoint" and must be followed by the "@" character and the number of the
|
"endpoint" and must be followed by the "@" character and the number of the
|
||||||
endpoint. The object it refers to should be called "EPXY", where "X" is the
|
endpoint. The object it refers to should be called "EPXY", where "X" is the
|
||||||
number of the port and "Y" is the number of the endpoint. An example of such a
|
number of the port and "Y" is the number of the endpoint. An example of such a
|
||||||
package would be:
|
package would be::
|
||||||
|
|
||||||
Package() { "endpoint@0", EP40 }
|
Package() { "endpoint@0", EP40 }
|
||||||
|
|
||||||
|
@ -62,85 +65,85 @@ of that port shall be zero. Similarly, if a port may only have a single
|
||||||
endpoint, the number of that endpoint shall be zero.
|
endpoint, the number of that endpoint shall be zero.
|
||||||
|
|
||||||
The endpoint reference uses property extension with "remote-endpoint" property
|
The endpoint reference uses property extension with "remote-endpoint" property
|
||||||
name followed by a reference in the same package. Such references consist of the
|
name followed by a reference in the same package. Such references consist of
|
||||||
the remote device reference, the first package entry of the port data extension
|
the remote device reference, the first package entry of the port data extension
|
||||||
reference under the device and finally the first package entry of the endpoint
|
reference under the device and finally the first package entry of the endpoint
|
||||||
data extension reference under the port. Individual references thus appear as:
|
data extension reference under the port. Individual references thus appear as::
|
||||||
|
|
||||||
Package() { device, "port@X", "endpoint@Y" }
|
Package() { device, "port@X", "endpoint@Y" }
|
||||||
|
|
||||||
In the above example, "X" is the number of the port and "Y" is the number of the
|
In the above example, "X" is the number of the port and "Y" is the number of
|
||||||
endpoint.
|
the endpoint.
|
||||||
|
|
||||||
The references to endpoints must be always done both ways, to the
|
The references to endpoints must be always done both ways, to the
|
||||||
remote endpoint and back from the referred remote endpoint node.
|
remote endpoint and back from the referred remote endpoint node.
|
||||||
|
|
||||||
A simple example of this is show below:
|
A simple example of this is show below::
|
||||||
|
|
||||||
Scope (\_SB.PCI0.I2C2)
|
Scope (\_SB.PCI0.I2C2)
|
||||||
{
|
{
|
||||||
Device (CAM0)
|
Device (CAM0)
|
||||||
{
|
{
|
||||||
Name (_DSD, Package () {
|
Name (_DSD, Package () {
|
||||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "compatible", Package () { "nokia,smia" } },
|
Package () { "compatible", Package () { "nokia,smia" } },
|
||||||
},
|
},
|
||||||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "port@0", PRT0 },
|
Package () { "port@0", PRT0 },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
Name (PRT0, Package() {
|
Name (PRT0, Package() {
|
||||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "reg", 0 },
|
Package () { "reg", 0 },
|
||||||
},
|
},
|
||||||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "endpoint@0", EP00 },
|
Package () { "endpoint@0", EP00 },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
Name (EP00, Package() {
|
Name (EP00, Package() {
|
||||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "reg", 0 },
|
Package () { "reg", 0 },
|
||||||
Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, "port@4", "endpoint@0" } },
|
Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, "port@4", "endpoint@0" } },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Scope (\_SB.PCI0)
|
Scope (\_SB.PCI0)
|
||||||
{
|
{
|
||||||
Device (ISP)
|
Device (ISP)
|
||||||
{
|
{
|
||||||
Name (_DSD, Package () {
|
Name (_DSD, Package () {
|
||||||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "port@4", PRT4 },
|
Package () { "port@4", PRT4 },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Name (PRT4, Package() {
|
Name (PRT4, Package() {
|
||||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "reg", 4 }, /* CSI-2 port number */
|
Package () { "reg", 4 }, /* CSI-2 port number */
|
||||||
},
|
},
|
||||||
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "endpoint@0", EP40 },
|
Package () { "endpoint@0", EP40 },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
Name (EP40, Package() {
|
Name (EP40, Package() {
|
||||||
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
||||||
Package () {
|
Package () {
|
||||||
Package () { "reg", 0 },
|
Package () { "reg", 0 },
|
||||||
Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, "port@0", "endpoint@0" } },
|
Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, "port@0", "endpoint@0" } },
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Here, the port 0 of the "CAM0" device is connected to the port 4 of
|
Here, the port 0 of the "CAM0" device is connected to the port 4 of
|
||||||
|
@ -148,27 +151,27 @@ the "ISP" device and vice versa.
|
||||||
|
|
||||||
|
|
||||||
References
|
References
|
||||||
----------
|
==========
|
||||||
|
|
||||||
[1] _DSD (Device Specific Data) Implementation Guide.
|
[1] _DSD (Device Specific Data) Implementation Guide.
|
||||||
<URL:http://www.uefi.org/sites/default/files/resources/_DSD-implementation-guide-toplevel-1_1.htm>,
|
http://www.uefi.org/sites/default/files/resources/_DSD-implementation-guide-toplevel-1_1.htm,
|
||||||
referenced 2016-10-03.
|
referenced 2016-10-03.
|
||||||
|
|
||||||
[2] Devicetree. <URL:http://www.devicetree.org>, referenced 2016-10-03.
|
[2] Devicetree. http://www.devicetree.org, referenced 2016-10-03.
|
||||||
|
|
||||||
[3] Documentation/devicetree/bindings/graph.txt
|
[3] Documentation/devicetree/bindings/graph.txt
|
||||||
|
|
||||||
[4] Device Properties UUID For _DSD.
|
[4] Device Properties UUID For _DSD.
|
||||||
<URL:http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf>,
|
http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf,
|
||||||
referenced 2016-10-04.
|
referenced 2016-10-04.
|
||||||
|
|
||||||
[5] Hierarchical Data Extension UUID For _DSD.
|
[5] Hierarchical Data Extension UUID For _DSD.
|
||||||
<URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>,
|
http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf,
|
||||||
referenced 2016-10-04.
|
referenced 2016-10-04.
|
||||||
|
|
||||||
[6] Advanced Configuration and Power Interface Specification.
|
[6] Advanced Configuration and Power Interface Specification.
|
||||||
<URL:http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf>,
|
http://www.uefi.org/sites/default/files/resources/ACPI_6_1.pdf,
|
||||||
referenced 2016-10-04.
|
referenced 2016-10-04.
|
||||||
|
|
||||||
[7] _DSD Device Properties Usage Rules.
|
[7] _DSD Device Properties Usage Rules.
|
||||||
Documentation/acpi/DSD-properties-rules.txt
|
:doc:`../DSD-properties-rules`
|
|
@ -8,6 +8,7 @@ ACPI Support
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
|
dsd/graph
|
||||||
enumeration
|
enumeration
|
||||||
osi
|
osi
|
||||||
method-customizing
|
method-customizing
|
||||||
|
|
Loading…
Reference in New Issue