dt-bindings: display: add bindings for pcd8544 displays
Subsystems (3)
PATCH v3 1/2 dt-bindings: display: add bindings for pcd8544 displays
Add device tree binding documentation for PCD8544 LCD display controller.
---
v3:add a little more description to the exposed vendor properties
add commit message finally
v2 link: https://lore.kernel.org/linux-devicetree/[email protected]/
.../bindings/display/nxp,pcd8544.yaml | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/nxp,pcd8544.yaml
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +95 -0
@@ -0,0 +1,95 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/nxp,pcd8544.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Philips Semiconductors PCD8544 LCD Display Controller + +maintainers: + - Viktar Simanenka <[email protected]> + +description: | + Philips Semiconductors PCD8544 LCD Display Controller with SPI control bus. + Designed to drive a graphic display of 48 rows and 84 columns, + such as Nokia 5110/3310 LCDs. + +allOf: + - $ref: panel/panel-common.yaml# + - $ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: + compatible: + enum: + - nxp,pcd8544 + + dc-gpios: + maxItems: 1 + description: Data/Command selection pin (D/CX) + + reset-gpios: + maxItems: 1 + description: Display Reset pin (RST) + + nxp,inverted: + type: boolean + description: Display color inversion + + nxp,voltage-op: + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 127 + description: | + Liquid crystall voltage operation coefficient. Determines the LCD + controlling voltage on display segments. Should be adjusted according + to the ambient temperature. Adjusts the contrast of the display. + + nxp,temperature-coeff: + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 3 + description: | + Display temperature compensation coefficient. Increases LCD controlling + voltage at lower temperatures to maintain optimum contrast. + + nxp,bias: + $ref: /schemas/types.yaml#/definitions/uint32 + minimum: 0 + maximum: 7 + description: | + Display bias system coefficient. Should only be changed if an external + oscillator is used for the display. + +required: + - compatible + - reg + - dc-gpios + - reset-gpios + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + spi { + #address-cells = <1>; + #size-cells = <0>; + + display@0 { + compatible = "nxp,pcd8544"; + reg = <0>; + spi-max-frequency = <8000000>; + + dc-gpios = <&pio 0 3 GPIO_ACTIVE_HIGH>; /* DC=PA3 */ + reset-gpios = <&pio 0 1 GPIO_ACTIVE_HIGH>; /* RESET=PA1 */ + backlight = <&backlight>; + + nxp,inverted; + nxp,voltage-op = <0>; + nxp,bias = <4>; + nxp,temperature-coeff = <0>; + }; + }; + +...
Signature · 1 line
2.34.1
PATCH v3 2/2 drm/tiny: add display driver for philips pcd8544 display controller
Add support for monochrome LCD SPI displays (such as Nokia 5110/3310 LCD) based on PCD8544 LCD display controller.
---
v3:nothing changed from v2
v2:checked and fixed with sparse and smatch
changed param prefixes
v2 link: https://lore.kernel.org/linux-devicetree/[email protected]/
drivers/gpu/drm/tiny/Kconfig | 11 + drivers/gpu/drm/tiny/Makefile | 1 + drivers/gpu/drm/tiny/pcd8544.c | 506 +++++++++++++++++++++++++++++++++ 3 files changed, 518 insertions(+) create mode 100644 drivers/gpu/drm/tiny/pcd8544.c
drivers/gpu/drm/tiny/Kconfig +11 -0
@@ -172,6 +172,17 @@ config TINYDRM_MI0283QT DRM driver for the Multi-Inno MI0283QT display panel If M is selected the module will be called mi0283qt. +config TINYDRM_PCD8544 + tristate "DRM support for PCD8544 displays" + depends on DRM && SPI + select DRM_KMS_HELPER + select DRM_GEM_DMA_HELPER + select BACKLIGHT_CLASS_DEVICE + help + DRM driver for PCD8544 (Nokia 5110/3310) 84x48 LCD displays. + + If M is selected the module will be called pcd8544. + config TINYDRM_REPAPER tristate "DRM support for Pervasive Displays RePaper panels (V231)" depends on DRM && SPI
drivers/gpu/drm/tiny/Makefile +1 -0
@@ -13,6 +13,7 @@ obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o obj-$(CONFIG_TINYDRM_ILI9486) += ili9486.o obj-$(CONFIG_TINYDRM_MI0283QT) += mi0283qt.o +obj-$(CONFIG_TINYDRM_PCD8544) += pcd8544.o obj-$(CONFIG_TINYDRM_REPAPER) += repaper.o obj-$(CONFIG_TINYDRM_ST7586) += st7586.o obj-$(CONFIG_TINYDRM_ST7735R) += st7735r.o
drivers/gpu/drm/tiny/pcd8544.c new file +506 -0
506 lines not on this page · raw message
Signature · 1 line
2.34.1
Quoted 26 lines · Viktar Simanenka
Add device tree binding documentation for PCD8544 LCD display controller.
Signed-off-by Viktar Simanenka <[email protected]>---
v3:add a little more description to the exposed vendor properties
add commit message finally
v2 link: https://lore.kernel.org/linux-devicetree/[email protected]/.../bindings/display/nxp,pcd8544.yaml | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/nxp,pcd8544.yamlDocumentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +8
-0@@ -0,0 +1,95 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/nxp,pcd8544.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Philips Semiconductors PCD8544 LCD Display Controller +
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml line 18
Quoted 10 lines
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +10
-0+maintainers: + - Viktar Simanenka <[email protected]> + +description: | + Philips Semiconductors PCD8544 LCD Display Controller with SPI control bus. + Designed to drive a graphic display of 48 rows and 84 columns, + such as Nokia 5110/3310 LCDs. + +allOf: + - $ref: panel/panel-common.yaml#
This is not a panel, is it?
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml line 20
Quoted 2 lines
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +2
-0+ - $ref: /schemas/spi/spi-peripheral-props.yaml# +
Best regards,
Krzysztof
Quoted 6 lines · Krzysztof Kozlowski
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml line 18
Quoted 2 lines · Viktar Simanenka
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +2
-0+allOf: + - $ref: panel/panel-common.yaml#This is not a panel, is it?
I can't clearly tell the difference between LCD display and panel. I've added panel-common because of 'backlight' and 'reset-gpios' properties. I've looked at 'sitronix,st7735r.yaml', 'ilitek,ili9486.yaml' as examples. SPI controlled LCD displays, but in color.
In fact 'reset-gpios' is already in my yaml. I might just add the 'backlight' property explicitly and remove this dependency. Should I?
Quoted 7 lines · Viktar Simanenka
Quoted 5 lines · Krzysztof Kozlowski
Quoted 2 lines · Viktar Simanenka
Documentation/devicetree/bindings/display/nxp,pcd8544.yaml new file +2
-0+allOf: + - $ref: panel/panel-common.yaml#
Quoted 6 lines
Quoted 1 line
This is not a panel, is it?
I can't clearly tell the difference between LCD display and panel. I've added panel-common because of 'backlight' and 'reset-gpios' properties. I've looked at 'sitronix,st7735r.yaml', 'ilitek,ili9486.yaml' as examples. SPI controlled LCD displays, but in
Probably your device is not a panel (datasheet says: LCD controller), thus it should not reference panel-common.
Quoted 3 lines
color.
In fact 'reset-gpios' is already in my yaml. I might just add the 'backlight' property explicitly and remove this dependency. Should I?
Best regards,
Krzysztof