DragonBoard 410c Yocto resolution change


#1

Hello,
The Yocto kernel does not have dsi definition, is it correct?
Is there any way to set a custom resolution? I want to connect external dsi lcd to the board.
Thanks


#2

hi,

can you please specify what it is that you call Yocto kernel? A link to the git tree (and tag/defconfig would be nice)

thanks


#3

Hi,
The link is:
https://git.linaro.org/landing-teams/working/qualcomm/kernel.git
branch
integration-linux-qcomlt
The defconfig used is:
defconfig


#4

hmm… I am still not sure why you call that the “Yocto” kernel… can you clarify?

we maintain 2 kernel branches for the DB410c:

  • the integration branch (the one you mentioned) which is the sandbox for developers that contribute to kernel for this board. this branch is rebased very often on the most recent linux kernel.

  • the release branch (currently release/qcomlt-4.2) which is used for all releases and builds that we make (for Ubuntu/Debian/OpenEmbedded). This branch is the one that we recommend for the board users.

Which release/build are you using?


#5

Hi,
I am using the integration branch for my kernel build.
The Yocto relase is based on this kaernel, but it really doesn’t matter.
The question is about kernel.
In the Android relase kernel there is a dsti file that defines the lcd panel of the board. So there I can change the resolution and framerate and number of DSI Lanes used.
In the Linux kernel (the integration branch) there is no such dsti file and I wonder how the DSI controller is configured.


#6

hi,

have you checked the other DSI post on the forum, for example

https://www.96boards.org/forums/topic/linux-mipi-dsi-panel-support/


#7

Hello,
Thanks for the link to the correct topic.
I have followed it, made changes to panel-simple.c, checked that the dsi_host.c file is properly patched, added a section in the dtsi file.
And still there is a problem with "[drm] Cannot find any crtc or sizes - going 1024x768"
The display name is "sgd,gktw70sdae4sd"
The panel-simple.c is http://pastebin.ca/3277121
The dtsi file is http://pastebin.ca/3277125

What is the difference between adding section to platform_of_match and dsi_of_match.
I have added a new section to dsi_of_match, is it correct?
Thank you


#8

Hi,

panel-simple.c is a driver for a collection of RGB panels (mipi DPI) and DSI panels (mipi DSI). The dsi_of_match table is to be used when you have a DSI panel, and the other for RGB panels.

The dtsi looks okay, and so do the changes in panel-simple.c. Can you put some prints in the panel-simple.c driver’s probe and see if it is successfully reaching mipi_dsi_attach?

If this happens successfully, the msm’s dsi_host driver’s callback “dsi_host_attach” (in drivers/gpu/drm/msm/dsi/dsi_host.c) will be called successfully.

The issue you observe happens when the panel isn’t successfully registered.

Archit


#9

Hi,
everything looks fine, i have added printouts on the driver and the dsi_host_attach is calld and return 0.
It looks that the driver is ok.
But somehow the print
“[drm] Cannot find any crtc or sizes – going 1024×768”
printed a lot earlier (line 254) than the driver load (line 476). Maybe i have to add panel name in the boot args?
Currently the boot args is standard:
"root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8 androidboot.emmc=true androidboot.serialno=42fb6b22 androidboot.baseband=apq mdss_mdp.panel=0:dsi:0:"
The frame buffer is also not defined in the dts, maybe i have to add it?
The boot log is here: http://pastebin.ca/3277242
Thanks