Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp1396640ybk; Thu, 14 May 2020 08:02:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLaWZPpnkaC9FklkZyZs0/p5hncBLmOCPUkefsazHvXogx2QJMzckUFXkJ6ZM3C2FoNwhJ X-Received: by 2002:adf:decb:: with SMTP id i11mr6330407wrn.172.1589468531344; Thu, 14 May 2020 08:02:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589468531; cv=none; d=google.com; s=arc-20160816; b=f3C65wgZByLV31Vp+1uwVKsgSs3+KsAW8EM8k+NHA2Zb/1v9wMdPtgoUeiMYXydum7 BUNZwXx7ik2Abe7J18Qa3O8WZByrn2zR3acq2Nl5hEM9fW+2OqZGZdb82lj/aS7sK5Hj kk/05/J9D9spR7b5vyxYOaQGBgdBI1mxnRMywNh3LyYGSWP/AAk/b20W2E85lZl0UA0T PoUyjU4wAi5xzRvNTJwYj5kuY3ICcrU/RPwncTB5kxHPh2ApSHf4WKcVmDhW1vrQVkwa 6IrymDg/UrfAWOgTi6Frxv071Le5GlJWWySUtw5LYOB3BerRDGl7KKAOV7VwTvIzo+do Ek/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Z+gfjunEdb+MDsFcXFEi3ESnDkoKrmf88fLI5DaHYFs=; b=X4EB4b+Q5y76wDTnds4XB9bpELBZKijEJ4tcnrhs53E5+uVMKqUPWzuHVp1pBn349z kiUQzCR6Er3mA/dKdK/7+MX1/i8MOnV/RZBiyDObrbh6VPgZT3yfbjZTG/buG17orJ8+ ooNfndRa0TgeFcXm24ZxktRoCMT0rABi3TdeFDP0hjU1+gbPyPY+M3EzyO98X1LAtH2O 7EMw8yQiN3GWoZzVj0Rsxm57uaFEozmDKM+A+HSzzh9sy629UeP86ffk6dcbVQ5KFFXd YKvcoFq21AMCOktEUEJWdRRBVC4O0HxqZ+o3L5RuYIcmhPWzHjaO8xNMFogk53zf/yAN c+Dw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="X/Wl4Vbp"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t29si1987092edi.131.2020.05.14.08.01.46; Thu, 14 May 2020 08:02:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ti.com header.s=ti-com-17Q1 header.b="X/Wl4Vbp"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=ti.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727935AbgENPAJ (ORCPT + 99 others); Thu, 14 May 2020 11:00:09 -0400 Received: from fllv0015.ext.ti.com ([198.47.19.141]:42036 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726146AbgENPAH (ORCPT ); Thu, 14 May 2020 11:00:07 -0400 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 04EExqYf028904; Thu, 14 May 2020 09:59:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1589468392; bh=Z+gfjunEdb+MDsFcXFEi3ESnDkoKrmf88fLI5DaHYFs=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=X/Wl4VbpWfLMxOmffnMC5XzbbmI1jXt6otRkFudTKOj+MoTVRJczt1q1ijiz8PbYm LG0FXCXwcldlYOUogAFwDHXMwaVShOt8dfV//CH1ShO9R8K11L48jN6+fktEyKe7zR 11aOUUpMZGthBMF3SdVClabcjJccvC3xgf857vgs= Received: from DLEE100.ent.ti.com (dlee100.ent.ti.com [157.170.170.30]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 04EExqUd117212 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 14 May 2020 09:59:52 -0500 Received: from DLEE101.ent.ti.com (157.170.170.31) by DLEE100.ent.ti.com (157.170.170.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3; Thu, 14 May 2020 09:59:51 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE101.ent.ti.com (157.170.170.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1979.3 via Frontend Transport; Thu, 14 May 2020 09:59:51 -0500 Received: from a0393678ub.india.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id 04EExgAj019279; Thu, 14 May 2020 09:59:47 -0500 From: Kishon Vijay Abraham I To: Lorenzo Pieralisi , Arnd Bergmann , Jon Mason , Dave Jiang , Allen Hubbe , Tom Joseph , Bjorn Helgaas , Rob Herring CC: Greg Kroah-Hartman , Jonathan Corbet , , , , , , Kishon Vijay Abraham I Subject: [PATCH 01/19] dt-bindings: PCI: Endpoint: Add DT bindings for PCI EPF NTB Device Date: Thu, 14 May 2020 20:29:09 +0530 Message-ID: <20200514145927.17555-2-kishon@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200514145927.17555-1-kishon@ti.com> References: <20200514145927.17555-1-kishon@ti.com> MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add device tree schema for PCI endpoint function bus to which endpoint function devices should be attached. Then add device tree schema for PCI endpoint function device to include bindings thats generic to all endpoint functions. Finally add device tree schema for PCI endpoint NTB function device by including the generic device tree schema for PCIe endpoint function. Signed-off-by: Kishon Vijay Abraham I --- .../bindings/pci/endpoint/pci-epf-bus.yaml | 42 +++++++++++ .../bindings/pci/endpoint/pci-epf-device.yaml | 69 +++++++++++++++++++ .../bindings/pci/endpoint/pci-epf-ntb.yaml | 68 ++++++++++++++++++ 3 files changed, 179 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml create mode 100644 Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml diff --git a/Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml new file mode 100644 index 000000000000..1c504f2e85e4 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-bus.yaml @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/endpoint/pci-epf-bus.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PCI Endpoint Function Bus + +maintainers: + - Kishon Vijay Abraham I + +properties: + compatible: + const: pci-epf-bus + +patternProperties: + "^func@[0-9a-f]+$": + type: object + description: | + PCI Endpoint Function Bus node should have subnodes for each of + the implemented endpoint function. It should follow the bindings + specified for endpoint function in + Documentation/devicetree/bindings/pci/endpoint/ + +examples: + - | + epf_bus { + compatible = "pci-epf-bus"; + + func@0 { + compatible = "pci-epf-ntb"; + epcs = <&pcie0_ep>, <&pcie1_ep>; + epc-names = "primary", "secondary"; + reg = <0>; + epf,vendor-id = /bits/ 16 <0x104c>; + epf,device-id = /bits/ 16 <0xb00d>; + num-mws = <4>; + mws-size = <0x0 0x100000>, <0x0 0x100000>, <0x0 0x100000>, <0x0 0x100000>; + }; + }; +... diff --git a/Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml new file mode 100644 index 000000000000..cee72864c8ca --- /dev/null +++ b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-device.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/endpoint/pci-epf-device.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PCI Endpoint Function Device + +maintainers: + - Kishon Vijay Abraham I + +properties: + compatible: + const: pci-epf-bus + +properties: + $nodename: + pattern: "^func@" + + epcs: + description: + Phandle to the endpoint controller device. Should have "2" entries for + NTB endpoint function and "1" entry for others. + minItems: 1 + maxItems: 2 + + epc-names: + description: + Must contain an entry for each entry in "epcs" when "epcs" have more than + one entry. + + reg: + maxItems: 0 + description: Must contain the index number of the function. + + epf,vendor-id: + description: + The PCI vendor ID + allOf: + - $ref: /schemas/types.yaml#/definitions/uint16 + + epf,device-id: + description: + The PCI device ID + allOf: + - $ref: /schemas/types.yaml#/definitions/uint16 + + epf,baseclass-code: + description: Code to classify the type of operation the function performs + allOf: + - $ref: /schemas/types.yaml#/definitions/uint8 + + epf,subclass-code: + description: + Specifies a base class sub-class, which identifies more specifically the + operation of the Function + allOf: + - $ref: /schemas/types.yaml#/definitions/uint8 + + epf,subsys-vendor-id: + description: Code to identify vendor of the add-in card or subsystem + allOf: + - $ref: /schemas/types.yaml#/definitions/uint16 + + epf,subsys-id: + description: Code to specify an id that is specific to a vendor + allOf: + - $ref: /schemas/types.yaml#/definitions/uint16 diff --git a/Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml new file mode 100644 index 000000000000..92c2e522b9e5 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/endpoint/pci-epf-ntb.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/endpoint/pci-epf-ntb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: PCI Endpoint NTB Function Device + +maintainers: + - Kishon Vijay Abraham I + +allOf: + - $ref: "pci-epf-device.yaml#" + +properties: + compatible: + const: pci-epf-ntb + + epcs: + minItems: 2 + maxItems: 2 + + epc-names: + items: + - const: primary + - const: secondary + + num-mws: + description: + Specify the number of memory windows + allOf: + - $ref: /schemas/types.yaml#/definitions/uint8 + minimum: 1 + maximum: 4 + + mws-size: + description: + List of 'num-mws' entries containing size of each memory window. + minItems: 1 + maxItems: 4 + +required: + - compatible + - epcs + - epc-names + - epf,vendor-id + - epf,device-id + - num-mws + - mws-size + +examples: + - | + epf_bus { + compatible = "pci-epf-bus"; + + func@0 { + compatible = "pci-epf-ntb"; + reg = <0>; + epcs = <&pcie0_ep>, <&pcie1_ep>; + epc-names = "primary", "secondary"; + epf,vendor-id = /bits/ 16 <0x104c>; + epf,device-id = /bits/ 16 <0xb00d>; + num-mws = <4>; + mws-size = <0x0 0x100000>, <0x0 0x100000>, <0x0 0x100000>, <0x0 0x100000>; + }; + }; +... -- 2.17.1