All of lore.kernel.org
 help / color / mirror / Atom feed
* drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
@ 2013-03-28 17:32 Michal Bachraty
  2013-04-01 11:31 ` Hiremath, Vaibhav
  0 siblings, 1 reply; 5+ messages in thread
From: Michal Bachraty @ 2013-03-28 17:32 UTC (permalink / raw)
  To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
  Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w, koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f

Hi,

I'm trying to use tilcdc driver for KWH050TG08 LCD panel connected to AM335x 
processor (3.9 rc1 kernel). I have prepared DT bindings for that (listed 
bellow). I see fb0 device but I have no clocks going from cpu to LCD.  My 
clocks for LCD seems not properly to be set ...

virt_25000000_ck               1           1            25000000  
    sys_clkin_ck                8           19           25000000  
       dpll_disp_ck             0           1            25000000  
          dpll_disp_m2_ck       0           1            25000000  
             lcd_gclk           0           1            25000000   

and tilcdc_crtc is not called. I also set lcd_gclk to 300MHz, but I got same 
result. The question is there any way how to properly set clocks for LCD?

There is also one issue with backlight panel driver initialization in tilcdc 
driver. This problem seems to depend on DT and I2c driver deferried 
initialization and then also tps65217-bl driver.  Therefore tilcdc is 
initialized earlier than backlight driver. The question is: is there any way 
to switch order for loading drivers and how can be that done?

My short dmesg listing is as follows:
...
[    3.330046] pinctrl-single 44e10800.pinmux: request pin 41 (44e108a4) for 
lcd_panel.15
[    3.338390] pinctrl-single 44e10800.pinmux: request pin 40 (44e108a0) for 
lcd_panel.15
[    3.346707] pinctrl-single 44e10800.pinmux: enabling pinmux_lcd_pins 
function6
[    3.354387] panel lcd_panel.15: obtain a copy of previously claimed pinctrl
[    3.368248] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    3.375202] [drm] No driver support for vblank timestamp query.
[    3.386253] tilcdc 4830e000.fb: fb0:  frame buffer device
[    3.392015] tilcdc 4830e000.fb: registered panic notifier
[    3.397781] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[    3.405347] pinctrl core: add 1 pinmux maps
[    3.409879] pinctrl-single 44e10800.pinmux: found group selector 7 for 
pinmux_i2c1_pins
[    3.418347] pinctrl-single 44e10800.pinmux: request pin 98 (44e10988) for 
44e0b000.i2c
[    3.426662] pinctrl-single 44e10800.pinmux: request pin 99 (44e1098c) for 
44e0b000.i2c
[    3.435014] pinctrl-single 44e10800.pinmux: enabling pinmux_i2c1_pins 
function7
[    3.442900] omap_i2c 44e0b000.i2c: obtain a copy of previously claimed 
pinctrl
[    3.453107] omap_i2c 44e0b000.i2c: bus 1 rev0.11 at 400 kHz
[    3.462980] tps65217-pmic tps65217-pmic: no of_node; not parsing pinctrl DT
[    3.473866] DCDC1: 925 <--> 1800 mV at 1800 mV 
[    3.480899] vdd_mpu: 925 <--> 1325 mV at 1100 mV 
[    3.487935] vdd_core: 925 <--> 1150 mV at 1100 mV 
[    3.494958] LDO1: 1000 <--> 3300 mV at 1800 mV 
[    3.501814] LDO2: 900 <--> 3300 mV at 3300 mV 
[    3.508447] LDO3: 1800 <--> 3300 mV at 3300 mV 
[    3.515238] LDO4: 1800 <--> 3300 mV at 3300 mV 
[    3.521270] tps65217-bl tps65217-bl: no of_node; not parsing pinctrl DT
[    3.531348] tps65217 1-0024: TPS65217 ID 0xf version 1.1


With older version of kernel (3.7 ) I uses to use da8xx driver (with some 
patches for DT support and hack for proper clock setup)  and this  
configuration works fine. 


Best regards,

Michal Bachraty

device tree:
am3358_pinmux: pinmux@44e10800 {

		lcdc_pins: pinmux_lcd_pins {
			pinctrl-single,pins = < /*  pin-name     -> function      (name)*/
				0xec  0x00		/* lcd_ac_bias_en ->lcd_ac_bias_en (LCD_EN)- out */
				0xe4  0x00 		/* lcd_hsync -> lcd_hsync (LCD_HSYNC) -out */
				0xe0  0x00 		/* lcd_vsync -> lcd_vsync (LCD_VSYNC) -out */
				0xe8  0x00 		/* lcd_pclk -> lcd_pclk (LCD_PCLK) -out */
				0xdc  0x00 		/* lcd_data15 -> lcd_data15 (LCD_DATA15) -out */
				0xd8  0x00 		/* lcd_data14 -> lcd_data14 (LCD_DATA14) -out */
				0xd4  0x00 		/* lcd_data13 -> lcd_data13 (LCD_DATA13) -out */
				0xd0  0x00 		/* lcd_data12 -> lcd_data12 (LCD_DATA12) -out */
				0xcc  0x00 		/* lcd_data11 -> lcd_data11 (LCD_DATA11) -out */
				0xc8  0x00 		/* lcd_data10 -> lcd_data10 (LCD_DATA10) -out */
				0xc4  0x00 		/* lcd_data9 -> lcd_data9 (LCD_DATA9) -out */
				0xc0  0x00 		/* lcd_data8 -> lcd_data8 (LCD_DATA8) -out */
				0xbc  0x00 		/* lcd_data7 -> lcd_data7 (LCD_DATA7) -out */
				0xb8  0x00 		/* lcd_data6 -> lcd_data6 (LCD_DATA6) -out */
				0xb4  0x00 		/* lcd_data5 -> lcd_data5 (LCD_DATA5) -out */
				0xb0  0x00 		/* lcd_data4 -> lcd_data4 (LCD_DATA4) -out */
				0xac  0x00 		/* lcd_data3 -> lcd_data3 (LCD_DATA3) -out */
				0xa8  0x00 		/* lcd_data2 -> lcd_data2 (LCD_DATA2) -out */
				0xa4  0x00 		/* lcd_data1 -> lcd_data1 (LCD_DATA1) -out */
				0xa0  0x00 		/* lcd_data0 -> lcd_data0 (LCD_DATA0) -out */
			>;
		};
	};
};

	fb: fb@4830e000 {
		compatible = "ti,am33xx-tilcdc";
		reg = <0x4830e000 0x1000>;
		interrupt-parent = <&intc>;
		interrupts = <36>;
		ti,hwmods = "lcdc";
	};

	lcd_panel {
		compatible = "ti,tilcdc,panel";
		pinctrl-names = "default";
		pinctrl-0 = <&lcdc_pins>;
		panel-info {
			ac-bias           = <255>;
			ac-bias-intrpt    = <0>;
			dma-burst-sz      = <16>;
			bpp               = <16>;
			fdd               = <0x80>;
			sync-edge         = <0>;
			sync-ctrl         = <1>;
			raster-order      = <0>;
			fifo-th           = <0>;
		};

		display-timings {
			native-mode = <&timing_0>;
			timing_0: 800x480px {
				/* 800x480 */
				clock-frequency = <50000000>;
				hactive = <800>;
				vactive = <480>;
				hfront-porch = <87>;
				hback-porch = <0>;
				hsync-len = <0>; 
				vback-porch = <0>;
				vfront-porch = <32>;
				vsync-len = <0>; 
				hsync-active = <0>;
				vsync-active = <0>;
			};
		};
	};

&tps {
	backlight {
		fdim = <100>; /* 100Hz,200Hz,500Hz,1000Hz */
		isel = <1>; /* 1 = TPS65217_BL_ISET1, 2 = TPS65217_BL_ISET2*/
	};
};

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

* RE: drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
  2013-03-28 17:32 drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization Michal Bachraty
@ 2013-04-01 11:31 ` Hiremath, Vaibhav
       [not found]   ` <79CD15C6BA57404B839C016229A409A83EC3E861-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Hiremath, Vaibhav @ 2013-04-01 11:31 UTC (permalink / raw)
  To: Michal Bachraty, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ
  Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w, koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f


> -----Original Message-----
> From: devicetree-discuss [mailto:devicetree-discuss-
> bounces+hvaibhav=ti.com-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org] On Behalf Of Michal Bachraty
> Sent: Thursday, March 28, 2013 11:02 PM
> To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; devicetree-
> discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org
> Subject: drm/tilcdc: LCD panels clocks initialization and earlier
> backlight initialization
> 
> Hi,
> 
> I'm trying to use tilcdc driver for KWH050TG08 LCD panel connected to
> AM335x
> processor (3.9 rc1 kernel). I have prepared DT bindings for that
> (listed
> bellow). I see fb0 device but I have no clocks going from cpu to LCD.
> My
> clocks for LCD seems not properly to be set ...
> 
> virt_25000000_ck               1           1            25000000
>     sys_clkin_ck                8           19           25000000
>        dpll_disp_ck             0           1            25000000
>           dpll_disp_m2_ck       0           1            25000000
>              lcd_gclk           0           1            25000000
> 
> and tilcdc_crtc is not called. I also set lcd_gclk to 300MHz, but I got
> same
> result. The question is there any way how to properly set clocks for
> LCD?
> 
Not sure  about the LCDC DRM driver, but I just tested clk_set_rate()
For lcdc_gclk clock and it is working for me. I could able to set
300MHz freq on my BeagleBone platform, with below code -


diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index e54a480..443fb26 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -11,6 +11,7 @@
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
  */
+#include <linux/clk-private.h>
 #include <linux/io.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
@@ -37,6 +38,8 @@ static struct of_device_id omap_dt_match_table[] __initdata = {

 static void __init omap_generic_init(void)
 {
+       struct clk *clk;
+
        omap_sdrc_init(NULL, NULL);

        of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
@@ -49,6 +52,15 @@ static void __init omap_generic_init(void)
                omap4_panda_display_init_of();
        else if (of_machine_is_compatible("ti,omap4-sdp"))
                omap_4430sdp_display_init_of();
+
+       clk = clk_get(NULL, "lcd_gclk");
+       if (IS_ERR(clk))
+               printk("Can not get lcd_gclk clock\n");
+
+       printk("%s:%d gclk_rate - %lu\n", __func__, __LINE__, clk_get_rate(clk));
+       clk_set_rate(clk, 300000000);
+       printk("%s:%d clk_rate - %lu\n", __func__, __LINE__, clk_get_rate(clk));
+       clk_put(clk);
 }

 #ifdef CONFIG_SOC_OMAP2420


Thanks,
Vaibhav

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

* Re: drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
       [not found]   ` <79CD15C6BA57404B839C016229A409A83EC3E861-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
