From: "Williams, Gregory" <gregoryw@amd.com>
To: Krzysztof Kozlowski <krzk@kernel.org>,
Gregory Williams <gregory.williams@amd.com>,
ogabbay@kernel.org, michal.simek@amd.com, robh@kernel.org
Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH V1 4/9] dt-bindings: soc: xilinx: Add AI engine DT binding
Date: Fri, 11 Jul 2025 12:33:55 -0600 [thread overview]
Message-ID: <349be13c-fef5-4fc2-b4c9-e85e28cbc06a@amd.com> (raw)
In-Reply-To: <504f6660-4938-47b4-b1db-0a6fe0214e5f@kernel.org>
On 7/10/2025 3:38 PM, Krzysztof Kozlowski wrote:
> On 10/07/2025 21:03, Williams, Gregory wrote:
>> On 7/3/2025 12:48 AM, Krzysztof Kozlowski wrote:
>>> On 02/07/2025 17:56, Gregory Williams wrote:
>>>> In the device tree, there will be device node for the AI engine device,
>>>> and device nodes for the statically configured AI engine apertures.
>>>
>>> No, describe the hardware, not DTS.
>>>
>>>> Apertures are an isolated set of columns with in the AI engine device
>>>> with their own address space and interrupt.
>>>>
>>>> Signed-off-by: Gregory Williams <gregory.williams@amd.com>
>>>> ---
>>>> .../bindings/soc/xilinx/xlnx,ai-engine.yaml | 151 ++++++++++++++++++
>>>> 1 file changed, 151 insertions(+)
>>>> create mode 100644 Documentation/devicetree/bindings/soc/xilinx/xlnx,ai-engine.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/soc/xilinx/xlnx,ai-engine.yaml b/Documentation/devicetree/bindings/soc/xilinx/xlnx,ai-engine.yaml
>>>> new file mode 100644
>>>> index 000000000000..7d9a36c56366
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/soc/xilinx/xlnx,ai-engine.yaml
>>>
>>> Filename matching compatible.
>>>
>>>> @@ -0,0 +1,151 @@
>>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/soc/xilinx/xlnx,ai-engine.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: AMD AI Engine
>>>
>>> That's really too generic...
>
> You did not answer to other comments here and other patches, so I just
> assume you did not ignore them.
No, they were not ignored. I will make sure to address in a V2 patch.
>
>>>
>>>> +
>>>> +maintainers:
>>>> + - Gregory Williams <gregory.williams@amd.com>
>>>> +
>>>> +description:
>>>> + The AMD AI Engine is a tile processor with many cores (up to 400) that
>>>> + can run in parallel. The data routing between cores is configured through
>>>> + internal switches, and shim tiles interface with external interconnect, such
>>>> + as memory or PL. One AI engine device can have multiple apertures, each
>>>> + has its own address space and interrupt. At runtime application can create
>>>> + multiple partitions within an aperture which are groups of columns of AI
>>>> + engine tiles. Each AI engine partition is the minimum resetable unit for an
>>>> + AI engine application.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + const: xlnx,ai-engine-v2.0
>>>
>>> What does v2.0 stands for? Versioning is discouraged, unless mapping is
>>> well documented.
>>
>> Sure, I will remove the versioning in V2 patch.
>
> This should be specific to product, so use the actual product/model name.
>
> Is this part of a Soc? Then standard rules apply... but I could not
> deduce it from the descriptions or commit msgs.
Yes this is part of an SoC. I will be more descriptive in V2 patch.
>
>
>>
>>>
>>>> +
>>>> + reg:
>>>> + maxItems: 1
>>>> +
>>>> + '#address-cells':
>>>> + const: 2
>>>> +
>>>> + '#size-cells':
>>>> + const: 2
>>>> +
>>>> + power-domains:
>>>
>>> Missing constraints.
>>>
>>>> + description:
>>>> + Platform management node id used to request power management services
>>>> + from the firmware driver.
>>>
>>> Drop description, redundant.
>>>
>>>> +
>>>> + xlnx,aie-gen:
>>>> + $ref: /schemas/types.yaml#/definitions/uint8
>>>
>>> Why uint8?
>>>
>>>> + description:
>>>> + Hardware generation of AI engine device. E.g. the current values supported
>>>> + are 1 (AIE) and 2 (AIEML).
>>>
>>> No clue what's that, but it is implied by compatible, isn't it?
>>
>> The driver supports multiple hardware generations. During driver probe, this value is read from the device tree and hardware generation specific
>
> Bindings are about hardware, not driver, so your driver arguments are
> not valid.
Understood.
>
>> data structures are loaded based on this value. The compatible string is the same between devices.
>
> No. See writing bindings.
Ok so there should be a different compatible strings based on hardware
generation. I will fix this for a V2 patch.
>
>>
>>>
>>> Missing constraints.
>>>
>>>> +
>>>> + xlnx,shim-rows:
>>>> + $ref: /schemas/types.yaml#/definitions/uint8-array
>>>> + description:
>>>> + start row and the number of rows of SHIM tiles of the AI engine device
>>>
>>> Implied by compatible.
>>
>> The AI Engine device can have different configurations for number of rows and column (even if it is the same hardware generation). This property
>> tells the driver the size and layout of the array, this is not implied by compatible.
>
> Wrap your emails correctly.
>
> Again driver.. no, please describe the hardware, not your drivers.
I see in 'writing bindings' that I should use device-based compatible
string. I will do this and remove these nodes for V2 patch.
Thanks again for your time,
Greg
>
>
> Best regards,
> Krzysztof
next prev parent reply other threads:[~2025-07-11 18:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-02 15:56 [PATCH V1 0/9] AMD AI Engine device driver for Versal Gregory Williams
2025-07-02 15:56 ` [PATCH V1 1/9] firmware: xilinx: Add IOCTL support for the AIE run time operations Gregory Williams
2025-07-03 6:50 ` Krzysztof Kozlowski
2025-07-10 18:34 ` Williams, Gregory
2025-07-10 18:49 ` Williams, Gregory
2025-07-02 15:56 ` [PATCH V1 2/9] firmware: xilinx: Add IOCTL support to query QoS Gregory Williams
2025-07-02 15:56 ` [PATCH V1 3/9] dt-bindings: power: Add AMD Versal power domain bindings Gregory Williams
2025-07-03 6:43 ` Krzysztof Kozlowski
2025-07-10 18:53 ` Williams, Gregory
2025-07-10 21:34 ` Krzysztof Kozlowski
2025-07-02 15:56 ` [PATCH V1 4/9] dt-bindings: soc: xilinx: Add AI engine DT binding Gregory Williams
2025-07-03 6:48 ` Krzysztof Kozlowski
2025-07-10 19:03 ` Williams, Gregory
2025-07-10 21:38 ` Krzysztof Kozlowski
2025-07-11 18:33 ` Williams, Gregory [this message]
2025-07-12 7:33 ` Krzysztof Kozlowski
2025-07-14 14:51 ` Williams, Gregory
2025-07-02 15:56 ` [PATCH V1 5/9] accel: amd-ai-engine: Add AMD AI Engine device driver Gregory Williams
2025-07-02 15:56 ` [PATCH V1 6/9] accel: amd-ai-engine: Add support to enable/disable clocks and change clock frequency Gregory Williams
2025-07-02 15:56 ` [PATCH V1 7/9] accel: amd-ai-engine: Add support for AIEML devices Gregory Williams
2025-07-02 15:56 ` [PATCH V1 8/9] accel: amd-ai-engine: Create tile memory information Gregory Williams
2025-07-02 15:56 ` [PATCH V1 9/9] accel: amd-ai-engine: Adds AI Engine reset operations Gregory Williams
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=349be13c-fef5-4fc2-b4c9-e85e28cbc06a@amd.com \
--to=gregoryw@amd.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=gregory.williams@amd.com \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.simek@amd.com \
--cc=ogabbay@kernel.org \
--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 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.