=========================== Nvlink Device Tree Bindings =========================== See doc/nvlink.txt for general Nvlink information. NPU bindings: :: 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>; }; }; }; Emulated PCI device bindings ---------------------------- :: 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 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>; 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>; 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>; phandle = <0x100002ff>; class-code = <0x60400>; linux,phandle = <0x100002ff>; }; };