drm/panel: Add Samsung AMS495QA01 Panel
Subsystems (4)
v3 cover drm/panel: Add Samsung AMS495QA01 Panel
From: Chris Morgan <[email protected]>
Add the Samsung AMS495QA01 panel as found on the Anbernic RG503. This panel uses DSI to receive video signals, but 3-wire SPI to receive command signals.
Changes since V2:
- Added 50hz mode at request of userspace devs.
- Renamed "dupa" to panel name. Good catch Maya.
- Added Maya's Signed-off-by.
- Removed check for max backlight, since it is already done by backlight_device_set_brightness.
- Fixed minor formatting issues on devicetree binding documentation and added port to provided example.
Changes since V1:
- Removed errant reference to backlight in documentation. This is an OLED panel.
- Made elvss regulator optional. In my case its hard wired and not controllable.
- Added "prepared" enum to track panel status to prevent unbalanced regulator enable/disable.
Chris Morgan (2):
dt-bindings: display: panel: Add Samsung AMS495QA01 bindings drm/panel: Add Samsung AMS495QA01 MIPI-DSI LCD panel
.../display/panel/samsung,ams495qa01.yaml | 56 ++ drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-ams495qa01.c | 547 ++++++++++++++++++ 4 files changed, 614 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,ams495qa01.yaml create mode 100644 drivers/gpu/drm/panel/panel-samsung-ams495qa01.c
Signature · 1 line
2.25.1
PATCH v3 1/2 dt-bindings: display: panel: Add Samsung AMS495QA01 bindings
From: Chris Morgan <[email protected]>
Add documentation for the Samsung AMS495QA01 panel.
--- .../display/panel/samsung,ams495qa01.yaml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,ams495qa01.yaml
Documentation/devicetree/bindings/display/panel/samsung,ams495qa01.yaml new file +56 -0
@@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/panel/samsung,ams495qa01.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Samsung AMS495QA01 4.95in 960x544 DSI/SPI panel + +maintainers: + - Chris Morgan <[email protected]> + +allOf: + - $ref: panel-common.yaml# + +properties: + compatible: + const: samsung,ams495qa01 + + reg: true + reset-gpios: true + elvdd-supply: + description: regulator that supplies voltage to the panel display + enable-gpios: true + port: true + vdd-supply: + description: regulator that supplies voltage to panel logic + +required: + - compatible + - reg + - vdd-supply + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + spi { + #address-cells = <1>; + #size-cells = <0>; + panel@0 { + compatible = "samsung,ams495qa01"; + reg = <0>; + enable-gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc3v3_lcd0_n>; + + port { + mipi_in_panel: endpoint { + remote-endpoint = <&mipi_out_panel>; + }; + }; + }; + }; + +...
Signature · 1 line
2.25.1
PATCH v3 2/2 drm/panel: Add Samsung AMS495QA01 MIPI-DSI LCD panel
In reply to Chris MorganFrom: Chris Morgan <[email protected]>
Support Samsung AMS495QA01 panel as found on the Anbernic RG503. Note This panel receives video signals via DSI, however it receives commands via 3-wire SPI.
--- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-samsung-ams495qa01.c | 547 ++++++++++++++++++ 3 files changed, 558 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-samsung-ams495qa01.c
drivers/gpu/drm/panel/Kconfig +10 -0
@@ -444,6 +444,16 @@ config DRM_PANEL_RONBO_RB070D30 Say Y here if you want to enable support for Ronbo Electronics RB070D30 1024x600 DSI panel. +config DRM_PANEL_SAMSUNG_AMS495QA01 + tristate "Samsung AMS495QA01 DSI panel" + depends on OF && SPI + depends on DRM_MIPI_DSI + select DRM_MIPI_DBI + help + DRM panel driver for the Samsung AMS495QA01 panel. This panel + receives video data via DSI but commands via 3-Wire 9-bit + SPI. + config DRM_PANEL_SAMSUNG_ATNA33XC20 tristate "Samsung ATNA33XC20 eDP panel" depends on OF
drivers/gpu/drm/panel/Makefile +1 -0
@@ -42,6 +42,7 @@ obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o +obj-$(CONFIG_DRM_PANEL_SAMSUNG_AMS495QA01) += panel-samsung-ams495qa01.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20) += panel-samsung-atna33xc20.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_DB7430) += panel-samsung-db7430.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o
drivers/gpu/drm/panel/panel-samsung-ams495qa01.c new file +547 -0
547 lines not on this page · raw message
Signature · 1 line
2.25.1
Re: [PATCH V3 1/2] dt-bindings: display: panel: Add Samsung AMS495QA01 bindings
In reply to Chris MorganQuoted 11 lines · Chris Morgan
From: Chris Morgan <[email protected]>
Add documentation for the Samsung AMS495QA01 panel.
Signed-off-by Chris Morgan <[email protected]>Signed-off-by Maya Matuszczyk <[email protected]>--- .../display/panel/samsung,ams495qa01.yaml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/samsung,ams495qa01.yaml