All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: David Airlie <airlied@linux.ie>,
	devicetree@vger.kernel.org, Daniel Vetter <daniel@ffwll.ch>,
	dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/4] drm/mcde: Add device tree bindings
Date: Mon, 25 Feb 2019 16:31:24 -0600	[thread overview]
Message-ID: <20190225223124.GA29057@bogus> (raw)
In-Reply-To: <20190207083647.20615-3-linus.walleij@linaro.org>

On Thu, Feb 07, 2019 at 09:36:45AM +0100, Linus Walleij wrote:
> This adds the device tree bindings for the ST-Ericsson
> Multi Channel Display Engine MCDE as found in the U8500
> SoCs.
> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  .../devicetree/bindings/display/ste,mcde.txt  | 110 ++++++++++++++++++
>  1 file changed, 110 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ste,mcde.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ste,mcde.txt b/Documentation/devicetree/bindings/display/ste,mcde.txt
> new file mode 100644
> index 000000000000..fc58aa5effb5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ste,mcde.txt
> @@ -0,0 +1,110 @@
> +ST-Ericsson Multi Channel Display Engine MCDE
> +
> +The ST-Ericsson MCDE is a display controller with support for compositing
> +and displaying several channels memory resident graphics data on DSI or
> +LCD displays or bridges. It is used in the ST-Ericsson U8500 platform.
> +
> +Required properties:
> +
> +- compatible: must be:
> +  "ste,mcde"

Only one version? This too is old enough, I'm not too worried about how 
specific the compatibles are here.

> +- reg: register base for the main MCDE control registers, should be
> +  0x1000 in size
> +- interrupts: the interrupt line for the MCDE
> +- epod-supply: a phandle to the EPOD regulator
> +- vana-supply: a phandle to the analog voltage regulator
> +- clocks: an array of the MCDE clocks in this strict order:
> +  MCDECLK (main MCDE clock), LCDCLK (LCD clock), PLLDSI
> +  (HDMI clock), DSI0ESCLK (DSI0 energy save clock),
> +  DSI1ESCLK (DSI1 energy save clock), DSI2ESCLK (DSI2 energy
> +  save clock)
> +- clock-names: must be the following array:
> +  "mcde", "lcd", "hdmi", "dsi0", "dsi1", "dsi0es", "dsi1es", "dsi2es"

dsi2 clock?

Should the dsi clocks be in the child nodes?

> +  to match the required clock inputs above.
> +- #address-cells: should be <1> (for the DSI hosts that will be children)
> +- #size-cells: should be <1> (for the DSI hosts that will be children)
> +- ranges: this should always be stated
> +
> +Required subnodes:
> +
> +The devicetree must specify subnodes for the DSI host adapters.
> +These must have the following characteristics:
> +
> +- compatible: must be:
> +  "ste,mcde-dsi"
> +- reg: must specify the register range for the DSI host
> +- vana-supply: phandle to the VANA voltage regulator
> +- #address-cells: should be <1>
> +- #size-cells: should be <0>
> +
> +Display panels and bridges will appear as children on the DSI hosts, and
> +the displays are connected to the DSI hosts using the common binding
> +for video transmitter interfaces; see
> +Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> +If a DSI host is unused (not connected) it will have no children or ports
> +defined.
> +
> +Example:
> +
> +mcde@a0350000 {
> +	compatible = "ste,mcde";
> +	reg = <0xa0350000 0x1000>;
> +	interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
> +	epod-supply = <&db8500_b2r2_mcde_reg>;
> +	vana-supply = <&ab8500_ldo_ana_reg>;
> +	clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
> +		 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
> +		 <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */
> +		 <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */
> +		 <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */
> +		 <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */
> +		 <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */
> +		 <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */
> +	clock-names = "mcde", "lcd", "hdmi", "dsi0", "dsi1",
> +		    "dsi0es", "dsi1es", "dsi2es";
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	ranges;

A non-empty ranges is preferred, then you can just do offsets below.

> +
> +	dsi0: dsi@a0351000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0351000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		port {
> +			dsi0_out: endpoint {
> +				remote-endpoint = <&panel_in>;
> +			};
> +		};
> +
> +		panel: display {

'panel' would be the somewhat more standard node name.

> +			compatible = "samsung,s6d16d0";
> +			reg = <0>;
> +			vdd1-supply = <&ab8500_ldo_aux1_reg>;
> +			reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
> +
> +			port {
> +				panel_in: endpoint {
> +					remote-endpoint = <&dsi0_out>;

You don't really need the graph here as it is already a child. Generally 
it is either or. The driver can support both ways though.

> +				};
> +			};
> +		};
> +
> +	};
> +	dsi1: dsi@a0352000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0352000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +	};
> +	dsi2: dsi@a0353000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0353000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +	};
> +};
> -- 
> 2.20.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: David Airlie <airlied@linux.ie>,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/4] drm/mcde: Add device tree bindings
Date: Mon, 25 Feb 2019 16:31:24 -0600	[thread overview]
Message-ID: <20190225223124.GA29057@bogus> (raw)
In-Reply-To: <20190207083647.20615-3-linus.walleij@linaro.org>

On Thu, Feb 07, 2019 at 09:36:45AM +0100, Linus Walleij wrote:
> This adds the device tree bindings for the ST-Ericsson
> Multi Channel Display Engine MCDE as found in the U8500
> SoCs.
> 
> Cc: devicetree@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
>  .../devicetree/bindings/display/ste,mcde.txt  | 110 ++++++++++++++++++
>  1 file changed, 110 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/display/ste,mcde.txt
> 
> diff --git a/Documentation/devicetree/bindings/display/ste,mcde.txt b/Documentation/devicetree/bindings/display/ste,mcde.txt
> new file mode 100644
> index 000000000000..fc58aa5effb5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/ste,mcde.txt
> @@ -0,0 +1,110 @@
> +ST-Ericsson Multi Channel Display Engine MCDE
> +
> +The ST-Ericsson MCDE is a display controller with support for compositing
> +and displaying several channels memory resident graphics data on DSI or
> +LCD displays or bridges. It is used in the ST-Ericsson U8500 platform.
> +
> +Required properties:
> +
> +- compatible: must be:
> +  "ste,mcde"

