[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <93f080cd-e586-112f-bac8-fa2a7f69efb3@linaro.org>
Date: Thu, 18 Aug 2022 12:54:23 +0300
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Nipun Gupta <nipun.gupta@....com>, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, gregkh@...uxfoundation.org,
rafael@...nel.org, eric.auger@...hat.com,
alex.williamson@...hat.com, cohuck@...hat.com,
puneet.gupta@....com, song.bao.hua@...ilicon.com,
mchehab+huawei@...nel.org, maz@...nel.org, f.fainelli@...il.com,
jeffrey.l.hugo@...il.com, saravanak@...gle.com,
Michael.Srba@...nam.cz, mani@...nel.org, yishaih@...dia.com,
jgg@...pe.ca, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, kvm@...r.kernel.org
Cc: okaya@...nel.org, harpreet.anand@....com, nikhil.agarwal@....com,
michal.simek@....com, git@....com
Subject: Re: [RFC PATCH v2 1/6] Documentation: DT: Add entry for CDX
controller
On 17/08/2022 18:05, Nipun Gupta wrote:
> This patch adds a devicetree binding documentation for CDX
> controller.
>
Does not look like you tested the bindings. Please run `make
dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
> CDX bus controller dynamically detects CDX bus and the
> devices on these bus using CDX firmware.
>
> Signed-off-by: Nipun Gupta <nipun.gupta@....com>
Use subject perfixes matching the subsystem (git log --oneline -- ...).
> ---
> .../devicetree/bindings/bus/xlnx,cdx.yaml | 108 ++++++++++++++++++
> MAINTAINERS | 6 +
> 2 files changed, 114 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/bus/xlnx,cdx.yaml
>
> diff --git a/Documentation/devicetree/bindings/bus/xlnx,cdx.yaml b/Documentation/devicetree/bindings/bus/xlnx,cdx.yaml
> new file mode 100644
> index 000000000000..4247a1cff3c1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/bus/xlnx,cdx.yaml
> @@ -0,0 +1,108 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/misc/xlnx,cdx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Xilinx CDX bus controller
> +
> +description: |
> + CDX bus controller for Xilinx devices is implemented to
You need to describe what is this CDX bus. Google says nothing...
> + dynamically detect CDX bus and devices on these bus using the
> + firmware. The CDX bus manages multiple FPGA based hardware
> + devices, which can support network, crypto or any other specialized
> + type of device. These FPGA based devices can be added/modified
> + dynamically on run-time.
> +
> + All devices on the CDX bus will have a unique streamid (for IOMMU)
> + and a unique device ID (for MSI) corresponding to a requestor ID
> + (one to one associated with the device). The streamid and deviceid
> + are used to configure SMMU and GIC-ITS respectively.
> +
> + iommu-map property is used to define the set of stream ids
> + corresponding to each device and the associated IOMMU.
> +
> + For generic IOMMU bindings, see:
> + Documentation/devicetree/bindings/iommu/iommu.txt.
Drop sentence.
> +
> + For arm-smmu binding, see:
> + Documentation/devicetree/bindings/iommu/arm,smmu.yaml.
Drop sentence.
> +
> + The MSI writes are accompanied by sideband data (Device ID).
> + The msi-map property is used to associate the devices with the
> + device ID as well as the associated ITS controller.
> +
> + For generic MSI bindings, see:
> + Documentation/devicetree/bindings/interrupt-controller/msi.txt.
Drop sentence.
> +
> + For GICv3 and GIC ITS bindings, see:
> + Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml.
Drop sentence.
> +
> +maintainers:
> + - Nipun Gupta <nipun.gupta@....com>
> + - Nikhil Agarwal <nikhil.agarwal@....com>
> +
> +properties:
> + compatible:
> + const: "xlnx,cdxbus-controller-1.0"
No quotes.
> +
> + reg:
> + description: |
> + specifies the CDX firmware region shared memory accessible by the
> + ARM cores.
You need to describe the items instead (e.g. maxItems:1).
> +
> + iommu-map:
> + description: |
> + Maps device Requestor ID to a stream ID and associated IOMMU. The
> + property is an arbitrary number of tuples of
> + (rid-base,iommu,streamid-base,length).
> +
> + Any Requestor ID i in the interval [rid-base, rid-base + length) is
> + associated with the listed IOMMU, with the iommu-specifier
> + (i - streamid-base + streamid-base).
You need type and constraints.
> +
> + msi-map:
> + description:
> + Maps an Requestor ID to a GIC ITS and associated msi-specifier
> + data (device ID). The property is an arbitrary number of tuples of
> + (rid-base,gic-its,deviceid-base,length).
> +
> + Any Requestor ID in the interval [rid-base, rid-base + length) is
> + associated with the listed GIC ITS, with the msi-specifier
> + (i - rid-base + deviceid-base).
You need type and constraints.
> +
> +required:
> + - compatible
> + - reg
> + - iommu-map
> + - msi-map
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + smmu@...00000 {
> + compatible = "arm,smmu-v3";
> + #iommu-cells = <1>;
> + ...
???
> +
> + gic@...00000 {
> + compatible = "arm,gic-v3";
> + interrupt-controller;
> + ...
> + its: gic-its@...40000 {
> + compatible = "arm,gic-v3-its";
> + msi-controller;
> + ...
> + }
> + };
> +
> + cdxbus: cdxbus@@4000000 {
Node names should be generic, so "cdx"
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
Drop the label.
> + compatible = "xlnx,cdxbus-controller-1.0";
> + reg = <0x00000000 0x04000000 0 0x1000>;
> + /* define map for RIDs 250-259 */
> + iommu-map = <250 &smmu 250 10>;
> + /* define msi map for RIDs 250-259 */
> + msi-map = <250 &its 250 10>;
> + };
Best regards,
Krzysztof
Powered by blists - more mailing lists