@ 2013-04-01 13:46     ` Rob Clark
       [not found]       ` <CAF6AEGur7yuduNs9-HqP980NcXSB24Wz=2g_P4uPmXC9fJ9-9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Clark @ 2013-04-01 13:46 UTC (permalink / raw)
  To: Hiremath, Vaibhav
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Michal Bachraty,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f

On Mon, Apr 1, 2013 at 7:31 AM, Hiremath, Vaibhav <hvaibhav-l0cyMroinI0@public.gmane.org> wrote:
>
>> -----Original Message-----
>> From: devicetree-discuss [mailto:devicetree-discuss-
>> bounces+hvaibhav=ti.com-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org] On Behalf Of Michal Bachraty
>> Sent: Thursday, March 28, 2013 11:02 PM
>> To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; devicetree-
>> discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
>> Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org
>> Subject: drm/tilcdc: LCD panels clocks initialization and earlier
>> backlight initialization
>>
>> Hi,
>>
>> I'm trying to use tilcdc driver for KWH050TG08 LCD panel connected to
>> AM335x
>> processor (3.9 rc1 kernel). I have prepared DT bindings for that
>> (listed
>> bellow). I see fb0 device but I have no clocks going from cpu to LCD.
>> My
>> clocks for LCD seems not properly to be set ...
>>
>> virt_25000000_ck               1           1            25000000
>>     sys_clkin_ck                8           19           25000000
>>        dpll_disp_ck             0           1            25000000
>>           dpll_disp_m2_ck       0           1            25000000
>>              lcd_gclk           0           1            25000000
>>
>> and tilcdc_crtc is not called. I also set lcd_gclk to 300MHz, but I got
>> same
>> result. The question is there any way how to properly set clocks for
>> LCD?
>>
> Not sure  about the LCDC DRM driver, but I just tested clk_set_rate()
> For lcdc_gclk clock and it is working for me. I could able to set
> 300MHz freq on my BeagleBone platform, with below code -
>

