[PATCH v3 3/6] dt-bindings: add binding for Sitronix ST7586 display panels
From: david@lechnology.com (David Lechner)
Date: 2017-08-05 16:13:51
Also in:
dri-devel, linux-devicetree, lkml
On 08/04/2017 02:39 PM, Laurent Pinchart wrote:
Hi David, On Friday 04 Aug 2017 10:51:37 David Lechner wrote:quoted
On 08/04/2017 09:54 AM, Laurent Pinchart wrote:quoted
On Thursday 03 Aug 2017 17:33:47 David Lechner wrote:quoted
This adds a new binding for Sitronix ST7586 display panels. Using lego as the vendor prefix in the compatible string because the display panel I am working with is an integral part of the LEGO MINDSTORMS EV3. Signed-off-by: David Lechner <david@lechnology.com> --- .../bindings/display/sitronix,st7586.txt | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/sitronix,st7586.txt diff --git a/Documentation/devicetree/bindings/display/sitronix,st7586.txt b/Documentation/devicetree/bindings/display/sitronix,st7586.txt new file mode 100644 index 0000000..dfb0b7b--- /dev/null +++ b/Documentation/devicetree/bindings/display/sitronix,st7586.txt@@ -0,0 +1,26 @@ +Sitronix ST7586 display panel + +Required properties: +- compatible: "lego,ev3-lcd". + +The node for this driver must be a child node of a SPI controller, hence +all mandatory properties described in ../spi/spi-bus.txt must bespecified. + +Optional properties: +- dc-gpios: D/C pin. The presence/absence of this GPIO determines + the panel interface operation mode (IF[3:1] pins): + - present: IF=011 4-wire 8-bit data serial interface + - absent: IF=010 3-wire 9-bit data serial interfaceHow does this work ? Do you have a single GPIO on your system connected to IF[1], with IF[3:2] hardwired to 01 ?LEGO has not made the internals of the display publicly available, so I cannot say for sure. But I assume that IF[3:1] is hardwired to 011. This causes pin D1 to assigned to the signal A0, which is what we are calling the dc gpio here. If IF[3:1] were hardwired to 010, then pin D1 would be not not used and there would be no A0 signal. So, basically, we can infer the state of IF[3:1] by the fact that we have a dc pin or not.OK, now I understand what you mean. Maybe you should phrase it a bit differently to make it clearer ? How about dc-gpios: Specified or the GPIO connected to the panel's D/C pin (also called A0). The property is required when the panel operates in 4-wire mode (IF[3:1] = 011) and prohibited when the panel operates in 3-wire mode (IF[3:1] = 010).
Yes, this is more clear. Thank you for the suggestion.
By the way, if the signal is named A0, why don't you call the property a0- gpios ?
I consider "dc-gpios" to be a generic name since it is used by many different panels. But I would be OK with calling it "a0-gpios" as well. It will just require more explanation that this is the A0 *signal* and not the A0 *pin*. The actual pin used is labeled *D1* on the controller. On the other hand, it is labeled as A0 on LEGO's schematic, so perhaps a0 is better.
quoted
quoted
quoted
+- reset-gpios: Reset pin +- power-supply: A regulator node for the supply voltage. +- backlight: phandle of the backlight device attached to the panel +- rotation: panel rotation in degrees counter clockwise(0,90,180,270)quoted
quoted
Please use the OF graph DT bindings (a.k.a. ports) to describe the connection between the panel and its source.I am afraid that I do not understand this request. What would the source of the panel be? There is nothing like a SoC LCD controller that is driving this panel.My bad, I should have read the panel datasheet before replying :-S Please ignore this comment.quoted
quoted
quoted
+Example: + display at 0{ + compatible = "lego,ev3-lcd"; + reg = <0>; + spi-max-frequency = <10000000>; + dc-gpios = <&gpio 43 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio 80 GPIO_ACTIVE_HIGH>; + };