Only one version? This too is old enough, I'm not too worried about how 
specific the compatibles are here.

> +- reg: register base for the main MCDE control registers, should be
> +  0x1000 in size
> +- interrupts: the interrupt line for the MCDE
> +- epod-supply: a phandle to the EPOD regulator
> +- vana-supply: a phandle to the analog voltage regulator
> +- clocks: an array of the MCDE clocks in this strict order:
> +  MCDECLK (main MCDE clock), LCDCLK (LCD clock), PLLDSI
> +  (HDMI clock), DSI0ESCLK (DSI0 energy save clock),
> +  DSI1ESCLK (DSI1 energy save clock), DSI2ESCLK (DSI2 energy
> +  save clock)
> +- clock-names: must be the following array:
> +  "mcde", "lcd", "hdmi", "dsi0", "dsi1", "dsi0es", "dsi1es", "dsi2es"

dsi2 clock?

Should the dsi clocks be in the child nodes?

> +  to match the required clock inputs above.
> +- #address-cells: should be <1> (for the DSI hosts that will be children)
> +- #size-cells: should be <1> (for the DSI hosts that will be children)
> +- ranges: this should always be stated
> +
> +Required subnodes:
> +
> +The devicetree must specify subnodes for the DSI host adapters.
> +These must have the following characteristics:
> +
> +- compatible: must be:
> +  "ste,mcde-dsi"
> +- reg: must specify the register range for the DSI host
> +- vana-supply: phandle to the VANA voltage regulator
> +- #address-cells: should be <1>
> +- #size-cells: should be <0>
> +
> +Display panels and bridges will appear as children on the DSI hosts, and
> +the displays are connected to the DSI hosts using the common binding
> +for video transmitter interfaces; see
> +Documentation/devicetree/bindings/media/video-interfaces.txt
> +
> +If a DSI host is unused (not connected) it will have no children or ports
> +defined.
> +
> +Example:
> +
> +mcde@a0350000 {
> +	compatible = "ste,mcde";
> +	reg = <0xa0350000 0x1000>;
> +	interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
> +	epod-supply = <&db8500_b2r2_mcde_reg>;
> +	vana-supply = <&ab8500_ldo_ana_reg>;
> +	clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
> +		 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
> +		 <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */
> +		 <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */
> +		 <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */
> +		 <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */
> +		 <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */
> +		 <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */
> +	clock-names = "mcde", "lcd", "hdmi", "dsi0", "dsi1",
> +		    "dsi0es", "dsi1es", "dsi2es";
> +	#address-cells = <1>;
> +	#size-cells = <1>;
> +	ranges;

A non-empty ranges is preferred, then you can just do offsets below.

> +
> +	dsi0: dsi@a0351000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0351000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		port {
> +			dsi0_out: endpoint {
> +				remote-endpoint = <&panel_in>;
> +			};
> +		};
> +
> +		panel: display {

'panel' would be the somewhat more standard node name.

> +			compatible = "samsung,s6d16d0";
> +			reg = <0>;
> +			vdd1-supply = <&ab8500_ldo_aux1_reg>;
> +			reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
> +
> +			port {
> +				panel_in: endpoint {
> +					remote-endpoint = <&dsi0_out>;

You don't really need the graph here as it is already a child. Generally 
it is either or. The driver can support both ways though.

> +				};
> +			};
> +		};
> +
> +	};
> +	dsi1: dsi@a0352000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0352000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +	};
> +	dsi2: dsi@a0353000 {
> +		compatible = "ste,mcde-dsi";
> +		reg = <0xa0353000 0x1000>;
> +		vana-supply = <&ab8500_ldo_ana_reg>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +	};
> +};
> -- 
> 2.20.1
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2019-02-25 22:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-07  8:36 [PATCH 0/4] DRM driver for ST-Ericsson MCDE Linus Walleij
2019-02-07  8:36 ` Linus Walleij
2019-02-07  8:36 ` [PATCH 1/4] drm/simple_kms_helper: enable use of external encoder Linus Walleij
2019-02-07  8:36   ` Linus Walleij
2019-02-07  9:17   ` Daniel Vetter
2019-02-07  9:17     ` Daniel Vetter
2019-02-07 21:02     ` Linus Walleij
2019-02-07 21:02       ` Linus Walleij
2019-02-07 21:43       ` Daniel Vetter
2019-02-07 21:43         ` Daniel Vetter
2019-02-07  8:36 ` [PATCH 2/4] drm/mcde: Add device tree bindings Linus Walleij
2019-02-07  8:36   ` Linus Walleij
2019-02-25 22:31   ` Rob Herring [this message]
2019-02-25 22:31     ` Rob Herring
2019-02-07  8:36 ` [PATCH 3/4] drm/mcde: Add new driver for ST-Ericsson MCDE Linus Walleij
2019-02-07 22:22   ` Daniel Vetter
2019-02-07 22:28     ` Daniel Vetter
2019-02-07 22:28       ` Daniel Vetter
2019-02-08 19:31   ` Sam Ravnborg
2019-02-08 19:31     ` Sam Ravnborg
2019-02-07  8:36 ` [PATCH 4/4] ARM: dts: Ux500: Add MCDE and Samsung display Linus Walleij
2019-02-07  8:36   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190225223124.GA29057@bogus \
    --to=robh@kernel.org \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.