drm/tilcdc: LCD panels clocks initialization and earlier backlight initialization
Michal Bachraty
michal.bachraty at streamunlimited.com
Tue Apr 2 19:45:39 EST 2013
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 at ti.com> wrote:
> >> -----Original Message-----
> >> From: devicetree-discuss [mailto:devicetree-discuss-
> >> bounces+hvaibhav=ti.com at lists.ozlabs.org] On Behalf Of Michal Bachraty
> >> Sent: Thursday, March 28, 2013 11:02 PM
> >> To: dri-devel at lists.freedesktop.org; devicetree-
> >> discuss at lists.ozlabs.org
> >> Cc: robdclark at gmail.com; koen at dominion.thruhere.net
> >> 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
More information about the devicetree-discuss
mailing list