[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5c971c09-c398-40a3-9ed5-ec38b6645e1d@collabora.com>
Date: Mon, 16 Jun 2025 17:30:44 +0200
From: Benjamin Gaignard <benjamin.gaignard@...labora.com>
To: Conor Dooley <conor@...nel.org>
Cc: joro@...tes.org, will@...nel.org, robin.murphy@....com, robh@...nel.org,
krzk+dt@...nel.org, conor+dt@...nel.org, heiko@...ech.de,
nicolas.dufresne@...labora.com, p.zabel@...gutronix.de, mchehab@...nel.org,
iommu@...ts.linux.dev, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-media@...r.kernel.org,
kernel@...labora.com
Subject: Re: [PATCH 2/5] dt-bindings: iommu: verisilicon: Add binding for VSI
IOMMU
Le 16/06/2025 à 17:14, Conor Dooley a écrit :
> On Mon, Jun 16, 2025 at 04:55:50PM +0200, Benjamin Gaignard wrote:
>> Add a device tree binding for the Verisilicon (VSI) IOMMU. This IOMMU sits
>> in front of hardware encoder and decoder blocks on SoCs using Verisilicon IP,
>> such as the Rockchip RK3588.
>>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@...labora.com>
>> ---
>> .../bindings/iommu/verisilicon,iommu.yaml | 71 +++++++++++++++++++
>> 1 file changed, 71 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml b/Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml
>> new file mode 100644
>> index 000000000000..acef855fc61d
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml
>> @@ -0,0 +1,71 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/iommu/verisilicon,iommu.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Verisilicon IOMMU
>> +
>> +maintainers:
>> + - Benjamin Gaignard <benjamin.gaignard@...labora.com>
>> +
>> +description: |+
>> + A Versilicon iommu translates io virtual addresses to physical addresses for
>> + its associated video decoder.
>> +
>> +properties:
>> + compatible:
>> + oneOf:
>> + - items:
>> + - const: verisilicon,iommu
> You're missing a soc-specific compatible at the very least here, but is
> there really no versioning on the IP at all? I'd be surprised if
> verisilicon only produced exactly one version of an iommu IP.
I only aware this version of the iommu for the moment.
Does adding verisilicon,rk3588-iommu sound good for you ?
>
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + items:
>> + - description: Core clock
>> + - description: Interface clock
>> +
>> + clock-names:
>> + items:
>> + - const: aclk
>> + - const: iface
> Why "aclk" rather than core, to match the description?
I will change that, the driver doesn't care of the clock name anyway
>
>> +
>> + "#iommu-cells":
>> + const: 0
>> +
>> + power-domains:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - interrupts
>> + - clocks
>> + - clock-names
>> + - "#iommu-cells"
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/clock/rockchip,rk3588-cru.h>
>> + #include <dt-bindings/interrupt-controller/arm-gic.h>
>> +
>> + bus {
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> +
>> + vsi_mmu: iommu@...a0000 {
> The "vsi_mmu" label can be dropped here, it has no users.
ok.
Thanks,
Benjamin
>
> Cheers,
> Conor.
>
>> + compatible = "verisilicon,iommu";
>> + reg = <0x0 0xfdca0000 0x0 0x600>;
>> + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 0>;
>> + clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
>> + clock-names = "aclk", "iface";
>> + #iommu-cells = <0>;
>> + };
>> + };
>> --
>> 2.43.0
>>
Powered by blists - more mailing lists