Message ID | 20240404122559.898930-4-peter.griffin@linaro.org |
---|---|
State | New |
Headers | show |
Series | HSI2, UFS & UFS phy support for Tensor GS101 | expand |
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@linaro.org> > --- > .../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
Hi Krzysztof, Thanks for the review. On Fri, 5 Apr 2024 at 08:49, Krzysztof Kozlowski <krzk@kernel.org> wrote: > > 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@linaro.org> > > --- > > .../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. Will update like you suggest in v2. Thanks, Peter
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 clock-names: - items: - - const: core_clk - - const: sclk_unipro_main + minItems: 2 + maxItems: 5 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: + items: + - 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 + - const: fmp + - const: ufs_aclk + - const: ufs_pclk + else: + properties: + clocks: + items: + - description: ufs link core clock + - description: unipro main clock + + clock-names: + items: + - const: core_clk + - const: sclk_unipro_main + unevaluatedProperties: false examples:
Add dedicated google,gs101-ufs compatible for Google Tensor gs101 SoC. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> --- .../bindings/ufs/samsung,exynos-ufs.yaml | 51 +++++++++++++++---- 1 file changed, 42 insertions(+), 9 deletions(-)