devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: "Mahapatra, Amit Kumar" <amit.kumar-mahapatra@amd.com>,
	Conor Dooley <conor@kernel.org>
Cc: "broonie@kernel.org" <broonie@kernel.org>,
	"robh@kernel.org" <robh@kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"Simek, Michal" <michal.simek@amd.com>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"git (AMD-Xilinx)" <git@amd.com>,
	"amitrkcian2002@gmail.com" <amitrkcian2002@gmail.com>
Subject: Re: [PATCH] dt-bindings: spi: xilinx: Add clocks & clock-names properties
Date: Sat, 28 Sep 2024 10:19:01 +0200	[thread overview]
Message-ID: <03a1c7e7-c516-41ab-a668-7c6785ab1c4f@kernel.org> (raw)
In-Reply-To: <IA0PR12MB76999B696A9BA0834644AC71DC6B2@IA0PR12MB7699.namprd12.prod.outlook.com>

On 27/09/2024 11:30, Mahapatra, Amit Kumar wrote:
> Hello Conor,
> 
> 
>>>> Subject: Re: [PATCH] dt-bindings: spi: xilinx: Add clocks &
>>>> clock-names properties
>>>>
>>>> On Mon, Sep 23, 2024 at 06:02:42PM +0530, Amit Kumar Mahapatra wrote:
>>>>> Include the 'clocks' and 'clock-names' properties in the AXI
>>>>> Quad-SPI bindings. When the AXI4-Lite interface is enabled, the
>>>>> core operates in legacy mode, maintaining backward compatibility
>>>>> with version 1.00, and uses 's_axi_aclk' and 'ext_spi_clk'. For
>>>>> the AXI interface, it uses 's_axi4_aclk' and 'ext_spi_clk'.
>>>>>
>>>>> Signed-off-by: Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
>>>>> ---
>>>>> BRANCH: for-next
>>>>> ---
>>>>>  .../devicetree/bindings/spi/spi-xilinx.yaml   | 29 +++++++++++++++++++
>>>>>  1 file changed, 29 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/spi/spi-xilinx.yaml
>>>>> b/Documentation/devicetree/bindings/spi/spi-xilinx.yaml
>>>>> index 4beb3af0416d..9dfec195ecd4 100644
>>>>> --- a/Documentation/devicetree/bindings/spi/spi-xilinx.yaml
>>>>> +++ b/Documentation/devicetree/bindings/spi/spi-xilinx.yaml
>>>>> @@ -12,6 +12,25 @@ maintainers:
>>>>>  allOf:
>>>>>    - $ref: spi-controller.yaml#
>>>>
>>>> Please move the allOf block down to the end of the binding, after
>>>> the property definitions.
>>>
>>> Sure, I'll take care of it in the next series
>>>>
>>>>> +  - if:
>>>>> +      properties:
>>>>> +        compatible:
>>>>> +          contains:
>>>>> +            const: xlnx,axi-quad-spi-1.00.a
>>>>> +    then:
>>>>> +      properties:
>>>>> +        clock-names:
>>>>> +          items:
>>>>> +            - const: s_axi_aclk
>>>>> +            - const: ext_spi_clk
>>>>
>>>> These are all clocks, there should be no need to have "clk" in the names.
>>>
>>> These are the names exported by the IP and used by the DTG.
>>
>> So? This is a binding, not a verilog file.
> 
> Axi Quad SPI is an FPGA-based IP, and the clock names are derived from the 
> IP signal names as specified in the IP documentation [1]. 
> We chose these names to ensure alignment with the I/O signal names listed 
> in Table 2-2 on page 19 of [1].
> 
> [1] chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.amd.com/content/dam/xilinx/support/documents/ip_documentation/axi_quad_spi/v3_2/pg153-axi-quad-spi.pdf

So if hardware engineers call them "pink_pony_clk_aclk_really_clk" we
should follow...

 - bus or axi
 - ext_spi or spi

You have descriptions of each item to reference real signals. Conor's
comment is valid - do no make it verilog file.

> 
>>
>>>>> +
>>>>> +    else:
>>>>> +      properties:
>>>>> +        clock-names:
>>>>> +          items:
>>>>> +            - const: s_axi4_aclk
>>>>> +            - const: ext_spi_clk

Nah, these are the same.

>>>>> +
>>>>>  properties:
>>>>>    compatible:
>>>>>      enum:
>>>>> @@ -25,6 +44,12 @@ properties:
>>>>>    interrupts:
>>>>>      maxItems: 1
>>>>>
>>>>> +  clocks:
>>>>> +    maxItems: 2
>>>>> +
>>>>> +  clock-names:
>>>>> +    maxItems: 2
>>>>> +
>>>>>    xlnx,num-ss-bits:
>>>>>      description: Number of chip selects used.
>>>>>      minimum: 1
>>>>> @@ -39,6 +64,8 @@ required:
>>>>>    - compatible
>>>>>    - reg
>>>>>    - interrupts
>>>>> +  - clocks
>>>>> +  - clock-names
>>>>
>>>> New required properties are an ABI break, where is the driver patch
>>>> that makes use of these clocks?
>>>
>>> Alright, I will remove these from the required properties to avoid
>>> breaking the ABI. We're working on the driver patch and will send it
>>> once it's ready.
>>
>> What changed to make the clocks needed now? It's possible that making them
>> required is the correct thing to do, so breaking the ABI would be justified (provided
>> the driver can still handle there being no clocks).
> 
> Axi Quad SPI is an FPGA-based IP that was previously tested on MicroBlaze 
> soft-core systems, where the driver didn't need to enable the clock, as it 
> would already be enabled before the PL is loaded. However, when used 
> with ARM hard-core SoCs, the driver must explicitly enable the clocks, 


Commit msg should explain this. Including ABI break impact.

Best regards,
Krzysztof


  reply	other threads:[~2024-09-28  8:19 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-23 12:32 [PATCH] dt-bindings: spi: xilinx: Add clocks & clock-names properties Amit Kumar Mahapatra
2024-09-24 16:36 ` Conor Dooley
2024-09-25 11:35   ` Mahapatra, Amit Kumar
2024-09-25 12:46     ` Conor Dooley
2024-09-27  9:30       ` Mahapatra, Amit Kumar
2024-09-28  8:19         ` Krzysztof Kozlowski [this message]
2024-09-28 20:12           ` Conor Dooley
2024-09-30 15:44             ` Mahapatra, Amit Kumar
2024-09-30 16:40               ` Conor Dooley
2024-10-03  6:23                 ` Mahapatra, Amit Kumar
2024-10-03  7:01                   ` Krzysztof Kozlowski
2024-10-03  7:42                     ` Mahapatra, Amit Kumar
2024-10-03  7:47                       ` Krzysztof Kozlowski

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=03a1c7e7-c516-41ab-a668-7c6785ab1c4f@kernel.org \
    --to=krzk@kernel.org \
    --cc=amit.kumar-mahapatra@amd.com \
    --cc=amitrkcian2002@gmail.com \
    --cc=broonie@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=conor@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=git@amd.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=michal.simek@amd.com \
    --cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).