Hi Tomi,
Am 02.09.2014 um 14:00 schrieb Tomi Valkeinen:
On 02/09/14 12:51, Dr. H. Nikolaus Schaller wrote:
Config:
http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=arch/arm/configs/gta04...
You seem to have a mix built-in and modules for the display drivers. I'd recommend just using one, either build all as modules, or all as built-in. Makes life easier.
But blows up the kernel if all panel drivers are compiled into a universal kernel.
In your case, I think the main problem is that you have omapfb as built-in, but display devices as modules.
Yes. The intention is that only the one panel driver is loaded that is needed on a specific device. All controlled by the device tree.
omapfb doesn't support "hotplugging" new displays. So when you at some point load the display modules related to HDMI, omapfb has already decided that there are no displays.
Ok, I see.
Strangely it did work on the GTA04 (different panels) with the original settings. I.e.. omapfb=y and panel=m (which is deferred because it has to wait for an SPI interface).
Interestingly with all being modules it does NOT work on GTA04 (OMAP3). I can config the panel as module but not the omapfb.
So either build everything into kernel, or build them as modules, and load omapfb last.
After enabling omap_drm=m to be a module as well, I get a /dev/fb0 on the OMAP5, but it does no longer work on the OMAP3.
After a lot of trial and error I found only this config to work on the GTA04: CONFIG_FB=y CONFIG_FB_OMAP2=y CONFIG_OMAP2_DSS=y CONFIG_${PANEL}=m
Setting CONFIG_FB=m automatically sets CONFIG_FB_OMAP2=m (and some others)
This makes it simply fail to load on OMAP3 (only the panel module loads, but no omapfb or /dev/fb*).
Interestingly, a manual "modprobe omapfb" works!
So what does it load automatically if compiled into the kernel and not if a module?
Is there a MODULE_DEVICE_TABLE missing somewhere?
On OMAP5 this "modprobe omapfb" still fails:
[ 48.442782] omapfb omapfb: no of_node; not parsing pinctrl DT [ 48.442850] OMAPFB: omapfb_probe [ 48.446029] omapfb omapfb: failed to find default display [ 48.451668] OMAPFB: free_resources [ 48.451676] OMAPFB: free all fbmem [ 48.455270] omapfb omapfb: failed to setup omapfb [ 48.460221] platform omapfb: Driver omapfb requests probe deferral
The only config I was able to make working on OMAP5 was enabling OMAP_DRM.
Any ideas?
Thanks, Nikolaus
Device Tree:
http://git.goldelico.com/?p=gta04-kernel.git;a=blob;f=arch/arm/boot/dts/omap...
- there is no HDMI i2c to inspect by i2cdetect -r 5
The HDMI i2c is not exposed as normal i2c bus. It's only used inside the HDMI driver.
Ah, I see.
I remember it was a nice debugging feature of the older 3.8 kernel. And it would allow some hacking for external devices (a 5V compatible I2C on external standard connector...).
So can it easily be exposed by extending the DT file?
No. The HDMI i2c is managed via the HDMI IP, not the omap's i2c hardware.
It is possible to write a new i2c driver, which which exposes the HDMI i2c as a linux i2c bus. I accept patches for that ;).
- DSS does not try to load a lcd panel driver
You need to set the compatible string in the panel driver to "omapdss,lg,lh500wf1".
Ah, yes!
I think you have already updated it for the TD028TTEC1 so that I didn't see a problem on the GTA04 board. Just on the EVM with a non-mainline driver for the display...
I had another minor bug with duplicate pinctrl-name entries which also did reject the driver loading.
But now the driver loads. Thanks!
Still without any /dev/fb*
Yep, it's the module load problem I described above.
Another question: did you also see messages like (there is no USB device connected at all)
[ 6.713976] usb 1-2: new high-speed USB device number 3 using ehci-omap [ 6.785253] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 7.685261] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 8.525305] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 9.365256] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 10.205302] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 10.834045] usb usb1-port2: Cannot enable. Maybe the USB cable is bad? [ 10.895259] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 11.795263] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 12.635299] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 13.475249] ehci-omap 4a064c00.ehci: port 2 reset error -110 [ 14.315259] ehci-omap 4a064c00.ehci: port 2 reset error -110
I did also have it sometimes with the ti-3.8 kernel so I wonder if it is a hardware bug on my EVM board.
No, I don't see that. I've attached my kconfig in case you want to test/compare.
Tomi
<.config.txt>_______________________________________________ Kernel mailing list Kernel@pyra-handheld.com http://pyra-handheld.com/cgi-bin/mailman/listinfo/kernel