Re: [PATCH 03/17] dt-bindings: ufs: exynos-ufs: Add gs101 compatible
From: Krzysztof Kozlowski
Date: Fri Apr 05 2024 - 03:49:45 EST
On 04/04/2024 14:25, Peter Griffin wrote:
> Add dedicated google,gs101-ufs compatible for Google Tensor gs101
> SoC.
>
> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx>
> ---
> .../bindings/ufs/samsung,exynos-ufs.yaml | 51 +++++++++++++++----
> 1 file changed, 42 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml b/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml
> index b2b509b3944d..898da6c0e94f 100644
> --- a/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml
> +++ b/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml
> @@ -12,12 +12,10 @@ maintainers:
> description: |
> Each Samsung UFS host controller instance should have its own node.
>
> -allOf:
> - - $ref: ufs-common.yaml
> -
> properties:
> compatible:
> enum:
> + - google,gs101-ufs
> - samsung,exynos7-ufs
> - samsung,exynosautov9-ufs
> - samsung,exynosautov9-ufs-vh
> @@ -38,14 +36,12 @@ properties:
> - const: ufsp
>
> clocks:
> - items:
> - - description: ufs link core clock
> - - description: unipro main clock
> + minItems: 2
> + maxItems: 5
Keep here minItems and:
+ - description: ufs link core clock
+ - description: unipro main clock
+ - description: fmp clock
+ - description: ufs aclk clock
+ - description: ufs pclk clock
>
> clock-names:
> - items:
> - - const: core_clk
> - - const: sclk_unipro_main
> + minItems: 2
> + maxItems: 5
Similarly here
>
> phys:
> maxItems: 1
> @@ -72,6 +68,43 @@ required:
> - clocks
> - clock-names
>
> +allOf:
> + - $ref: ufs-common.yaml
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: google,gs101-ufs
> +
> + then:
> + properties:
> + clocks:
Enough is:
minItems: 5
> + items:
and drop the items since they are defined in top-level.
Your original code is correct, but with my approach we keep the list
synced between variants, at least part of the list. If another variant
appears, then maybe it will go back to your approach, but maybe we can
still have the same clocks and their order.
> + - description: ufs link core clock
> + - description: unipro main clock
> + - description: fmp clock
> + - description: ufs aclk clock
> + - description: ufs pclk clock
> +
> + clock-names:
minItems: 5
> + items:
> + - const: core_clk
> + - const: sclk_unipro_main
> + - const: fmp
> + - const: ufs_aclk
> + - const: ufs_pclk
> + else:
> + properties:
> + clocks:
maxItems: 2
> + items:
> + - description: ufs link core clock
> + - description: unipro main clock
> +
> + clock-names:
maxItems: 2
> + items:
> + - const: core_clk
> + - const: sclk_unipro_main
> +
> unevaluatedProperties: false
>
> examples:
Best regards,
Krzysztof