Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: bus: add CDX bus controller for versal net

Add CDX bus controller device tree bindings for versal-net
devices.

Signed-off-by: Nipun Gupta <nipun.gupta@amd.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com>
Tested-by: Nikhil Agarwal <nikhil.agarwal@amd.com>
Link: https://lore.kernel.org/r/20230313132636.31850-4-nipun.gupta@amd.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Nipun Gupta and committed by
Greg Kroah-Hartman
c47a88e1 3f47d3e4

+83
+82
Documentation/devicetree/bindings/bus/xlnx,versal-net-cdx.yaml
··· 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 + 7 + title: AMD CDX bus controller 8 + 9 + description: | 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 + 33 + maintainers: 34 + - Nipun Gupta <nipun.gupta@amd.com> 35 + - Nikhil Agarwal <nikhil.agarwal@amd.com> 36 + 37 + properties: 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 + 59 + required: 60 + - compatible 61 + - iommu-map 62 + - msi-map 63 + - xlnx,rproc 64 + - ranges 65 + - "#address-cells" 66 + - "#size-cells" 67 + 68 + additionalProperties: false 69 + 70 + examples: 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 + };
+1
MAINTAINERS
··· 968 968 M: Nipun Gupta <nipun.gupta@amd.com> 969 969 M: Nikhil Agarwal <nikhil.agarwal@amd.com> 970 970 S: Maintained 971 + F: Documentation/devicetree/bindings/bus/xlnx,versal-net-cdx.yaml 971 972 F: drivers/cdx/* 972 973 F: include/linux/cdx/* 973 974