From nobody Tue Feb 10 10:54:39 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 1428833F383 for ; Wed, 29 Oct 2025 13:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761745041; cv=none; b=SrtKcxCkwnjziRZs5vjY1ZpOXgUojhKkoqy4oHXHUodejA2HUTkeRc2iRoh8rouILtKE7Pj2zhY+eOHsg2dD/iVeCUDwhStKX1AcaM91zaQCGd3W4ESmoaCIug8gK4johusY8FR2wjthXcXbFIuSxdfkL1pRzbgekpkQw/bGghY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761745041; c=relaxed/simple; bh=jlYTpznkpw3t99tPLgYldrq4ef/KHX5tAA1xnNXrqPA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b6nE8lOgrd+95rvHlhmDG0OB6IxRYhUoHC3YqxWcco9/3C+6ZVahVpbKK94PpXjkf11LX0fQqElwoY2Yuha0oNK8zsqMoLQb7tlRDAF+L1wZn3dKnxs62YNZEGQxQr/xlYfVMufwHuf5nPSlGuVO8QWdAHuunA8AYBpyTUjbP7k= 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=LwkJkSES; arc=none smtp.client-ip=209.85.128.46 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="LwkJkSES" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-47710acf715so19323335e9.1 for ; Wed, 29 Oct 2025 06:37:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1761745037; x=1762349837; 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=09j0aMXtdkHUVjdaeP6fCOOTAlbXOhXvrDrARoqs4lM=; b=LwkJkSESzOa+6ckpaa18sWgg8XrwuGA6vyTRoxosWIejkQceDISGwAP3gemk8XFiAV wL28tNIG9cJnQNUg64/F8W7qT80E/L0mpw5OtiorjKGaYHa52IRIxQNenOjWwAbQCA8w 4lIENmFPPdjKboKqReNP2cCMLVNHGZKMrPgPLS8kBmq5oJei+ssNgCTCEInrdP2AImrf ooagvYjQOkhlKon8HzaUAHvHMy4u2knLpAQBaU9N1z8IC4oSR6dKqQZLRI0qZzc5JBOT fOmq6lRLIUy238q0HAOJe/nxWSVA8sonqgj1d3vALk+oBq6t3EonZQxgV3GP9KuqsuY7 m/0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761745037; x=1762349837; 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=09j0aMXtdkHUVjdaeP6fCOOTAlbXOhXvrDrARoqs4lM=; b=GRutg5Cmz4lqv81ts97DjOVFdqAYZ7+vbj44zd7Cg/+t4yEBPVkpfVMQ/rSuJ5nk8z KTnJoMzVBGwS8iACIsK8Pcff3Vmsnt2BxmvZ4yumcScSYo24n/6U+jIfi1Z9MuDAVFw9 VqbGezy67DFmvDVb+YqXO4TOBFqPqkhNiXBdT8fZpcogT6chTfZHb4nl2+JecPW7mCqW NV4YyRuplREzHUwshaK327ql4LDeVb5BX8oLTGQfcgPm6Zqf0vwg17trJ9I/UcCyoJ0R o5na2aIXq8pZuNNVd6HN6I9zZ++8yZrZLDjxqKBgWpTXQLClx05RJ/k3ih0EZUaStF9X VpIw== X-Forwarded-Encrypted: i=1; AJvYcCVWml6NUTKAg81W4yAU/uqdqCfJHNPXfCGcwAyJBSeze2DPYgCdmZ4x+soUXQ71Jd08gxxYfr3FZmBhsJ8=@vger.kernel.org X-Gm-Message-State: AOJu0YwG+6evdFEzwrjVk5PV7/yVPUbx4bLRWeKEP0gUI+R12caKFhB2 lyIRiWIhzLbogrPY/FMYZso8cfybD3LC9d7nNnt7yJ8PF1mCE61/GJSSzPRRh3CmneA= X-Gm-Gg: ASbGnctwRti5Zz5c4RXQkSoxv8AtipcDA5sooA057MjgjMCd/kKtogNcQ9hFfQGGd/7 HwnP7vhCNNyVwALMjciIs1eXNbCJLBeH6RqoMq3r3PwXIPX6Xk+wqSyNks0lBmgRcK2ZO1RmUiK P6dQGhMvEjrMXiZPv1p3Z5DKvJXq+pEQR6OKmGf2G3nDyy2XdCOzJqGRy8EHxzugRWeqleWZEuv gVLNFqtLQR+AL60KrTUUwJ/LrEH+cAIVqgLoP7izX0NIMCfwxpbsCDkIsgsEyR8Obt+mtkqVtyr dpNKuBOOHy+RyD6XZo+Bi0kFGiTWIwKA7hUxmkjnWyC+KzMvYNmgplN+GmS44NA3hznRwmdk2b/ uL/g0ebj10LvAkzv6qnTslSnuU4fFgz3OCSSOzaoxgIY1PF4wQA8oRurVJJwi8CjAKeVpgLtx2z ZsC3DfniNSiv9EcCEHLabJ7SIFPuV2m6kKvhSQ5dw7xGFSvPPhoGi7cMQ0EUOb X-Google-Smtp-Source: AGHT+IGJ3AE+vyuW70tOg6LygKMFQqtjwIY5dXfld6spAS47+bv6XCAjVr54PbOjL09BTrGD+nbGtg== X-Received: by 2002:a05:600c:4e15:b0:477:942:7521 with SMTP id 5b1f17b1804b1-4771e1ad3c9mr30682075e9.14.1761745037344; Wed, 29 Oct 2025 06:37:17 -0700 (PDT) Received: from claudiu-TUXEDO-InfinityBook-Pro-AMD-Gen9.. ([2a02:2f04:6302:7900:aafe:5712:6974:4a42]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4771e22280fsm49774795e9.14.2025.10.29.06.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Oct 2025 06:37:16 -0700 (PDT) From: Claudiu X-Google-Original-From: Claudiu To: lpieralisi@kernel.org, kwilczynski@kernel.org, mani@kernel.org, robh@kernel.org, bhelgaas@google.com, krzk+dt@kernel.org, conor+dt@kernel.org, geert+renesas@glider.be, magnus.damm@gmail.com, 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, Claudiu Beznea Subject: [PATCH v6 1/6] dt-bindings: PCI: renesas,r9a08g045s33-pcie: Add Renesas RZ/G3S Date: Wed, 29 Oct 2025 15:36:48 +0200 Message-ID: <20251029133653.2437024-2-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251029133653.2437024-1-claudiu.beznea.uj@bp.renesas.com> References: <20251029133653.2437024-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 v6: - updated the patch title - described the functionalites that system controller has for PCIe=20 - dropped /schemas/pci/pci-device.yaml# from allOf section - dropped max-link-speed from example - dropped pcie_port0 label from example Changes in v5: - dropped Tb tag - style updates to the dma-ranges and ranges properties from examples section - re-enabled the node from examples section Changes in v4: - dropped "s33" string from compatible name - added port node documentation; due to this dropped Rob's Rb tag - reorderded properties - dropped spaces b/w "INT" and "A", "B", "C", "D" in comments Changes in v3: - collected tags - updated the flags of ranges property from example 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 .../bindings/pci/renesas,r9a08g045-pcie.yaml | 249 ++++++++++++++++++ 1 file changed, 249 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/renesas,r9a08g045= -pcie.yaml diff --git a/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.y= aml b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml new file mode 100644 index 000000000000..d668782546a2 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/renesas,r9a08g045-pcie.yaml @@ -0,0 +1,249 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pci/renesas,r9a08g045-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,r9a08g045-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 registers control and monitor various PCIe + functionalities. + + Control: + - transition to L1 state + - receiver termination settings + - RST_RSM_B signal + + Monitor: + - clkl1pm clock request state + - power off information in L2 state + - errors (fatal, non-fatal, correctable) + $ref: /schemas/types.yaml#/definitions/phandle + +patternProperties: + "^pcie@0,[0-0]$": + type: object + allOf: + - $ref: /schemas/pci/pci-pci-bridge.yaml# + + properties: + reg: + maxItems: 1 + + vendor-id: + const: 0x1912 + + device-id: + const: 0x0033 + + clocks: + items: + - description: Reference clock + + clock-names: + items: + - const: ref + + required: + - device_type + - vendor-id + - device-id + - clocks + - clock-names + + unevaluatedProperties: false + +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 + +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,r9a08g045-pcie"; + reg =3D <0 0x11e40000 0 0x10000>; + ranges =3D <0x02000000 0 0x30000000 0 0x30000000 0 0x08000000>; + /* Map all possible DRAM ranges (4 GB). */ + dma-ranges =3D <0x42000000 0 0x40000000 0 0x40000000 1 0x00000= 000>; + bus-range =3D <0x0 0xff>; + 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>, /* INTA */ + <0 0 0 2 &pcie 0 0 0 1>, /* INTB */ + <0 0 0 3 &pcie 0 0 0 2>, /* INTC */ + <0 0 0 4 &pcie 0 0 0 3>; /* INTD */ + 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"; + power-domains =3D <&cpg>; + device_type =3D "pci"; + #address-cells =3D <3>; + #size-cells =3D <2>; + renesas,sysc =3D <&sysc>; + + pcie@0,0 { + reg =3D <0x0 0x0 0x0 0x0 0x0>; + ranges; + clocks =3D <&versa3 5>; + clock-names =3D "ref"; + device_type =3D "pci"; + vendor-id =3D <0x1912>; + device-id =3D <0x0033>; + #address-cells =3D <3>; + #size-cells =3D <2>; + }; + }; + }; + +... --=20 2.43.0