From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Guodong Xu" <guodong@riscstar.com>,
"Vinod Koul" <vkoul@kernel.org>, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Yixun Lan" <dlan@gentoo.org>,
"Duje Mihanović" <duje.mihanovic@skole.hr>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>
Cc: Alex Elder <elder@riscstar.com>,
Vivian Wang <wangruikang@iscas.ac.cn>,
dmaengine@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
spacemit@lists.linux.dev
Subject: Re: [PATCH v2 1/8] dt-bindings: dma: marvell,mmp-dma: Add SpacemiT K1 PDMA support
Date: Tue, 1 Jul 2025 09:35:24 +0200 [thread overview]
Message-ID: <de965773-bab1-4c50-b111-19896465e53e@kernel.org> (raw)
In-Reply-To: <20250701-working_dma_0701_v2-v2-1-ab6ee9171d26@riscstar.com>
On 01/07/2025 07:36, Guodong Xu wrote:
> Add "spacemit,k1-pdma" compatible string to support SpacemiT K1 PDMA
> controller. This variant requires:
Why is this marvell? This should be explained here, it's really unexpected.
> - clocks: Clock controller for the DMA
> - resets: Reset controller for the DMA
>
> Also add explicit #dma-cells property definition with proper constraints:
> - 2 cells for marvell,pdma-1.0 and spacemit,k1-pdma
> - (request number + unused)
> - 1 cell for other variants
> - (request number only)
>
> This fixes "make dtbs_check W=3" warnings about unevaluated properties.
How can I reproduce these warnings? Looks like this is not relevant
here. Each patch is applied one after another and commit msg must be
correct at this point.
>
> Signed-off-by: Guodong Xu <guodong@riscstar.com>
> ---
> v2:
> - Used more specific compatible string "spacemit,k1-pdma"
> - Enhanced DT bindings with conditional constraints:
> - clocks/resets properties only required for SpacemiT K1
> - #dma-cells set to 2 for marvell,pdma-1.0 and spacemit,k1-pdma
> - #dma-cells set to 1 for other variants, ie.
> marvell,adma-1.0 and marvell,pxa910-squ
> ---
> .../devicetree/bindings/dma/marvell,mmp-dma.yaml | 49 ++++++++++++++++++++++
> 1 file changed, 49 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml b/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml
> index d447d5207be0436bc7fb648dffe31f8b780b491d..7b5f7ccfc9dbb69bfef250146cba5434548f3702 100644
> --- a/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml
> +++ b/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml
> @@ -18,6 +18,7 @@ properties:
> - marvell,pdma-1.0
> - marvell,adma-1.0
> - marvell,pxa910-squ
> + - spacemit,k1-pdma
>
> reg:
> maxItems: 1
> @@ -32,6 +33,19 @@ properties:
> A phandle to the SRAM pool
> $ref: /schemas/types.yaml#/definitions/phandle
>
> + clocks:
> + description: Clock for the controller
> + maxItems: 1
> +
> + resets:
> + description: Reset controller for the DMA controller
> + maxItems: 1
> +
> + '#dma-cells':
> + description:
> + DMA specifier, consisting of a phandle to DMA controller plus the
> + following integer cells
Why do you need it here? Isn't this coming from dma common schemas?
> +
> '#dma-channels':
> deprecated: true
>
> @@ -52,12 +66,47 @@ allOf:
> contains:
> enum:
> - marvell,pdma-1.0
> + - spacemit,k1-pdma
> then:
> properties:
> asram: false
> else:
> required:
> - asram
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: spacemit,k1-pdma
> + then:
> + required:
> + - clocks
> + - resets
> + else:
> + properties:
> + clocks: false
> + resets: false
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - marvell,pdma-1.0
> + - spacemit,k1-pdma
> + then:
> + properties:
> + '#dma-cells':
> + const: 2
> + description:
> + The first cell contains the DMA request number for the peripheral
> + device. The second cell is currently unused but must be present for
> + backward compatibility.
> + else:
> + properties:
> + '#dma-cells':
> + const: 1
> + description:
> + The cell contains the DMA request number for the peripheral device.
It's getting complicated. I suggest to make your own schema. Then you
would also switch to preferred 'sram' property instead of that legacy
'asram'.
Really, ancient schemas should not be grown for new, completely
different platforms.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-07-01 7:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-01 5:36 [PATCH v2 0/8] dmaengine: mmp_pdma: Add SpacemiT K1 SoC support with 64-bit addressing Guodong Xu
2025-07-01 5:36 ` [PATCH v2 1/8] dt-bindings: dma: marvell,mmp-dma: Add SpacemiT K1 PDMA support Guodong Xu
2025-07-01 7:35 ` Krzysztof Kozlowski [this message]
2025-07-01 9:52 ` Guodong Xu
2025-07-02 20:38 ` Krzysztof Kozlowski
2025-07-01 5:36 ` [PATCH v2 2/8] dmaengine: mmp_pdma: Add optional clock support Guodong Xu
2025-07-01 5:36 ` [PATCH v2 3/8] dmaengine: mmp_pdma: Add optional reset controller support Guodong Xu
2025-07-01 5:36 ` [PATCH v2 4/8] dmaengine: mmp_pdma: Add operations structure for controller abstraction Guodong Xu
2025-07-01 5:36 ` [PATCH v2 5/8] dmaengine: mmp_pdma: Add SpacemiT K1 PDMA support with 64-bit addressing Guodong Xu
2025-07-01 5:37 ` [PATCH v2 6/8] riscv: dts: spacemit: Add PDMA0 node for K1 SoC Guodong Xu
2025-07-01 7:37 ` Krzysztof Kozlowski
2025-07-01 8:19 ` Guodong Xu
2025-07-01 5:37 ` [PATCH v2 7/8] riscv: dts: spacemit: Enable PDMA0 on Banana Pi F3 and Milkv Jupiter Guodong Xu
2025-07-01 7:36 ` Krzysztof Kozlowski
2025-07-01 8:48 ` Guodong Xu
2025-07-01 9:02 ` Krzysztof Kozlowski
2025-07-01 10:04 ` Guodong Xu
2025-07-01 5:37 ` [PATCH v2 8/8] riscv: defconfig: Enable MMP_PDMA support for SpacemiT K1 SoC Guodong Xu
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=de965773-bab1-4c50-b111-19896465e53e@kernel.org \
--to=krzk@kernel.org \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlan@gentoo.org \
--cc=dmaengine@vger.kernel.org \
--cc=duje.mihanovic@skole.hr \
--cc=elder@riscstar.com \
--cc=guodong@riscstar.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh@kernel.org \
--cc=spacemit@lists.linux.dev \
--cc=vkoul@kernel.org \
--cc=wangruikang@iscas.ac.cn \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox