Re: omapdrm with n900

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Tomi Valkeinen <tomi.valkeinen@xxxxxx> [170124 23:43]:
> On 25/01/17 03:57, Tony Lindgren wrote:
> > Hi all,
> > 
> > So how do you guys get omapdrm working on n900 with mainline kernel?
> > 
> > It seems to be working fine on omap3-evm if I do:
> > 
> > # modprobe ads7846
> > # modprobe gpio_backlight
> > # modprobe panel-sharp-ls037v7dw01
> > # modprobe omapdrm
> > 
> > Having ads7846 loaded somehow enables the LCD.. Then it seems to
> 
> I guess "enables" here means that it makes the LCD HW enabled, but even
> without ads7846 everything works from the SW perspective (fb0 is there,
> you can run DRM applications, etc)?. Probably some gpio or regulator
> used by the touch is also needed by the LCD.

Yeah OK it must be some hardware wiring thing. When I rmmod or modprobe
ads7846 I don't see any graphics related messages, just ads7846 related
messages.

> > work better than with omapfb as I don't see any clock issues like
> > I used to with omapfb.
> > 
> > I don't quite understand how and why ads7846 enables the LCD.. If
> > somebody has clues let me know :)
> > 
> > But then on n900 if I do:
> > 
> > # modprobe tsc2005
> > # modprobe panel_sony_acx565akm
> > # modprobe omapdrm
> > 
> > The LCD just stays blank with backlight off as soon as I load
> > panel_sony_acx565akm.
> 
> Can you share the kernel logs for both boards? I don't have neither
> board, so I probably can't help too much here.

Below are the relevant parts for both devices using v4.10-rc5.

> Generally speaking, when testing DRM, I recommend compiling "kmstest"
> from https://github.com/tomba/kmsxx repository. It'll give you a test
> picture on every screen, and with "--flip" it will do page flipping and
> shows the fps, which tells that the timings and clocks are ok. In the
> EVM's case, kmstest --flip should tell us whether the DSS is working
> fine, and it's just the panel that is not enabled.

OK thanks that sounds handy.

Regards,

Tony

Working omap3-evm omapdrm output after modprobe:


[   44.081268] of_get_named_gpiod_flags: parsed 'pendown-gpio' property of node '/ocp@68000000/spi@48098000/tsc2046@0[0]' - status (0)
[   44.178619] ads7846 spi1.0: touchscreen, irq 287
[   44.187286] input: ADS7846 Touchscreen as /devices/platform/68000000.ocp/48098000.spi/spi_master/spi1/spi1.0/input/input0
[   58.717285] DSS: set fck to 172800000
[   58.721374] 48050000.dss supply vdda_video not found, using dummy regulator
[   58.729675] DSS: dss_runtime_get
[   58.733245] DSS: dss_restore_context
[   58.737213] OMAP DSS rev 2.0
[   58.740234] DSS: dss_runtime_put
[   58.743896] DISPC: dispc_runtime_get
[   58.747833] DISPC: fifo(0) threshold (bytes), old 960/1023, new 960/1023
[   58.754882] DISPC: fifo(1) threshold (bytes), old 960/1023, new 960/1023
[   58.761993] DISPC: fifo(2) threshold (bytes), old 960/1023, new 960/1023
[   58.769042] DISPC: dispc_restore_context
[   58.773132] DISPC: dispc_restore_gamma_tables()
[   58.777954] DISPC: fifo(0) threshold (bytes), old 960/1023, new 960/1023
[   58.785003] DISPC: fifo(1) threshold (bytes), old 960/1023, new 960/1023
[   58.792083] DISPC: fifo(2) threshold (bytes), old 960/1023, new 960/1023
[   58.799163] omapdss_dispc 48050400.dispc: OMAP DISPC rev 3.0
[   58.805084] DISPC: dispc_runtime_put
[   58.808929] DISPC: dispc_save_context
[   58.812835] DISPC: context saved
[   58.816680] omapdss_dss 48050000.dss: bound 48050400.dispc (ops dispc_component_ops [omapdss])
[   58.830596] DSS: dss_save_context
[   58.834075] DSS: context saved
[   58.858612] display supply envdd not found, using dummy regulator
[   58.865325] panel-sharp-ls037v7dw01 display: GPIO lookup for consumer enable
[   58.872924] panel-sharp-ls037v7dw01 display: using device tree for GPIO lookup
[   58.880706] of_get_named_gpiod_flags: parsed 'enable-gpios' property of node '/display[0]' - status (0)
[   58.890716] panel-sharp-ls037v7dw01 display: GPIO lookup for consumer reset
[   58.898040] panel-sharp-ls037v7dw01 display: using device tree for GPIO lookup
[   58.905700] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/display[0]' - status (0)
[   58.915557] panel-sharp-ls037v7dw01 display: GPIO lookup for consumer mode
[   58.922851] panel-sharp-ls037v7dw01 display: using device tree for GPIO lookup
[   58.930480] of_get_named_gpiod_flags: parsed 'mode-gpios' property of node '/display[0]' - status (0)
[   58.940216] panel-sharp-ls037v7dw01 display: GPIO lookup for consumer mode
[   58.947448] panel-sharp-ls037v7dw01 display: using device tree for GPIO lookup
[   58.955047] of_get_named_gpiod_flags: parsed 'mode-gpios' property of node '/display[1]' - status (0)
[   58.964935] panel-sharp-ls037v7dw01 display: GPIO lookup for consumer mode
[   58.972229] panel-sharp-ls037v7dw01 display: using device tree for GPIO lookup
[   58.979980] of_get_named_gpiod_flags: parsed 'mode-gpios' property of node '/display[2]' - status (0)
[   65.958770] [drm] Initialized
[   66.429595] 48050000.dss supply vdds_dsi not found, using dummy regulator
[   66.442993] omapdrm omapdrm.0: DMM not available, disable DMM support
[   66.451232] DISPC: dispc_runtime_get
[   66.455169] DSS: dss_restore_context
[   66.459014] DSS: context restored
[   66.462646] DISPC: dispc_runtime_put
[   66.466522] DISPC: dispc_save_context
[   66.470428] DISPC: context saved
[   66.474517] DISPC: dispc_runtime_get
[   66.478637] DISPC: dispc_runtime_put
[   66.482421] DISPC: dispc_save_context
[   66.486389] DISPC: context saved
[   66.491210] DISPC: dispc_runtime_get
[   66.495025] DISPC: dispc_runtime_put
[   66.498901] DISPC: dispc_save_context
[   66.502777] DISPC: context saved
[   66.506286] DISPC: dispc_runtime_get
[   66.510070] DISPC: dispc_runtime_put
[   66.513824] DISPC: dispc_save_context
[   66.517761] DISPC: context saved
[   66.521240] DISPC: dispc_runtime_get
[   66.525054] DISPC: dispc_runtime_put
[   66.528869] DISPC: dispc_save_context
[   66.532745] DISPC: context saved
[   66.536224] DISPC: dispc_runtime_get
[   66.540008] DISPC: dispc_runtime_put
[   66.543762] DISPC: dispc_save_context
[   66.547698] DISPC: context saved
[   66.551147] DISPC: dispc_runtime_get
[   66.554931] DISPC: dispc_runtime_put
[   66.558746] DISPC: dispc_save_context
[   66.562652] DISPC: context saved
[   66.566192] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   66.573120] [drm] No driver support for vblank timestamp query.
[   66.581024] DSS: dss_save_context
[   66.584503] DSS: context saved
[   66.601440] DISPC: dispc_runtime_get
[   66.601745] DSS: dss_restore_context
[   66.601776] DSS: context restored
[   66.602020] DISPC: dispc_ovl_setup 0, pa 0x8d900000, pa_uv 0x00000000, sw 480, 0,0, 480x640 -> 480x640, cmode 80, rot 0, mir 0, chan 0 repl 0
[   66.602020] DISPC: calc_rot(0): scrw 480, 480x640
[   66.602050] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[   66.602050] DISPC: 0,0 480x640 -> 480x640
[   66.602081] DISPC: dispc_enable_plane 0, 1
[   66.602081] DISPC: dispc_runtime_get
[   66.602203] DISPC: dispc_runtime_put
[   66.602722] DPI: dpi_set_timings
[   66.603057] DPI: dpi_set_timings
[   66.603088] DISPC: dispc_runtime_get
[   66.603210] DSS: set fck to 57600000
[   66.603515] DISPC: lck = 57600000 (1)
[   66.603515] DISPC: pck = 19200000 (3)
[   66.605529] DISPC: channel 0 xres 480 yres 640
[   66.605560] DISPC: pck 19200000
[   66.605560] DISPC: hsync_len 2 hfp 1 hbp 28 vsw 1 vfp 1 vbp 1
[   66.605560] DISPC: vsync_level 0 hsync_level 0 data_pclk_edge 1 de_level 1 sync_pclk_edge 0
[   66.605590] DISPC: hsync 37573Hz, vsync 58Hz
[   66.605651] DISPC: dispc_runtime_get
[   66.605773] DISPC: dispc_runtime_put
[   66.624298] DISPC: dispc_runtime_get
[   66.624298] DISPC: dispc_runtime_put
[   66.686676] DISPC: dispc_runtime_put
[   66.687103] Console: switching to colour frame buffer device 60x40
[   66.687347] DISPC: dispc_runtime_get
[   66.687408] DISPC: dispc_ovl_setup 0, pa 0x8d900000, pa_uv 0x00000000, sw 480, 0,0, 480x640 -> 480x640, cmode 80, rot 0, mir 0, chan 0 repl 0
[   66.687438] DISPC: calc_rot(0): scrw 480, 480x640
[   66.687438] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[   66.687438] DISPC: 0,0 480x640 -> 480x640
[   66.687469] DISPC: dispc_enable_plane 0, 1
[   66.687469] DISPC: GO LCD
[   66.687591] DISPC: dispc_runtime_get
[   66.687622] DISPC: dispc_runtime_put
[   66.692199] DISPC: dispc_runtime_put
[   66.877899] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
[   66.884979] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
[   66.892639] DISPC: dispc_runtime_get
[   66.896636] DISPC: dispc_ovl_setup 0, pa 0x8d900000, pa_uv 0x00000000, sw 480, 0,0, 480x640 -> 480x640, cmode 80, rot 0, mir 0, chan 0 repl 0
[   66.909973] DISPC: calc_rot(0): scrw 480, 480x640
[   66.914916] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[   66.920989] DISPC: 0,0 480x640 -> 480x640
[   66.925170] DISPC: dispc_enable_plane 0, 1
[   66.929504] DISPC: GO LCD
[   66.932312] DISPC: dispc_runtime_get
[   66.936126] DISPC: dispc_runtime_put
[   66.948577] DISPC: dispc_runtime_put
[   82.856170] of_get_named_gpiod_flags: parsed 'gpios' property of node '/backlight[0]' - status (0)
[  142.196838] random: crng init done


