1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/bus/xlnx,versal-net-cdx.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: AMD CDX bus controller 8 9description: | 10 CDX bus controller for AMD devices is implemented to dynamically 11 detect CDX bus and devices using the firmware. 12 The CDX bus manages multiple FPGA based hardware devices, which 13 can support network, crypto or any other specialized type of 14 devices. These FPGA based devices can be added/modified dynamically 15 on run-time. 16 17 All devices on the CDX bus will have a unique streamid (for IOMMU) 18 and a unique device ID (for MSI) corresponding to a requestor ID 19 (one to one associated with the device). The streamid and deviceid 20 are used to configure SMMU and GIC-ITS respectively. 21 22 iommu-map property is used to define the set of stream ids 23 corresponding to each device and the associated IOMMU. 24 25 The MSI writes are accompanied by sideband data (Device ID). 26 The msi-map property is used to associate the devices with the 27 device ID as well as the associated ITS controller. 28 29 rproc property (xlnx,rproc) is used to identify the remote processor 30 with which APU (Application Processor Unit) interacts to find out 31 the bus and device configuration. 32 33maintainers: 34 - Nipun Gupta <nipun.gupta@amd.com> 35 - Nikhil Agarwal <nikhil.agarwal@amd.com> 36 37properties: 38 compatible: 39 const: xlnx,versal-net-cdx 40 41 iommu-map: true 42 43 msi-map: true 44 45 xlnx,rproc: 46 $ref: /schemas/types.yaml#/definitions/phandle 47 description: 48 phandle to the remoteproc_r5 rproc node using which APU interacts 49 with remote processor. 50 51 ranges: true 52 53 "#address-cells": 54 enum: [1, 2] 55 56 "#size-cells": 57 enum: [1, 2] 58 59required: 60 - compatible 61 - iommu-map 62 - msi-map 63 - xlnx,rproc 64 - ranges 65 - "#address-cells" 66 - "#size-cells" 67 68additionalProperties: false 69 70examples: 71 - | 72 cdx { 73 compatible = "xlnx,versal-net-cdx"; 74 #address-cells = <1>; 75 #size-cells = <1>; 76 /* define map for RIDs 250-259 */ 77 iommu-map = <250 &smmu 250 10>; 78 /* define msi map for RIDs 250-259 */ 79 msi-map = <250 &its 250 10>; 80 xlnx,rproc = <&remoteproc_r5>; 81 ranges; 82 }; 83