Add suppport for sn65dsi86 bridge chip and Innolux 2k edp panel
Subsystems (8)
v12 cover Add suppport for sn65dsi86 bridge chip and Innolux 2k edp panel
Changes in current patchset:
- Explain in comment as in why dsi dev registration is done in bridge_attach.
- Make panel/DDC exclusive until HPD support is added.
- Update interrupts and data-lane dt property bindings.
Sandeep Panda (5):
dt-bindings: media: extend interface documentation for DSI and DP drm/bridge: add support for sn65dsi86 bridge driver
dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings drm/panel: add Innolux TV123WAM panel driver support
dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
.../bindings/display/bridge/ti,sn65dsi86.txt | 86 +++ .../bindings/display/panel/innolux,tv123wam.txt | 20 + .../devicetree/bindings/media/video-interfaces.txt | 10 +- drivers/gpu/drm/bridge/Kconfig | 9 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ti-sn65dsi86.c | 708 +++++++++++++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 + 7 files changed, 857 insertions(+), 4 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt create mode 100644 Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt create mode 100644 drivers/gpu/drm/bridge/ti-sn65dsi86.c
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
A message that is not in the archive (sent off-list or not yet received): 1529584329-632-1-git-send-email-spanda-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
PATCH v12 1/5 dt-bindings: media: extend interface documentation for DSI and DP
Properties like data-lanes, clock-noncontinuous and lane-polarities are applicable to DSI and DisplayPort interface also. So update the documentation to mention the same.
--- Documentation/devicetree/bindings/media/video-interfaces.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
Documentation/devicetree/bindings/media/video-interfaces.txt +6 -4
@@ -99,15 +99,16 @@ Optional endpoint properties determines the logical lane number, while the value of an entry indicates physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have "data-lanes = <1 2>;", assuming the clock lane is on hardware lane 0. - This property is valid for serial busses only (e.g. MIPI CSI-2). + This property is valid for serial busses only (e.g. MIPI CSI-2, MIPI DSI, + DisplayPort). - clock-lanes: an array of physical clock lane indexes. Position of an entry determines the logical lane number, while the value of an entry indicates physical lane, e.g. for a MIPI CSI-2 bus we could have "clock-lanes = <0>;", which places the clock lane on hardware lane 0. This property is valid for serial busses only (e.g. MIPI CSI-2). Note that for the MIPI CSI-2 bus this array contains only one entry. -- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous - clock mode. +- clock-noncontinuous: a boolean property to allow non-continuous clock mode. + This property is valid for serial busses (e.g. MIPI CSI-2, MIPI DSI and DisplayPort). - link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for instance, this is the actual frequency of the bus, not bits per clock per lane value. An array of 64-bit unsigned integers.
@@ -116,7 +117,8 @@ Optional endpoint properties Valid values are 0 (normal) and 1 (inverted). The length of the array should be the combined length of data-lanes and clock-lanes properties. If the lane-polarities property is omitted, the value must be interpreted - as 0 (normal). This property is valid for serial busses only. + as 0 (normal). This property is valid for serial busses only (e.g. MIPI CSI-2, + MIPI DSI, DisplayPort). - strobe: Whether the clock signal is used as clock (0) or strobe (1). Used with CCP2, for instance.
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
PATCH v12 2/5 drm/bridge: add support for sn65dsi86 bridge driver
In reply to a message not in the archiveAdd support for TI's sn65dsi86 dsi2edp bridge chip. The chip converts DSI transmitted signal to eDP signal, which is fed to the connected eDP panel.
This chip can be controlled via either i2c interface or dsi interface. Currently in driver all the control registers are being accessed through i2c interface only. Also as of now HPD support has not been added to bridge chip driver.
Changes in v1:
- Split the dt-bindings and the driver support into separate patches (Andrzej Hajda).
- Use of gpiod APIs to parse and configure gpios instead of obsolete ones (Andrzej Hajda).
- Use macros to define the register offsets (Andrzej Hajda).
Changes in v2:
- Separate out edp panel specific HW resource handling from bridge driver and create a separate edp panel drivers to handle panel specific mode information and HW resources (Sean Paul).
- Replace pr_* APIs to DRM_* APIs to log error or debug information (Sean Paul).
- Remove some of the unnecessary structure/variable from driver (Sean Paul).
- Rename the function and structure prefix "sn65dsi86" to "ti_sn_bridge" (Sean Paul / Rob Herring).
- Remove most of the hard-coding and modified the bridge init sequence based on current mode (Sean Paul).
- Remove the existing function to retrieve the EDID data and implemented this as an i2c_adapter and use drm_get_edid() (Sean Paul).
- Remove the dummy irq handler implementation, will add back the proper irq handling later (Sean Paul).
- Capture the required enable gpios in a single array based on dt entry instead of having individual descriptor for each gpio (Sean Paul).
Changes in v3:
- Remove usage of irq_gpio and replace it as "interrupts" property (Rob Herring).
- Remove the unnecessary header file inclusions (Sean Paul).
- Rearrange the header files in alphabetical order (Sean Paul).
- Use regmap interface to perform i2c transactions.
- Update Copyright/License field and address other review comments (Jordan Crouse).
Changes in v4:
- Update License/Copyright (Sean Paul).
- Add Kconfig and Makefile changes (Sean Paul).
- Drop i2c gpio handling from this bridge driver, since i2c sda/scl gpios will be handled by i2c master.
- Update required supplies names.
- Remove unnecessary goto statements (Sean Paul).
- Add mutex lock to power_ctrl API to avoid race conditions (Sean Paul).
- Add support to parse reference clk frequency from dt(optional).
- Update the bridge chip enable/disable sequence.
Changes in v5:
- Fixed Kbuild test service reported warnings.
Changes in v6:
- Use PM runtime based ref-counting instead of local ref_count mechanism (Stephen Boyd).
- Clean up some debug logs and indentations (Sean Paul).
- Simplify dp rate calculation (Sean Paul).
- Add support to configure refclk based on input REFCLK pin or DACP/N pin (Stephen Boyd).
Changes in v7:
- Use static supply entries instead of dynamic allocation (Andrzej Hajda).
- Defer bridge driver probe if panel is not probed (Andrzej Hajda).
- Update of_graph APIs for correct node reference management. (Andrzej Hajda).
- Remove local display_mode object (Andrzej Hajda).
- Remove version id check function from driver.
Changes in v8:
- Move dsi register/attach function to bridge driver probe (Andrzej Hajda).
- Introduce a new helper function to write 16bit words into consecutive registers (Andrzej Hajda).
- Remove unnecessary macros (Andrzej Hajda).
Changes in v9:
- Remove dsi register/attach from bridge probe, since dsi dev register completion also waits for any panel or bridge to get added. This creates deadlock situation when bridge driver calls dsi dev register and attach before bridge add, in its probe function.
- Fix issues faced during testing of bridge driver on actual HW.
- Remove unnecessary initializations (Stephen Boyd).
- Use local refclk lut size instead of global macro (Sean Paul).
Changes in v10:
- Use refclk to determine if continuous dsi clock is needed or not.
Changes in v11:
- Read DPPLL_SRC register to determine continuous clock instead of using refclk handle (Stephen Boyd).
Changes in v12:
- Explain in comment as in why dsi dev registration is done in bridge_attach (Andrzej Hajda).
- Move HPD disable to bridge_pre_enable (Andrzej Hajda).
- Make panel/DDC exclusive until HPD support is added (Andrzej Hajda).
--- drivers/gpu/drm/bridge/Kconfig | 9 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ti-sn65dsi86.c | 708 ++++++++++++++++++++++++++++++++++ 3 files changed, 718 insertions(+) create mode 100644 drivers/gpu/drm/bridge/ti-sn65dsi86.c
drivers/gpu/drm/bridge/Kconfig +9 -0
@@ -108,6 +108,15 @@ config DRM_TI_TFP410 ---help--- Texas Instruments TFP410 DVI/HDMI Transmitter driver +config DRM_TI_SN65DSI86 + tristate "TI SN65DSI86 DSI to eDP bridge" + depends on OF + select DRM_KMS_HELPER + select REGMAP_I2C + select DRM_PANEL + ---help--- + Texas Instruments SN65DSI86 DSI to eDP Bridge driver + source "drivers/gpu/drm/bridge/analogix/Kconfig" source "drivers/gpu/drm/bridge/adv7511/Kconfig"
drivers/gpu/drm/bridge/Makefile +1 -0
@@ -11,5 +11,6 @@ obj-$(CONFIG_DRM_SII9234) += sii9234.o obj-$(CONFIG_DRM_TOSHIBA_TC358767) += tc358767.o obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/ obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/ +obj-$(CONFIG_DRM_TI_SN65DSI86) += ti-sn65dsi86.o obj-$(CONFIG_DRM_TI_TFP410) += ti-tfp410.o obj-y += synopsys/
drivers/gpu/drm/bridge/ti-sn65dsi86.c new file +708 -0
708 lines not on this page · raw message
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
PATCH v12 3/5 dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings
In reply to a message not in the archiveDocument the bindings used for the sn65dsi86 DSI to eDP bridge.
Changes in v1:
- Rephrase the dt-binding descriptions to be more inline with existing bindings (Andrzej Hajda).
- Add missing dt-binding that are parsed by corresponding driver (Andrzej Hajda).
Changes in v2:
- Remove edp panel specific dt-binding entries. Only keep bridge
specific entries (Sean Paul).
- Remove custom-modes dt entry since its usage is removed from driver also (Sean Paul).
- Remove is-pluggable dt entry since this will not be needed anymore (Sean Paul).
Changes in v3:
- Remove irq-gpio dt entry and instead populate is an interrupt property (Rob Herring).
Changes in v4:
- Add link to bridge chip datasheet (Stephen Boyd)
- Add vpll and vcc regulator supply bindings (Stephen Boyd)
- Add ref clk optional dt binding (Stephen Boyd)
- Add gpio-controller optional dt binding (Stephen Boyd)
Changes in v5:
- Use clock property to specify the input refclk (Stephen Boyd).
- Update gpio cell and pwm cell numbers (Stephen Boyd).
Changes in v6:
- Add property to mention the lane mapping scheme and polarity inversion (Stephen Boyd).
Changes in v7:
- Detail description of lane mapping scheme dt property (Andrzej Hajda/ Rob Herring).
- Removed HDP gpio binding, since the bridge uses IRQ signal to determine HPD, and IRQ property is already documented in binding.
Changes in v8:
- Removed unnecessary explanation of lane mapping and polarity dt property, since these are already explained in media/video-interface dt binidng (Rob Herring).
Changes in v9:
- Avoid putting re-definition of lane mapping and polarity dt binding (Rob Herring).
Changes in v10:
- Use interrupts-extended property instead of interrupts to specify interrupt line (Andrzej Hajda).
- Move data-lanes and lane-polarity property example to proper place (Andrzej Hajda).
--- .../bindings/display/bridge/ti,sn65dsi86.txt | 86 ++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +86 -0
@@ -0,0 +1,86 @@ +SN65DSI86 DSI to eDP bridge chip +-------------------------------- + +This is the binding for Texas Instruments SN65DSI86 bridge. +http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf + +Required properties: +- compatible: Must be "ti,sn65dsi86" +- reg: i2c address of the chip, 0x2d as per datasheet +- enable-gpios: OF device-tree gpio specification for bridge_en pin (active high) + +- vccio-supply: A 1.8V supply that powers up the digital IOs. +- vpll-supply: A 1.8V supply that powers up the displayport PLL. +- vcca-supply: A 1.2V supply that powers up the analog circuits. +- vcc-supply: A 1.2V supply that powers up the digital core. + +Optional properties: +- interrupts-extended: Specifier for the SN65DSI86 interrupt line. + +- ddc-i2c-bus: phandle of the I2C controller used for DDC EDID probing + +- gpio-controller: Marks the device has a GPIO controller. +- #gpio-cells : Should be two. The first cell is the pin number and + the second cell is used to specify flags. + See ../../gpio/gpio.txt for more information. +- #pwm-cells : Should be one. See ../../pwm/pwm.txt for description of + the cell formats. + +- clock-names: should be "refclk" +- clocks: Specification for input reference clock. The reference + clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz. + +- data-lanes: See ../../media/video-interface.txt +- lane-polarities: See ../../media/video-interface.txt + +Required nodes: +This device has two video ports. Their connections are modelled using the +OF graph bindings specified in Documentation/devicetree/bindings/graph.txt. + +- Video port 0 for DSI input +- Video port 1 for eDP output + +Example +------- + +edp-bridge@2d { + compatible = "ti,sn65dsi86"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x2d>; + + enable-gpios = <&msmgpio 33 GPIO_ACTIVE_HIGH>; + + interrupts-extended = <&gpio3 4 IRQ_TYPE_EDGE_FALLING>; + + vccio-supply = <&pm8916_l17>; + vcca-supply = <&pm8916_l6>; + vpll-supply = <&pm8916_l17>; + vcc-supply = <&pm8916_l6>; + + clock-names = "refclk"; + clocks = <&input_refclk>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + edp_bridge_in: endpoint { + remote-endpoint = <&dsi_out>; + }; + }; + + port@1 { + reg = <1>; + + edp_bridge_out: endpoint { + data-lanes = <2 1 3 0>; + lane-polarities = <0 1 0 1>; + remote-endpoint = <&edp_panel_in>; + }; + }; + }; +}
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
A message that is not in the archive (sent off-list or not yet received): 1529584329-632-4-git-send-email-spanda-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
Re: [PATCH v12 3/5] dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings
Quoting Sandeep Panda (2018-06-21 05:32:07)
Quoted 30 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +24
-0@@ -0,0 +1,86 @@ +SN65DSI86 DSI to eDP bridge chip +-------------------------------- + +This is the binding for Texas Instruments SN65DSI86 bridge. +http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf + +Required properties: +- compatible: Must be "ti,sn65dsi86" +- reg: i2c address of the chip, 0x2d as per datasheet +- enable-gpios: OF device-tree gpio specification for bridge_en pin (active high) + +- vccio-supply: A 1.8V supply that powers up the digital IOs. +- vpll-supply: A 1.8V supply that powers up the displayport PLL. +- vcca-supply: A 1.2V supply that powers up the analog circuits. +- vcc-supply: A 1.2V supply that powers up the digital core. + +Optional properties: +- interrupts-extended: Specifier for the SN65DSI86 interrupt line. + +- ddc-i2c-bus: phandle of the I2C controller used for DDC EDID probing + +- gpio-controller: Marks the device has a GPIO controller. +- #gpio-cells : Should be two. The first cell is the pin number and + the second cell is used to specify flags.
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt line 34
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +10
-0+ See ../../gpio/gpio.txt for more information. +- #pwm-cells : Should be one. See ../../pwm/pwm.txt for description of + the cell formats. + +- clock-names: should be "refclk" +- clocks: Specification for input reference clock. The reference + clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4 MHz. + +- data-lanes: See ../../media/video-interface.txt +- lane-polarities: See ../../media/video-interface.txt
We need another property for suspend-gpios function of GPIO1. I suppose for the other GPIOs we don't need anything like this because they're output functions only? GPIO4 can do PWM and I guess if pwm is used in DT from here then the driver can mux that out of gpio4 properly. I have no idea how the hsync and vsync GPIOs would work though. I see that GPIO3 can do DSIA hsync or vsync and GPIO2 can do DSIA vsync and I would guess those are in output mode only. Maybe that's just another property on this node to indicate if we should mux out the function or not. Usually that's done from pinctrl though. I don't have a use case for those functions but I do care about suspend gpios so at least add that one please.
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno
A message that is not in the archive (sent off-list or not yet received): 152962993355.16708.2310695895490918997-n1Xw8LXHxjTHt/[email protected]
Re: [PATCH v12 3/5] dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings
Quoted 51 lines · Stephen Boyd
Quoting Sandeep Panda (2018-06-21 05:32:07)
Quoted 44 lines
(quoted diff) +0
-0
b/Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txtDocumentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +10
-0@@ -0,0 +1,86 @@ +SN65DSI86 DSI to eDP bridge chip +-------------------------------- + +This is the binding for Texas Instruments SN65DSI86 bridge. +http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber=sn65dsi86&fileType=pdf + +Required properties: +- compatible: Must be "ti,sn65dsi86" +- reg: i2c address of the chip, 0x2d as per datasheet +- enable-gpios: OF device-tree gpio specification for bridge_en pin(active high)
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +10
-0+ +- vccio-supply: A 1.8V supply that powers up the digital IOs. +- vpll-supply: A 1.8V supply that powers up the displayport PLL. +- vcca-supply: A 1.2V supply that powers up the analog circuits. +- vcc-supply: A 1.2V supply that powers up the digital core. + +Optional properties: +- interrupts-extended: Specifier for the SN65DSI86 interrupt line. + +- ddc-i2c-bus: phandle of the I2C controller used for DDC EDIDprobing
++- gpio-controller: Marks the device has a GPIO controller. +- #gpio-cells : Should be two. The first cell is the pin numberand
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +3
-0+ the second cell is used to specify flags. + See ../../gpio/gpio.txt for more information. +- #pwm-cells : Should be one. See ../../pwm/pwm.txt for descriptionof
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.txt new file +5
-0+ the cell formats. + +- clock-names: should be "refclk" +- clocks: Specification for input reference clock. The reference + clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4MHz.
+Quoted 2 lines
+- data-lanes: See ../../media/video-interface.txt +- lane-polarities: See ../../media/video-interface.txtWe need another property for suspend-gpios function of GPIO1. I suppose for the other GPIOs we don't need anything like this because they're output functions only? GPIO4 can do PWM and I guess if pwm is used in DT
Quoted 8 lines
from here then the driver can mux that out of gpio4 properly. I have no idea how the hsync and vsync GPIOs would work though. I see that GPIO3 can do DSIA hsync or vsync and GPIO2 can do DSIA vsync and I would guess those are in output mode only. Maybe that's just another property on this node to indicate if we should mux out the function or not. Usually that's done from pinctrl though. I don't have a use case for those functions but I do care about suspend gpios so at least add that one please.
I was thinking of adding gpio1 (suspend-gpio) documentation when we add support for PSR feature. Since for PSR we will be using this suspoend-gpio.
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno
A message that is not in the archive (sent off-list or not yet received): 2110b47210e3caf6b747ae2297e24b33-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org
Re: [PATCH v12 3/5] dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings
Quoting [email protected] (2018-06-24 21:56:05)
Quoted 22 lines · Stephen Boyd
Quoted 7 lines
Quoting Sandeep Panda (2018-06-21 05:32:07)
Quoted 5 lines
+ clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4
MHz.
++- data-lanes: See ../../media/video-interface.txt +- lane-polarities: See ../../media/video-interface.txtQuoted 13 lines
We need another property for suspend-gpios function of GPIO1. I suppose for the other GPIOs we don't need anything like this because they're output functions only? GPIO4 can do PWM and I guess if pwm is used in DT
from here then the driver can mux that out of gpio4 properly. I have no idea how the hsync and vsync GPIOs would work though. I see that GPIO3 can do DSIA hsync or vsync and GPIO2 can do DSIA vsync and I would guess
those are in output mode only. Maybe that's just another property on this node to indicate if we should mux out the function or not. Usually that's done from pinctrl though. I don't have a use case for those functions but I do care about suspend gpios so at least add that one please.
Quoted 4 lines
I was thinking of adding gpio1 (suspend-gpio) documentation when we add support for PSR feature. Since for PSR we will be using this suspoend-gpio.
Ok sure, but I don't see any harm in adding it now. I'm fine with waiting for the binding update when the PSR patches come if you feel like adding it now will delay something.
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno
A message that is not in the archive (sent off-list or not yet received): 152991040964.16708.10837173113497426796-n1Xw8LXHxjTHt/[email protected]
Re: [PATCH v12 3/5] dt-bindings: drm/bridge: Document sn65dsi86 bridge bindings
Quoted 23 lines · Stephen Boyd
Quoting [email protected] (2018-06-24 21:56:05)
Quoted 22 lines · Stephen Boyd
Quoted 20 lines
Quoting Sandeep Panda (2018-06-21 05:32:07)
Quoted 5 lines
+ clock rate must be 12 MHz, 19.2 MHz, 26 MHz, 27 MHz or 38.4
MHz.
++- data-lanes: See ../../media/video-interface.txt +- lane-polarities: See ../../media/video-interface.txtWe need another property for suspend-gpios function of GPIO1. I suppose for the other GPIOs we don't need anything like this because they're output functions only? GPIO4 can do PWM and I guess if pwm is used in DT
from here then the driver can mux that out of gpio4 properly. I have no idea how the hsync and vsync GPIOs would work though. I see that GPIO3 can do DSIA hsync or vsync and GPIO2 can do DSIA vsync and I would guess
those are in output mode only. Maybe that's just another property on this node to indicate if we should mux out the function or not. Usually that's done from pinctrl though. I don't have a use case for those functions but I do care about suspend gpios so at least add that one please.
Quoted 8 lines
Quoted 4 lines
I was thinking of adding gpio1 (suspend-gpio) documentation when we add support for PSR feature. Since for PSR we will be using this suspoend-gpio.
Ok sure, but I don't see any harm in adding it now. I'm fine with waiting for the binding update when the PSR patches come if you feel like adding it now will delay something.
Please make the binding complete as possible now.
Rob
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno
PATCH v12 4/5 drm/panel: add Innolux TV123WAM panel driver support
In reply to a message not in the archiveAdd support for Innolux TV123WAM, which is a 12.3" eDP display panel with 2160x1440 resolution.
Changes in v1:
- Add the compatibility string, display_mode and panel_desc structures in alphabetical order (Sean Paul).
--- drivers/gpu/drm/panel/panel-simple.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
drivers/gpu/drm/panel/panel-simple.c +27 -0
@@ -1190,6 +1190,30 @@ static const struct panel_desc innolux_n156bge_l21 = { }, }; +static const struct drm_display_mode innolux_tv123wam_mode = { + .clock =206016 , + .hdisplay =2160 , + .hsync_start =2160 +48 , + .hsync_end =2160 +48 +32 , + .htotal =2160 +48 +32 +80 , + .vdisplay =1440 , + .vsync_start =1440 +3 , + .vsync_end =1440 +3 +10 , + .vtotal =1440 +3 +10 +27 , + .vrefresh =60 , + .flags =DRM_MODE_FLAG_PHSYNC |DRM_MODE_FLAG_PVSYNC , +}; + +static const struct panel_desc innolux_tv123wam = { + .modes = &innolux_tv123wam_mode, + .num_modes =1 , + .bpc =8 , + .size = { + .width =259 , + .height =173 , + }, +}; +static const struct drm_display_mode innolux_zj070na_01p_mode = { .clock =51501 , .hdisplay =1024 ,
@@ -2037,6 +2061,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "innolux,n156bge-l21", .data = &innolux_n156bge_l21, }, { + .compatible = "innolux,tv123wam", + .data = &innolux_tv123wam, + }, { .compatible = "innolux,zj070na-01p", .data = &innolux_zj070na_01p, }, {
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
PATCH v12 5/5 dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
In reply to a message not in the archiveInnolux TV123WAM is a 12.3" eDP display panel with 2160x1440 resolution, which can be supported by simple panel driver.
Changes in v1:
- Make use of simple panel driver instead of creating a new driver for this panel (Sean Paul).
- Combine dt-binding and driver changes into one patch as done by other existing panel support changes.
Changes in v2:
- Separate driver change from dt-binding documentation (Rob Herring).
- Add the properties from simple-panel binding that are applicable to this panel (Rob Herring).
--- .../bindings/display/panel/innolux,tv123wam.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +20 -0
@@ -0,0 +1,20 @@ +Innolux TV123WAM 12.3 inch eDP 2K display panel + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "innolux,tv123wam" +- power-supply: regulator to provide the supply voltage + +Optional properties: +- enable-gpios: GPIO pin to enable or disable the panel +- backlight: phandle of the backlight device attached to the panel + +Example: + panel_edp: panel-edp { + compatible = "innolux,tv123wam"; + enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>; + power-supply = <&pm8916_l2>; + backlight = <&backlight>; + };
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Freedreno mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/freedreno
Re: [PATCH v12 5/5] dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
Quoted 3 lines · Sandeep Panda
Innolux TV123WAM is a 12.3" eDP display panel with 2160x1440 resolution, which can be supported by simple panel driver.
Are you sure this is Innolux? Quick grep on Internet finds only BOE panel with this TV123WAM[1].
Regards
Andrzej
Quoted 35 lines
Changes in v1:
- Make use of simple panel driver instead of creating a new driver for this panel (Sean Paul).
- Combine dt-binding and driver changes into one patch as done by other existing panel support changes.Changes in v2:
- Separate driver change from dt-binding documentation (Rob Herring).
- Add the properties from simple-panel binding that are applicable to this panel (Rob Herring).Signed-off-by Sandeep Panda <[email protected]>Reviewed-by Rob Herring <[email protected]>--- .../bindings/display/panel/innolux,tv123wam.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtDocumentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +10
-0@@ -0,0 +1,20 @@ +Innolux TV123WAM 12.3 inch eDP 2K display panel + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "innolux,tv123wam" +- power-supply: regulator to provide the supply voltage + +Optional properties:
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt line 20
Quoted 10 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +10
-0+- enable-gpios: GPIO pin to enable or disable the panel +- backlight: phandle of the backlight device attached to the panel + +Example: + panel_edp: panel-edp { + compatible = "innolux,tv123wam"; + enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>; + power-supply = <&pm8916_l2>; + backlight = <&backlight>; + };
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
A message that is not in the archive (sent off-list or not yet received): 20180629121414eucas1p21171a1eab3ee081c8b4114ca58264669~8oIIwEXJJ1824018240eucas1p2G-PmokGAFL9ItqW5MlFJXMulaTQe2KTcn/@public.gmane.org
Re: [PATCH v12 5/5] dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
Quoted 11 lines · Andrzej Hajda
Quoted 3 lines · Sandeep Panda
Innolux TV123WAM is a 12.3" eDP display panel with 2160x1440 resolution, which can be supported by simple panel driver.
Are you sure this is Innolux? Quick grep on Internet finds only BOE panel with this TV123WAM[1].
The panel used here is innolux, which is a 2k panel. Where the BOE one is a 1080p panel.
Quoted 43 lines
Regards
AndrzejQuoted 41 lines
Changes in v1:
- Make use of simple panel driver instead of creating a new driver for this panel (Sean Paul).
- Combine dt-binding and driver changes into one patch as done by other existing panel support changes.Changes in v2:
- Separate driver change from dt-binding documentation (Rob Herring).
- Add the properties from simple-panel binding that are applicable to this panel (Rob Herring).Signed-off-by Sandeep Panda <[email protected]>Reviewed-by Rob Herring <[email protected]>--- .../bindings/display/panel/innolux,tv123wam.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt(quoted diff) +0
-0
b/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtDocumentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +3
-0@@ -0,0 +1,20 @@ +Innolux TV123WAM 12.3 inch eDP 2K display panel + +This binding is compatible with the simple-panel binding, which isspecified
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +9
-0+in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "innolux,tv123wam" +- power-supply: regulator to provide the supply voltage + +Optional properties: +- enable-gpios: GPIO pin to enable or disable the panel +- backlight: phandle of the backlight device attached to the panel
Quoted 8 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt line 20
Quoted 8 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +8
-0+ +Example: + panel_edp: panel-edp { + compatible = "innolux,tv123wam"; + enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>; + power-supply = <&pm8916_l2>; + backlight = <&backlight>; + };
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno
Re: [PATCH v12 5/5] dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
Quoted 5 lines · On 05.07.2018 08:38, [email protected] wrote:
Quoted 4 lines · Andrzej Hajda
Quoted 3 lines · Sandeep Panda
Innolux TV123WAM is a 12.3" eDP display panel with 2160x1440 resolution, which can be supported by simple panel driver.
Quoted 8 lines
Quoted 6 lines
Are you sure this is Innolux? Quick grep on Internet finds only BOE panel with this TV123WAM[1].
The panel used here is innolux, which is a 2k panel. Where the BOE one is a 1080p panel.
My doubts comes from the fact that Innolux uses different convention for panel naming, see for example [1].
According to this convention your panel should have name starting with:
N123ZDG-
TV123WAM follows BOE's convention.
Do you have datasheet, physical panel or something to ensure the name is correct?
[1]:
http://www.panelook.com/bramodlist.php?st=&pl=&brands[]=63&signal_type_category=70
Regards
Andrzej
Quoted 45 lines
Quoted 45 lines
Regards
AndrzejQuoted 42 lines
Changes in v1:
- Make use of simple panel driver instead of creating a new driver for this panel (Sean Paul).
- Combine dt-binding and driver changes into one patch as done by other existing panel support changes.Changes in v2:
- Separate driver change from dt-binding documentation (Rob Herring).
- Add the properties from simple-panel binding that are applicable to this panel (Rob Herring).Signed-off-by Sandeep Panda <[email protected]>Reviewed-by Rob Herring <[email protected]>--- .../bindings/display/panel/innolux,tv123wam.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt(quoted diff) +0
-0
a/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtb/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtnew file mode 100644
index 000000000000..a9b35265fa13
---/dev/null
+++b/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtDocumentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +3
-0@@ -0,0 +1,20 @@ +Innolux TV123WAM 12.3 inch eDP 2K display panel + +This binding is compatible with the simple-panel binding, which isspecified
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +9
-0+in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "innolux,tv123wam" +- power-supply: regulator to provide the supply voltage + +Optional properties: +- enable-gpios: GPIO pin to enable or disable the panel +- backlight: phandle of the backlight device attached to the panel
Quoted 10 lines
Quoted 8 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt line 20
Quoted 8 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +8
-0+ +Example: + panel_edp: panel-edp { + compatible = "innolux,tv123wam"; + enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>; + power-supply = <&pm8916_l2>; + backlight = <&backlight>; + };
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
A message that is not in the archive (sent off-list or not yet received): 20180705101827eucas1p2fcc767335aee02c1735e045ebefabc84~_cawUMmOH2040620406eucas1p22-PmokGAFL9ItqW5MlFJXMulaTQe2KTcn/@public.gmane.org
Re: [PATCH v12 5/5] dt-bindings: drm/panel: Document Innolux TV123WAM panel bindings
Quoted 23 lines · Andrzej Hajda
Quoted 5 lines · On 05.07.2018 08:38, [email protected] wrote:
Quoted 4 lines · Andrzej Hajda
Quoted 3 lines · Sandeep Panda
Innolux TV123WAM is a 12.3" eDP display panel with 2160x1440 resolution, which can be supported by simple panel driver.
Quoted 8 lines
Quoted 6 lines
Are you sure this is Innolux? Quick grep on Internet finds only BOE panel with this TV123WAM[1].
The panel used here is innolux, which is a 2k panel. Where the BOE one is a 1080p panel.
My doubts comes from the fact that Innolux uses different convention for panel naming, see for example [1].
According to this convention your panel should have name starting with:
N123ZDG-TV123WAM follows BOE's convention.
Quoted 9 lines
Do you have datasheet, physical panel or something to ensure the name is correct?
[1]:
http://www.panelook.com/bramodlist.php?st=&pl=&brands[]=63&signal_type_category=70Regards
Andrzej
The data sheet i have does not mention any version info/id of innolux panel, so i took the version name from a down stream patch we had earlier used to bring up this panel. Unfortunately i can not share the data sheet also as it is water marked as confidential.
This panel patches are already merged in drm-misc, will upload a new patch to remove tv123* name and put some generic innolux panel name like innolux,2k
Quoted 49 lines
Quoted 49 lines
Quoted 49 lines
Regards
AndrzejQuoted 46 lines
Changes in v1:
- Make use of simple panel driver instead of creating a new driver for this panel (Sean Paul).
- Combine dt-binding and driver changes into one patch as done by other existing panel support changes.Changes in v2:
- Separate driver change from dt-binding documentation (Rob
Herring).
- Add the properties from simple-panel binding that are applicable
to
this panel (Rob Herring).Signed-off-by Sandeep Panda <[email protected]>Reviewed-by Rob Herring <[email protected]>--- .../bindings/display/panel/innolux,tv123wam.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtdiff --git
a/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtb/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtnew file mode 100644
index 000000000000..a9b35265fa13
---/dev/null
+++b/Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txtDocumentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +3
-0@@ -0,0 +1,20 @@ +Innolux TV123WAM 12.3 inch eDP 2K display panel + +This binding is compatible with the simple-panel binding, which isspecified
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +11
-0+in simple-panel.txt in this directory. + +Required properties: +- compatible: should be "innolux,tv123wam" +- power-supply: regulator to provide the supply voltage + +Optional properties: +- enable-gpios: GPIO pin to enable or disable the panel +- backlight: phandle of the backlight device attached to the panel + +Example:
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt line 20
Quoted 6 lines
Documentation/devicetree/bindings/display/panel/innolux,tv123wam.txt new file +6
-0+ panel_edp: panel-edp { + compatible = "innolux,tv123wam"; + enable-gpios = <&msmgpio 31 GPIO_ACTIVE_LOW>; + power-supply = <&pm8916_l2>; + backlight = <&backlight>; + };
_______________________________________________
Freedreno mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/freedreno