Blank screen on n900 after modprobe of drm components. LCD backlight stays
on after modprobe tsc2005, then LCD goes dark after modprobe
panel_sony_acx565akm. LCD backlight stays off after modprobe
omapdrm:

[  113.374694] random: crng init done
[  144.217224] tsc2005 spi1.0: GPIO lookup for consumer reset
[  144.223266] tsc2005 spi1.0: using device tree for GPIO lookup
[  144.229492] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@68000000/spi@48098000/tsc2005@0[0]' - status (0)
[  144.250030] input: TSC2005 touchscreen as /devices/platform/68000000.ocp/48098000.spi/spi_master/spi1/spi1.0/input/input0
[  151.599609] DSS: set fck to 172800000
[  151.603759] 48050000.dss supply vdda_video not found, using dummy regulator
[  151.612243] DSS: dss_runtime_get
[  151.615875] DSS: dss_restore_context
[  151.619873] OMAP DSS rev 2.0
[  151.622894] DSS: dss_runtime_put
[  151.626647] DISPC: dispc_runtime_get
[  151.630645] DISPC: fifo(0) threshold (bytes), old 960/1023, new 960/1023
[  151.637664] DISPC: fifo(1) threshold (bytes), old 960/1023, new 960/1023
[  151.644775] DISPC: fifo(2) threshold (bytes), old 960/1023, new 960/1023
[  151.651885] DISPC: dispc_restore_context
[  151.656005] DISPC: dispc_restore_gamma_tables()
[  151.660858] DISPC: fifo(0) threshold (bytes), old 960/1023, new 960/1023
[  151.667907] DISPC: fifo(1) threshold (bytes), old 960/1023, new 960/1023
[  151.674987] DISPC: fifo(2) threshold (bytes), old 960/1023, new 960/1023
[  151.682098] omapdss_dispc 48050400.dispc: OMAP DISPC rev 3.0
[  151.688049] DISPC: dispc_runtime_put
[  151.691955] DISPC: dispc_save_context
[  151.695861] DISPC: context saved
[  151.699829] omapdss_dss 48050000.dss: bound 48050400.dispc (ops dispc_component_ops [omapdss])
[  151.709228] VENC: venc_runtime_get
[  151.712982] DISPC: dispc_runtime_get
[  151.716888] omapdss_venc 48050c00.encoder: OMAP VENC rev 2
[  151.722747] VENC: venc_runtime_put
[  151.726379] DISPC: dispc_runtime_put
[  151.730194] DISPC: dispc_save_context
[  151.734100] DISPC: context saved
[  151.737945] omapdss_dss 48050000.dss: bound 48050c00.encoder (ops venc_component_ops [omapdss])
[  151.750549] DSS: dss_save_context
[  151.754058] DSS: context saved
[  151.823486] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/ocp@68000000/spi@48098000/acx565akm@2[0]' - status (0)
[  151.847961] acx565akm spi1.2: omapfb: acx565akm rev 8b LCD detected
[  160.276885] [drm] Initialized
[  162.488830] omapdrm omapdrm.0: DMM not available, disable DMM support
[  162.497436] DISPC: dispc_runtime_get
[  162.501586] DSS: dss_restore_context
[  162.505340] DSS: context restored
[  162.509094] DISPC: dispc_runtime_put
[  162.512939] DISPC: dispc_save_context
[  162.516876] DISPC: context saved
[  162.521362] DISPC: dispc_runtime_get
[  162.525512] DISPC: dispc_runtime_put
[  162.529418] DISPC: dispc_save_context
[  162.533294] DISPC: context saved
[  162.538696] DISPC: dispc_runtime_get
[  162.542510] DISPC: dispc_runtime_put
[  162.546295] DISPC: dispc_save_context
[  162.550262] DISPC: context saved
[  162.553741] DISPC: dispc_runtime_get
[  162.557556] DISPC: dispc_runtime_put
[  162.561401] DISPC: dispc_save_context
[  162.565277] DISPC: context saved
[  162.568908] DISPC: dispc_runtime_get
[  162.572723] DISPC: dispc_runtime_put
[  162.576477] DISPC: dispc_save_context
[  162.580444] DISPC: context saved
[  162.583923] DISPC: dispc_runtime_get
[  162.587707] DISPC: dispc_runtime_put
[  162.591552] DISPC: dispc_save_context
[  162.595428] DISPC: context saved
[  162.598968] DISPC: dispc_runtime_get
[  162.602783] DISPC: dispc_runtime_put
[  162.606536] DISPC: dispc_save_context
[  162.610504] DISPC: context saved
[  162.614013] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[  162.621032] [drm] No driver support for vblank timestamp query.
[  162.629699] DSS: dss_save_context
[  162.633209] DSS: context saved
[  162.659698] DISPC: dispc_runtime_get
[  162.660125] DSS: dss_restore_context
[  162.660125] DSS: context restored
[  162.660491] DISPC: dispc_ovl_setup 0, pa 0x8e900000, pa_uv 0x00000000, sw 800, 0,0, 800x480 -> 800x480, cmode 80, rot 0, mir 0, chan 0 repl 0
[  162.660522] DISPC: calc_rot(0): scrw 800, 800x480
[  162.660522] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[  162.660552] DISPC: 0,0 800x480 -> 800x480
[  162.660552] DISPC: dispc_enable_plane 0, 1
[  162.660583] DISPC: dispc_runtime_get
[  162.660736] DISPC: dispc_runtime_put
[  162.661865] DISPC: dispc_runtime_get
[  162.662048] DSS: set fck to 72000000
[  162.662475] DISPC: lck = 72000000 (1)
[  162.662475] DISPC: pck = 24000000 (3)
[  162.662506] DISPC: lck = 72000000 (1)
[  162.662506] DISPC: pck = 24000000 (3)
[  162.664642] DISPC: channel 0 xres 800 yres 480
[  162.664642] DISPC: pck 24000000
[  162.664672] DISPC: hsync_len 4 hfp 28 hbp 24 vsw 3 vfp 3 vbp 4
[  162.664672] DISPC: vsync_level 0 hsync_level 0 data_pclk_edge 1 de_level 1 sync_pclk_edge 1
[  162.664672] DISPC: hsync 28037Hz, vsync 57Hz
[  162.664794] DISPC: dispc_runtime_get
[  162.664947] DISPC: dispc_runtime_put
[  162.684204] DISPC: dispc_runtime_get
[  162.684234] DISPC: dispc_runtime_put
[  162.749084] DISPC: dispc_runtime_put
[  162.749633] Console: switching to colour frame buffer device 100x30
[  162.749969] DISPC: dispc_runtime_get
[  162.750030] DISPC: dispc_ovl_setup 0, pa 0x8e900000, pa_uv 0x00000000, sw 800, 0,0, 800x480 -> 800x480, cmode 80, rot 0, mir 0, chan 0 repl 0
[  162.750061] DISPC: calc_rot(0): scrw 800, 800x480
[  162.750061] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[  162.750091] DISPC: 0,0 800x480 -> 800x480
[  162.750091] DISPC: dispc_enable_plane 0, 1
[  162.750122] DISPC: GO LCD
[  162.750274] DISPC: dispc_runtime_get
[  162.750305] DISPC: dispc_runtime_put
[  162.753540] DISPC: dispc_runtime_put
[  162.944549] omapdrm omapdrm.0: fb0: omapdrm frame buffer device
[  162.952056] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0
[  162.960205] DISPC: dispc_runtime_get
[  162.964080] DISPC: dispc_ovl_setup 0, pa 0x8e900000, pa_uv 0x00000000, sw 800, 0,0, 800x480 -> 800x480, cmode 80, rot 0, mir 0, chan 0 repl 0
[  162.977630] DISPC: calc_rot(0): scrw 800, 800x480
[  162.982635] DISPC: offset0 0, offset1 0, row_inc 1, pix_inc 1
[  162.988739] DISPC: 0,0 800x480 -> 800x480
[  162.992980] DISPC: dispc_enable_plane 0, 1
[  162.997283] DISPC: GO LCD
[  163.000152] DISPC: dispc_runtime_get
[  163.003967] DISPC: dispc_runtime_put
[  163.015930] DISPC: dispc_runtime_put
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux