From: sashiko-bot@kernel.org
To: "Thierry Reding" <thierry.reding@kernel.org>
Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
robh@kernel.org, conor+dt@kernel.org
Subject: Re: [PATCH v6] dt-bindings: pci: tegra: Convert to json-schema
Date: Wed, 02 Sep 2026 14:33:24 +0000 [thread overview]
Message-ID: <20260902143325.5A8621F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260902142449.735168-1-thierry.reding@kernel.org>
Thank you for your contribution! Sashiko AI review found 4 potential issue(s) to consider:
- [Medium] Broken schema cross-reference to `pci-iommu.yaml`.
- [Medium] Missing `power-domains` in the `required` properties for the Tegra186 variant.
- [Medium] Missing `required` array for root port child nodes, failing to enforce `nvidia,num-lanes`.
- [Medium] Missing conditional requirement for `phys` and `phy-names` on root port child nodes for Tegra124+.
--
commit 9fe702ef36ffb628e7fb46da07e21ea42a9f10b3
Author: Thierry Reding <treding@nvidia.com>
Subject: dt-bindings: pci: tegra: Convert to json-schema
This commit converts the Tegra PCIe controller bindings from the
free-form text format to json-schema. It references common PCI
bindings and sets conditional constraints for various properties across
Tegra generations.
> diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.yaml b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.yaml
> new file mode 100644
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.yaml
[ ... ]
> +patternProperties:
> + "^pci@1?[0-9a-f](,[0-7])?$":
> + description: Root ports are defined as subnodes of the PCIe controller
[ ... ]
> + nvidia,num-lanes:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + description: |
> + Number of lanes to use for this port. Valid combinations
> + are:
> +
> + - Root port 0 uses 4 lanes, root port 1 is unused.
> + - Both root ports use 2 lanes.
> + enum: [ 0, 1, 2, 4 ]
> +
> + phys:
> + description: Must contain an phandle to a PHY for each entry in
> + phy-names.
> + minItems: 1
> + maxItems: 4
[Severity: Medium]
The original text binding required phys and phy-names for root port
child nodes on Tegra124, Tegra210, and Tegra186 controllers.
By defining these as optional properties on the child nodes without an
if/then conditional in the parent node to enforce them, will device trees
for newer variants missing these PHY mappings incorrectly pass validation?
> +
> + phy-names:
> + description: Must include an entry for each active lane. Note that the
> + number of entries does not have to (though usually will) be equal to
> + the specified number of lanes in the nvidia,num-lanes property.
> + Entries are of the form "pcie-N", where N ranges from 0 to the value
> + specified in nvidia,num-lanes.
> + items:
> + enum:
> + - pcie-0
> + - pcie-1
> + - pcie-2
> + - pcie-3
> + minItems: 1
> + maxItems: 4
> +
> +required:
> + - reg
> + - reg-names
[Severity: Medium]
This marks the end of the child node patternProperties definition, which
appears to omit a required block.
The original text binding mandated nvidia,num-lanes, reg, and
assigned-addresses for root port subnodes.
Since the required array is entirely omitted from the child node, can device
trees omit the hardware-specific lane configuration without triggering a
schema validation error?
[ ... ]
> +unevaluatedProperties: false
> +
> +allOf:
> + - $ref: /schemas/pinctrl/pinctrl-consumer.yaml#
> + - $ref: /schemas/pci/pci-host-bridge.yaml#
> + - $ref: pci-iommu.yaml#
[Severity: Medium]
Because this is a relative reference, it resolves against the current
file's $id directory, effectively searching for
http://devicetree.org/schemas/pci/pci-iommu.yaml#.
Since pci-iommu.yaml is actually located in the virtio directory, will this
broken reference cause dt_binding_check to fail or skip validation for this
binding?
[ ... ]
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: nvidia,tegra186-pcie
> + then:
> + properties:
[ ... ]
> + vddio-pexctl-aud-supply:
> + description: Power supply for PCIe side band signals. Must supply
> + 1.8 V.
> +
> + required:
> + - dvdd-pex-supply
> + - hvdd-pex-pll-supply
> + - hvdd-pex-supply
> + - vddio-pexctl-aud-supply
[Severity: Medium]
The power-domains property is defined as a capability for the Tegra186
variant earlier in the binding.
Should power-domains be included in this required array so that incomplete
device trees for Tegra186 hardware do not incorrectly pass schema validation?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260902142449.735168-1-thierry.reding@kernel.org?part=1
next prev parent reply other threads:[~2026-09-02 14:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-02 14:24 [PATCH v6] dt-bindings: pci: tegra: Convert to json-schema Thierry Reding
2026-09-02 14:33 ` sashiko-bot [this message]
2026-09-10 10:58 ` Thierry Reding
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260902143325.5A8621F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=thierry.reding@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.