linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I
@ 2019-07-22 15:04 Torsten Duwe
  2019-07-22 18:47 ` Vasily Khoruzhick
  2019-07-25 15:18 ` [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Torsten Duwe
  0 siblings, 2 replies; 7+ messages in thread
From: Torsten Duwe @ 2019-07-22 15:04 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	Thierry Reding, David Airlie, Daniel Vetter, Andrzej Hajda,
	Laurent Pinchart, Icenowy Zheng, Sean Paul, Vasily Khoruzhick,
	Harald Geyer, Greg Kroah-Hartman, Thomas Gleixner
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel, Bcc:duwe

ANX6345 LVTTL->eDP video bridge, driver with device tree bindings.

Changes from v2:

* use SPDX-IDs throughout

* removed the panel output again, as it was not what Maxime had in mind.
  At least the Teres-I does very well without. No connector spec, no "quirks"[1],
  just plain EDID at work.

* binding clarifications and cosmetic changes as suggested by Andrzej

Changes from v1:

* fixed up copyright information. Most code changes are only moves and thus
  retain copyright and module ownership. Even the new analogix-anx6345.c originates
  from the old 1495-line analogix-anx78xx.c, with 306 insertions and 987 deletions
  (ignoring the trivial anx78xx -> anx6345 replacements) 306 new vs. 508 old...

* fixed all minor formatting issues brought up

* merged previously separate new analogix_dp_i2c module into existing analogix_dp

* split additional defines into a preparatory patch

* renamed the factored-out common functions anx_aux_* -> anx_dp_aux_*, because
  anx_...aux_transfer was exported globally. Besides, it is now GPL-only exported.

* moved chip ID read into a separate function.

* keep the chip powered after a successful probe.
  (There's a good chance that this is the only display during boot!)

* updated the binding document: LVTTL input is now required, only the output side
  description is optional.

 Laurent: I have also looked into the drm_panel_bridge infrastructure,
 but it's not that trivial to convert these drivers to it.

Changes from the respective previous versions:

* the reset polarity is corrected in DT and the driver;
  things should be clearer now.

* as requested, add a panel (the known innolux,n116bge) and connect
  the ports.

* renamed dvdd?? to *-supply to match the established scheme

* trivial update to the #include list, to make it compile in 5.2

--------------
[1] I hesitate to associate information about a connected panel with that term.
    But should it be neccessary for maximum power saving (e.g. pinebooks),
    it would be good to have something here, regardless of nomenclature.

	Torsten

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I
  2019-07-22 15:04 [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I Torsten Duwe
@ 2019-07-22 18:47 ` Vasily Khoruzhick
  2019-07-25 15:18 ` [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Torsten Duwe
  1 sibling, 0 replies; 7+ messages in thread
From: Vasily Khoruzhick @ 2019-07-22 18:47 UTC (permalink / raw)
  To: Torsten Duwe
  Cc: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	Thierry Reding, David Airlie, Daniel Vetter, Andrzej Hajda,
	Laurent Pinchart, Icenowy Zheng, Sean Paul, Harald Geyer,
	Greg Kroah-Hartman, Thomas Gleixner, dri-devel, devicetree,
	arm-linux, linux-kernel, Bcc:duwe

On Mon, Jul 22, 2019 at 8:04 AM Torsten Duwe <duwe@lst.de> wrote:
>
> ANX6345 LVTTL->eDP video bridge, driver with device tree bindings.
>
> Changes from v2:
>
> * use SPDX-IDs throughout
>
> * removed the panel output again, as it was not what Maxime had in mind.
>   At least the Teres-I does very well without. No connector spec, no "quirks"[1],
>   just plain EDID at work.

You still need a panel to put backlight in there. Otherwise backlight
will stay on when display is turned off.

>
> * binding clarifications and cosmetic changes as suggested by Andrzej
>
> Changes from v1:
>
> * fixed up copyright information. Most code changes are only moves and thus
>   retain copyright and module ownership. Even the new analogix-anx6345.c originates
>   from the old 1495-line analogix-anx78xx.c, with 306 insertions and 987 deletions
>   (ignoring the trivial anx78xx -> anx6345 replacements) 306 new vs. 508 old...
>
> * fixed all minor formatting issues brought up
>
> * merged previously separate new analogix_dp_i2c module into existing analogix_dp
>
> * split additional defines into a preparatory patch
>
> * renamed the factored-out common functions anx_aux_* -> anx_dp_aux_*, because
>   anx_...aux_transfer was exported globally. Besides, it is now GPL-only exported.
>
> * moved chip ID read into a separate function.
>
> * keep the chip powered after a successful probe.
>   (There's a good chance that this is the only display during boot!)
>
> * updated the binding document: LVTTL input is now required, only the output side
>   description is optional.
>
>  Laurent: I have also looked into the drm_panel_bridge infrastructure,
>  but it's not that trivial to convert these drivers to it.
>
> Changes from the respective previous versions:
>
> * the reset polarity is corrected in DT and the driver;
>   things should be clearer now.
>
> * as requested, add a panel (the known innolux,n116bge) and connect
>   the ports.
>
> * renamed dvdd?? to *-supply to match the established scheme
>
> * trivial update to the #include list, to make it compile in 5.2
>
> --------------
> [1] I hesitate to associate information about a connected panel with that term.
>     But should it be neccessary for maximum power saving (e.g. pinebooks),
>     it would be good to have something here, regardless of nomenclature.
>
>         Torsten

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
  2019-07-22 15:04 [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I Torsten Duwe
  2019-07-22 18:47 ` Vasily Khoruzhick
@ 2019-07-25 15:18 ` Torsten Duwe
  2019-07-26 16:36   ` Maxime Ripard
  1 sibling, 1 reply; 7+ messages in thread
From: Torsten Duwe @ 2019-07-25 15:18 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	Thierry Reding, David Airlie, Daniel Vetter, Andrzej Hajda,
	Laurent Pinchart, Icenowy Zheng, Sean Paul, Vasily Khoruzhick,
	Harald Geyer, Greg Kroah-Hartman, Thomas Gleixner
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel

The anx6345 is an ultra-low power DisplayPort/eDP transmitter designed
for portable devices.

Add a binding document for it.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Torsten Duwe <duwe@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 .../devicetree/bindings/display/bridge/anx6345.yaml |   90 ++++++++++
 1 file changed, 90 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml

diff --git a/Documentation/devicetree/bindings/display/bridge/anx6345.yaml b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
new file mode 100644
index 000000000000..0af092d101c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
@@ -0,0 +1,90 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/bridge/anx6345.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analogix ANX6345 eDP Transmitter Device Tree Bindings
+
+maintainers:
+  - Torsten Duwe <duwe@lst.de>
+
+description: |
+  The ANX6345 is an ultra-low power Full-HD eDP transmitter designed for
+  portable devices.
+
+properties:
+  compatible:
+    const: analogix,anx6345
+
+  reg:
+    maxItems: 1
+    description: I2C address of the device
+
+  reset-gpios:
+    maxItems: 1
+    description: active low GPIO to use for reset
+
+  dvdd12-supply:
+    maxItems: 1
+    description: Regulator for 1.2V digital core power.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  dvdd25-supply:
+    maxItems: 1
+    description: Regulator for 2.5V digital core power.
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  ports:
+    type: object
+    minItems: 1
+    maxItems: 2
+    description: |
+      Video port 0 for LVTTL input,
+      Video port 1 for eDP output (panel or connector)
+      using the DT bindings defined in
+      Documentation/devicetree/bindings/media/video-interfaces.txt
+
+required:
+  - compatible
+  - reg
+  - reset-gpios
+  - dvdd12-supply
+  - dvdd25-supply
+  - ports
+
+examples:
+ - |
+  anx6345: anx6345@38 {
+      compatible = "analogix,anx6345";
+      reg = <0x38>;
+      reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
+      dvdd25-supply = <&reg_dldo2>;
+      dvdd12-supply = <&reg_fldo1>;
+
+      ports {
+          #address-cells = <1>;
+          #size-cells = <0>;
+
+          anx6345_in: port@0 {
+              #address-cells = <1>;
+              #size-cells = <0>;
+              reg = <0>;
+              anx6345_in_tcon0: endpoint@0 {
+                  reg = <0>;
+                  remote-endpoint = <&tcon0_out_anx6345>;
+              };
+          };
+
+          anx6345_out: port@1 {
+              #address-cells = <1>;
+              #size-cells = <0>;
+              reg = <1>;
+
+              anx6345_out_panel: endpoint@0 {
+                  reg = <0>;
+                  remote-endpoint = <&panel_in_edp>;
+              };
+          };
+      };
+  };

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
  2019-07-25 15:18 ` [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Torsten Duwe
@ 2019-07-26 16:36   ` Maxime Ripard
  2019-07-29 14:22     ` Torsten Duwe
  0 siblings, 1 reply; 7+ messages in thread
From: Maxime Ripard @ 2019-07-26 16:36 UTC (permalink / raw)
  To: Torsten Duwe
  Cc: Chen-Yu Tsai, Rob Herring, Mark Rutland, Thierry Reding,
	David Airlie, Daniel Vetter, Andrzej Hajda, Laurent Pinchart,
	Icenowy Zheng, Sean Paul, Vasily Khoruzhick, Harald Geyer,
	Greg Kroah-Hartman, Thomas Gleixner, dri-devel, devicetree,
	linux-arm-kernel, linux-kernel

Hi,

On Thu, Jul 25, 2019 at 05:18:29PM +0200, Torsten Duwe wrote:
> The anx6345 is an ultra-low power DisplayPort/eDP transmitter designed
> for portable devices.
>
> Add a binding document for it.
>
> Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Torsten Duwe <duwe@suse.de>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  .../devicetree/bindings/display/bridge/anx6345.yaml |   90 ++++++++++
>  1 file changed, 90 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/anx6345.yaml b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
> new file mode 100644
> index 000000000000..0af092d101c5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/bridge/anx6345.yaml
> @@ -0,0 +1,90 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/bridge/anx6345.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analogix ANX6345 eDP Transmitter Device Tree Bindings
> +
> +maintainers:
> +  - Torsten Duwe <duwe@lst.de>
> +
> +description: |
> +  The ANX6345 is an ultra-low power Full-HD eDP transmitter designed for
> +  portable devices.
> +
> +properties:
> +  compatible:
> +    const: analogix,anx6345
> +
> +  reg:
> +    maxItems: 1
> +    description: I2C address of the device
> +
> +  reset-gpios:
> +    maxItems: 1
> +    description: active low GPIO to use for reset
> +
> +  dvdd12-supply:
> +    maxItems: 1
> +    description: Regulator for 1.2V digital core power.
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +
> +  dvdd25-supply:
> +    maxItems: 1
> +    description: Regulator for 2.5V digital core power.
> +    $ref: /schemas/types.yaml#/definitions/phandle

There's no need to specify the type here, all the properties ending in
-supply are already checked for that type

> +  ports:
> +    type: object
> +    minItems: 1
> +    maxItems: 2
> +    description: |
> +      Video port 0 for LVTTL input,
> +      Video port 1 for eDP output (panel or connector)
> +      using the DT bindings defined in
> +      Documentation/devicetree/bindings/media/video-interfaces.txt

You should probably describe the port@0 and port@1 nodes here as
well. It would allow you to express that the port 0 is mandatory and
the port 1 optional, which got dropped in the conversion.

Maxime

--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
  2019-07-26 16:36   ` Maxime Ripard
@ 2019-07-29 14:22     ` Torsten Duwe
  2019-07-29 23:54       ` Rob Herring
  0 siblings, 1 reply; 7+ messages in thread
From: Torsten Duwe @ 2019-07-29 14:22 UTC (permalink / raw)
  To: Rob Herring, Maxime Ripard
  Cc: Chen-Yu Tsai, Mark Rutland, Thierry Reding, David Airlie,
	Daniel Vetter, Andrzej Hajda, Laurent Pinchart, Icenowy Zheng,
	Sean Paul, Vasily Khoruzhick, Harald Geyer, Greg Kroah-Hartman,
	Thomas Gleixner, dri-devel, devicetree, linux-arm-kernel,
	linux-kernel

On Fri, Jul 26, 2019 at 06:36:01PM +0200, Maxime Ripard wrote:
> > +
> > +  dvdd12-supply:
> > +    maxItems: 1
> > +    description: Regulator for 1.2V digital core power.
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> > +
> > +  dvdd25-supply:
> > +    maxItems: 1
> > +    description: Regulator for 2.5V digital core power.
> > +    $ref: /schemas/types.yaml#/definitions/phandle
> 
> There's no need to specify the type here, all the properties ending in
> -supply are already checked for that type

Ok, thanks for the hint.

> > +  ports:
> > +    type: object
> > +    minItems: 1
> > +    maxItems: 2
> > +    description: |
> > +      Video port 0 for LVTTL input,
> > +      Video port 1 for eDP output (panel or connector)
> > +      using the DT bindings defined in
> > +      Documentation/devicetree/bindings/media/video-interfaces.txt
> 
> You should probably describe the port@0 and port@1 nodes here as
> well. It would allow you to express that the port 0 is mandatory and
> the port 1 optional, which got dropped in the conversion.

I would have liked to, but have not discovered yet a comprehensive source
of information about recommended syntax and semantics of the YAML schemes.

Is there some central reference for these types of issues? I mean not the
"here is a git repo with the meta-schemes" but sort of a cookbook?

	Torsten



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding
  2019-07-29 14:22     ` Torsten Duwe
@ 2019-07-29 23:54       ` Rob Herring
  0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2019-07-29 23:54 UTC (permalink / raw)
  To: Torsten Duwe
  Cc: Maxime Ripard, Chen-Yu Tsai, Mark Rutland, Thierry Reding,
	David Airlie, Daniel Vetter, Andrzej Hajda, Laurent Pinchart,
	Icenowy Zheng, Sean Paul, Vasily Khoruzhick, Harald Geyer,
	Greg Kroah-Hartman, Thomas Gleixner, dri-devel, devicetree,
	moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE,
	linux-kernel

On Mon, Jul 29, 2019 at 8:23 AM Torsten Duwe <duwe@lst.de> wrote:
>
> On Fri, Jul 26, 2019 at 06:36:01PM +0200, Maxime Ripard wrote:
> > > +
> > > +  dvdd12-supply:
> > > +    maxItems: 1
> > > +    description: Regulator for 1.2V digital core power.
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> > > +
> > > +  dvdd25-supply:
> > > +    maxItems: 1
> > > +    description: Regulator for 2.5V digital core power.
> > > +    $ref: /schemas/types.yaml#/definitions/phandle
> >
> > There's no need to specify the type here, all the properties ending in
> > -supply are already checked for that type
>
> Ok, thanks for the hint.
>
> > > +  ports:
> > > +    type: object
> > > +    minItems: 1
> > > +    maxItems: 2
> > > +    description: |
> > > +      Video port 0 for LVTTL input,
> > > +      Video port 1 for eDP output (panel or connector)
> > > +      using the DT bindings defined in
> > > +      Documentation/devicetree/bindings/media/video-interfaces.txt
> >
> > You should probably describe the port@0 and port@1 nodes here as
> > well. It would allow you to express that the port 0 is mandatory and
> > the port 1 optional, which got dropped in the conversion.
>
> I would have liked to, but have not discovered yet a comprehensive source
> of information about recommended syntax and semantics of the YAML schemes.

The language is json-schema.

> Is there some central reference for these types of issues? I mean not the
> "here is a git repo with the meta-schemes" but sort of a cookbook?

Documentation/devicetree/writing-schema.md (soon .rst) and
Documentation/devicetree/bindings/example-schema.yaml attempt to do
this. Any feedback on them would be helpful.

For this case specifically, we do need to define a common graph
schema, but haven't yet. You can assume we do and only really need to
capture what Maxime said above.

Rob

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I
@ 2019-06-04 12:21 Torsten Duwe
  0 siblings, 0 replies; 7+ messages in thread
From: Torsten Duwe @ 2019-06-04 12:21 UTC (permalink / raw)
  To: Maxime Ripard, Chen-Yu Tsai, Rob Herring, Mark Rutland,
	Thierry Reding, David Airlie, Daniel Vetter, Andrzej Hajda,
	Laurent Pinchart, Icenowy Zheng, Sean Paul, Vasily Khoruzhick,
	Harald Geyer, Greg Kroah-Hartman, Thomas Gleixner
  Cc: dri-devel, devicetree, linux-arm-kernel, linux-kernel


ANX6345 LVTTL->eDP video bridge, driver with device tree bindings.


Changes from v1:

* fixed up copyright information. Most code changes are only moves and thus
  retain copyright and module ownership. Even the new analogix-anx6345.c originates
  from the old 1495-line analogix-anx78xx.c, with 306 insertions and 987 deletions
  (ignoring the trivial anx78xx -> anx6345 replacements) 306 new vs. 508 old...

* fixed all minor formatting issues brought up

* merged previously separate new analogix_dp_i2c module into existing analogix_dp

* split additional defines into a preparatory patch

* renamed the factored-out common functions anx_aux_* -> anx_dp_aux_*, because
  anx_...aux_transfer was exported globally. Besides, it is now GPL-only exported.

* moved chip ID read into a separate function.

* keep the chip powered after a successful probe.
  (There's a good chance that this is the only display during boot!)

* updated the binding document: LVTTL input is now required, only the output side
  description is optional.

 Laurent: I have also looked into the drm_panel_bridge infrastructure,
 but it's not that trivial to convert these drivers to it.

Changes from the respective previous versions:

* the reset polarity is corrected in DT and the driver;
  things should be clearer now.

* as requested, add a panel (the known innolux,n116bge) and connect
  the ports.

* renamed dvdd?? to *-supply to match the established scheme

* trivial update to the #include list, to make it compile in 5.2

	Torsten

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-07-29 23:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-22 15:04 [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I Torsten Duwe
2019-07-22 18:47 ` Vasily Khoruzhick
2019-07-25 15:18 ` [PATCH v3 6a/7] dt-bindings: Add ANX6345 DP/eDP transmitter binding Torsten Duwe
2019-07-26 16:36   ` Maxime Ripard
2019-07-29 14:22     ` Torsten Duwe
2019-07-29 23:54       ` Rob Herring
  -- strict thread matches above, loose matches on Subject: below --
2019-06-04 12:21 [PATCH v2 0/7] Add anx6345 DP/eDP bridge for Olimex Teres-I Torsten Duwe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).