fwiw, tilcdc drm driver won't set clocks until you do modeset, as it
is setting them based on the requested pixel clock.  As opposed to
setting it once at boot time.

Michal, you may want to add 'drm.debug=7' in your bootargs, and send
the bootlog.  That should set some light about whether it is even
trying to modeset but failing, or some other issue.

BR,
-R

>
> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
> index e54a480..443fb26 100644
> --- a/arch/arm/mach-omap2/board-generic.c
> +++ b/arch/arm/mach-omap2/board-generic.c
> @@ -11,6 +11,7 @@
>   * it under the terms of the GNU General Public License version 2 as
>   * published by the Free Software Foundation.
>   */
> +#include <linux/clk-private.h>
>  #include <linux/io.h>
>  #include <linux/of_irq.h>
>  #include <linux/of_platform.h>
> @@ -37,6 +38,8 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
>
>  static void __init omap_generic_init(void)
>  {
> +       struct clk *clk;
> +
>         omap_sdrc_init(NULL, NULL);
>
>         of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
> @@ -49,6 +52,15 @@ static void __init omap_generic_init(void)
>                 omap4_panda_display_init_of();
>         else if (of_machine_is_compatible("ti,omap4-sdp"))
>                 omap_4430sdp_display_init_of();
> +
> +       clk = clk_get(NULL, "lcd_gclk");
> +       if (IS_ERR(clk))
> +               printk("Can not get lcd_gclk clock\n");
> +
> +       printk("%s:%d gclk_rate - %lu\n", __func__, __LINE__, clk_get_rate(clk));
> +       clk_set_rate(clk, 300000000);
> +       printk("%s:%d clk_rate - %lu\n", __func__, __LINE__, clk_get_rate(clk));
> +       clk_put(clk);
>  }
>
>  #ifdef CONFIG_SOC_OMAP2420
>
>
> Thanks,
> Vaibhav

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

