All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Behme <dirk.behme-V5te9oGctAVWk0Htik3J/w@public.gmane.org>
To: "Lothar Waßmann"
	<LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>,
	"Shawn Guo" <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>
Subject: How to select between different display timings? (was: [PATCH 7/8] ARM: dts: tx28: restructure and update DTS file)
Date: Fri, 14 Feb 2014 14:50:37 +0100	[thread overview]
Message-ID: <52FE1F2D.4010102@de.bosch.com> (raw)
In-Reply-To: <1375966287-6784-8-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>

Hi Lothar and Shawn,

On 08.08.2013 14:51, Lothar Waßmann wrote:
> - add Copyright header
> - use label references for better readability
> - sort the entries alphabetically
> - add some aliases used by U-Boot to edit the DT data
>
> Signed-off-by: Lothar Waßmann <LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
> ---
>   arch/arm/boot/dts/imx28-tx28.dts |  693 +++++++++++++++++++++++++++++++++-----
>   1 files changed, 611 insertions(+), 82 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
> index 37be532..866af60 100644
> --- a/arch/arm/boot/dts/imx28-tx28.dts
> +++ b/arch/arm/boot/dts/imx28-tx28.dts
...
> +&lcdif {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &lcdif_ctrl_pins_a>;
> +       lcd-supply = <&reg_lcd>;
> +       display = <&display>;
> +       status = "okay";
> +
> +       display: display@0 {
> +               bits-per-pixel = <32>;
> +               bus-width = <24>;
> +
> +               display-timings {
> +                       native-mode = <&timing5>;
> +                       timing0: timing0 {
> +                               panel-name = "VGA";
> +                               clock-frequency = <25175000>;
> +                               hactive = <640>;
> +                               vactive = <480>;
> +                               hback-porch = <48>;
> +                               hsync-len = <96>;
> +                               hfront-porch = <16>;
> +                               vback-porch = <33>;
> +                               vsync-len = <2>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing1: timing1 {
> +                               panel-name = "ETV570";
> +                               clock-frequency = <25175000>;
> +                               hactive = <640>;
> +                               vactive = <480>;
> +                               hback-porch = <114>;
> +                               hsync-len = <30>;
> +                               hfront-porch = <16>;
> +                               vback-porch = <32>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing2: timing2 {
> +                               panel-name = "ET0350";
> +                               clock-frequency = <6500000>;
> +                               hactive = <320>;
> +                               vactive = <240>;
> +                               hback-porch = <34>;
> +                               hsync-len = <34>;
> +                               hfront-porch = <20>;
> +                               vback-porch = <15>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <4>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing3: timing3 {
> +                               panel-name = "ET0430";
> +                               clock-frequency = <9000000>;
> +                               hactive = <480>;
> +                               vactive = <272>;
> +                               hback-porch = <2>;
> +                               hsync-len = <41>;
> +                               hfront-porch = <2>;
> +                               vback-porch = <2>;
> +                               vsync-len = <10>;
> +                               vfront-porch = <2>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing4: timing4 {
> +                               panel-name = "ET0500", "ET0700";
> +                               clock-frequency = <33260000>;
> +                               hactive = <800>;
> +                               vactive = <480>;
> +                               hback-porch = <88>;
> +                               hsync-len = <128>;
> +                               hfront-porch = <40>;
> +                               vback-porch = <33>;
> +                               vsync-len = <2>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing5: timing5 {
> +                               panel-name = "ETQ570";
> +                               clock-frequency = <6400000>;
> +                               hactive = <320>;
> +                               vactive = <240>;
> +                               hback-porch = <38>;
> +                               hsync-len = <30>;
> +                               hfront-porch = <30>;
> +                               vback-porch = <16>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <4>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +               };
> +       };
> +};

Being no graphics expert, looking at above device tree change, I'd like 
to understand how this can be used to switch between different display 
timings?

In the kernel, I've found the code which selects the default/native-mode 
(of_display_timing.c). But, as here, if there is a native/default mode, 
there are alternative modes. I haven't understood how and who to select 
these other modes? In this case, how could the alternative modes 
timing0/1/2/3/4 be selected in the kernel?

Do you have any pointers regarding this?

Many thanks and best regards

Dirk



--
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

WARNING: multiple messages have this Message-ID (diff)
From: dirk.behme@de.bosch.com (Dirk Behme)
To: linux-arm-kernel@lists.infradead.org
Subject: How to select between different display timings? (was: [PATCH 7/8] ARM: dts: tx28: restructure and update DTS file)
Date: Fri, 14 Feb 2014 14:50:37 +0100	[thread overview]
Message-ID: <52FE1F2D.4010102@de.bosch.com> (raw)
In-Reply-To: <1375966287-6784-8-git-send-email-LW@KARO-electronics.de>

Hi Lothar and Shawn,

On 08.08.2013 14:51, Lothar Wa?mann wrote:
> - add Copyright header
> - use label references for better readability
> - sort the entries alphabetically
> - add some aliases used by U-Boot to edit the DT data
>
> Signed-off-by: Lothar Wa?mann <LW@KARO-electronics.de>
> ---
>   arch/arm/boot/dts/imx28-tx28.dts |  693 +++++++++++++++++++++++++++++++++-----
>   1 files changed, 611 insertions(+), 82 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
> index 37be532..866af60 100644
> --- a/arch/arm/boot/dts/imx28-tx28.dts
> +++ b/arch/arm/boot/dts/imx28-tx28.dts
...
> +&lcdif {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &lcdif_ctrl_pins_a>;
> +       lcd-supply = <&reg_lcd>;
> +       display = <&display>;
> +       status = "okay";
> +
> +       display: display at 0 {
> +               bits-per-pixel = <32>;
> +               bus-width = <24>;
> +
> +               display-timings {
> +                       native-mode = <&timing5>;
> +                       timing0: timing0 {
> +                               panel-name = "VGA";
> +                               clock-frequency = <25175000>;
> +                               hactive = <640>;
> +                               vactive = <480>;
> +                               hback-porch = <48>;
> +                               hsync-len = <96>;
> +                               hfront-porch = <16>;
> +                               vback-porch = <33>;
> +                               vsync-len = <2>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing1: timing1 {
> +                               panel-name = "ETV570";
> +                               clock-frequency = <25175000>;
> +                               hactive = <640>;
> +                               vactive = <480>;
> +                               hback-porch = <114>;
> +                               hsync-len = <30>;
> +                               hfront-porch = <16>;
> +                               vback-porch = <32>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing2: timing2 {
> +                               panel-name = "ET0350";
> +                               clock-frequency = <6500000>;
> +                               hactive = <320>;
> +                               vactive = <240>;
> +                               hback-porch = <34>;
> +                               hsync-len = <34>;
> +                               hfront-porch = <20>;
> +                               vback-porch = <15>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <4>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing3: timing3 {
> +                               panel-name = "ET0430";
> +                               clock-frequency = <9000000>;
> +                               hactive = <480>;
> +                               vactive = <272>;
> +                               hback-porch = <2>;
> +                               hsync-len = <41>;
> +                               hfront-porch = <2>;
> +                               vback-porch = <2>;
> +                               vsync-len = <10>;
> +                               vfront-porch = <2>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing4: timing4 {
> +                               panel-name = "ET0500", "ET0700";
> +                               clock-frequency = <33260000>;
> +                               hactive = <800>;
> +                               vactive = <480>;
> +                               hback-porch = <88>;
> +                               hsync-len = <128>;
> +                               hfront-porch = <40>;
> +                               vback-porch = <33>;
> +                               vsync-len = <2>;
> +                               vfront-porch = <10>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +
> +                       timing5: timing5 {
> +                               panel-name = "ETQ570";
> +                               clock-frequency = <6400000>;
> +                               hactive = <320>;
> +                               vactive = <240>;
> +                               hback-porch = <38>;
> +                               hsync-len = <30>;
> +                               hfront-porch = <30>;
> +                               vback-porch = <16>;
> +                               vsync-len = <3>;
> +                               vfront-porch = <4>;
> +                               hsync-active = <0>;
> +                               vsync-active = <0>;
> +                               de-active = <1>;
> +                               pixelclk-active = <1>;
> +                       };
> +               };
> +       };
> +};

Being no graphics expert, looking at above device tree change, I'd like 
to understand how this can be used to switch between different display 
timings?

In the kernel, I've found the code which selects the default/native-mode 
(of_display_timing.c). But, as here, if there is a native/default mode, 
there are alternative modes. I haven't understood how and who to select 
these other modes? In this case, how could the alternative modes 
timing0/1/2/3/4 be selected in the kernel?

Do you have any pointers regarding this?

Many thanks and best regards

Dirk

  parent reply	other threads:[~2014-02-14 13:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-08 12:51 [PATCH 0/10] ARM: mxs: update board support for TX28 Lothar Waßmann
2013-08-08 12:51 ` [PATCH 1/8] ARM: dts: mxs: whitespace cleanup Lothar Waßmann
2013-08-08 12:51 ` [PATCH 2/8] ARM: dts: mxs: add labels to most nodes for easier reference Lothar Waßmann
2013-08-08 12:51 ` [PATCH 3/8] ARM: dts: mxs: add another set of saif0_pins (without MCLK) Lothar Waßmann
2013-08-08 12:51 ` [PATCH 4/8] ARM: dts: mxs: add pin config for SSP3 interface Lothar Waßmann
2013-08-08 12:51 ` [PATCH 5/8] ARM: dts: mxs: add pin config for LCD sync and clock pins Lothar Waßmann
2013-08-12  9:16   ` Shawn Guo
2013-08-08 12:51 ` [PATCH 6/8] ARM: dts: mxs: add pin config options for usbphy pins Lothar Waßmann
2013-08-12  9:17   ` Shawn Guo
2013-08-08 12:51 ` [PATCH 7/8] ARM: dts: tx28: restructure and update DTS file Lothar Waßmann
     [not found]   ` <1375966287-6784-8-git-send-email-LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org>
2014-02-14 13:50     ` Dirk Behme [this message]
2014-02-14 13:50       ` How to select between different display timings? (was: [PATCH 7/8] ARM: dts: tx28: restructure and update DTS file) Dirk Behme
     [not found]       ` <52FE1F2D.4010102-V5te9oGctAVWk0Htik3J/w@public.gmane.org>
2014-02-14 14:02         ` Lothar Waßmann
2014-02-14 14:02           ` Lothar Waßmann
     [not found]           ` <20140214150208.12417b11-VjFSrY7JcPWvSplVBqRQBQ@public.gmane.org>
2014-02-14 17:35             ` How to select between different display timings? Dirk Behme
2014-02-14 17:35               ` Dirk Behme
     [not found]               ` <52FE53DD.7040102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-02-14 20:06                 ` Anatolij Gustschin
2014-02-14 20:06                   ` Anatolij Gustschin
2013-08-08 12:51 ` [PATCH 8/8] ARM: mxs: Add TX28 defconfigs Lothar Waßmann
2013-08-12 10:58   ` Shawn Guo

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=52FE1F2D.4010102@de.bosch.com \
    --to=dirk.behme-v5te9ogctavwk0htik3j/w@public.gmane.org \
    --cc=LW-bxm8fMRDkQLDiMYJYoSAnRvVK+yQ3ZXh@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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.