Add device tree bindings for the monochrome Sharp Memory LCD Signed-off-by: Alex Lanzano <lanzano.alex@xxxxxxxxx> --- .../bindings/display/sharp,sharp-memory.yaml | 97 +++++++++++++++++++ include/dt-bindings/display/sharp-memory.h | 9 ++ 2 files changed, 106 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/sharp,sharp-memory.yaml create mode 100644 include/dt-bindings/display/sharp-memory.h diff --git a/Documentation/devicetree/bindings/display/sharp,sharp-memory.yaml b/Documentation/devicetree/bindings/display/sharp,sharp-memory.yaml new file mode 100644 index 000000000000..a79edd97c857 --- /dev/null +++ b/Documentation/devicetree/bindings/display/sharp,sharp-memory.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/sharp,sharp-memory.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Sharp Memory LCD panels + +maintainers: + - Alex Lanzano <lanzano.alex@xxxxxxxxx> + +description: + This binding is for the Sharp Memory LCD monochrome displays. + +properties: + compatible: + enum: + - sharp,ls010b7dh04 + - sharp,ls011b7dh03 + - sharp,ls012b7dd01 + - sharp,ls013b7dh03 + - sharp,ls013b7dh05 + - sharp,ls018b7dh02 + - sharp,ls027b7dh01 + - sharp,ls027b7dh01a + - sharp,ls032b7dd02 + - sharp,ls044q7dh01 + + reg: + maxItems: 1 + + spi-cs-high: true + + spi-max-frequency: + maximum: 2000000 + + vcom-mode: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + VCOM is a signal that prevents DC bias from being built up in + the panel resulting in pixels being forever stuck in one state. + vcom-mode can be set to one of three modes + + SHARP_MEMORY_SOFTWARE_VCOM - This method uses a kthread to periodically send a + "maintain display" message to the display, toggling the vcom + bit on and off with each message + + SHARP_MEMORY_EXTERNAL_VCOM - This method relies on an external clock to generate + the signal on the EXTCOMM pin + + SHARP_MEMORY_PWM_VCOM - This method uses a pwm device to generate the signal + on the EXTCOMM pin + + enum: [ 0, 1, 2 ] + + enable-gpios: + maxItems: 1 + description: Enables display + + pwms: + maxItems: 1 + description: External VCOM signal + +required: + - compatible + - reg + - spi-cs-high + - vcom-mode + +if: + properties: + vcom-mode: + # SHARP_MEMORY_PWM_VCOM + enum: [2] +then: + required: + - pwms + +additionalProperties: false + +examples: + - | + #include <dt-bindings/display/sharp-memory.h> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + display@0{ + compatible = "sharp,ls013b7dh03"; + reg = <0>; + spi-cs-high; + spi-max-frequency = <1000000>; + vcom-mode = <SHARP_MEMORY_SOFTWARE_VCOM>; + }; + }; +... diff --git a/include/dt-bindings/display/sharp-memory.h b/include/dt-bindings/display/sharp-memory.h new file mode 100644 index 000000000000..dea14c7bd7ec --- /dev/null +++ b/include/dt-bindings/display/sharp-memory.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +#ifndef _DT_BINDINGS_SHARP_MEMORY +#define _DT_BINDINGS_SHARP_MEMORY + +#define SHARP_MEMORY_SOFTWARE_VCOM 0 +#define SHARP_MEMORY_EXTERNAL_VCOM 1 +#define SHARP_MEMORY_PWM_VCOM 2 + +#endif -- 2.45.2