From nobody Thu Dec 18 06:37:24 2025 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 767E322B584 for ; Fri, 30 May 2025 11:19:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748603993; cv=none; b=FBhWzSGGruQLyIZlmRSDG77jdXJC8FtBAfKBoDuRvld0wa1o8V2wVO6nFSYHgxBcTJTAq5pGeWvgwe/W4gRzNSDs0WfS3AhRR5SH0vYHHoBUA+XXhHzJYNKdlqDD2n1pMMnH4JUWLxyWu2bpmWi5yrUlg/88nHBVi6yFMdx/dNY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748603993; c=relaxed/simple; bh=ns2/6HM9DUUKQWgTZTHH3dZVC94HZ2UxMpbY4SNaI0s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T6sH6E0suWWVfAGwwq9PjjxjL/89cjvzhvyol754n5zSMXF6xvgVcyqepY18O/jCJj85URWiqa/MzlG0MZLuCFsiBF5nfEZtJCd/XBq60ZXACScvUBbYwiK/f2pwtpJXJhUAnPz+WPmxvbLwz/kAOGy7jPzoks7DtVWdJbxxsL8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev; spf=pass smtp.mailfrom=tuxon.dev; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b=RIjmqaub; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=tuxon.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=tuxon.dev header.i=@tuxon.dev header.b="RIjmqaub" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-442eb5d143eso18354885e9.0 for ; Fri, 30 May 2025 04:19:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1748603990; x=1749208790; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NRhFPy/WSaCOJP9APyJMZ4CnadrynNoxtIF0zSIL6mg=; b=RIjmqaubfatb8vLWLsdi2NNjp+byq1n33u8GrI4qKZ7Dvp9M0MsCfcqKkpD+tI6ONY X4ChhIIMFoySXGSDn1UvTT0FpmJlDlMuKHKffWyuzJHf7aYvKORTnA4GfmKqEirveSe6 kKKcmDhRigLFJbj+Dbr1CIyLDXO6ABYPL1zDTt69JVeagD0CQswFvCMSjOps3atTjflf c5An3JzN4pjLRQs/V/TT/ODFcj9K7BHAo59Zss6P04T/1lROhvZtswMeG63NNcoVbvw3 7Xn3iR+l6v3x7ehVu2B3/vE9nYCxsBbJcwQMorUjgRKmnVfU7eL0/0BKVGeVrc7aTcjz 7ZVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748603990; x=1749208790; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NRhFPy/WSaCOJP9APyJMZ4CnadrynNoxtIF0zSIL6mg=; b=mlrpVY+Uw5qev2j0YFEH8ORxJslzmjrGWG4cg1nm77Sw98Jen4jc6G5BR17y2XNQcY jHVcoF1TJyUjPw8vrGe1Yq95CdPkv1L/2QuaeQaG/PggaNCIRwGyOw00kEzleeA116Tw 1r8r6UPVDvyy7YoNOqPwxK+sNNQOIQ20ki9kF7ZWmSpBXkfbegV2xbvYG27rwdp3XtWZ 1e7T4nne0/ivp4b7B59m7ZwyOEe9hOnYJKl+wn22XE2pS7U7xq0AxhIV2sxP0w3AOKjf w2yOHWekZ5GhMut9/1+wrKPmmRgD5EMVk+CxM0DDAmVPTkzzETsMRfmzrTALVbtQxcWT i7xA== X-Forwarded-Encrypted: i=1; AJvYcCU37rNyFce3Itv9VDqz0DTNWI0OXahR2XA8CnSezVP/uWKTc7BD+0hTo2CxHMwdiVhmQ03vGdXTppiYlcQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yxh/msnapraxL4Mb1NQkv31gGb2zDnJCJee2xA3EZxH3RD+gfJ2 lv8QaCsquDJEb9Am4yg2RnESBQUcA5oBJm5Q6CeggMQbIJGwr9PedFlOgrSzYivbbOc= X-Gm-Gg: ASbGnctFZAM1ijuiwIc9+dWoLWLb4/47DJHHl7Vmr+Zg5ct+2lQesegLWa0Sk+MZXIl 8gG578iNOjQBrebaLBd8WHYX8BCiAsK9kb/dN7ivdpxHJzIrbH8SfNPdL5oKB8SNmz85zRHitK4 ecZf5cFvAJrsf3RXyXl2MWeQdezNfOLV5V9jMUkjO2NcZF9ILsIBB17J7aYhWylLOwfOdPJgNWk sO2He0hJdCAZTmVYbwJSezT8es38TvWQ5kzpgT9ozgE5BqZNv+uZ/uIjWBmV4Iuc4PESXW3pYA6 /lgt7aPE6XO+kEn17MXIA07Jx7PsS0OLf8X7rNfWDhAi4hOatgRn7S+Sg0tbLIeu2+d2aROKQhc K8JXmTQ== X-Google-Smtp-Source: AGHT+IFM8W21a8CSEqnfheEWvs2NWYLaDxAcaJALbnProLcKAOdd/gUtEAjS+UJvMRJJ0qPulokYPA== X-Received: by 2002:a05:600c:1910:b0:441:b698:3431 with SMTP id 5b1f17b1804b1-450d6590912mr23046025e9.28.1748603989725; Fri, 30 May 2025 04:19:49 -0700 (PDT) Received: from claudiu-X670E-Pro-RS.. ([82.78.167.126]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-450dc818f27sm3986435e9.18.2025.05.30.04.19.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 May 2025 04:19:49 -0700 (PDT) From: Claudiu X-Google-Original-From: Claudiu To: bhelgaas@google.com, lpieralisi@kernel.org, kw@linux.com, manivannan.sadhasivam@linaro.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, geert+renesas@glider.be, magnus.damm@gmail.com, mturquette@baylibre.com, sboyd@kernel.org, p.zabel@pengutronix.de Cc: claudiu.beznea@tuxon.dev, linux-pci@vger.kernel.org, linux-renesas-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, john.madieu.xa@bp.renesas.com, Claudiu Beznea Subject: [PATCH v2 3/8] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Add documentation for the PCIe IP on Renesas RZ/G3S Date: Fri, 30 May 2025 14:19:12 +0300 Message-ID: <20250530111917.1495023-4-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250530111917.1495023-1-claudiu.beznea.uj@bp.renesas.com> References: <20250530111917.1495023-1-claudiu.beznea.uj@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Claudiu Beznea The PCIe IP available on the Renesas RZ/G3S complies with the PCI Express Base Specification 4.0. It is designed for root complex applications and features a single-lane (x1) implementation. Add documentation for it. Signed-off-by: Claudiu Beznea Reviewed-by: Rob Herring (Arm) --- Changes in v2: - update the interrupt names by dropping "int" and "rc" string; due to this the patch description was adjusted - added "interrupt-controller" and made it mandatory - s/clkl1pm/pm/g - dropped the legacy-interrupt-controller node; with this the gic interrupt controller node was dropped as well as it is not needed anymore - updated interrupt-map in example and added interrupt-controller - added clock-names as required property as the pm clock is not handled though PM domains; this will allow the driver to have the option to request the pm clock by its name when implementation will be adjusted to used the pm clock - adjusted the size of dma-ranges to reflect the usage on SMARC module board - moved "renesas,sysc" at the end of the node in example to align with dts coding style .../pci/renesas,r9a08g045s33-pcie.yaml | 202 ++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/renesas,r9a08g045= s33-pcie.yaml diff --git a/Documentation/devicetree/bindings/pci/renesas,r9a08g045s33-pci= e.yaml b/Documentation/devicetree/bindings/pci/renesas,r9a08g045s33-pcie.ya= ml new file mode 100644 index 000000000000..8ba30c084d1b --- /dev/null +++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045s33-pcie.yaml @@ -0,0 +1,202 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/renesas,r9a08g045s33-pcie.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Renesas RZ/G3S PCIe host controller + +maintainers: + - Claudiu Beznea + +description: + Renesas RZ/G3S PCIe host controller complies with PCIe Base Specification + 4.0 and supports up to 5 GT/s (Gen2). + +properties: + compatible: + const: renesas,r9a08g045s33-pcie # RZ/G3S + + reg: + maxItems: 1 + + interrupts: + items: + - description: System error interrupt + - description: System error on correctable error interrupt + - description: System error on non-fatal error interrupt + - description: System error on fatal error interrupt + - description: AXI error interrupt + - description: INTA interrupt + - description: INTB interrupt + - description: INTC interrupt + - description: INTD interrupt + - description: MSI interrupt + - description: Link bandwidth interrupt + - description: PME interrupt + - description: DMA interrupt + - description: PCIe event interrupt + - description: Message interrupt + - description: All interrupts + + interrupt-names: + items: + - description: serr + - description: ser_cor + - description: serr_nonfatal + - description: serr_fatal + - description: axi_err + - description: inta + - description: intb + - description: intc + - description: intd + - description: msi + - description: link_bandwidth + - description: pm_pme + - description: dma + - description: pcie_evt + - description: msg + - description: all + + interrupt-controller: true + + clocks: + items: + - description: System clock + - description: PM control clock + + clock-names: + items: + - description: aclk + - description: pm + + resets: + items: + - description: AXI2PCIe Bridge reset + - description: Data link layer/transaction layer reset + - description: Transaction layer (ACLK domain) reset + - description: Transaction layer (PCLK domain) reset + - description: Physical layer reset + - description: Configuration register reset + - description: Configuration register reset + + reset-names: + items: + - description: aresetn + - description: rst_b + - description: rst_gp_b + - description: rst_ps_b + - description: rst_rsm_b + - description: rst_cfg_b + - description: rst_load_b + + power-domains: + maxItems: 1 + + dma-ranges: + description: + A single range for the inbound memory region. + maxItems: 1 + + renesas,sysc: + description: System controller phandle + $ref: /schemas/types.yaml#/definitions/phandle + + vendor-id: + const: 0x1912 + + device-id: + const: 0x0033 + +required: + - compatible + - reg + - clocks + - clock-names + - resets + - reset-names + - interrupts + - interrupt-names + - interrupt-map + - interrupt-map-mask + - interrupt-controller + - power-domains + - "#address-cells" + - "#size-cells" + - "#interrupt-cells" + - renesas,sysc + - vendor-id + - device-id + +allOf: + - $ref: /schemas/pci/pci-host-bridge.yaml# + +unevaluatedProperties: false + +examples: + - | + #include + #include + + bus { + #address-cells =3D <2>; + #size-cells =3D <2>; + + pcie@11e40000 { + compatible =3D "renesas,r9a08g045s33-pcie"; + reg =3D <0 0x11e40000 0 0x10000>; + ranges =3D <0x03000000 0 0x30000000 0 0x30000000 0 0x8000000>; + dma-ranges =3D <0x42000000 0 0x48000000 0 0x48000000 0 0x38000= 000>; + bus-range =3D <0x0 0xff>; + clocks =3D <&cpg CPG_MOD R9A08G045_PCI_ACLK>, + <&cpg CPG_MOD R9A08G045_PCI_CLKL1PM>; + clock-names =3D "aclk", "pm"; + resets =3D <&cpg R9A08G045_PCI_ARESETN>, + <&cpg R9A08G045_PCI_RST_B>, + <&cpg R9A08G045_PCI_RST_GP_B>, + <&cpg R9A08G045_PCI_RST_PS_B>, + <&cpg R9A08G045_PCI_RST_RSM_B>, + <&cpg R9A08G045_PCI_RST_CFG_B>, + <&cpg R9A08G045_PCI_RST_LOAD_B>; + reset-names =3D "aresetn", "rst_b", "rst_gp_b", "rst_ps_b", + "rst_rsm_b", "rst_cfg_b", "rst_load_b"; + interrupts =3D , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-names =3D "serr", "serr_cor", "serr_nonfatal", + "serr_fatal", "axi_err", "inta", + "intb", "intc", "intd", "msi", + "link_bandwidth", "pm_pme", "dma", + "pcie_evt", "msg", "all"; + #interrupt-cells =3D <1>; + interrupt-controller; + interrupt-map-mask =3D <0 0 0 7>; + interrupt-map =3D <0 0 0 1 &pcie 0 0 0 0>, /* INT A */ + <0 0 0 2 &pcie 0 0 0 1>, /* INT B */ + <0 0 0 3 &pcie 0 0 0 2>, /* INT C */ + <0 0 0 4 &pcie 0 0 0 3>; /* INT D */ + device_type =3D "pci"; + num-lanes =3D <1>; + #address-cells =3D <3>; + #size-cells =3D <2>; + power-domains =3D <&cpg>; + vendor-id =3D <0x1912>; + device-id =3D <0x0033>; + renesas,sysc =3D <&sysc>; + }; + }; + +... --=20 2.43.0