Re: [PATCH 1/2] drm/panel: Add DT bindings for Samsung S6D27A1 display panel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Markuss,

On Thu, Aug 05, 2021 at 04:33:41PM +0300, Markuss Broks wrote:
> This adds device-tree bindings for the Samsung S6D27A1 RGB
> DPI display panel.
> 
> Signed-off-by: Markuss Broks <markuss.broks@xxxxxxxxx>
> ---
>  .../display/panel/samsung,s6d27a1.yaml        | 97 +++++++++++++++++++
>  1 file changed, 97 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml b/Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
> new file mode 100644
> index 0000000000..c6c534aa87
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/panel/samsung,s6d27a1.yaml
> @@ -0,0 +1,97 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/panel/samsung,s6d27a1.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Samsung S6D27A1 display panel
> +
> +description: The S6D27A1 is a 480x800 DPI display panel from Samsung Mobile
> +  Displays (SMD). The panel must obey the rules for a SPI slave device
> +  as specified in spi/spi-controller.yaml
> +
> +maintainers:
> +  - Markuss Broks <markuss.broks@xxxxxxxxx>
> +
> +allOf:
> +  - $ref: panel-common.yaml#
> +
> +properties:
> +  compatible:
> +    const: samsung,s6d27a1
> +
> +  reg: true
> +
> +  interrupts:
> +    description: provides an optional ESD (electrostatic discharge)
> +      interrupt that signals abnormalities in the display hardware.
> +      This can also be raised for other reasons like erroneous
> +      configuration.
> +    maxItems: 1
> +
> +  reset-gpios: true
> +
> +  vci-supply:
> +    description: regulator that supplies the VCI analog voltage
> +      usually around 3.0 V
> +
> +  vccio-supply:
> +    description: regulator that supplies the VCCIO voltage usually
> +      around 1.8 V
> +
> +  backlight: true
> +
> +  spi-cpha: true
> +
> +  spi-cpol: true
> +
> +  spi-max-frequency:
> +    maximum: 1200000
> +
> +  port: true
> +
> +required:
> +  - compatible
> +  - reg

> +  - spi-cpha
> +  - spi-cpol
> +  - port
Do the HW really require the above three properties?

Can the HW work without a supply (hint: I think vci-supply and
vccio-supply are required)

> +
> +additionalProperties: false

As this device sits on the SPI bus you need to use:
unevaluatedProterties: false
(Check spelling from other bindings)

This allows DT files to add more spi related properties, but do not
allow DT files to add unknown properties.

With the current scheme you restrict the DT file to only the three
mentioned SPI properties that may be OK for your HW but maybe not OK for
the next HW using the same panel.

	Sam



> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +
> +    spi {
> +        compatible = "spi-gpio";
> +        sck-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
> +        miso-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
> +        mosi-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
> +        cs-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
> +        num-chipselects = <1>;
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        panel@0 {
> +            compatible = "samsung,s6d27a1";
> +            spi-max-frequency = <1200000>;
> +            spi-cpha;
> +            spi-cpol;
> +            reg = <0>;
> +            vci-supply = <&lcd_3v0_reg>;
> +            vccio-supply = <&lcd_1v8_reg>;
> +            reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
> +            interrupt-parent = <&gpio>;
> +            interrupts = <5 IRQ_TYPE_EDGE_RISING>;
> +
> +            port {
> +                panel_in: endpoint {
> +                    remote-endpoint = <&display_out>;
> +                };
> +            };
> +        };
> +    };
> +
> +...
> -- 
> 2.32.0



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux