Message ID | 20250509165409.311912-1-va@nvidia.com |
---|---|
State | Superseded |
Headers | show |
Series | [V3,RESEND,1/2] dt-bindings: spi: tegra: Document IOMMU property for Tegra234 QSPI | expand |
On Fri, May 09, 2025 at 04:54:08PM +0000, Vishwaroop A wrote: > Add the 'iommus' property to the Tegra QSPI device tree binding. > The property is needed for Tegra234 when using the internal DMA > controller, and is not supported on other Tegra chips, as DMA is > handled by an external controller. > > Signed-off-by: Vishwaroop A <va@nvidia.com> > --- > .../bindings/spi/nvidia,tegra210-quad.yaml | 19 ++++++++++++++++--- > 1 file changed, 16 insertions(+), 3 deletions(-) > > Changes since v2: > - Fixed version number to match the actual version > - Added proper changelog section > - No functional changes from v2 > > Changes since v1: > - Fixed subject prefix to match subsystem (dt-bindings: spi: tegra) > - Improved commit message formatting to follow Linux coding style > - Clarified that IOMMU is only required for Tegra234 platform > - Added explicit disallow for IOMMU on other platforms > - Removed redundant explanations of what the patch does > - Fixed commit message to use imperative mood > > Initial Version: > - Initial implementation of IOMMU property documentation > - Added iommus property to device tree binding > - Added support for Tegra234 platform > - Added explanation of DMA and IOMMU requirements > > diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > index 48e97e240265..04d3b1a47392 100644 > --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > @@ -10,9 +10,6 @@ maintainers: > - Thierry Reding <thierry.reding@gmail.com> > - Jonathan Hunter <jonathanh@nvidia.com> > > -allOf: > - - $ref: spi-controller.yaml# > - > properties: > compatible: > enum: > @@ -47,6 +44,9 @@ properties: > - const: rx > - const: tx > > + iommus: > + maxItems: 1 > + > patternProperties: > "@[0-9a-f]+$": > type: object > @@ -69,6 +69,19 @@ required: > > unevaluatedProperties: false > > +allOf: > + - $ref: spi-controller.yaml# > + - if: > + properties: > + compatible: > + const: nvidia,tegra234-qspi > + then: > + properties: > + iommus: true This is a NOP, no? Just invert the case above and drop a clause. > + else: > + properties: > + iommus: false > + > examples: > - | > #include <dt-bindings/clock/tegra210-car.h> > -- > 2.17.1 >
On Tue, May 13, 2025 at 11:19:05AM +0100, Jon Hunter wrote: > > > + - $ref: spi-controller.yaml# > > > + - if: > > > + properties: > > > + compatible: > > > + const: nvidia,tegra234-qspi > > > > > + then: > > > + properties: > > > + iommus: true > > > > This is a NOP, no? > > Just invert the case above and drop a clause. > > > Yes that's true. So just to confirm, your preference is this ... > > diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > index 04d3b1a47392..c45511e9a9ed 100644 > --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml > @@ -74,11 +74,13 @@ allOf: > - if: > properties: > compatible: > - const: nvidia,tegra234-qspi > + contains: > + enum: > + - nvidia,tegra210-qspi > + - nvidia,tegra186-qspi > + - nvidia,tegra194-qspi > + - nvidia,tegra241-qspi > then: > - properties: > - iommus: true > - else: > properties: > iommus: false You can just invert the condition directly with a not:, so "if: properties: compatible: not: contains:" should do the trick.
diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml index 48e97e240265..04d3b1a47392 100644 --- a/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml +++ b/Documentation/devicetree/bindings/spi/nvidia,tegra210-quad.yaml @@ -10,9 +10,6 @@ maintainers: - Thierry Reding <thierry.reding@gmail.com> - Jonathan Hunter <jonathanh@nvidia.com> -allOf: - - $ref: spi-controller.yaml# - properties: compatible: enum: @@ -47,6 +44,9 @@ properties: - const: rx - const: tx + iommus: + maxItems: 1 + patternProperties: "@[0-9a-f]+$": type: object @@ -69,6 +69,19 @@ required: unevaluatedProperties: false +allOf: + - $ref: spi-controller.yaml# + - if: + properties: + compatible: + const: nvidia,tegra234-qspi + then: + properties: + iommus: true + else: + properties: + iommus: false + examples: - | #include <dt-bindings/clock/tegra210-car.h>
Add the 'iommus' property to the Tegra QSPI device tree binding. The property is needed for Tegra234 when using the internal DMA controller, and is not supported on other Tegra chips, as DMA is handled by an external controller. Signed-off-by: Vishwaroop A <va@nvidia.com> --- .../bindings/spi/nvidia,tegra210-quad.yaml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) Changes since v2: - Fixed version number to match the actual version - Added proper changelog section - No functional changes from v2 Changes since v1: - Fixed subject prefix to match subsystem (dt-bindings: spi: tegra) - Improved commit message formatting to follow Linux coding style - Clarified that IOMMU is only required for Tegra234 platform - Added explicit disallow for IOMMU on other platforms - Removed redundant explanations of what the patch does - Fixed commit message to use imperative mood Initial Version: - Initial implementation of IOMMU property documentation - Added iommus property to device tree binding - Added support for Tegra234 platform - Added explanation of DMA and IOMMU requirements