[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aOZokztqpHHX0JPq@swlinux02>
Date: Wed, 8 Oct 2025 21:35:15 +0800
From: CL Wang <cl634@...estech.com>
To: Krzysztof Kozlowski <krzk@...nel.org>,
<gg@...inux02.smtp.subspace.kernel.org>
CC: Conor Dooley <conor@...nel.org>, <vkoul@...nel.org>,
<dmaengine@...r.kernel.org>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <tim609@...estech.com>,
<cl634@...estech.com>
Subject: Re: [PATCH V1 1/2] dt-bindings: dmaengine: Add support for
ATCDMAC300 DMA engine
Hi Krzysztof,
Thanks for the clarification, and sorry for the earlier confusion.
To elaborate on the rationale:
"andestech,atcdmac300" is the IP core name of the DMA controller, which serves
as a generic fallback compatible shared across multiple Andes SoCs.
Primary compatible (SoC-specific):
andestech,qilai-dma refers to the DMA controller instance implemented on the
Qilai SoC, following the SoC-specific recommendation.
Fallback compatible (IP-core specific):
andestech,atcdmac300 represents the reusable IP block used across different
Andes SoCs that share the same register map and programming model.
Keeping andestech,atcdmac300 as a fallback helps avoid code duplication and
allows a single driver to support future SoCs using the same hardware IP.
This approach follows the DeviceTree binding guideline:
“DO use a SoC-specific compatible for all SoC devices, followed by a fallback
if appropriate. SoC-specific compatibles are also preferred for the fallbacks.”
— Documentation/devicetree/bindings/writing-bindings.rst, line 42
Please let me know if this aligns with your expectation.
Best regards,
CL
On Wed, Oct 08, 2025 at 05:04:53PM +0900, Krzysztof Kozlowski wrote:
> [EXTERNAL MAIL]
>
> On 08/10/2025 12:13, CL Wang wrote:
> > Hi Krzysztof,
> >
> > Thank you for pointing this out.
> >
> > "ATCDMAC300" is the IP block name of the DMA controller used in Andes SoC.
> > According to your suggestion, I have updated the binding to use SoC-specific
> > compatibles with "andestech,atcdmac300" as a fallback, as shown below:
> >
> > - const: andestech,atcdmac300
> > + items:
> > + - enum:
> > + - andestech,qilai-dma
> > + - const: andestech,atcdmac300
> > ...
> > dma-controller@...00000 {
> > - compatible = "andestech,atcdmac300";
> > + compatible = "andestech,qilai-dma", "andestech,atcdmac300";
>
> That's exactly the same code as you pasted before. Please do not repeat
> the same as argument to my comment.
>
> Best regards,
> Krzysztof
Powered by blists - more mailing lists