Message ID | 20221111203130.9615-1-macroalpha82@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/panel: Add NewVision NV3051D Panels | expand |
On Fri, Nov 11, 2022 at 9:31 PM Chris Morgan <macroalpha82@gmail.com> wrote: > From: Chris Morgan <macromorgan@hotmail.com> > > Add the NewVision NV3051D panel as found on the Anbernic RG353P and > RG353V. The underlying LCD panel itself is unknown (the NV3051D is > the controller), so the device name is used for the panel with a > fallback to the driver IC. > > Changes from V4: > - Removed "prepared" as its tracked by the framework. > - Use mipi_dsi_dcs_write_seq instead of custom implementation. > - Changed devm_gpiod_get_optional to assert GPIO as high at probe so > it is held in reset on suggestion from maintainer. > - Removed requirement for vdd-supply in documentation. > - Added description in documentation for reset gpio to note it should > be active low. v5 looks good, patches applied to drm-misc-next and pushed, I had to fix a minor checkpatch complaint in the driver but it was trivial. Yours, Linus Walleij
From: Chris Morgan <macromorgan@hotmail.com> Add the NewVision NV3051D panel as found on the Anbernic RG353P and RG353V. The underlying LCD panel itself is unknown (the NV3051D is the controller), so the device name is used for the panel with a fallback to the driver IC. Changes from V4: - Removed "prepared" as its tracked by the framework. - Use mipi_dsi_dcs_write_seq instead of custom implementation. - Changed devm_gpiod_get_optional to assert GPIO as high at probe so it is held in reset on suggestion from maintainer. - Removed requirement for vdd-supply in documentation. - Added description in documentation for reset gpio to note it should be active low. Changes from V3: - Changed driver remove function from int to void to match change made to mipi_dsi_driver struct. Changes from V2: - Ensured dt_binding_check and dtbs_check successfully passed. - Corrected some minor formatting issues in documentation. - Added another mode per userspace request for 100hz. I was unable to find a supported 50hz mode that would also work, so for now only 60hz, 100hz, and 120hz are supported. Changes from V1: - Changed compatible string to the driver IC. - Updated documentation to use new compatible string with board name. - Refactored somewhat to make it easier to support other LCD panels with this kernel module. - Added support for 60hz mode. Adjusted pixel clock to ensure proper 60hz and 120hz (previously was running at 124hz). - Added vendor prefix for NewVision. Anbernic vendor prefix added in https://lore.kernel.org/linux-devicetree/20220906210324.28986-2-macroalpha82@gmail.com Chris Morgan (3): dt-bindings: vendor-prefixes: add NewVision vendor prefix dt-bindings: display: panel: Add NewVision NV3051D bindings drm/panel: Add NewVision NV3051D MIPI-DSI LCD panel .../display/panel/newvision,nv3051d.yaml | 63 +++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-newvision-nv3051d.c | 504 ++++++++++++++++++ 5 files changed, 579 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/newvision,nv3051d.yaml create mode 100644 drivers/gpu/drm/panel/panel-newvision-nv3051d.c