* Re: drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
       [not found]       ` <CAF6AEGur7yuduNs9-HqP980NcXSB24Wz=2g_P4uPmXC9fJ9-9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2013-04-02  8:45         ` Michal Bachraty
  2013-04-02 13:59           ` Rob Clark
  0 siblings, 1 reply; 5+ messages in thread
From: Michal Bachraty @ 2013-04-02  8:45 UTC (permalink / raw)
  To: Rob Clark
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f

Hi Rob,

On Monday, April 01, 2013 09:46:05 Rob Clark wrote:
> On Mon, Apr 1, 2013 at 7:31 AM, Hiremath, Vaibhav <hvaibhav-l0cyMroinI0@public.gmane.org> wrote:
> >> -----Original Message-----
> >> From: devicetree-discuss [mailto:devicetree-discuss-
> >> bounces+hvaibhav=ti.com-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org] On Behalf Of Michal Bachraty
> >> Sent: Thursday, March 28, 2013 11:02 PM
> >> To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; devicetree-
> >> discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> >> Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org
> >> Subject: drm/tilcdc: LCD panels clocks initialization and earlier
> >> backlight initialization
> >> 
> >> Hi,
> >> 
> >> I'm trying to use tilcdc driver for KWH050TG08 LCD panel connected to
> >> AM335x
> >> processor (3.9 rc1 kernel). I have prepared DT bindings for that
> >> (listed
> >> bellow). I see fb0 device but I have no clocks going from cpu to LCD.
> >> My
> >> clocks for LCD seems not properly to be set ...
> >> 
> >> virt_25000000_ck               1           1            25000000
> >> 
> >>     sys_clkin_ck                8           19           25000000
> >>     
> >>        dpll_disp_ck             0           1            25000000
> >>        
> >>           dpll_disp_m2_ck       0           1            25000000
> >>           
> >>              lcd_gclk           0           1            25000000
> >> 
> >> and tilcdc_crtc is not called. I also set lcd_gclk to 300MHz, but I got
> >> same
> >> result. The question is there any way how to properly set clocks for
> >> LCD?
> > 
> > Not sure  about the LCDC DRM driver, but I just tested clk_set_rate()
> > For lcdc_gclk clock and it is working for me. I could able to set
> > 300MHz freq on my BeagleBone platform, with below code -
> 
> fwiw, tilcdc drm driver won't set clocks until you do modeset, as it
> is setting them based on the requested pixel clock.  As opposed to
> setting it once at boot time.
> 
> Michal, you may want to add 'drm.debug=7' in your bootargs, and send
> the bootlog.  That should set some light about whether it is even
> trying to modeset but failing, or some other issue.
> 

Yes, here it is:

[    3.098732] platform audio.11: Driver snd-soc-am33xx-s800 requests probe 
deferral
[    3.107280] TCP: cubic registered
[    3.110822] Initializing XFRM netlink socket
[    3.115844] NET: Registered protocol family 10
[    3.123212] NET: Registered protocol family 17
[    3.128064] NET: Registered protocol family 15
[    3.133176] Key type dns_resolver registered
[    3.137846] VFP support v0.3: implementor 41 architecture 3 part 30 variant 
c rev 3
[    3.146087] ThumbEE CPU extension supported.
[    3.150659] Registering SWP/SWPB emulation handler
[    3.160695] registered taskstats version 1
[    3.166007] [drm:tilcdc_drm_init], init
[    3.171117] pinctrl core: add 1 pinmux maps
[    3.175564] pinctrl-single 44e10800.pinmux: found group selector 6 for 
pinmux_lcd_pins
[    3.183957] pinctrl-single 44e10800.pinmux: request pin 59 (44e108ec) for 
lcd_panel.15
[    3.192312] pinctrl-single 44e10800.pinmux: request pin 57 (44e108e4) for 
lcd_panel.15
[    3.200662] pinctrl-single 44e10800.pinmux: request pin 56 (44e108e0) for 
lcd_panel.15
[    3.209010] pinctrl-single 44e10800.pinmux: request pin 58 (44e108e8) for 
lcd_panel.15
[    3.217321] pinctrl-single 44e10800.pinmux: request pin 55 (44e108dc) for 
lcd_panel.15
[    3.225666] pinctrl-single 44e10800.pinmux: request pin 54 (44e108d8) for 
lcd_panel.15
[    3.234012] pinctrl-single 44e10800.pinmux: request pin 53 (44e108d4) for 
lcd_panel.15
[    3.242359] pinctrl-single 44e10800.pinmux: request pin 52 (44e108d0) for 
lcd_panel.15
[    3.250708] pinctrl-single 44e10800.pinmux: request pin 51 (44e108cc) for 
lcd_panel.15
[    3.259052] pinctrl-single 44e10800.pinmux: request pin 50 (44e108c8) for 
lcd_panel.15
[    3.267362] pinctrl-single 44e10800.pinmux: request pin 49 (44e108c4) for 
lcd_panel.15
[    3.275710] pinctrl-single 44e10800.pinmux: request pin 48 (44e108c0) for 
lcd_panel.15
[    3.284057] pinctrl-single 44e10800.pinmux: request pin 47 (44e108bc) for 
lcd_panel.15
[    3.292404] pinctrl-single 44e10800.pinmux: request pin 46 (44e108b8) for 
lcd_panel.15
[    3.300748] pinctrl-single 44e10800.pinmux: request pin 45 (44e108b4) for 
lcd_panel.15
[    3.309091] pinctrl-single 44e10800.pinmux: request pin 44 (44e108b0) for 
lcd_panel.15
[    3.317404] pinctrl-single 44e10800.pinmux: request pin 43 (44e108ac) for 
lcd_panel.15
[    3.325751] pinctrl-single 44e10800.pinmux: request pin 42 (44e108a8) for 
lcd_panel.15
[    3.334098] pinctrl-single 44e10800.pinmux: request pin 41 (44e108a4) for 
lcd_panel.15
[    3.342445] pinctrl-single 44e10800.pinmux: request pin 40 (44e108a0) for 
lcd_panel.15
[    3.350794] pinctrl-single 44e10800.pinmux: enabling pinmux_lcd_pins 
function6
[    3.358477] panel lcd_panel.15: obtain a copy of previously claimed pinctrl
[    3.366365] [drm:drm_platform_init], 
[    3.370270] [drm:drm_get_platform_dev], 
[    3.374940] [drm:drm_get_minor], 
[    3.381143] [drm:drm_get_minor], new minor assigned 64
[    3.386558] [drm:drm_get_minor], 
[    3.391333] [drm:drm_get_minor], new minor assigned 0
[    3.397698] [drm:modeset_init], loading module: panel
[    3.403141] [drm:drm_sysfs_connector_add], adding "LVDS-1" to sysfs
[    3.410040] [drm:drm_sysfs_hotplug_event], generating hotplug event
[    3.416678] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    3.423662] [drm] No driver support for vblank timestamp query.
[    3.429958] [drm:drm_irq_install], irq=52
[    3.434354] [drm:drm_helper_probe_single_connector_modes], 
[CONNECTOR:5:LVDS-1]
[    3.442160] [drm:drm_helper_probe_single_connector_modes], 
[CONNECTOR:5:LVDS-1] probed modes :
[    3.451246] [drm:drm_mode_debug_printmodeline], Modeline 6:"800x480" 110 
50000 800 887 887 887 480 512 512 51a
[    3.462611] [drm:drm_setup_crtcs], 
[    3.466284] [drm:drm_enable_connectors], connector 5 enabled? yes
[    3.472722] [drm:drm_target_preferred], looking for cmdline mode on 
connector 5
[    3.480430] [drm:drm_target_preferred], looking for preferred mode on 
connector 5
[    3.488320] [drm:drm_target_preferred], found mode 800x480
[    3.494083] [drm:drm_setup_crtcs], picking CRTCs for 2048x2048 config
[    3.500886] [drm:drm_setup_crtcs], desired mode 800x480 set on crtc 3
[    3.507667] [drm:drm_fbdev_cma_create], surface width(800), height(480) and 
bpp(16)
[    3.517992] [drm:drm_framebuffer_reference], FB ID: 8
[    3.525610] tilcdc 4830e000.fb: fb0:  frame buffer device
[    3.531352] tilcdc 4830e000.fb: registered panic notifier
[    3.537123] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[    3.544706] pinctrl core: add 1 pinmux maps
[    3.549234] pinctrl-single 44e10800.pinmux: found group selector 7 for 
pinmux_i2c1_pins
[    3.557662] pinctrl-single 44e10800.pinmux: request pin 98 (44e10988) for 
44e0b000.i2c
[    3.566020] pinctrl-single 44e10800.pinmux: request pin 99 (44e1098c) for 
44e0b000.i2c
[    3.574373] pinctrl-single 44e10800.pinmux: enabling pinmux_i2c1_pins 
function7
[    3.582257] omap_i2c 44e0b000.i2c: obtain a copy of previously claimed 
pinctrl
[    3.592470] omap_i2c 44e0b000.i2c: bus 1 rev0.11 at 400 kHz
[    3.602698] tps65217-pmic tps65217-pmic: no of_node; not parsing pinctrl DT
[    3.613524] DCDC1: 925 <--> 1800 mV at 1800 mV 
[    3.620565] vdd_mpu: 925 <--> 1325 mV at 1100 mV 
[    3.627579] vdd_core: 925 <--> 1150 mV at 1100 mV 
[    3.634644] LDO1: 1000 <--> 3300 mV at 1800 mV 
[    3.641483] LDO2: 900 <--> 3300 mV at 3300 mV 
[    3.648293] LDO3: 1800 <--> 3300 mV at 3300 mV 
[    3.655102] LDO4: 1800 <--> 3300 mV at 3300 mV 
[    3.661130] tps65217-bl tps65217-bl: no of_node; not parsing pinctrl DT
[    3.671184] tps65217 1-0024: TPS65217 ID 0xf version 1.1
[    3.678824] dummy 1-0051: no of_node; not parsing pinctrl DT
[    3.685255] dummy 1-0052: no of_node; not parsing pinctrl DT
[    3.691691] dummy 1-0053: no of_node; not parsing pinctrl DT
[    3.697774] at24 1-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write
[    3.710546] si5351 1-0060: si5351_pll_recalc_rate - plla: p1 = 3074, p2 = 
116286, p3 = 390625, parent_rate = 8

Seems drm mode is set [drm:drm_setup_crtcs], desired mode 800x480 set on crtc 
3
I have no clue, what is wrong.

Thanks,
Michal

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

* Re: drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
  2013-04-02  8:45         ` Michal Bachraty
