[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL_JsqLWZWa=yAx0sHQckbGdqAwos3xdubnnuKMoZLWTXpv6KQ@mail.gmail.com>
Date: Thu, 22 Jan 2026 09:32:26 -0600
From: Rob Herring <robh@...nel.org>
To: Miquel Raynal <miquel.raynal@...tlin.com>
Cc: Mark Brown <broonie@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Geert Uytterhoeven <geert+renesas@...der.be>,
Magnus Damm <magnus.damm@...il.com>, Vaishnav Achath <vaishnav.a@...com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>, Hervé Codina <herve.codina@...tlin.com>,
Wolfram Sang <wsa+renesas@...g-engineering.com>, Vignesh Raghavendra <vigneshr@...com>,
Santhosh Kumar K <s-k6@...com>, Pratyush Yadav <pratyush@...nel.org>,
Pascal Eberhard <pascal.eberhard@...com>, linux-spi@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org
Subject: Re: [PATCH v3 03/17] spi: dt-bindings: cdns,qspi-nor: Add examples
for testing the specific cases
On Thu, Jan 22, 2026 at 8:35 AM Miquel Raynal <miquel.raynal@...tlin.com> wrote:
>
> Hi Rob,
>
> On 21/01/2026 at 17:07:59 -06, Rob Herring <robh@...nel.org> wrote:
>
> > On Wed, Jan 21, 2026 at 06:04:59PM +0100, Miquel Raynal (Schneider Electric) wrote:
> >> It is very painful to modify this file because the core IP described is
> >> so common, it has been implemented in many SoCs from different
> >> architectures. Both `dtbs_check` and `dt_binding_check` are rather long
> >> commands, even when restricted to a single schema files, and letting
> >> this file evolve without risking to break other DTSs is painful, because
> >> there are arm, arm64 and riscv platforms impacted and no way to check
> >> all of them at the same time.
> >
> > OTOH, examples aren't meant to be exhaustive test cases of all
> > possibilities. If it was me, I'd actually just get rid of all the
> > examples. They are generally just a copy from some .dts we already
> > have.
>
> I will align with this idea the day `make dtbs_check` (or something
> similarly simple) is exhaustive and cross platform :-)
Note that you should be able to build DTBs without $ARCH
cross-compiler. So it's less trouble than building kernels for each
arch.
> Maybe cdns,qspi-nor is an exception, but it impacts different
> architectures, which means the output of `make dtbs_check` is
> meaningless because it only covers a subset of the possible cases. Hence
> my attempt to gather all specific cases in the bindings, so I could run
> all the meaningful checks I wanted more easily.
I used to run this on all patches, but with existing warnings it was
too noisy. Once we get arm64 warning free, I can look at doing that
again. We're at about 300 unique warnings left and over half of those
are 3 platform families.
> I think this patch has its usefulness, but I don't mind dropping it.
I'm okay with adding the first example.
> >> + - |
> >> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> + #include <dt-bindings/reset/starfive,jh7110-crg.h>
> >> + #include <dt-bindings/clock/starfive,jh7110-crg.h>
> >> + spi@...10000 {
> >> + compatible = "starfive,jh7110-qspi", "cdns,qspi-nor";
> >> + reg = <0x13010000 0x10000>, <0x21000000 0x400000>;
> >> + interrupts = <25>;
> >> + clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>, <&syscrg JH7110_SYSCLK_QSPI_AHB>,
> >> + <&syscrg JH7110_SYSCLK_QSPI_APB>;
> >> + clock-names = "ref", "ahb", "apb";
> >> + resets = <&syscrg JH7110_SYSRST_QSPI_APB>, <&syscrg JH7110_SYSRST_QSPI_AHB>,
> >> + <&syscrg JH7110_SYSRST_QSPI_REF>;
> >> + reset-names = "qspi", "qspi-ocp", "rstc_ref";
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> + cdns,fifo-depth = <256>;
> >> + cdns,fifo-width = <4>;
> >> + cdns,trigger-address = <0x0>;
> >> + };
> >> +
> >> + - |
> >> + #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> + spi@...0 {
> >> + compatible = "amd,pensando-elba-qspi", "cdns,qspi-nor";
> >> + reg = <0x2400 0x400>, <0x7fff0000 0x1000>;
> >> + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
> >> + clocks = <&flash_clk>;
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> + cdns,fifo-depth = <1024>;
> >> + cdns,fifo-width = <4>;
> >> + cdns,trigger-address = <0x7fff0000>;
> >
> > This one really just looks like a subset of the others.
>
> The fifo-depth possibilities are extended just for this
> compatible. Basically I captured in the examples every specific case
> covered with an 'if' schema.
I get that, but with that argument we should have an example for every
if schema.
Rob
Powered by blists - more mailing lists