* [PATCH] ARM: tegra: seaboard: enable internal LCD
@ 2012-11-16 18:55 Stephen Warren
[not found] ` <1353092114-18410-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Warren @ 2012-11-16 18:55 UTC (permalink / raw)
To: Stephen Warren
Cc: Alex Courbot, linux-tegra-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Stephen Warren
From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Enable host1x and add the rgb (LCD) output.
Also add the power sequence that controls the backlight and panel. The
sequence strictly follows the order and timings of the panel
specification.
Currently the backlight device controls both backlight and panel, this
needs to be fixed once the panel framework supports power sequences.
Based on (cut/paste) work for Ventana by Alexandre Courbot.
Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
arch/arm/boot/dts/tegra20-seaboard.dts | 127 +++++++++++++++++++++++++++++++-
1 file changed, 126 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index eafeca6..a999430 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -10,6 +10,16 @@
reg = <0x00000000 0x40000000>;
};
+ host1x {
+ dc@54200000 {
+ rgb {
+ status = "okay";
+ nvidia,ddc-i2c-bus = <&lcd_ddc>;
+ backlight = <&backlight>;
+ };
+ };
+ };
+
pinmux {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
@@ -351,7 +361,7 @@
#size-cells = <0>;
};
- i2c@1 {
+ lcd_ddc: i2c@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
@@ -600,6 +610,101 @@
};
};
+ backlight: backlight {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 255>;
+ default-brightness-level = <12>;
+
+ /* resources used by the power sequences */
+ pwms = <&pwm 2 5000000>;
+ pwm-names = "backlight";
+ power-supply = <&vdd_bl_reg>;
+ panel-supply = <&vdd_panel_reg>;
+
+ power-sequences {
+ power-on {
+ /*
+ * Panel power and LVDS enable.
+ * TODO: move into the panel device as soon as
+ * panel framework supports power sequences.
+ */
+ step0 {
+ type = "regulator";
+ id = "panel";
+ enable;
+ };
+ step1 {
+ /* LVDS_SHTDN* */
+ type = "gpio";
+ gpio = <&gpio 10 0>; /* GPIO PC6 */
+ value = <1>;
+ };
+ step2 {
+ type = "delay";
+ delay = <200000>;
+ };
+ /* Backlight sequence. This belongs here. */
+ step3 {
+ type = "regulator";
+ id = "power";
+ enable;
+ };
+ step4 {
+ type = "delay";
+ delay = <10000>;
+ };
+ step5 {
+ type = "pwm";
+ id = "backlight";
+ enable;
+ };
+ step6 {
+ /* LCD_BL_EN */
+ type = "gpio";
+ gpio = <&gpio 28 0>; /* GPIO PD4 */
+ value = <1>;
+ };
+ };
+
+ power-off {
+ step0 {
+ type = "gpio";
+ gpio = <&gpio 28 0>;
+ value = <0>;
+ };
+ step1 {
+ type = "pwm";
+ id = "backlight";
+ disable;
+ };
+ step2 {
+ type = "delay";
+ delay = <10000>;
+ };
+ step3 {
+ type = "regulator";
+ id = "power";
+ disable;
+ };
+ /* This also belongs to the panel sequence */
+ step4 {
+ type = "delay";
+ delay = <200000>;
+ };
+ step5 {
+ type = "gpio";
+ gpio = <&gpio 10 0>;
+ value = <0>;
+ };
+ step6 {
+ type = "regulator";
+ id = "panel";
+ disable;
+ };
+ };
+ };
+ };
+
regulators {
compatible = "simple-bus";
#address-cells = <1>;
@@ -632,6 +737,26 @@
gpio = <&pmic 1 0>;
enable-active-high;
};
+
+ vdd_panel_reg: regulator@3 {
+ compatible = "regulator-fixed";
+ reg = <3>;
+ regulator-name = "vdd_pnl";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpio 22 0>; /* gpio PC6 */
+ enable-active-high;
+ };
+
+ vdd_bl_reg: regulator@4 {
+ compatible = "regulator-fixed";
+ reg = <4>;
+ regulator-name = "vdd_bl";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ gpio = <&gpio 176 0>; /* gpio PW0 */
+ enable-active-high;
+ };
};
sound {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ARM: tegra: seaboard: enable internal LCD
[not found] ` <1353092114-18410-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
@ 2012-11-17 3:18 ` Alex Courbot
[not found] ` <50A7020B.6070708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Alex Courbot @ 2012-11-17 3:18 UTC (permalink / raw)
To: Stephen Warren
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Stephen Warren
On 11/17/2012 03:55 AM, Stephen Warren wrote:
> + host1x {
> + dc@54200000 {
> + rgb {
> + status = "okay";
> + nvidia,ddc-i2c-bus = <&lcd_ddc>;
> + backlight = <&backlight>;
I guess the remark Thierry made on my patch that the property should be
"nvidia,backlight" (and that it will not be supported for 3.8 anyway)
also applies here.
Alex.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] ARM: tegra: seaboard: enable internal LCD
[not found] ` <50A7020B.6070708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
@ 2012-11-17 7:30 ` Thierry Reding
0 siblings, 0 replies; 3+ messages in thread
From: Thierry Reding @ 2012-11-17 7:30 UTC (permalink / raw)
To: Alex Courbot
Cc: Stephen Warren,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Stephen Warren
[-- Attachment #1: Type: text/plain, Size: 603 bytes --]
On Sat, Nov 17, 2012 at 12:18:35PM +0900, Alex Courbot wrote:
> On 11/17/2012 03:55 AM, Stephen Warren wrote:
> >+ host1x {
> >+ dc@54200000 {
> >+ rgb {
> >+ status = "okay";
> >+ nvidia,ddc-i2c-bus = <&lcd_ddc>;
> >+ backlight = <&backlight>;
>
> I guess the remark Thierry made on my patch that the property should
> be "nvidia,backlight" (and that it will not be supported for 3.8
> anyway) also applies here.
Yes, and the property should go into the rgb's display subnode.
Eventually this will need to be hooked up to the panel framework once
that's ready.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-11-17 7:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-16 18:55 [PATCH] ARM: tegra: seaboard: enable internal LCD Stephen Warren
[not found] ` <1353092114-18410-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-17 3:18 ` Alex Courbot
[not found] ` <50A7020B.6070708-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-11-17 7:30 ` Thierry Reding
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox