dt-bindings: Add Japan Display Inc vendor id
Subsystems (4)
PATCH 1/4 dt-bindings: Add Japan Display Inc vendor id
Add vendor id for Japan Display Inc.
--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
@@ -138,6 +138,7 @@ invensense InvenSense Inc. isee ISEE 2007 S.L. isil Intersil issi Integrated Silicon Solutions Inc. +jdi Japan Display Inc. jedec JEDEC Solid State Technology Association karo Ka-Ro electronics GmbH keymile Keymile GmbH
Signature · 6 lines
1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v2 2/4 dt-bindings: Add jdi lt070me05000 panel bindings
Add documentation for lt070me05000 panel
---
v2:
* incorporated rob herring and thierry reviews gpio to gpios, gpio to regulator using fixed regulators and pwm backlight is removed, since it is controlled by dcs commands
--- .../bindings/display/panel/jdi,lt070me05000.txt | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.txt
Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.txt new file +57 -0
@@ -0,0 +1,57 @@ +JDI model LT070ME05000 1200x1920 7" DSI Panel + +Required properties: +- compatible: should be "jdi,lt070me05000" +- vddp-supply: phandle of the regulator that provides the supply voltage + Power IC supply (3-5V) +- dcdc_en-supply: phandle of the regulator that provides the supply voltage + Power IC supply enable, High active +- vcc-supply: phandle of the regulator that provides the supply voltage + IOVCC , power supply for LCM (1.8V) +- reset-gpios: phandle of gpio for reset line + This should be 8mA, gpio can be configured using mux, pinctrl, pinctrl-names + XRES, Reset, Low active +- enable-gpios: phandle of gpio for enable line + LED_EN, LED backlight enable, High active + +Example: + + vcc_1p8v: regulator-fixed@2 { + compatible = "regulator-fixed"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-name = "vcc_1p8v"; + regulator-type = "voltage"; + startup-delay-us = <0>; + gpio = <&pm8921_gpio 23 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + }; + + tlmm_pinmux: pinctrl@800000 { + + dsi_panel_pinctrl: dsi-panel-pinctrl { + mux { + pins = "gpio54"; + function = "gpio"; + bias-pull-up; + drive-strength = <8>; + }; + }; + }; + + dsi0: qcom,mdss_dsi@4700000 { + panel@0 { + compatible = "jdi,lt070me05000"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&dsi_panel_pinctrl>; + + vddp-supply = <&pm8921_l17>; + dcdc_en-supply = <&pm8921_lvs7>; + vcc-supply = <&vcc_1p8v>; + + reset-gpios = <&tlmm_pinmux 54 0>; + enable-gpios = <&pm8921_gpio 36 GPIO_ACTIVE_HIGH>; + }; + };
Signature · 1 line
1.9.1
PATCH v2 3/4 drm/dsi: Implement dcs set/get display brightness
In reply to Vinay Simha BNProvide a small convenience wrapper that set/get the display brightness value
---
v1:
*tested in nexus7 2nd gen.
v2:
* implemented jani review comments
-functions name mapped accordingly
-bl value increased from 0xff to 0xffff -backlight interface will be handled in panel driver,
so it is moved from the mipi_dsi helper function
--- drivers/gpu/drm/drm_mipi_dsi.c | 49 ++++++++++++++++++++++++++++++++++++++++++ include/drm/drm_mipi_dsi.h | 4 ++++ 2 files changed, 53 insertions(+)
drivers/gpu/drm/drm_mipi_dsi.c +49 -0
@@ -1041,6 +1041,55 @@ int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format) }EXPORT_SYMBOL (mipi_dsi_dcs_set_pixel_format); +/** +* mipi_dsi_dcs_get_display_brightness() - gets the current brightness value +* of the display +* @dsi: DSI peripheral device +* @brightness: brightness value +* +* Return: 0 on success or a negative error code on failure. +*/ +int mipi_dsi_dcs_get_display_brightness (struct mipi_dsi_device *dsi, +u16 *brightness) +{ +ssize_t err; + + err =mipi_dsi_dcs_read (dsi,MIPI_DCS_GET_DISPLAY_BRIGHTNESS , + brightness,sizeof (*brightness)); +if (err <0 ) { +if (err ==0 ) + err = -ENODATA ; + +return err; + } + +return 0 ; +} +EXPORT_SYMBOL (mipi_dsi_dcs_get_display_brightness); + +/** +* mipi_dsi_dcs_set_display_brightness() - sets the brightness value of +* the display +* @dsi: DSI peripheral device +* @brightness: brightness value +* +* Return: 0 on success or a negative error code on failure. +*/ +int mipi_dsi_dcs_set_display_brightness (struct mipi_dsi_device *dsi, +u16 brightness) +{ +ssize_t err; +u8 bl_value[2 ] = { brightness &0xff , brightness >>8 }; + + err =mipi_dsi_dcs_write (dsi,MIPI_DCS_SET_DISPLAY_BRIGHTNESS , + bl_value,sizeof (bl_value)); +if (err <0 ) +return err; + +return 0 ; +} +EXPORT_SYMBOL (mipi_dsi_dcs_set_display_brightness); +static int mipi_dsi_drv_probe (struct device *dev) {struct mipi_dsi_driver *drv =to_mipi_dsi_driver (dev->driver);
include/drm/drm_mipi_dsi.h +4 -0
@@ -270,6 +270,10 @@ int mipi_dsi_dcs_set_tear_off(struct mipi_dsi_device *dsi);int mipi_dsi_dcs_set_tear_on (struct mipi_dsi_device *dsi,enum mipi_dsi_dcs_tear_mode mode);int mipi_dsi_dcs_set_pixel_format (struct mipi_dsi_device *dsi,u8 format); +int mipi_dsi_dcs_get_display_brightness (struct mipi_dsi_device *dsi, +u16 *brightness); +int mipi_dsi_dcs_set_display_brightness (struct mipi_dsi_device *dsi, +u16 brightness);/** * struct mipi_dsi_driver - DSI driver
Signature · 1 line
1.9.1
Re: [PATCH v2 3/4] drm/dsi: Implement dcs set/get display brightness
drivers/gpu/drm/drm_mipi_dsi.c int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format) · line 1060
Quoted 9 lines · Vinay Simha BN
drivers/gpu/drm/drm_mipi_dsi.c +9
-0+int mipi_dsi_dcs_get_display_brightness (struct mipi_dsi_device *dsi, +u16 *brightness) +{ +ssize_t err; + + err =mipi_dsi_dcs_read (dsi,MIPI_DCS_GET_DISPLAY_BRIGHTNESS , + brightness,sizeof (*brightness)); +if (err <0 ) { +if (err ==0 )
Something looks fishy here. This can never be true, can it ?
-Emil
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2 3/4] drm/dsi: Implement dcs set/get display brightness
yes, it is wrong.
it supposed to be
if(err <= 0) {
if(err == 0)will resend a modified version
Quoted 15 lines · Emil Velikov
drivers/gpu/drm/drm_mipi_dsi.c int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format) · line 1060
Quoted 9 lines · Vinay Simha BN
drivers/gpu/drm/drm_mipi_dsi.c +9
-0+int mipi_dsi_dcs_get_display_brightness (struct mipi_dsi_device *dsi, +u16 *brightness) +{ +ssize_t err; + + err =mipi_dsi_dcs_read (dsi,MIPI_DCS_GET_DISPLAY_BRIGHTNESS , + brightness,sizeof (*brightness)); +if (err <0 ) { +if (err ==0 )Something looks fishy here. This can never be true, can it ?
-Emil
Signature · 3 lines
Regards, Vinay Simha.B.N.
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
PATCH v8 4/4 drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel
In reply to Vinay Simha BNAdd support for the JDI LT070ME05000 WUXGA DSI panel used in Nexus 7 2013 devices.
Programming sequence for the panel is was originally found in the android-msm-flo-3.4-lollipop-release branch from:
https://android.googlesource.com/kernel/msm.git
And video mode setting is from dsi-panel-jdi-dualmipi1-video.dtsi file in:
git://codeaurora.org/kernel/msm-3.10.git LNX.LA.3.6_rb1.27
---
v1:
* sumit ported to drm/panel framework, john cherry-picked to mainline, folded down other fixes from Vinay and Archit, vinay removed interface setting cmd mode, video mode panel selected
v2:
* incorporated code reviews from theiry, archit
code style, alphabetical soring in Makefile, Kconfig, regulator_bulk, arrays of u8, generic helper function, documentation bindings,
v3:
* dcs backlight support added
* tested this panel driver in nexus7 2013 device
v4:
* backlight interface added in the panel driver
* incorporated width_mm and height_mm suggested by rob herring
v5:
* theirry review comments incorporated
panel model naming consistent, alphabetical soring in Kconfig Makefile, MAX_BRIGHTNESS dropped, regulator_names, parameterize panel width and height, descprition for control display, cabc and interface setting, temporary variable removed, consistent error reporting and commit message
* removed tear on/off, scanline, since these are required only for command mode panels
v6:
* emil review comments incorporated PANEL_NUM_REGULATORS dropped, return ret added at necessary places, if checks dropped for backlight and gpios
v7:
* emil review comments incorporated
added ARRAY_SIZE in struct, regulator_bulk_disable in poweroff, gpios checks dropped.
some returns cannot be dropped, since drm panel framework return type required.
v8:
* emil review commnets incorporated for jdi_panel_unprepare, dropped the returns (ref: panel-sharp-lq101r1sx01.c) and for jdi_panel_prepare(panel_on) it does not return prematurely and goes to poweroff if not success
* few dev_err's for panel_init
--- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 518 +++++++++++++++++++++++++ 3 files changed, 530 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-jdi-lt070me05000.c
drivers/gpu/drm/panel/Kconfig +11 -0
@@ -18,6 +18,17 @@ config DRM_PANEL_SIMPLE that it can be automatically turned off when the panel goes into a low power state. +config DRM_PANEL_JDI_LT070ME05000 + tristate "JDI LT070ME05000 WUXGA DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for JDI DSI video mode + panel as found in Google Nexus 7 (2013) devices. + The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses + 24 bit per pixel. + config DRM_PANEL_SAMSUNG_LD9040 tristate "Samsung LD9040 RGB/SPI panel" depends on OF && SPI
drivers/gpu/drm/panel/Makefile +1 -0
@@ -1,4 +1,5 @@ obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o +obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o
drivers/gpu/drm/panel/panel-jdi-lt070me05000.c new file +518 -0
518 lines not on this page · raw message
Signature · 1 line
1.9.1
Re: [PATCH v8 4/4] drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel
Quoted 11 lines · Vinay Simha BN
Add support for the JDI LT070ME05000 WUXGA DSI panel used in Nexus 7 2013 devices.
Programming sequence for the panel is was originally found in the android-msm-flo-3.4-lollipop-release branch from:
https://android.googlesource.com/kernel/msm.gitAnd video mode setting is from
dsi-panel-jdi-dualmipi1-video.dtsifile in:git://codeaurora.org/kernel/msm-3.10.git LNX.LA.3.6_rb1.27
Quoted 10 lines
Cc Archit Taneja <[email protected]>Cc Rob Clark <[email protected]>Cc Sumit Semwal <[email protected]>Cc John Stultz <[email protected]>Cc Emil Velikov <[email protected]>Cc Thierry Reding <[email protected]>Cc David Airlie <[email protected]>Signed-off-by Sumit Semwal <[email protected]>Signed-off-by John Stultz <[email protected]>Signed-off-by Vinay Simha BN <[email protected]>
Just fyi, I've re-integrated this patch set into my flo-WIP branch and its working well.
I dunno if its of any use, but:
thanks
-john
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Emil Velikov
Reviewed-byRe: [PATCH v8 4/4] drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel
Quoted 23 lines · John Stultz
Quoted 11 lines · Vinay Simha BN
Add support for the JDI LT070ME05000 WUXGA DSI panel used in Nexus 7 2013 devices.
Programming sequence for the panel is was originally found in the android-msm-flo-3.4-lollipop-release branch from:
https://android.googlesource.com/kernel/msm.gitAnd video mode setting is from
dsi-panel-jdi-dualmipi1-video.dtsifile in:git://codeaurora.org/kernel/msm-3.10.git LNX.LA.3.6_rb1.27Quoted 10 lines
Cc Archit Taneja <[email protected]>Cc Rob Clark <[email protected]>Cc Sumit Semwal <[email protected]>Cc John Stultz <[email protected]>Cc Emil Velikov <[email protected]>Cc Thierry Reding <[email protected]>Cc David Airlie <[email protected]>Signed-off-by Sumit Semwal <[email protected]>Signed-off-by John Stultz <[email protected]>Signed-off-by Vinay Simha BN <[email protected]>
Quoted 6 lines
Just fyi, I've re-integrated this patch set into my flo-WIP branch and its working well.
I dunno if its of any use, but:
Tested-by John Stultz <[email protected]>
It always is. Thank you!
Vinay, thanks for the patience and I hope you grok the reason behind the requested changes.
The patch is
Regards,
Emil
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v8 4/4] drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel
Quoted 28 lines · Emil Velikov
Quoted 1 line · John Stultz
On Wed, Jul 13, 2016 at 9:44 AM, Vinay Simha BN <[email protected]>
Quoted 25 lines · wrote:
Quoted 11 lines
Add support for the JDI LT070ME05000 WUXGA DSI panel used in Nexus 7 2013 devices.
Programming sequence for the panel is was originally found in the android-msm-flo-3.4-lollipop-release branch from:
https://android.googlesource.com/kernel/msm.gitAnd video mode setting is from
dsi-panel-jdi-dualmipi1-video.dtsifile in:git://codeaurora.org/kernel/msm-3.10.git LNX.LA.3.6_rb1.27Quoted 10 lines
Cc Archit Taneja <[email protected]>Cc Rob Clark <[email protected]>Cc Sumit Semwal <[email protected]>Cc John Stultz <[email protected]>Cc Emil Velikov <[email protected]>Cc Thierry Reding <[email protected]>Cc David Airlie <[email protected]>Signed-off-by Sumit Semwal <[email protected]>Signed-off-by John Stultz <[email protected]>Signed-off-by Vinay Simha BN <[email protected]>Just fyi, I've re-integrated this patch set into my flo-WIP branch and its working well.
Quoted 8 lines
Quoted 3 lines
I dunno if its of any use, but:
Tested-by John Stultz <[email protected]>It always is. Thank you!
Vinay, thanks for the patience and I hope you grok the reason behind the requested changes.
yes.
premature returns should be avoided. it leads to the caller failure, intermediate funcs also will not get executed (gpios, regulator disable). In this case even the dsi fails, it should be panel(dsi write) failures rather than the bridge/interface.
Quoted 7 lines
The patch is
Reviewed-by Emil Velikov <[email protected]>Regards,
Emil
Signature · 3 lines
Regards, Vinay Simha.B.N.
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel