All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-04 10:31 ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-04 10:31 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel
  Cc: devicetree, linux-kernel, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev, Robert Jarzmik

Add documentation for the PXA frambuffer devicetree binding.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
Since v1: Philipp's review on the whole binding
---
 .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt

diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
new file mode 100644
index 000000000000..4d6bd490680d
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
@@ -0,0 +1,80 @@
+PXA LCDC Framebuffer
+--------------------
+
+Required properties:
+ - compatible :
+	"marvell,pxa2xx-lcdc",
+ - reg : Should contain 1 register ranges(address and length).
+	 Can contain an additional register range(address and length)
+	 for fixed framebuffer memory. Useful for dedicated memories.
+ - interrupts : framebuffer controller interrupt
+
+Required nodes:
+ - clocks: phandle to input clocks.
+ - port: connection to the LCD panel (see video-interfaces.txt)
+	 This nodes must have its properties bus-width and remote-endpoint set.
+	 This should be in the board dts.
+
+Example:
+
+	lcd-controller@40500000 {
+		compatible = "marvell,pxa2xx-lcdc";
+		reg = <0x44000000 0x10000>;
+		interrupts = <17>;
+		clocks = <&clks CLK_LCD>;
+		interrupts = <23>;
+		status = "okay";
+
+		port {
+			lcdc_out: endpoint {
+				remote-endpoint = <&panel_in>;
+				bus-width = <16>;
+			};
+		};
+	};
+
+PXA LCDC Display
+----------------
+Required properties (as per of_videomode_helper):
+ - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
+		    "color-tft", "smart-panel"
+
+Optional properties (as per of_videomode_helper):
+ - power-supply: power supply regulator to the LCD to power it on or off
+		 (see regulator.txt)
+ - backlight: backlight control (see backlight.txt)
+
+Required nodes:
+ - port: connection to the LCD controller
+ - display-timings: panel timings (see display-timing.txt)
+
+Example:
+	panel {
+		compatible = "toshiba,ltm0305a776";
+		lcd-type = "color-tft";
+
+		power-supply = <&lcd_supply>;
+		backlight = <&lcd_backlight>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lcdc_out>;
+			};
+		};
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: 240p {
+				/* 240x320p24 */
+				clock-frequency = <4545000>;
+				hactive = <240>;
+				vactive = <320>;
+				hfront-porch = <4>;
+				hback-porch = <6>;
+				hsync-len = <4>;
+				vback-porch = <5>;
+				vfront-porch = <3>;
+				vsync-len = <2>;
+			};
+		};
+	};
-- 
2.1.4


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

* [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-04 10:31 ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-04 10:31 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Robert Jarzmik

Add documentation for the PXA frambuffer devicetree binding.

Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org>
---
Since v1: Philipp's review on the whole binding
---
 .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt

diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
new file mode 100644
index 000000000000..4d6bd490680d
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
@@ -0,0 +1,80 @@
+PXA LCDC Framebuffer
+--------------------
+
+Required properties:
+ - compatible :
+	"marvell,pxa2xx-lcdc",
+ - reg : Should contain 1 register ranges(address and length).
+	 Can contain an additional register range(address and length)
+	 for fixed framebuffer memory. Useful for dedicated memories.
+ - interrupts : framebuffer controller interrupt
+
+Required nodes:
+ - clocks: phandle to input clocks.
+ - port: connection to the LCD panel (see video-interfaces.txt)
+	 This nodes must have its properties bus-width and remote-endpoint set.
+	 This should be in the board dts.
+
+Example:
+
+	lcd-controller@40500000 {
+		compatible = "marvell,pxa2xx-lcdc";
+		reg = <0x44000000 0x10000>;
+		interrupts = <17>;
+		clocks = <&clks CLK_LCD>;
+		interrupts = <23>;
+		status = "okay";
+
+		port {
+			lcdc_out: endpoint {
+				remote-endpoint = <&panel_in>;
+				bus-width = <16>;
+			};
+		};
+	};
+
+PXA LCDC Display
+----------------
+Required properties (as per of_videomode_helper):
+ - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
+		    "color-tft", "smart-panel"
+
+Optional properties (as per of_videomode_helper):
+ - power-supply: power supply regulator to the LCD to power it on or off
+		 (see regulator.txt)
+ - backlight: backlight control (see backlight.txt)
+
+Required nodes:
+ - port: connection to the LCD controller
+ - display-timings: panel timings (see display-timing.txt)
+
+Example:
+	panel {
+		compatible = "toshiba,ltm0305a776";
+		lcd-type = "color-tft";
+
+		power-supply = <&lcd_supply>;
+		backlight = <&lcd_backlight>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lcdc_out>;
+			};
+		};
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: 240p {
+				/* 240x320p24 */
+				clock-frequency = <4545000>;
+				hactive = <240>;
+				vactive = <320>;
+				hfront-porch = <4>;
+				hback-porch = <6>;
+				hsync-len = <4>;
+				vback-porch = <5>;
+				vfront-porch = <3>;
+				vsync-len = <2>;
+			};
+		};
+	};
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-04 10:31 ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-04 10:31 UTC (permalink / raw)
  To: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Robert Jarzmik

Add documentation for the PXA frambuffer devicetree binding.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
Since v1: Philipp's review on the whole binding
---
 .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt

diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
new file mode 100644
index 000000000000..4d6bd490680d
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
@@ -0,0 +1,80 @@
+PXA LCDC Framebuffer
+--------------------
+
+Required properties:
+ - compatible :
+	"marvell,pxa2xx-lcdc",
+ - reg : Should contain 1 register ranges(address and length).
+	 Can contain an additional register range(address and length)
+	 for fixed framebuffer memory. Useful for dedicated memories.
+ - interrupts : framebuffer controller interrupt
+
+Required nodes:
+ - clocks: phandle to input clocks.
+ - port: connection to the LCD panel (see video-interfaces.txt)
+	 This nodes must have its properties bus-width and remote-endpoint set.
+	 This should be in the board dts.
+
+Example:
+
+	lcd-controller@40500000 {
+		compatible = "marvell,pxa2xx-lcdc";
+		reg = <0x44000000 0x10000>;
+		interrupts = <17>;
+		clocks = <&clks CLK_LCD>;
+		interrupts = <23>;
+		status = "okay";
+
+		port {
+			lcdc_out: endpoint {
+				remote-endpoint = <&panel_in>;
+				bus-width = <16>;
+			};
+		};
+	};
+
+PXA LCDC Display
+----------------
+Required properties (as per of_videomode_helper):
+ - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
+		    "color-tft", "smart-panel"
+
+Optional properties (as per of_videomode_helper):
+ - power-supply: power supply regulator to the LCD to power it on or off
+		 (see regulator.txt)
+ - backlight: backlight control (see backlight.txt)
+
+Required nodes:
+ - port: connection to the LCD controller
+ - display-timings: panel timings (see display-timing.txt)
+
+Example:
+	panel {
+		compatible = "toshiba,ltm0305a776";
+		lcd-type = "color-tft";
+
+		power-supply = <&lcd_supply>;
+		backlight = <&lcd_backlight>;
+
+		port {
+			panel_in: endpoint {
+				remote-endpoint = <&lcdc_out>;
+			};
+		};
+
+		display-timings {
+			native-mode = <&timing0>;
+			timing0: 240p {
+				/* 240x320p24 */
+				clock-frequency = <4545000>;
+				hactive = <240>;
+				vactive = <320>;
+				hfront-porch = <4>;
+				hback-porch = <6>;
+				hsync-len = <4>;
+				vback-porch = <5>;
+				vfront-porch = <3>;
+				vsync-len = <2>;
+			};
+		};
+	};
-- 
2.1.4


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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06  6:58   ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-06  6:58 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree, LKML, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev

On Sun, Oct 4, 2015 at 12:31 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Add documentation for the PXA frambuffer devicetree binding.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",
> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.
> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;

The interrupt line is duplicated in the example.

> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display
> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"

Would it make sense to make this property optional and have the
default be "color-tft"? That is probably the most common one by far.

regards
Philipp

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06  6:58   ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-06  6:58 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree-u79uwXL29TY76Z2rM5mHXA, LKML,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Sun, Oct 4, 2015 at 12:31 PM, Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> wrote:
> Add documentation for the PXA frambuffer devicetree binding.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",
> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.
> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;

The interrupt line is duplicated in the example.

> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display
> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"

Would it make sense to make this property optional and have the
default be "color-tft"? That is probably the most common one by far.

regards
Philipp
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06  6:58   ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-06  6:58 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree-u79uwXL29TY76Z2rM5mHXA, LKML,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Sun, Oct 4, 2015 at 12:31 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Add documentation for the PXA frambuffer devicetree binding.
>
> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",
> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.
> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;

The interrupt line is duplicated in the example.

> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display
> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"

Would it make sense to make this property optional and have the
default be "color-tft"? That is probably the most common one by far.

regards
Philipp

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 13:30   ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-06 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Add documentation for the PXA frambuffer devicetree binding.

Strictly speaking this is a binding for PXA display controller, not a
Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
which I'm trying to curb.

> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++

Please put in bindings/display/ as I'm consolidating all the display
related bindings there[1].

>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",

No differences in h/w for any of the chips?

> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.

This is memory that can't be used for anything else? We already have
reserved-memory for this if it is just RAM. There's also a binding for
on-chip SRAM which should probably be used if the memory is usable for
other things.

> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;
> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display

This should not be specific to PXA, but for this panel. This should be
in bindings/display/panel/.

> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"
> +
> +Optional properties (as per of_videomode_helper):
> + - power-supply: power supply regulator to the LCD to power it on or off
> +                (see regulator.txt)
> + - backlight: backlight control (see backlight.txt)
> +
> +Required nodes:
> + - port: connection to the LCD controller
> + - display-timings: panel timings (see display-timing.txt)

If lcd-type is smart-panel, then this node would not make sense.

> +
> +Example:
> +       panel {
> +               compatible = "toshiba,ltm0305a776";
> +               lcd-type = "color-tft";
> +
> +               power-supply = <&lcd_supply>;
> +               backlight = <&lcd_backlight>;
> +
> +               port {
> +                       panel_in: endpoint {
> +                               remote-endpoint = <&lcdc_out>;
> +                       };
> +               };
> +
> +               display-timings {
> +                       native-mode = <&timing0>;
> +                       timing0: 240p {
> +                               /* 240x320p24 */
> +                               clock-frequency = <4545000>;
> +                               hactive = <240>;
> +                               vactive = <320>;
> +                               hfront-porch = <4>;
> +                               hback-porch = <6>;
> +                               hsync-len = <4>;
> +                               vback-porch = <5>;
> +                               vfront-porch = <3>;
> +                               vsync-len = <2>;
> +                       };
> +               };
> +       };
> --
> 2.1.4
>

[1] https://lkml.org/lkml/2015/10/1/899

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 13:30   ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-06 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> wrote:
> Add documentation for the PXA frambuffer devicetree binding.

Strictly speaking this is a binding for PXA display controller, not a
Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
which I'm trying to curb.

> Signed-off-by: Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++

Please put in bindings/display/ as I'm consolidating all the display
related bindings there[1].

>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",

No differences in h/w for any of the chips?

> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.

This is memory that can't be used for anything else? We already have
reserved-memory for this if it is just RAM. There's also a binding for
on-chip SRAM which should probably be used if the memory is usable for
other things.

> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;
> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display

This should not be specific to PXA, but for this panel. This should be
in bindings/display/panel/.

> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"
> +
> +Optional properties (as per of_videomode_helper):
> + - power-supply: power supply regulator to the LCD to power it on or off
> +                (see regulator.txt)
> + - backlight: backlight control (see backlight.txt)
> +
> +Required nodes:
> + - port: connection to the LCD controller
> + - display-timings: panel timings (see display-timing.txt)

If lcd-type is smart-panel, then this node would not make sense.

> +
> +Example:
> +       panel {
> +               compatible = "toshiba,ltm0305a776";
> +               lcd-type = "color-tft";
> +
> +               power-supply = <&lcd_supply>;
> +               backlight = <&lcd_backlight>;
> +
> +               port {
> +                       panel_in: endpoint {
> +                               remote-endpoint = <&lcdc_out>;
> +                       };
> +               };
> +
> +               display-timings {
> +                       native-mode = <&timing0>;
> +                       timing0: 240p {
> +                               /* 240x320p24 */
> +                               clock-frequency = <4545000>;
> +                               hactive = <240>;
> +                               vactive = <320>;
> +                               hfront-porch = <4>;
> +                               hback-porch = <6>;
> +                               hsync-len = <4>;
> +                               vback-porch = <5>;
> +                               vfront-porch = <3>;
> +                               vsync-len = <2>;
> +                       };
> +               };
> +       };
> --
> 2.1.4
>

[1] https://lkml.org/lkml/2015/10/1/899
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 13:30   ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-06 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Add documentation for the PXA frambuffer devicetree binding.

Strictly speaking this is a binding for PXA display controller, not a
Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
which I'm trying to curb.

> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
> ---
> Since v1: Philipp's review on the whole binding
> ---
>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++

Please put in bindings/display/ as I'm consolidating all the display
related bindings there[1].

>  1 file changed, 80 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/video/marvell,pxafb.txt
>
> diff --git a/Documentation/devicetree/bindings/video/marvell,pxafb.txt b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> new file mode 100644
> index 000000000000..4d6bd490680d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
> @@ -0,0 +1,80 @@
> +PXA LCDC Framebuffer
> +--------------------
> +
> +Required properties:
> + - compatible :
> +       "marvell,pxa2xx-lcdc",

No differences in h/w for any of the chips?

> + - reg : Should contain 1 register ranges(address and length).
> +        Can contain an additional register range(address and length)
> +        for fixed framebuffer memory. Useful for dedicated memories.

This is memory that can't be used for anything else? We already have
reserved-memory for this if it is just RAM. There's also a binding for
on-chip SRAM which should probably be used if the memory is usable for
other things.

> + - interrupts : framebuffer controller interrupt
> +
> +Required nodes:
> + - clocks: phandle to input clocks.
> + - port: connection to the LCD panel (see video-interfaces.txt)
> +        This nodes must have its properties bus-width and remote-endpoint set.
> +        This should be in the board dts.
> +
> +Example:
> +
> +       lcd-controller@40500000 {
> +               compatible = "marvell,pxa2xx-lcdc";
> +               reg = <0x44000000 0x10000>;
> +               interrupts = <17>;
> +               clocks = <&clks CLK_LCD>;
> +               interrupts = <23>;
> +               status = "okay";
> +
> +               port {
> +                       lcdc_out: endpoint {
> +                               remote-endpoint = <&panel_in>;
> +                               bus-width = <16>;
> +                       };
> +               };
> +       };
> +
> +PXA LCDC Display

This should not be specific to PXA, but for this panel. This should be
in bindings/display/panel/.

> +----------------
> +Required properties (as per of_videomode_helper):
> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
> +                   "color-tft", "smart-panel"
> +
> +Optional properties (as per of_videomode_helper):
> + - power-supply: power supply regulator to the LCD to power it on or off
> +                (see regulator.txt)
> + - backlight: backlight control (see backlight.txt)
> +
> +Required nodes:
> + - port: connection to the LCD controller
> + - display-timings: panel timings (see display-timing.txt)

If lcd-type is smart-panel, then this node would not make sense.

> +
> +Example:
> +       panel {
> +               compatible = "toshiba,ltm0305a776";
> +               lcd-type = "color-tft";
> +
> +               power-supply = <&lcd_supply>;
> +               backlight = <&lcd_backlight>;
> +
> +               port {
> +                       panel_in: endpoint {
> +                               remote-endpoint = <&lcdc_out>;
> +                       };
> +               };
> +
> +               display-timings {
> +                       native-mode = <&timing0>;
> +                       timing0: 240p {
> +                               /* 240x320p24 */
> +                               clock-frequency = <4545000>;
> +                               hactive = <240>;
> +                               vactive = <320>;
> +                               hfront-porch = <4>;
> +                               hback-porch = <6>;
> +                               hsync-len = <4>;
> +                               vback-porch = <5>;
> +                               vfront-porch = <3>;
> +                               vsync-len = <2>;
> +                       };
> +               };
> +       };
> --
> 2.1.4
>

[1] https://lkml.org/lkml/2015/10/1/899

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
  2015-10-06  6:58   ` Philipp Zabel
@ 2015-10-06 19:13     ` Robert Jarzmik
  -1 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-06 19:13 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree, LKML, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev

Philipp Zabel <philipp.zabel@gmail.com> writes:

> On Sun, Oct 4, 2015 at 12:31 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> +       lcd-controller@40500000 {
>> +               compatible = "marvell,pxa2xx-lcdc";
>> +               reg = <0x44000000 0x10000>;
>> +               interrupts = <17>;
>> +               clocks = <&clks CLK_LCD>;
>> +               interrupts = <23>;
>
> The interrupt line is duplicated in the example.
Indeed, I'll fix that.
>
>> +               status = "okay";
>> +
>> +               port {
>> +                       lcdc_out: endpoint {
>> +                               remote-endpoint = <&panel_in>;
>> +                               bus-width = <16>;
>> +                       };
>> +               };
>> +       };
>> +
>> +PXA LCDC Display
>> +----------------
>> +Required properties (as per of_videomode_helper):
>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>> +                   "color-tft", "smart-panel"
>
> Would it make sense to make this property optional and have the
> default be "color-tft"? That is probably the most common one by far.
Yes, sure, let's do it that way for v3.

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 19:13     ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-06 19:13 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree, LKML, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev

Philipp Zabel <philipp.zabel@gmail.com> writes:

> On Sun, Oct 4, 2015 at 12:31 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> +       lcd-controller@40500000 {
>> +               compatible = "marvell,pxa2xx-lcdc";
>> +               reg = <0x44000000 0x10000>;
>> +               interrupts = <17>;
>> +               clocks = <&clks CLK_LCD>;
>> +               interrupts = <23>;
>
> The interrupt line is duplicated in the example.
Indeed, I'll fix that.
>
>> +               status = "okay";
>> +
>> +               port {
>> +                       lcdc_out: endpoint {
>> +                               remote-endpoint = <&panel_in>;
>> +                               bus-width = <16>;
>> +                       };
>> +               };
>> +       };
>> +
>> +PXA LCDC Display
>> +----------------
>> +Required properties (as per of_videomode_helper):
>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>> +                   "color-tft", "smart-panel"
>
> Would it make sense to make this property optional and have the
> default be "color-tft"? That is probably the most common one by far.
Yes, sure, let's do it that way for v3.

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
  2015-10-06 13:30   ` Rob Herring
  (?)
@ 2015-10-06 19:32     ` Robert Jarzmik
  -1 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-06 19:32 UTC (permalink / raw)
  To: Rob Herring
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

Rob Herring <robh@kernel.org> writes:

> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> Add documentation for the PXA frambuffer devicetree binding.
>
> Strictly speaking this is a binding for PXA display controller, not a
> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
> which I'm trying to curb.
Yes, that's very true. That deserves a new commit message and a new file name
(marvell,pxa2xx-lcd).
>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>
> Please put in bindings/display/ as I'm consolidating all the display
> related bindings there[1].
Of course, for v3.

>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>> @@ -0,0 +1,80 @@
>> +PXA LCDC Framebuffer
>> +--------------------
>> +
>> +Required properties:
>> + - compatible :
>> +       "marvell,pxa2xx-lcdc",
>
> No differences in h/w for any of the chips?
All pxa25x, pxa27x and pxa3xx are compatible.
AFAIK, pxa3xx has an IP with additional registers. But :
 - these (this) register(s) is not necessary for the display controller to work
   (it's more a control to shift red/green/blue values, and energy management)
 - all the registers in pxa2{5,7}x are the same in pxa3xx

The pxafb driver acts today on the subset of registers which are the same across
all pxaXXX variants. This is what made me think only one compatible property was
required.

If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
do ?
>
>> + - reg : Should contain 1 register ranges(address and length).
>> +        Can contain an additional register range(address and length)
>> +        for fixed framebuffer memory. Useful for dedicated memories.
>
> This is memory that can't be used for anything else? We already have
> reserved-memory for this if it is just RAM. There's also a binding for
> on-chip SRAM which should probably be used if the memory is usable for
> other things.
That is a wrong copy paste I made. I was more thinking of having only 1 register
range, and no video memory reservation ...

>> +PXA LCDC Display
>
> This should not be specific to PXA, but for this panel. This should be
> in bindings/display/panel/.
Sure, for v3.

>> +----------------
>> +Required properties (as per of_videomode_helper):
>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>> +                   "color-tft", "smart-panel"
>> +
>> +Optional properties (as per of_videomode_helper):
>> + - power-supply: power supply regulator to the LCD to power it on or off
>> +                (see regulator.txt)
>> + - backlight: backlight control (see backlight.txt)
>> +
>> +Required nodes:
>> + - port: connection to the LCD controller
>> + - display-timings: panel timings (see display-timing.txt)
>
> If lcd-type is smart-panel, then this node would not make sense.
Ah I see, so this could be optional maybe ?

Actually when I'll move the panel definition to bindings/display/panel, is this
what I should do :
 - create a file marvell,pxa2xx-panel
 - input all these properties into this file

And then, when a board maintainer will create a devicetree description, he will
write something like :
      compatible = "toshiba,ltm0305a776";
      compatible = "marvell,pxa2xx-panel";
      lcd-type = "color-tft";
      ...

If that's the case, I wonder how to "enforce" that a panel used with
marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
marvell,pxa2xx-panel ?

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 19:32     ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-06 19:32 UTC (permalink / raw)
  To: Rob Herring
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

Rob Herring <robh@kernel.org> writes:

> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> Add documentation for the PXA frambuffer devicetree binding.
>
> Strictly speaking this is a binding for PXA display controller, not a
> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
> which I'm trying to curb.
Yes, that's very true. That deserves a new commit message and a new file name
(marvell,pxa2xx-lcd).
>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>
> Please put in bindings/display/ as I'm consolidating all the display
> related bindings there[1].
Of course, for v3.

>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>> @@ -0,0 +1,80 @@
>> +PXA LCDC Framebuffer
>> +--------------------
>> +
>> +Required properties:
>> + - compatible :
>> +       "marvell,pxa2xx-lcdc",
>
> No differences in h/w for any of the chips?
All pxa25x, pxa27x and pxa3xx are compatible.
AFAIK, pxa3xx has an IP with additional registers. But :
 - these (this) register(s) is not necessary for the display controller to work
   (it's more a control to shift red/green/blue values, and energy management)
 - all the registers in pxa2{5,7}x are the same in pxa3xx

The pxafb driver acts today on the subset of registers which are the same across
all pxaXXX variants. This is what made me think only one compatible property was
required.

If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
do ?
>
>> + - reg : Should contain 1 register ranges(address and length).
>> +        Can contain an additional register range(address and length)
>> +        for fixed framebuffer memory. Useful for dedicated memories.
>
> This is memory that can't be used for anything else? We already have
> reserved-memory for this if it is just RAM. There's also a binding for
> on-chip SRAM which should probably be used if the memory is usable for
> other things.
That is a wrong copy paste I made. I was more thinking of having only 1 register
range, and no video memory reservation ...

>> +PXA LCDC Display
>
> This should not be specific to PXA, but for this panel. This should be
> in bindings/display/panel/.
Sure, for v3.

>> +----------------
>> +Required properties (as per of_videomode_helper):
>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>> +                   "color-tft", "smart-panel"
>> +
>> +Optional properties (as per of_videomode_helper):
>> + - power-supply: power supply regulator to the LCD to power it on or off
>> +                (see regulator.txt)
>> + - backlight: backlight control (see backlight.txt)
>> +
>> +Required nodes:
>> + - port: connection to the LCD controller
>> + - display-timings: panel timings (see display-timing.txt)
>
> If lcd-type is smart-panel, then this node would not make sense.
Ah I see, so this could be optional maybe ?

Actually when I'll move the panel definition to bindings/display/panel, is this
what I should do :
 - create a file marvell,pxa2xx-panel
 - input all these properties into this file

And then, when a board maintainer will create a devicetree description, he will
write something like :
      compatible = "toshiba,ltm0305a776";
      compatible = "marvell,pxa2xx-panel";
      lcd-type = "color-tft";
      ...

If that's the case, I wonder how to "enforce" that a panel used with
marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
marvell,pxa2xx-panel ?

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-06 19:32     ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-06 19:32 UTC (permalink / raw)
  To: Rob Herring
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

Rob Herring <robh@kernel.org> writes:

> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>> Add documentation for the PXA frambuffer devicetree binding.
>
> Strictly speaking this is a binding for PXA display controller, not a
> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
> which I'm trying to curb.
Yes, that's very true. That deserves a new commit message and a new file name
(marvell,pxa2xx-lcd).
>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>
> Please put in bindings/display/ as I'm consolidating all the display
> related bindings there[1].
Of course, for v3.

>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>> @@ -0,0 +1,80 @@
>> +PXA LCDC Framebuffer
>> +--------------------
>> +
>> +Required properties:
>> + - compatible :
>> +       "marvell,pxa2xx-lcdc",
>
> No differences in h/w for any of the chips?
All pxa25x, pxa27x and pxa3xx are compatible.
AFAIK, pxa3xx has an IP with additional registers. But :
 - these (this) register(s) is not necessary for the display controller to work
   (it's more a control to shift red/green/blue values, and energy management)
 - all the registers in pxa2{5,7}x are the same in pxa3xx

The pxafb driver acts today on the subset of registers which are the same across
all pxaXXX variants. This is what made me think only one compatible property was
required.

If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
do ?
>
>> + - reg : Should contain 1 register ranges(address and length).
>> +        Can contain an additional register range(address and length)
>> +        for fixed framebuffer memory. Useful for dedicated memories.
>
> This is memory that can't be used for anything else? We already have
> reserved-memory for this if it is just RAM. There's also a binding for
> on-chip SRAM which should probably be used if the memory is usable for
> other things.
That is a wrong copy paste I made. I was more thinking of having only 1 register
range, and no video memory reservation ...

>> +PXA LCDC Display
>
> This should not be specific to PXA, but for this panel. This should be
> in bindings/display/panel/.
Sure, for v3.

>> +----------------
>> +Required properties (as per of_videomode_helper):
>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>> +                   "color-tft", "smart-panel"
>> +
>> +Optional properties (as per of_videomode_helper):
>> + - power-supply: power supply regulator to the LCD to power it on or off
>> +                (see regulator.txt)
>> + - backlight: backlight control (see backlight.txt)
>> +
>> +Required nodes:
>> + - port: connection to the LCD controller
>> + - display-timings: panel timings (see display-timing.txt)
>
> If lcd-type is smart-panel, then this node would not make sense.
Ah I see, so this could be optional maybe ?

Actually when I'll move the panel definition to bindings/display/panel, is this
what I should do :
 - create a file marvell,pxa2xx-panel
 - input all these properties into this file

And then, when a board maintainer will create a devicetree description, he will
write something like :
      compatible = "toshiba,ltm0305a776";
      compatible = "marvell,pxa2xx-panel";
      lcd-type = "color-tft";
      ...

If that's the case, I wonder how to "enforce" that a panel used with
marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
marvell,pxa2xx-panel ?

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08  6:49       ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-08  6:49 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree, linux-kernel, Jean-Christophe Plagniol-Villard,
	Tomi Valkeinen, linux-fbdev

On Tue, Oct 6, 2015 at 9:32 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx

So the pxa3xx is pxa2xx compatible. The pxa3xx device tree should
contain compatible = "marvell,pxa3xx-lcdc", "marvell,pxa2xx-lcdc";

That way we can just ignore the pxa3xx compatible value until the need
arises to do something different with the additional registers, and if
that happens we already have it in the device trees.

>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?
>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file
>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";
>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I think we should move to use drm simple-panel as soon as possible,
but until this information can be derived from the compatible string,
it should maybe stay contained to the lcdc node. At least I don't
think adding a marvell panel compatible is a solution. Maybe this
could be generalized and added as an optional property to the
simple-panel bindings.

regards
Philipp

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08  6:49       ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-08  6:49 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Tue, Oct 6, 2015 at 9:32 PM, Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> wrote:
> Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx

So the pxa3xx is pxa2xx compatible. The pxa3xx device tree should
contain compatible = "marvell,pxa3xx-lcdc", "marvell,pxa2xx-lcdc";

That way we can just ignore the pxa3xx compatible value until the need
arises to do something different with the additional registers, and if
that happens we already have it in the device trees.

>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?
>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file
>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";
>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I think we should move to use drm simple-panel as soon as possible,
but until this information can be derived from the compatible string,
it should maybe stay contained to the lcdc node. At least I don't
think adding a marvell panel compatible is a solution. Maybe this
could be generalized and added as an optional property to the
simple-panel bindings.

regards
Philipp
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08  6:49       ` Philipp Zabel
  0 siblings, 0 replies; 25+ messages in thread
From: Philipp Zabel @ 2015-10-08  6:49 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Rob Herring, Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Tue, Oct 6, 2015 at 9:32 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx

So the pxa3xx is pxa2xx compatible. The pxa3xx device tree should
contain compatible = "marvell,pxa3xx-lcdc", "marvell,pxa2xx-lcdc";

That way we can just ignore the pxa3xx compatible value until the need
arises to do something different with the additional registers, and if
that happens we already have it in the device trees.

>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?
>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file
>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";
>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I think we should move to use drm simple-panel as soon as possible,
but until this information can be derived from the compatible string,
it should maybe stay contained to the lcdc node. At least I don't
think adding a marvell panel compatible is a solution. Maybe this
could be generalized and added as an optional property to the
simple-panel bindings.

regards
Philipp

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08 13:30       ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-08 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

On Tue, Oct 6, 2015 at 2:32 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:
>
>> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>>> Add documentation for the PXA frambuffer devicetree binding.
>>
>> Strictly speaking this is a binding for PXA display controller, not a
>> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
>> which I'm trying to curb.
> Yes, that's very true. That deserves a new commit message and a new file name
> (marvell,pxa2xx-lcd).
>>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>>
>> Please put in bindings/display/ as I'm consolidating all the display
>> related bindings there[1].
> Of course, for v3.
>
>>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>>> @@ -0,0 +1,80 @@
>>> +PXA LCDC Framebuffer
>>> +--------------------
>>> +
>>> +Required properties:
>>> + - compatible :
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx
>
> The pxafb driver acts today on the subset of registers which are the same across
> all pxaXXX variants. This is what made me think only one compatible property was
> required.
>
> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
> do ?

I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
addition to a generic one. You never know when a specific chip will
have some quirk even though "the IP is the same".

>>
>>> + - reg : Should contain 1 register ranges(address and length).
>>> +        Can contain an additional register range(address and length)
>>> +        for fixed framebuffer memory. Useful for dedicated memories.
>>
>> This is memory that can't be used for anything else? We already have
>> reserved-memory for this if it is just RAM. There's also a binding for
>> on-chip SRAM which should probably be used if the memory is usable for
>> other things.
> That is a wrong copy paste I made. I was more thinking of having only 1 register
> range, and no video memory reservation ...
>
>>> +PXA LCDC Display
>>
>> This should not be specific to PXA, but for this panel. This should be
>> in bindings/display/panel/.
> Sure, for v3.
>
>>> +----------------
>>> +Required properties (as per of_videomode_helper):
>>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>>> +                   "color-tft", "smart-panel"
>>> +
>>> +Optional properties (as per of_videomode_helper):
>>> + - power-supply: power supply regulator to the LCD to power it on or off
>>> +                (see regulator.txt)
>>> + - backlight: backlight control (see backlight.txt)
>>> +
>>> +Required nodes:
>>> + - port: connection to the LCD controller
>>> + - display-timings: panel timings (see display-timing.txt)
>>
>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?

Right.

>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file

Yes, but the file should be called toshiba,ltm0305a776.txt. It is
irrelevant to the binding that it is pared with pxa2xx. In theory, I
could attach this panel to any SOC.

>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";

Drop this compatible.

>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I'm not sure what you mean. Putting the panel into the dts ensures
that. The FB driver may check for toshiba,ltm0305a776 or a list of
panels. However, a DRM driver would probably not check that.

Rob

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08 13:30       ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-08 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Tue, Oct 6, 2015 at 2:32 PM, Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> wrote:
> Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> writes:
>
>> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik-GANU6spQydw@public.gmane.org> wrote:
>>> Add documentation for the PXA frambuffer devicetree binding.
>>
>> Strictly speaking this is a binding for PXA display controller, not a
>> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
>> which I'm trying to curb.
> Yes, that's very true. That deserves a new commit message and a new file name
> (marvell,pxa2xx-lcd).
>>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>>
>> Please put in bindings/display/ as I'm consolidating all the display
>> related bindings there[1].
> Of course, for v3.
>
>>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>>> @@ -0,0 +1,80 @@
>>> +PXA LCDC Framebuffer
>>> +--------------------
>>> +
>>> +Required properties:
>>> + - compatible :
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx
>
> The pxafb driver acts today on the subset of registers which are the same across
> all pxaXXX variants. This is what made me think only one compatible property was
> required.
>
> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
> do ?

I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
addition to a generic one. You never know when a specific chip will
have some quirk even though "the IP is the same".

>>
>>> + - reg : Should contain 1 register ranges(address and length).
>>> +        Can contain an additional register range(address and length)
>>> +        for fixed framebuffer memory. Useful for dedicated memories.
>>
>> This is memory that can't be used for anything else? We already have
>> reserved-memory for this if it is just RAM. There's also a binding for
>> on-chip SRAM which should probably be used if the memory is usable for
>> other things.
> That is a wrong copy paste I made. I was more thinking of having only 1 register
> range, and no video memory reservation ...
>
>>> +PXA LCDC Display
>>
>> This should not be specific to PXA, but for this panel. This should be
>> in bindings/display/panel/.
> Sure, for v3.
>
>>> +----------------
>>> +Required properties (as per of_videomode_helper):
>>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>>> +                   "color-tft", "smart-panel"
>>> +
>>> +Optional properties (as per of_videomode_helper):
>>> + - power-supply: power supply regulator to the LCD to power it on or off
>>> +                (see regulator.txt)
>>> + - backlight: backlight control (see backlight.txt)
>>> +
>>> +Required nodes:
>>> + - port: connection to the LCD controller
>>> + - display-timings: panel timings (see display-timing.txt)
>>
>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?

Right.

>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file

Yes, but the file should be called toshiba,ltm0305a776.txt. It is
irrelevant to the binding that it is pared with pxa2xx. In theory, I
could attach this panel to any SOC.

>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";

Drop this compatible.

>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I'm not sure what you mean. Putting the panel into the dts ensures
that. The FB driver may check for toshiba,ltm0305a776 or a list of
panels. However, a DRM driver would probably not check that.

Rob
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08 13:30       ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-08 13:30 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala,
	Philipp Zabel, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev-u79uwXL29TY76Z2rM5mHXA

On Tue, Oct 6, 2015 at 2:32 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:
>
>> On Sun, Oct 4, 2015 at 5:31 AM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
>>> Add documentation for the PXA frambuffer devicetree binding.
>>
>> Strictly speaking this is a binding for PXA display controller, not a
>> Linux FB driver. There are lots of "framebuffer" and "DRM" bindings
>> which I'm trying to curb.
> Yes, that's very true. That deserves a new commit message and a new file name
> (marvell,pxa2xx-lcd).
>>>  .../devicetree/bindings/video/marvell,pxafb.txt    | 80 ++++++++++++++++++++++
>>
>> Please put in bindings/display/ as I'm consolidating all the display
>> related bindings there[1].
> Of course, for v3.
>
>>> +++ b/Documentation/devicetree/bindings/video/marvell,pxafb.txt
>>> @@ -0,0 +1,80 @@
>>> +PXA LCDC Framebuffer
>>> +--------------------
>>> +
>>> +Required properties:
>>> + - compatible :
>>> +       "marvell,pxa2xx-lcdc",
>>
>> No differences in h/w for any of the chips?
> All pxa25x, pxa27x and pxa3xx are compatible.
> AFAIK, pxa3xx has an IP with additional registers. But :
>  - these (this) register(s) is not necessary for the display controller to work
>    (it's more a control to shift red/green/blue values, and energy management)
>  - all the registers in pxa2{5,7}x are the same in pxa3xx
>
> The pxafb driver acts today on the subset of registers which are the same across
> all pxaXXX variants. This is what made me think only one compatible property was
> required.
>
> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
> do ?

I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
addition to a generic one. You never know when a specific chip will
have some quirk even though "the IP is the same".

>>
>>> + - reg : Should contain 1 register ranges(address and length).
>>> +        Can contain an additional register range(address and length)
>>> +        for fixed framebuffer memory. Useful for dedicated memories.
>>
>> This is memory that can't be used for anything else? We already have
>> reserved-memory for this if it is just RAM. There's also a binding for
>> on-chip SRAM which should probably be used if the memory is usable for
>> other things.
> That is a wrong copy paste I made. I was more thinking of having only 1 register
> range, and no video memory reservation ...
>
>>> +PXA LCDC Display
>>
>> This should not be specific to PXA, but for this panel. This should be
>> in bindings/display/panel/.
> Sure, for v3.
>
>>> +----------------
>>> +Required properties (as per of_videomode_helper):
>>> + - lcd-type: either "mono-stn", "mono-dstn", "color-stn", "color-dstn",
>>> +                   "color-tft", "smart-panel"
>>> +
>>> +Optional properties (as per of_videomode_helper):
>>> + - power-supply: power supply regulator to the LCD to power it on or off
>>> +                (see regulator.txt)
>>> + - backlight: backlight control (see backlight.txt)
>>> +
>>> +Required nodes:
>>> + - port: connection to the LCD controller
>>> + - display-timings: panel timings (see display-timing.txt)
>>
>> If lcd-type is smart-panel, then this node would not make sense.
> Ah I see, so this could be optional maybe ?

Right.

>
> Actually when I'll move the panel definition to bindings/display/panel, is this
> what I should do :
>  - create a file marvell,pxa2xx-panel
>  - input all these properties into this file

Yes, but the file should be called toshiba,ltm0305a776.txt. It is
irrelevant to the binding that it is pared with pxa2xx. In theory, I
could attach this panel to any SOC.

>
> And then, when a board maintainer will create a devicetree description, he will
> write something like :
>       compatible = "toshiba,ltm0305a776";
>       compatible = "marvell,pxa2xx-panel";

Drop this compatible.

>       lcd-type = "color-tft";
>       ...
>
> If that's the case, I wonder how to "enforce" that a panel used with
> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
> marvell,pxa2xx-panel ?

I'm not sure what you mean. Putting the panel into the dts ensures
that. The FB driver may check for toshiba,ltm0305a776 or a list of
panels. However, a DRM driver would probably not check that.

Rob

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
  2015-10-08 13:30       ` Rob Herring
  (?)
@ 2015-10-08 19:15         ` Robert Jarzmik
  -1 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-08 19:15 UTC (permalink / raw)
  To: Rob Herring, Philipp Zabel
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, devicetree,
	linux-kernel, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev

Rob Herring <robh@kernel.org> writes:

>> The pxafb driver acts today on the subset of registers which are the same across
>> all pxaXXX variants. This is what made me think only one compatible property was
>> required.
>>
>> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
>> do ?
>
> I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
> addition to a generic one. You never know when a specific chip will
> have some quirk even though "the IP is the same".
Okay.

>> And then, when a board maintainer will create a devicetree description, he will
>> write something like :
>>       compatible = "toshiba,ltm0305a776";
>>       compatible = "marvell,pxa2xx-panel";
>
> Drop this compatible.
>
>>       lcd-type = "color-tft";
>>       ...
>>
>> If that's the case, I wonder how to "enforce" that a panel used with
>> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
>> marvell,pxa2xx-panel ?
>
> I'm not sure what you mean. Putting the panel into the dts ensures
> that. The FB driver may check for toshiba,ltm0305a776 or a list of
> panels. However, a DRM driver would probably not check that.
>
> Rob
What I mean is that the LDLC controller _must_ be programmmed with the correct
panel type, ie. one register of the LDLC should be set according to this type.

The type is a hardware property of the panel, and yet it is absolutely mandatory
to have it set in the panel.

What I mean is : what is the good way to enforce that this property is set
somewhere in the devicetree description ? Philipp adviced for it to be transfered
to the ldlc description (ie. marvell,pxa2xx-ldlc), while I was thinking of
having it in a panel description.

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08 19:15         ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-08 19:15 UTC (permalink / raw)
  To: Rob Herring, Philipp Zabel
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, devicetree,
	linux-kernel, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev

Rob Herring <robh@kernel.org> writes:

>> The pxafb driver acts today on the subset of registers which are the same across
>> all pxaXXX variants. This is what made me think only one compatible property was
>> required.
>>
>> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
>> do ?
>
> I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
> addition to a generic one. You never know when a specific chip will
> have some quirk even though "the IP is the same".
Okay.

>> And then, when a board maintainer will create a devicetree description, he will
>> write something like :
>>       compatible = "toshiba,ltm0305a776";
>>       compatible = "marvell,pxa2xx-panel";
>
> Drop this compatible.
>
>>       lcd-type = "color-tft";
>>       ...
>>
>> If that's the case, I wonder how to "enforce" that a panel used with
>> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
>> marvell,pxa2xx-panel ?
>
> I'm not sure what you mean. Putting the panel into the dts ensures
> that. The FB driver may check for toshiba,ltm0305a776 or a list of
> panels. However, a DRM driver would probably not check that.
>
> Rob
What I mean is that the LDLC controller _must_ be programmmed with the correct
panel type, ie. one register of the LDLC should be set according to this type.

The type is a hardware property of the panel, and yet it is absolutely mandatory
to have it set in the panel.

What I mean is : what is the good way to enforce that this property is set
somewhere in the devicetree description ? Philipp adviced for it to be transfered
to the ldlc description (ie. marvell,pxa2xx-ldlc), while I was thinking of
having it in a panel description.

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-08 19:15         ` Robert Jarzmik
  0 siblings, 0 replies; 25+ messages in thread
From: Robert Jarzmik @ 2015-10-08 19:15 UTC (permalink / raw)
  To: Rob Herring, Philipp Zabel
  Cc: Pawel Moll, Mark Rutland, Ian Campbell, Kumar Gala, devicetree,
	linux-kernel, Jean-Christophe Plagniol-Villard, Tomi Valkeinen,
	linux-fbdev

Rob Herring <robh@kernel.org> writes:

>> The pxafb driver acts today on the subset of registers which are the same across
>> all pxaXXX variants. This is what made me think only one compatible property was
>> required.
>>
>> If I'm wrong, I could add "marvell,pxa3xx-lcdc", is that what you think I should
>> do ?
>
> I would prefer specific compatibles (e.g. marvell,pxa270-lcdc) in
> addition to a generic one. You never know when a specific chip will
> have some quirk even though "the IP is the same".
Okay.

>> And then, when a board maintainer will create a devicetree description, he will
>> write something like :
>>       compatible = "toshiba,ltm0305a776";
>>       compatible = "marvell,pxa2xx-panel";
>
> Drop this compatible.
>
>>       lcd-type = "color-tft";
>>       ...
>>
>> If that's the case, I wonder how to "enforce" that a panel used with
>> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
>> marvell,pxa2xx-panel ?
>
> I'm not sure what you mean. Putting the panel into the dts ensures
> that. The FB driver may check for toshiba,ltm0305a776 or a list of
> panels. However, a DRM driver would probably not check that.
>
> Rob
What I mean is that the LDLC controller _must_ be programmmed with the correct
panel type, ie. one register of the LDLC should be set according to this type.

The type is a hardware property of the panel, and yet it is absolutely mandatory
to have it set in the panel.

What I mean is : what is the good way to enforce that this property is set
somewhere in the devicetree description ? Philipp adviced for it to be transfered
to the ldlc description (ie. marvell,pxa2xx-ldlc), while I was thinking of
having it in a panel description.

Cheers.

-- 
Robert

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
  2015-10-08 19:15         ` Robert Jarzmik
@ 2015-10-09  0:46           ` Rob Herring
  -1 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-09  0:46 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Philipp Zabel, Pawel Moll, Mark Rutland, Ian Campbell,
	Kumar Gala, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

On Thu, Oct 8, 2015 at 2:15 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:

>>> And then, when a board maintainer will create a devicetree description, he will
>>> write something like :
>>>       compatible = "toshiba,ltm0305a776";
>>>       compatible = "marvell,pxa2xx-panel";
>>
>> Drop this compatible.
>>
>>>       lcd-type = "color-tft";
>>>       ...
>>>
>>> If that's the case, I wonder how to "enforce" that a panel used with
>>> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
>>> marvell,pxa2xx-panel ?
>>
>> I'm not sure what you mean. Putting the panel into the dts ensures
>> that. The FB driver may check for toshiba,ltm0305a776 or a list of
>> panels. However, a DRM driver would probably not check that.
>>
>> Rob
> What I mean is that the LDLC controller _must_ be programmmed with the correct
> panel type, ie. one register of the LDLC should be set according to this type.
>
> The type is a hardware property of the panel, and yet it is absolutely mandatory
> to have it set in the panel.
>
> What I mean is : what is the good way to enforce that this property is set
> somewhere in the devicetree description ? Philipp adviced for it to be transfered
> to the ldlc description (ie. marvell,pxa2xx-ldlc), while I was thinking of
> having it in a panel description.

Either of those options are fine. Neither should need
marvell,pxa2xx-panel though. I'd lean towards putting it in the panel,
but in that case it should be generic for panels which I think it is.
It should probably be optional with not present meaning color-tft
(since every other type is practically dead), but you could say
required on pxa2xx.

The only way to enforce it ATM, is panicking or something if the LCDC
finds it is not set. That's not any worse that checking for
marvell,pxa2xx-panel.

Rob

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

* Re: [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding
@ 2015-10-09  0:46           ` Rob Herring
  0 siblings, 0 replies; 25+ messages in thread
From: Rob Herring @ 2015-10-09  0:46 UTC (permalink / raw)
  To: Robert Jarzmik
  Cc: Philipp Zabel, Pawel Moll, Mark Rutland, Ian Campbell,
	Kumar Gala, devicetree, linux-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev

On Thu, Oct 8, 2015 at 2:15 PM, Robert Jarzmik <robert.jarzmik@free.fr> wrote:
> Rob Herring <robh@kernel.org> writes:

>>> And then, when a board maintainer will create a devicetree description, he will
>>> write something like :
>>>       compatible = "toshiba,ltm0305a776";
>>>       compatible = "marvell,pxa2xx-panel";
>>
>> Drop this compatible.
>>
>>>       lcd-type = "color-tft";
>>>       ...
>>>
>>> If that's the case, I wonder how to "enforce" that a panel used with
>>> marvell,pxa2xx-lcdc (through the of_graph 'port' node) be compatible with
>>> marvell,pxa2xx-panel ?
>>
>> I'm not sure what you mean. Putting the panel into the dts ensures
>> that. The FB driver may check for toshiba,ltm0305a776 or a list of
>> panels. However, a DRM driver would probably not check that.
>>
>> Rob
> What I mean is that the LDLC controller _must_ be programmmed with the correct
> panel type, ie. one register of the LDLC should be set according to this type.
>
> The type is a hardware property of the panel, and yet it is absolutely mandatory
> to have it set in the panel.
>
> What I mean is : what is the good way to enforce that this property is set
> somewhere in the devicetree description ? Philipp adviced for it to be transfered
> to the ldlc description (ie. marvell,pxa2xx-ldlc), while I was thinking of
> having it in a panel description.

Either of those options are fine. Neither should need
marvell,pxa2xx-panel though. I'd lean towards putting it in the panel,
but in that case it should be generic for panels which I think it is.
It should probably be optional with not present meaning color-tft
(since every other type is practically dead), but you could say
required on pxa2xx.

The only way to enforce it ATM, is panicking or something if the LCDC
finds it is not set. That's not any worse that checking for
marvell,pxa2xx-panel.

Rob

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

end of thread, other threads:[~2015-10-09  0:46 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-04 10:31 [PATCH v2] video: fbdev: add Marvell PXA framebuffer binding Robert Jarzmik
2015-10-04 10:31 ` Robert Jarzmik
2015-10-04 10:31 ` Robert Jarzmik
2015-10-06  6:58 ` Philipp Zabel
2015-10-06  6:58   ` Philipp Zabel
2015-10-06  6:58   ` Philipp Zabel
2015-10-06 19:13   ` Robert Jarzmik
2015-10-06 19:13     ` Robert Jarzmik
2015-10-06 13:30 ` Rob Herring
2015-10-06 13:30   ` Rob Herring
2015-10-06 13:30   ` Rob Herring
2015-10-06 19:32   ` Robert Jarzmik
2015-10-06 19:32     ` Robert Jarzmik
2015-10-06 19:32     ` Robert Jarzmik
2015-10-08  6:49     ` Philipp Zabel
2015-10-08  6:49       ` Philipp Zabel
2015-10-08  6:49       ` Philipp Zabel
2015-10-08 13:30     ` Rob Herring
2015-10-08 13:30       ` Rob Herring
2015-10-08 13:30       ` Rob Herring
2015-10-08 19:15       ` Robert Jarzmik
2015-10-08 19:15         ` Robert Jarzmik
2015-10-08 19:15         ` Robert Jarzmik
2015-10-09  0:46         ` Rob Herring
2015-10-09  0:46           ` Rob Herring

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.