All of lore.kernel.org
 help / color / mirror / Atom feed
From: Serge Semin <fancer.lancer@gmail.com>
To: Conor Dooley <mail@conchuod.ie>
Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>,
	Vinod Koul <vkoul@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Palmer Dabbelt <palmer@rivosinc.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Conor Dooley <conor.dooley@microchip.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Niklas Cassel <niklas.cassel@wdc.com>,
	Dillon Min <dillon.minfei@gmail.com>,
	Heng Sia <jee.heng.sia@intel.com>,
	Jose Abreu <joabreu@synopsys.com>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org,
	alsa-devel@alsa-project.org, linux-spi@vger.kernel.org,
	linux-riscv@lists.infradead.org
Subject: Re: [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width
Date: Mon, 27 Jun 2022 23:21:49 +0300	[thread overview]
Message-ID: <20220627202149.624eu7w2gzw7jchd@mobilestation> (raw)
In-Reply-To: <20220627194003.2395484-5-mail@conchuod.ie>

On Mon, Jun 27, 2022 at 08:39:52PM +0100, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Most users of dw-apb-ssi use spi-{r,t}x-bus-width of 1, however the
> Canaan k210 is wired up for a width of 4.
> Quoting Serge:
> The modern DW APB SSI controllers of v.4.* and newer also support the
> enhanced SPI Modes too (Dual, Quad and Octal). Since the IP-core
> version is auto-detected at run-time there is no way to create a
> DT-schema correctly constraining the Rx/Tx SPI bus widths.
> /endquote
> 
> As such, drop the restriction on only supporting a bus width of 1.
> 
> Link: https://lore.kernel.org/all/20220620205654.g7fyipwytbww5757@mobilestation/
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> Serge, I dropped your R-b when I swapped to the default
> property since it changed the enum.
> ---
>  Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> index e25d44c218f2..0a43d6e0ef91 100644
> --- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> @@ -143,12 +143,6 @@ patternProperties:
>          minimum: 0
>          maximum: 3
>  

> -      spi-rx-bus-width:
> -        const: 1
> -
> -      spi-tx-bus-width:
> -        const: 1
> -

My comment was:
> > > You can just use a more relaxed constraint "enum: [1 2 4 8]" here
> >
> > 8 too? sure.
Then Rob said:
> Then no constraints needed because the common definition already has
> this presumably.

IMO preserving the device-specific constraints even if they match the
generic ones has some maintainability benefits. What if you get to
discover a new HW which supports Hexal mode? Then you would have
needed to update the common schema constraints. But that would have
caused permitting the unsupported bus-mode for all the schemas, which
isn't correct. So as I see it the explicit bus-width enumeration would
be ok to have here. But I'll leave it for Rob to make a final
decision.

Rob

>  unevaluatedProperties: false
>  
>  required:
> -- 
> 2.36.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: Serge Semin <fancer.lancer@gmail.com>
To: Conor Dooley <mail@conchuod.ie>
Cc: Niklas Cassel <niklas.cassel@wdc.com>,
	alsa-devel@alsa-project.org, David Airlie <airlied@linux.ie>,
	Palmer Dabbelt <palmer@rivosinc.com>,
	linux-kernel@vger.kernel.org,
	Conor Dooley <conor.dooley@microchip.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	linux-riscv@lists.infradead.org, Sam Ravnborg <sam@ravnborg.org>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Jose Abreu <joabreu@synopsys.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>,
	devicetree@vger.kernel.org, Albert Ou <aou@eecs.berkeley.edu>,
	Mark Brown <broonie@kernel.org>,
	dri-devel@lists.freedesktop.org,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Dillon Min <dillon.minfei@gmail.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Heng Sia <jee.heng.sia@intel.com>,
	linux-spi@vger.kernel.org, Vinod Koul <vkoul@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	dmaengine@vger.kernel.org, Masahiro Yamada <masahiroy@kernel.org>
Subject: Re: [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width
Date: Mon, 27 Jun 2022 23:21:49 +0300	[thread overview]
Message-ID: <20220627202149.624eu7w2gzw7jchd@mobilestation> (raw)
In-Reply-To: <20220627194003.2395484-5-mail@conchuod.ie>

On Mon, Jun 27, 2022 at 08:39:52PM +0100, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Most users of dw-apb-ssi use spi-{r,t}x-bus-width of 1, however the
> Canaan k210 is wired up for a width of 4.
> Quoting Serge:
> The modern DW APB SSI controllers of v.4.* and newer also support the
> enhanced SPI Modes too (Dual, Quad and Octal). Since the IP-core
> version is auto-detected at run-time there is no way to create a
> DT-schema correctly constraining the Rx/Tx SPI bus widths.
> /endquote
> 
> As such, drop the restriction on only supporting a bus width of 1.
> 
> Link: https://lore.kernel.org/all/20220620205654.g7fyipwytbww5757@mobilestation/
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> Serge, I dropped your R-b when I swapped to the default
> property since it changed the enum.
> ---
>  Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> index e25d44c218f2..0a43d6e0ef91 100644
> --- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> @@ -143,12 +143,6 @@ patternProperties:
>          minimum: 0
>          maximum: 3
>  

> -      spi-rx-bus-width:
> -        const: 1
> -
> -      spi-tx-bus-width:
> -        const: 1
> -

My comment was:
> > > You can just use a more relaxed constraint "enum: [1 2 4 8]" here
> >
> > 8 too? sure.
Then Rob said:
> Then no constraints needed because the common definition already has
> this presumably.

IMO preserving the device-specific constraints even if they match the
generic ones has some maintainability benefits. What if you get to
discover a new HW which supports Hexal mode? Then you would have
needed to update the common schema constraints. But that would have
caused permitting the unsupported bus-mode for all the schemas, which
isn't correct. So as I see it the explicit bus-width enumeration would
be ok to have here. But I'll leave it for Rob to make a final
decision.

Rob

>  unevaluatedProperties: false
>  
>  required:
> -- 
> 2.36.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: Serge Semin <fancer.lancer@gmail.com>
To: Conor Dooley <mail@conchuod.ie>
Cc: David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Thierry Reding <thierry.reding@gmail.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>,
	Vinod Koul <vkoul@kernel.org>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Palmer Dabbelt <palmer@rivosinc.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Conor Dooley <conor.dooley@microchip.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Niklas Cassel <niklas.cassel@wdc.com>,
	Dillon Min <dillon.minfei@gmail.com>,
	Heng Sia <jee.heng.sia@intel.com>,
	Jose Abreu <joabreu@synopsys.com>,
	dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org,
	alsa-devel@alsa-project.org, linux-spi@vger.kernel.org,
	linux-riscv@lists.infradead.org
Subject: Re: [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width
Date: Mon, 27 Jun 2022 23:21:49 +0300	[thread overview]
Message-ID: <20220627202149.624eu7w2gzw7jchd@mobilestation> (raw)
In-Reply-To: <20220627194003.2395484-5-mail@conchuod.ie>

On Mon, Jun 27, 2022 at 08:39:52PM +0100, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
> 
> Most users of dw-apb-ssi use spi-{r,t}x-bus-width of 1, however the
> Canaan k210 is wired up for a width of 4.
> Quoting Serge:
> The modern DW APB SSI controllers of v.4.* and newer also support the
> enhanced SPI Modes too (Dual, Quad and Octal). Since the IP-core
> version is auto-detected at run-time there is no way to create a
> DT-schema correctly constraining the Rx/Tx SPI bus widths.
> /endquote
> 
> As such, drop the restriction on only supporting a bus width of 1.
> 
> Link: https://lore.kernel.org/all/20220620205654.g7fyipwytbww5757@mobilestation/
> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> Serge, I dropped your R-b when I swapped to the default
> property since it changed the enum.
> ---
>  Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml | 6 ------
>  1 file changed, 6 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> index e25d44c218f2..0a43d6e0ef91 100644
> --- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.yaml
> @@ -143,12 +143,6 @@ patternProperties:
>          minimum: 0
>          maximum: 3
>  

> -      spi-rx-bus-width:
> -        const: 1
> -
> -      spi-tx-bus-width:
> -        const: 1
> -

My comment was:
> > > You can just use a more relaxed constraint "enum: [1 2 4 8]" here
> >
> > 8 too? sure.
Then Rob said:
> Then no constraints needed because the common definition already has
> this presumably.

IMO preserving the device-specific constraints even if they match the
generic ones has some maintainability benefits. What if you get to
discover a new HW which supports Hexal mode? Then you would have
needed to update the common schema constraints. But that would have
caused permitting the unsupported bus-mode for all the schemas, which
isn't correct. So as I see it the explicit bus-width enumeration would
be ok to have here. But I'll leave it for Rob to make a final
decision.

Rob

>  unevaluatedProperties: false
>  
>  required:
> -- 
> 2.36.1
> 

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2022-06-27 20:21 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27 19:39 [PATCH v2 00/16] Canaan devicetree fixes Conor Dooley
2022-06-27 19:39 ` Conor Dooley
2022-06-27 19:39 ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 01/16] dt-bindings: display: convert ilitek,ili9341.txt to dt-schema Conor Dooley
2022-06-27 19:39   ` [PATCH v2 01/16] dt-bindings: display: convert ilitek, ili9341.txt " Conor Dooley
2022-06-27 19:39   ` [PATCH v2 01/16] dt-bindings: display: convert ilitek,ili9341.txt " Conor Dooley
2022-06-28 15:00   ` Heiko Stübner
2022-06-28 15:00     ` Heiko Stübner
2022-06-28 15:00     ` [PATCH v2 01/16] dt-bindings: display: convert ilitek, ili9341.txt " Heiko Stübner
2022-06-28 15:04     ` [PATCH v2 01/16] dt-bindings: display: convert ilitek,ili9341.txt " Heiko Stübner
2022-06-28 15:04       ` Heiko Stübner
2022-06-28 15:04       ` [PATCH v2 01/16] dt-bindings: display: convert ilitek, ili9341.txt " Heiko Stübner
2022-06-28 16:49       ` [PATCH v2 01/16] dt-bindings: display: convert ilitek,ili9341.txt " Conor.Dooley
2022-06-28 16:49         ` Conor.Dooley
2022-06-28 16:49         ` [PATCH v2 01/16] dt-bindings: display: convert ilitek, ili9341.txt " Conor.Dooley
2022-06-27 19:39 ` [PATCH v2 02/16] dt-bindings: display: panel: allow ilitek,ili9341 in isolation Conor Dooley
2022-06-27 19:39   ` [PATCH v2 02/16] dt-bindings: display: panel: allow ilitek, ili9341 " Conor Dooley
2022-06-27 19:39   ` [PATCH v2 02/16] dt-bindings: display: panel: allow ilitek,ili9341 " Conor Dooley
2022-06-27 19:39 ` [PATCH v2 03/16] ASoC: dt-bindings: convert designware-i2s to dt-schema Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width Conor Dooley
2022-06-27 19:39   ` [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r, t}x-bus-width Conor Dooley
2022-06-27 19:39   ` [PATCH v2 04/16] spi: dt-bindings: dw-apb-ssi: update spi-{r,t}x-bus-width Conor Dooley
2022-06-27 20:21   ` Serge Semin [this message]
2022-06-27 20:21     ` Serge Semin
2022-06-27 20:21     ` Serge Semin
2022-06-28 15:26     ` Rob Herring
2022-06-28 15:26       ` Rob Herring
2022-06-28 15:26       ` Rob Herring
2022-06-27 19:39 ` [PATCH v2 05/16] dt-bindings: dma: add Canaan k210 to Synopsys DesignWare DMA Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 21:34   ` Serge Semin
2022-06-27 21:34     ` Serge Semin
2022-06-27 21:34     ` Serge Semin
2022-06-27 22:23     ` Conor.Dooley
2022-06-27 22:23       ` Conor.Dooley
2022-06-27 22:23       ` Conor.Dooley
2022-06-27 19:39 ` [PATCH v2 06/16] dt-bindings: timer: add Canaan k210 to Synopsys DesignWare timer Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 21:13   ` Serge Semin
2022-06-27 21:13     ` Serge Semin
2022-06-27 21:13     ` Serge Semin
2022-06-27 21:18     ` Conor Dooley
2022-06-27 21:18       ` Conor Dooley
2022-06-27 21:18       ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 07/16] dt-bindings: memory-controllers: add canaan k210 sram controller Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 08/16] riscv: dts: canaan: fix the k210's memory node Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 09/16] riscv: dts: canaan: add a specific compatible for k210's dma Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 10/16] riscv: dts: canaan: add a specific compatible for k210's timers Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39 ` [PATCH v2 11/16] riscv: dts: canaan: fix mmc node names Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:39   ` Conor Dooley
2022-06-27 19:40 ` [PATCH v2 12/16] riscv: dts: canaan: fix kd233 display spi frequency Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40 ` [PATCH v2 13/16] riscv: dts: canaan: use custom compatible for k210 i2s Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40 ` [PATCH v2 14/16] riscv: dts: canaan: remove spi-max-frequency from controllers Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40 ` [PATCH v2 15/16] riscv: dts: canaan: fix bus {ranges,reg} warnings Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40 ` [PATCH v2 16/16] riscv: dts: canaan: build all devicetress if SOC_CANAAN Conor Dooley
2022-06-27 19:40   ` Conor Dooley
2022-06-27 19:40   ` Conor Dooley

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=20220627202149.624eu7w2gzw7jchd@mobilestation \
    --to=fancer.lancer@gmail.com \
    --cc=Eugeniy.Paltsev@synopsys.com \
    --cc=airlied@linux.ie \
    --cc=alsa-devel@alsa-project.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=broonie@kernel.org \
    --cc=conor.dooley@microchip.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dillon.minfei@gmail.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=geert@linux-m68k.org \
    --cc=jee.heng.sia@intel.com \
    --cc=joabreu@synopsys.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=mail@conchuod.ie \
    --cc=masahiroy@kernel.org \
    --cc=niklas.cassel@wdc.com \
    --cc=palmer@dabbelt.com \
    --cc=palmer@rivosinc.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh+dt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=vkoul@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.