@ 2013-04-02 13:59           ` Rob Clark
  0 siblings, 0 replies; 5+ messages in thread
From: Rob Clark @ 2013-04-02 13:59 UTC (permalink / raw)
  To: Michal Bachraty
  Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f

On Tue, Apr 2, 2013 at 4:45 AM, Michal Bachraty
<michal.bachraty-6oiIBCxl0MMjD8S081q9vkEOCMrvLtNR@public.gmane.org> wrote:
> Hi Rob,
>
> On Monday, April 01, 2013 09:46:05 Rob Clark wrote:
>> On Mon, Apr 1, 2013 at 7:31 AM, Hiremath, Vaibhav <hvaibhav-l0cyMroinI0@public.gmane.org> wrote:
>> >> -----Original Message-----
>> >> From: devicetree-discuss [mailto:devicetree-discuss-
>> >> bounces+hvaibhav=ti.com-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org] On Behalf Of Michal Bachraty
>> >> Sent: Thursday, March 28, 2013 11:02 PM
>> >> To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; devicetree-
>> >> discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
>> >> Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; koen-QLwJDigV5abLmq1fohREcCpxlwaOVQ5f@public.gmane.org
>> >> Subject: drm/tilcdc: LCD panels clocks initialization and earlier
>> >> backlight initialization
>> >>
>> >> Hi,
>> >>
>> >> I'm trying to use tilcdc driver for KWH050TG08 LCD panel connected to
>> >> AM335x
>> >> processor (3.9 rc1 kernel). I have prepared DT bindings for that
>> >> (listed
>> >> bellow). I see fb0 device but I have no clocks going from cpu to LCD.
>> >> My
>> >> clocks for LCD seems not properly to be set ...
>> >>
>> >> virt_25000000_ck               1           1            25000000
>> >>
>> >>     sys_clkin_ck                8           19           25000000
>> >>
>> >>        dpll_disp_ck             0           1            25000000
>> >>
>> >>           dpll_disp_m2_ck       0           1            25000000
>> >>
>> >>              lcd_gclk           0           1            25000000
>> >>
>> >> and tilcdc_crtc is not called. I also set lcd_gclk to 300MHz, but I got
>> >> same
>> >> result. The question is there any way how to properly set clocks for
>> >> LCD?
>> >
>> > Not sure  about the LCDC DRM driver, but I just tested clk_set_rate()
>> > For lcdc_gclk clock and it is working for me. I could able to set
>> > 300MHz freq on my BeagleBone platform, with below code -
>>
>> fwiw, tilcdc drm driver won't set clocks until you do modeset, as it
>> is setting them based on the requested pixel clock.  As opposed to
>> setting it once at boot time.
>>
>> Michal, you may want to add 'drm.debug=7' in your bootargs, and send
>> the bootlog.  That should set some light about whether it is even
>> trying to modeset but failing, or some other issue.
>>
>
> Yes, here it is:

Hmm, looks like tilcdc_crtc_update_clk() is not getting called.. and
in fact either tilcdc_crtc_mode_set() is not called or bails out early
(maybe _mode_valid() falis?)

I'd perhaps throw a few traces in tilcdc_crtc_mode_set() and see why
that is bailing out..

BR,
-R


>
> [    3.098732] platform audio.11: Driver snd-soc-am33xx-s800 requests probe
> deferral
> [ 3.107280] TCP: cubic registered
> [    3.110822] Initializing XFRM netlink socket
> [    3.115844] NET: Registered protocol family 10
> [    3.123212] NET: Registered protocol family 17
> [    3.128064] NET: Registered protocol family 15
> [    3.133176] Key type dns_resolver registered
> [    3.137846] VFP support v0.3: implementor 41 architecture 3 part 30 variant
> c rev 3
> [    3.146087] ThumbEE CPU extension supported.
> [    3.150659] Registering SWP/SWPB emulation handler
> [    3.160695] registered taskstats version 1
> [    3.166007] [drm:tilcdc_drm_init], init
> [    3.171117] pinctrl core: add 1 pinmux maps
> [    3.175564] pinctrl-single 44e10800.pinmux: found group selector 6 for
> pinmux_lcd_pins
> [    3.183957] pinctrl-single 44e10800.pinmux: request pin 59 (44e108ec) for
> lcd_panel.15
> [    3.192312] pinctrl-single 44e10800.pinmux: request pin 57 (44e108e4) for
> lcd_panel.15
> [    3.200662] pinctrl-single 44e10800.pinmux: request pin 56 (44e108e0) for
> lcd_panel.15
> [    3.209010] pinctrl-single 44e10800.pinmux: request pin 58 (44e108e8) for
> lcd_panel.15
> [    3.217321] pinctrl-single 44e10800.pinmux: request pin 55 (44e108dc) for
> lcd_panel.15
> [    3.225666] pinctrl-single 44e10800.pinmux: request pin 54 (44e108d8) for
> lcd_panel.15
> [    3.234012] pinctrl-single 44e10800.pinmux: request pin 53 (44e108d4) for
> lcd_panel.15
> [    3.242359] pinctrl-single 44e10800.pinmux: request pin 52 (44e108d0) for
> lcd_panel.15
> [    3.250708] pinctrl-single 44e10800.pinmux: request pin 51 (44e108cc) for
> lcd_panel.15
> [    3.259052] pinctrl-single 44e10800.pinmux: request pin 50 (44e108c8) for
> lcd_panel.15
> [    3.267362] pinctrl-single 44e10800.pinmux: request pin 49 (44e108c4) for
> lcd_panel.15
> [    3.275710] pinctrl-single 44e10800.pinmux: request pin 48 (44e108c0) for
> lcd_panel.15
> [    3.284057] pinctrl-single 44e10800.pinmux: request pin 47 (44e108bc) for
> lcd_panel.15
> [    3.292404] pinctrl-single 44e10800.pinmux: request pin 46 (44e108b8) for
> lcd_panel.15
> [    3.300748] pinctrl-single 44e10800.pinmux: request pin 45 (44e108b4) for
> lcd_panel.15
> [    3.309091] pinctrl-single 44e10800.pinmux: request pin 44 (44e108b0) for
> lcd_panel.15
> [    3.317404] pinctrl-single 44e10800.pinmux: request pin 43 (44e108ac) for
> lcd_panel.15
> [    3.325751] pinctrl-single 44e10800.pinmux: request pin 42 (44e108a8) for
> lcd_panel.15
> [    3.334098] pinctrl-single 44e10800.pinmux: request pin 41 (44e108a4) for
> lcd_panel.15
> [    3.342445] pinctrl-single 44e10800.pinmux: request pin 40 (44e108a0) for
> lcd_panel.15
> [    3.350794] pinctrl-single 44e10800.pinmux: enabling pinmux_lcd_pins
> function6
> [    3.358477] panel lcd_panel.15: obtain a copy of previously claimed pinctrl
> [    3.366365] [drm:drm_platform_init],
> [    3.370270] [drm:drm_get_platform_dev],
> [    3.374940] [drm:drm_get_minor],
> [    3.381143] [drm:drm_get_minor], new minor assigned 64
> [    3.386558] [drm:drm_get_minor],
> [    3.391333] [drm:drm_get_minor], new minor assigned 0
> [    3.397698] [drm:modeset_init], loading module: panel
> [    3.403141] [drm:drm_sysfs_connector_add], adding "LVDS-1" to sysfs
> [    3.410040] [drm:drm_sysfs_hotplug_event], generating hotplug event
> [    3.416678] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
> [    3.423662] [drm] No driver support for vblank timestamp query.
> [    3.429958] [drm:drm_irq_install], irq=52
> [    3.434354] [drm:drm_helper_probe_single_connector_modes],
> [CONNECTOR:5:LVDS-1]
> [    3.442160] [drm:drm_helper_probe_single_connector_modes],
> [CONNECTOR:5:LVDS-1] probed modes :
> [    3.451246] [drm:drm_mode_debug_printmodeline], Modeline 6:"800x480" 110
> 50000 800 887 887 887 480 512 512 51a
> [    3.462611] [drm:drm_setup_crtcs],
> [    3.466284] [drm:drm_enable_connectors], connector 5 enabled? yes
> [    3.472722] [drm:drm_target_preferred], looking for cmdline mode on
> connector 5
> [    3.480430] [drm:drm_target_preferred], looking for preferred mode on
> connector 5
> [    3.488320] [drm:drm_target_preferred], found mode 800x480
> [    3.494083] [drm:drm_setup_crtcs], picking CRTCs for 2048x2048 config
> [    3.500886] [drm:drm_setup_crtcs], desired mode 800x480 set on crtc 3
> [    3.507667] [drm:drm_fbdev_cma_create], surface width(800), height(480) and
> bpp(16)
> [    3.517992] [drm:drm_framebuffer_reference], FB ID: 8
> [    3.525610] tilcdc 4830e000.fb: fb0:  frame buffer device
> [    3.531352] tilcdc 4830e000.fb: registered panic notifier
> [    3.537123] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
> [    3.544706] pinctrl core: add 1 pinmux maps
> [    3.549234] pinctrl-single 44e10800.pinmux: found group selector 7 for
> pinmux_i2c1_pins
> [    3.557662] pinctrl-single 44e10800.pinmux: request pin 98 (44e10988) for
> 44e0b000.i2c
> [    3.566020] pinctrl-single 44e10800.pinmux: request pin 99 (44e1098c) for
> 44e0b000.i2c
> [    3.574373] pinctrl-single 44e10800.pinmux: enabling pinmux_i2c1_pins
> function7
> [    3.582257] omap_i2c 44e0b000.i2c: obtain a copy of previously claimed
> pinctrl
> [    3.592470] omap_i2c 44e0b000.i2c: bus 1 rev0.11 at 400 kHz
> [    3.602698] tps65217-pmic tps65217-pmic: no of_node; not parsing pinctrl DT
> [    3.613524] DCDC1: 925 <--> 1800 mV at 1800 mV
> [    3.620565] vdd_mpu: 925 <--> 1325 mV at 1100 mV
> [    3.627579] vdd_core: 925 <--> 1150 mV at 1100 mV
> [    3.634644] LDO1: 1000 <--> 3300 mV at 1800 mV
> [    3.641483] LDO2: 900 <--> 3300 mV at 3300 mV
> [    3.648293] LDO3: 1800 <--> 3300 mV at 3300 mV
> [    3.655102] LDO4: 1800 <--> 3300 mV at 3300 mV
> [    3.661130] tps65217-bl tps65217-bl: no of_node; not parsing pinctrl DT
> [    3.671184] tps65217 1-0024: TPS65217 ID 0xf version 1.1
> [    3.678824] dummy 1-0051: no of_node; not parsing pinctrl DT
> [    3.685255] dummy 1-0052: no of_node; not parsing pinctrl DT
> [    3.691691] dummy 1-0053: no of_node; not parsing pinctrl DT
> [    3.697774] at24 1-0050: 1024 byte 24c08 EEPROM, writable, 16 bytes/write
> [    3.710546] si5351 1-0060: si5351_pll_recalc_rate - plla: p1 = 3074, p2 =
> 116286, p3 = 390625, parent_rate = 8
>
> Seems drm mode is set [drm:drm_setup_crtcs], desired mode 800x480 set on crtc
> 3
> I have no clue, what is wrong.
>
> Thanks,
> Michal
>

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

end of thread, other threads:[~2013-04-02 13:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-28 17:32 drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization Michal Bachraty
2013-04-01 11:31 ` Hiremath, Vaibhav
     [not found]   ` <79CD15C6BA57404B839C016229A409A83EC3E861-Er742YJ7I/eIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2013-04-01 13:46     ` Rob Clark
     [not found]       ` <CAF6AEGur7yuduNs9-HqP980NcXSB24Wz=2g_P4uPmXC9fJ9-9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-02  8:45         ` Michal Bachraty
2013-04-02 13:59           ` Rob Clark

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.