display 4.3' on imx23

Started by Klod, May 08, 2014, 07:24:00 PM

Previous topic - Next topic

Klod

Hi,

I try to set the A13-LCD43TS to the iMX233-OLinuXino-MAXI. I work with Archlinux. I will need kernel modifications. I can compile, but compiled did not complete start process.. (i seems to stay stuck because it doesn't find any mmc card), here is the end of boot-up process (nothing more is comming):


[    3.250000] mxs-mmc 80010000.ssp: initialized
[    3.260000] ledtrig-cpu: registered to indicate activity on CPUs
[    3.280000] hidraw: raw HID events driver (C) Jiri Kosina
[    3.290000] usbcore: registered new interface driver usbhid
[    3.300000] usbhid: USB HID core driver
[    3.330000] TCP: cubic registered
[    3.340000] Initializing XFRM netlink socket
[    3.360000] NET: Registered protocol family 10
[    3.380000] NET: Registered protocol family 17
[    3.380000] NET: Registered protocol family 15
[    3.390000] Key type dns_resolver registered
[    3.400000] registered taskstats version 1
[    3.420000] bio: create slab <bio-1> at 1
[    3.430000] Btrfs loaded
[    3.440000] regulator-dummy: disabling
[    3.450000] stmp3xxx-rtc 8005c000.rtc: setting system clock to 1970-01-01 00:00:31 UTC (31)
[    3.470000] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    3.510000] ALSA device list:
[    3.510000]   No soundcards found.
[    3.520000] Waiting for root device /dev/mmcblk0p2...
[    3.620000] hub 1-1:1.0: USB hub found
[    3.630000] hub 1-1:1.0: 3 ports detected
[    3.920000] usb 1-1.1: new high-speed USB device number 3 using ci_hdrc
[    4.050000] smsc95xx v1.0.4
[    4.160000] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-ci_hdrc.0-1.1, smsc95xx USB 2.0 Ethernet, 92:ac:e8:06:3b:b3


any idea what's wrong (I tried with 3.9 3.14.1 3.14.2 3.14.3, and several more I don't remember) (alarm image file for this board work fine, and if I only copy zImage, the card boot ok). I did not use any patch.


I want to use the display with 16 bit interface (5 bit red 6 bit green 5 bit blue), I do some test only changing .dts (well in fact .dtb) file, I can start some frame buffer output but this seems to be not correct, anyone have some sucsess using this display on this board ? (this is the second part of my job!)

Thanks and best regards,

Klod

After playing with .config file, I'm finally able to have a home compiled kernel that work ! (hurray!)

I still need to find what is the exact part making the difference, but starting with mxs_defconfig then copying kernel parameter from alarm default image worked.

Next, display interface.

Klod

#2
I'm still stuck on my display, here is my status, any help welcome.

- after defining a LCD output on dts file (and disabling i2c), I got clock out (only)
- the answer to fbset command is :
[root@alarm ~]# fbset

mode "480x272-59"
    # D: 9.000 MHz, H: 17.110 kHz, V: 59.205 Hz
    geometry 480 272 480 272 32
    timings 111111 45 0 16 0 1 1
    rgba 8/16,8/8,8/0,0/0
endmode

this is as expected (well, I may have some concern on bit mapping as I want only to use 16 bit in 565 mode, but this is noblocking problem)

- if I start python2 and give the following command:
import pygame
s = pygame.display.set_mode((480,272))


the lcd clk go faster (seen on oscilloscope), and ENable start to work (this display don't use Hsync or Vsync, only clk and enable). Filling color seems to change LCD bit, so basicely, something is working, but not the wanted resolution. Checking with scope, it look like 640x480 resolution..

maybe this is related to /etc/fb.modes, but trying to add a lcd mode for 480x272 didn't help. (BTW, is this file used for LCD display ? (timing on it are mostly for analog display))

Any Idea ?


jaycarlson

If you use a 3.x series kernel, getting the LCD to work is just a matter of modifying your DTS file. Here's a chunk out of the official imx23-evk DTS file, which has the correct configuration for a 480x272 LCD:
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <9200000>;
hactive = <480>;
vactive = <272>;
hback-porch = <15>;
hfront-porch = <8>;
vback-porch = <12>;
vfront-porch = <4>;
hsync-len = <1>;
vsync-len = <1>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};