Re: [PATCH v3 13/14] dt-bindings: iommu: rockchip: Add Rockchip RK3588

From: Heiko Stübner
Date: Thu Nov 30 2023 - 17:46:54 EST


Hi Andy,

Am Donnerstag, 30. November 2023, 13:25:00 CET schrieb Andy Yan:
> From: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
>
> Add a Rockchip RK3588 compatible
>
> Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
> ---
>
> (no changes since v1)
>
> Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> index ba9124f721f1..3febf0c3c404 100644
> --- a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> +++ b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> @@ -22,6 +22,7 @@ properties:
> enum:
> - rockchip,iommu
> - rockchip,rk3568-iommu
> + - rockchip,rk3588-iommu

This enum only allows that the compatible has one element, namely one of
those listed here. In the dts though you declare
compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
meaning that the rk3588-iommu is compatible to the rk3568-iommu

I think you'll need a construct like:

properties:
compatible:
oneOf:
- enum:
- rockchip,iommu
- rockchip,rk3568-iommu
- items:
- enum:
- rockchip,rk3588-iommu
- const: rockchip,rk3568-iommu

to describe both the single-compatibles and the 2-item compatible for the
rk3588. For example pci/rockchip-dw-pcie.yaml does a similar thing already.

Heiko