Lines Matching +full:pci +full:- +full:iommu
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/virtio/pci-iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: virtio-iommu device using the virtio-pci transport
10 - Jean-Philippe Brucker <jean-philippe@linaro.org>
13 When virtio-iommu uses the PCI transport, its programming interface is
14 discovered dynamically by the PCI probing infrastructure. However the
15 device tree statically describes the relation between IOMMU and DMA
16 masters. Therefore, the PCI root complex that hosts the virtio-iommu
17 contains a child node representing the IOMMU device explicitly.
19 DMA from the IOMMU device isn't managed by another IOMMU. Therefore the
20 virtio-iommu node doesn't have an "iommus" property, and is omitted from
21 the iommu-map property of the root complex.
24 - $ref: /schemas/pci/pci-device.yaml#
28 # according to the PCI Bus Binding specification. Since PCI provides
29 # built-in identification methods, compatible is not actually required.
32 - items:
33 - const: virtio,pci-iommu
34 - const: pci1af4,1057
35 - items:
36 - const: pci1af4,1057
41 '#iommu-cells':
45 - compatible
46 - reg
47 - '#iommu-cells'
52 - |
54 #address-cells = <2>;
55 #size-cells = <2>;
58 device_type = "pci";
59 #address-cells = <3>;
60 #size-cells = <2>;
65 * The IOMMU manages all functions in this PCI domain except
68 iommu-map = <0x0 &iommu0 0x0 0x8
71 /* The IOMMU programming interface uses slot 00:01.0 */
72 iommu0: iommu@1,0 {
75 #iommu-cells = <1>;
80 device_type = "pci";
81 #address-cells = <3>;
82 #size-cells = <2>;
87 * The IOMMU also manages all functions from this domain,
88 * with endpoint IDs 0x10000 - 0x1ffff
90 iommu-map = <0x0 &iommu0 0x10000 0x10000>;
94 /* The IOMMU manages this platform device with endpoint ID 0x20000 */