158 lines
5.2 KiB
ReStructuredText
158 lines
5.2 KiB
ReStructuredText
.. _device-tree/nvlink:
|
|
|
|
===========================
|
|
Nvlink Device Tree Bindings
|
|
===========================
|
|
|
|
See :ref:`nvlink` for general Nvlink information.
|
|
|
|
NPU bindings:
|
|
|
|
.. code-block:: dts
|
|
|
|
xscom@3fc0000000000 {
|
|
npu@8013c00 {
|
|
reg = <0x8013c00 0x2c>;
|
|
compatible = "ibm,power8-npu";
|
|
ibm,npu-index = <0x0>;
|
|
ibm,npu-links = <0x4>; /* Number of links wired up to this npu. */
|
|
|
|
phandle = <0x100002bc>;
|
|
linux,phandle = <0x100002bc>;
|
|
|
|
link@0 {
|
|
ibm,npu-pbcq = <0x1000000b>; /* phandle to the pbcq which connects to the GPU. */
|
|
ibm,npu-phy = <0x80000000 0x8010c3f>; /* SCOM address of the IBM PHY controlling this link. */
|
|
compatible = "ibm,npu-link";
|
|
ibm,npu-lane-mask = <0xff>; /* Mask specifying which IBM PHY lanes are used for this link. */
|
|
|
|
phandle = <0x100002bd>;
|
|
ibm,npu-link-index = <0x0>; /* Hardware link index. Naples systems
|
|
* contain links at index 0,1,4 & 5.
|
|
* Used to calculate various address offsets. */
|
|
|
|
linux,phandle = <0x100002bd>;
|
|
};
|
|
|
|
link@1 {
|
|
ibm,npu-pbcq = <0x1000000b>;
|
|
ibm,npu-phy = <0x80000000 0x8010c3f>;
|
|
compatible = "ibm,npu-link";
|
|
ibm,npu-lane-mask = <0xff00>;
|
|
phandle = <0x100002be>;
|
|
ibm,npu-link-index = <0x1>;
|
|
linux,phandle = <0x100002be>;
|
|
};
|
|
|
|
link@4 {
|
|
ibm,npu-pbcq = <0x1000000a>;
|
|
ibm,npu-phy = <0x80000000 0x8010c7f>;
|
|
compatible = "ibm,npu-link";
|
|
ibm,npu-lane-mask = <0xff00>;
|
|
phandle = <0x100002bf>;
|
|
ibm,npu-link-index = <0x4>;
|
|
linux,phandle = <0x100002bf>;
|
|
};
|
|
|
|
link@5 {
|
|
ibm,npu-pbcq = <0x1000000a>;
|
|
ibm,npu-phy = <0x80000000 0x8010c7f>;
|
|
compatible = "ibm,npu-link";
|
|
ibm,npu-lane-mask = <0xff>;
|
|
phandle = <0x100002c0>;
|
|
ibm,npu-link-index = <0x5>;
|
|
linux,phandle = <0x100002c0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
GPU memory bindings
|
|
-------------------
|
|
|
|
.. code-block:: dts
|
|
|
|
memory@100000000 {
|
|
device_type = "memory"
|
|
compatible = "ibm,coherent-device-memory";
|
|
linux,usable-memory = <0x0 0x100000000 0x0 0x0>;
|
|
|
|
; denotes a region of unplugged system memory
|
|
|
|
reg = <0x0 0x100000000 0x0 0x80000000>;
|
|
ibm,associativity = <0x4 0x0 0x0 0x0 0x64>;
|
|
|
|
; numa associativity for the memory once it is hotplugged
|
|
|
|
phandle = <0x10000abc>;
|
|
linux,phandle = <0x10000abc>;
|
|
};
|
|
|
|
Emulated PCI device bindings
|
|
----------------------------
|
|
|
|
.. code-block:: dts
|
|
|
|
pciex@3fff000400000 {
|
|
ibm,npcq = <0x100002bc>; /* phandle to the NPU node. Used to find associated PCI GPU devices. */
|
|
compatible = "ibm,power8-npu-pciex", "ibm,ioda2-npu-phb";
|
|
|
|
pci@0 {
|
|
reg = <0x0 0x0 0x0 0x0 0x0>;
|
|
revision-id = <0x0>;
|
|
interrupts = <0x1>;
|
|
device-id = <0x4ea>;
|
|
ibm,pci-config-space-type = <0x1>;
|
|
vendor-id = <0x1014>;
|
|
ibm,gpu = <0x100002f7>; /* phandle pointing the associated GPU PCI device node */
|
|
memory-region = <0x10000abc>; /* phandle pointing to the GPU memory */
|
|
ibm,nvlink-speed = <0x1>;
|
|
|
|
; Denotes the speed the link is running at:
|
|
; 0x3 == 20 Gbps, 0x8 = 25.78125 Gbps, 0x9 == 25.00000 Gbps
|
|
|
|
phandle = <0x100002fc>;
|
|
};
|
|
|
|
pci@1 {
|
|
reg = <0x800 0x0 0x0 0x0 0x0>;
|
|
revision-id = <0x0>;
|
|
interrupts = <0x1>;
|
|
device-id = <0x4ea>;
|
|
ibm,pci-config-space-type = <0x1>;
|
|
vendor-id = <0x1014>;
|
|
ibm,gpu = <0x100002f5>;
|
|
memory-region = <0x10000def>;
|
|
phandle = <0x100002fe>;
|
|
class-code = <0x60400>;
|
|
linux,phandle = <0x100002fe>;
|
|
};
|
|
|
|
pci@0,1 {
|
|
reg = <0x100 0x0 0x0 0x0 0x0>;
|
|
revision-id = <0x0>;
|
|
interrupts = <0x2>;
|
|
device-id = <0x4ea>;
|
|
ibm,pci-config-space-type = <0x1>;
|
|
vendor-id = <0x1014>;
|
|
ibm,gpu = <0x100002f7>;
|
|
memory-region = <0x10000abc>;
|
|
phandle = <0x100002fd>;
|
|
class-code = <0x60400>;
|
|
linux,phandle = <0x100002fd>;
|
|
};
|
|
|
|
pci@1,1 {
|
|
reg = <0x900 0x0 0x0 0x0 0x0>;
|
|
revision-id = <0x0>;
|
|
interrupts = <0x2>;
|
|
device-id = <0x4ea>;
|
|
ibm,pci-config-space-type = <0x1>;
|
|
vendor-id = <0x1014>;
|
|
ibm,gpu = <0x100002f5>;
|
|
memory-region = <0x10000def>;
|
|
phandle = <0x100002ff>;
|
|
class-code = <0x60400>;
|
|
linux,phandle = <0x100002ff>;
|
|
};
|
|
};
|