Re: [PATCH v2 1/1] spi/panel: dt-bindings: drop CPHA and CPOL from common properties

From: Jonathan Cameron
Date: Sun Jul 31 2022 - 06:50:01 EST


On Fri, 22 Jul 2022 21:15:39 +0200
Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote:

> The spi-cpha and spi-cpol properties are device specific and should be
> accepted only if device really needs them. Drop them from common
> spi-peripheral-props.yaml schema, mention in few panel drivers which use
> them and include instead in the SPI controller bindings. The controller
> bindings will provide CPHA/CPOL type validation and one place for
> description. Each device schema must list the properties if they are
> applicable.
>
> Suggested-by: Jonathan Cameron <jic23@xxxxxxxxxx>
> Suggested-by: Rob Herring <robh@xxxxxxxxxx>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

This seems like a good solution to me.

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

> ---
> .../bindings/display/panel/lgphilips,lb035q02.yaml | 3 +++
> .../bindings/display/panel/samsung,ld9040.yaml | 3 +++
> .../bindings/display/panel/sitronix,st7789v.yaml | 3 +++
> .../devicetree/bindings/display/panel/tpo,td.yaml | 3 +++
> .../devicetree/bindings/spi/spi-controller.yaml | 11 +++++++++++
> .../devicetree/bindings/spi/spi-peripheral-props.yaml | 10 ----------
> 6 files changed, 23 insertions(+), 10 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml b/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml
> index 5e4e0e552c2f..628c4b898111 100644
> --- a/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml
> @@ -21,6 +21,9 @@ properties:
> enable-gpios: true
> port: true
>
> + spi-cpha: true
> + spi-cpol: true
> +
> required:
> - compatible
> - enable-gpios
> diff --git a/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml b/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml
> index d525165d6d63..c0fabeb38628 100644
> --- a/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml
> @@ -42,6 +42,9 @@ properties:
> panel-height-mm:
> description: physical panel height [mm]
>
> + spi-cpha: true
> + spi-cpol: true
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml b/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml
> index 9e1d707c2ace..d984b59daa4a 100644
> --- a/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml
> @@ -23,6 +23,9 @@ properties:
> backlight: true
> port: true
>
> + spi-cpha: true
> + spi-cpol: true
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/display/panel/tpo,td.yaml b/Documentation/devicetree/bindings/display/panel/tpo,td.yaml
> index f902a9d74141..e8c8ee8d7c88 100644
> --- a/Documentation/devicetree/bindings/display/panel/tpo,td.yaml
> +++ b/Documentation/devicetree/bindings/display/panel/tpo,td.yaml
> @@ -28,6 +28,9 @@ properties:
> backlight: true
> port: true
>
> + spi-cpha: true
> + spi-cpol: true
> +
> required:
> - compatible
> - port
> diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml
> index 678cee68b52a..655713fba7e2 100644
> --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml
> +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml
> @@ -95,6 +95,17 @@ patternProperties:
> type: object
> $ref: spi-peripheral-props.yaml
>
> + properties:
> + spi-cpha:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + The device requires shifted clock phase (CPHA) mode.
> +
> + spi-cpol:
> + $ref: /schemas/types.yaml#/definitions/flag
> + description:
> + The device requires inverse clock polarity (CPOL) mode.
> +
> required:
> - compatible
> - reg
> diff --git a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> index 5e32928c4fc3..2349f83c07f3 100644
> --- a/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> +++ b/Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml
> @@ -34,16 +34,6 @@ properties:
> description:
> The device requires 3-wire mode.
>
> - spi-cpha:
> - $ref: /schemas/types.yaml#/definitions/flag
> - description:
> - The device requires shifted clock phase (CPHA) mode.
> -
> - spi-cpol:
> - $ref: /schemas/types.yaml#/definitions/flag
> - description:
> - The device requires inverse clock polarity (CPOL) mode.
> -
> spi-cs-high:
> $ref: /schemas/types.yaml#/definitions/flag
> description: