This adds device tree bindings for the Samsung Mobile Displays LMS380KF01 RGB DPI display panel.
Cc: devicetree@vger.kernel.org Cc: phone-devel@vger.kernel.org Cc: Douglas Anderson dianders@chromium.org Cc: Noralf Trønnes noralf@tronnes.org Signed-off-by: Linus Walleij linus.walleij@linaro.org --- .../display/panel/samsung,lms380kf01.yaml | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml b/Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml new file mode 100644 index 000000000000..138be12fc509 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/samsung,lms380kf01.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/samsung,lms380kf01.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung LMS380KF01 display panel + +description: The LMS380KF01 is a 480x800 DPI display panel from Samsung Mobile + Displays (SMD) utilizing the WideChips WS2401 display controller. It can be + used with internal or external backlight control. + +maintainers: + - Linus Walleij linus.walleij@linaro.org + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + const: samsung,lms380kf01 + + 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: + $ref: /schemas/types.yaml#/definitions/flag + description: inherited as a SPI client node. Must be set. + + spi-cpol: + $ref: /schemas/types.yaml#/definitions/flag + description: inherited as a SPI client node. Must be set. + + spi-max-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: inherited as a SPI client node. + maximum: 1200000 + + port: true + +required: + - compatible + - reg + - spi-cpha + - spi-cpol + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + panel@0 { + compatible = "samsung,lms380kf01"; + spi-max-frequency = <1200000>; + spi-cpha; + spi-cpol; + reg = <0>; + vci-supply = <&lcd_3v0_reg>; + vccio-supply = <&lcd_1v8_reg>; + reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; + interrupt-parent = <&gpio2>; + interrupts = <29 IRQ_TYPE_EDGE_RISING>; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + }; + +...
Hi,
On Thu, Jun 24, 2021 at 3:40 PM Linus Walleij linus.walleij@linaro.org wrote:
- spi-cpha:
- $ref: /schemas/types.yaml#/definitions/flag
- description: inherited as a SPI client node. Must be set.
- spi-cpol:
- $ref: /schemas/types.yaml#/definitions/flag
- description: inherited as a SPI client node. Must be set.
I will defer to Rob Herring (added to CC) to confirm if we really need all that stuff for spi-cpha and spi-cpol. I would have expected just:
spi-cpha: true spi-cpol: true
As I understand it, the fact that they are flags will already be validated as part of the "spi-controller.yaml" so you don't need to specify that. ...and the fact that you have them listed as "required" properties documents the fact that they must be set for your device, so I don't think you need more.
NOTE: if you're testing this using your "example" below I think you will find that you could set this to something other than just a flag and it won't yell at you. However, that's because your example has a bogus SPI controller node in it. I think if you put a real SPI controller in the example then it'll pull in the "spi-controller.yaml" bindings and magically start validating everything.
- spi-max-frequency:
- $ref: /schemas/types.yaml#/definitions/uint32
You don't need the "$ref" line here either, right? Again it'll be validated as part of the "spi-controller.yaml".
+required:
- compatible
- reg
- spi-cpha
- spi-cpol
Does "port" need to be listed as required too?
dri-devel@lists.freedesktop.org