logo

Could not compile stylesheet for simplistic. Using last compiled stylesheet.
Question

igepv2 driver for New Haven Display 800x480

posted in IGEPv2
Thursday, December 03 2015, 04:26 PM
peter
peter
Offline
0
I changed the seiko.c module to reflect New Haven Display specifications
as follows

/* peter guess at NHD specs */
static struct omap_video_timings peter_timings = {
.x_res = 800,
.y_res = 480,
.pixel_clock = 33000, /* specs = between 30000 and 50000 kHz */
.hsw = 48, /* horizontal sync width in pixels */
.hfp = 40, /* horizontal front porch = 40 Dclock's (pixels) */
.hbp = 88, /* horizontal back porch */
/* 800+40+88= 928 pixels in total per line*/
.vsw = 3, /* vertical sync width in lines */
.vfp = 13, /* vertical front porch (lines)*/
.vbp = 32, /* vertical back porch */
/* 480+13+32= 525 lines in total */
};


plus I did a global change from s70wvw1tz3 to peter

I also added a print statment when the module is initialized....
static int __init peter_init(void)
{
pr_alert("Hello Peter 1st time using New Haven Display Module \n");
return omap_dss_register_driver(&peter_driver);
}

When I load the module....
# insmod /root/drivers/nhd/nhdbypeter.ko
[ 997.975128] Hello Peter 1st time using New Haven Display Module

everything seems fine but
# df_andi
gives nothing....

Do you see something that I am missing? Thanks for your help in advance....

Peter
Responses (5)
  • Accepted Answer

    Monday, December 14 2015, 11:00 AM - #permalink
    0
    Hi peter,

    It is hard to find out your problem without your tft source code

    Regards
    The reply is currently minimized Show
  • Accepted Answer

    peter
    peter
    Offline
    Tuesday, December 15 2015, 05:01 AM - #permalink
    0
    Hi Pau

    Thanks for responding. You are right... I need to be more specific. I apologize for such a general question.

    I cannot seem to load/connect the video modules properly. I can tell it doesn't work by looking at /sys/devices/omapdss/display0/timings.


    For example, the following works on HDMI (thanks to help from you folks on my earlier questions on this website). I am using linux-omap-2.6.37-6 compiled with omap2plus_defconfig and a simple buildroot rootfs.
    [ 0.000000] Kernel command line: console=ttyO2,115200n8 root=/dev/nfs ip=192.168.0.100:192.168.0.1::255.255.255.0::eth0: smsc911x.mac=0xb2,0xb0,0x14,0xb5,0xcd,0xde nfsroot=192.168.0.1:/home/peter/igep2015/pmtroot omapfb.mode=dvi:1280x720MR-16@60 omapdss.def_disp=dvi rw rootwait
    df_andi yields the dancing penguins on any hdmi terminal

    BUT.......when I .....
    # insmod drivers/nhd/nhdbypeter.ko
    [ 210.925720] Hello Peter 1st time using New Haven Display Module
    # lsmod
    Module Size Used by Not tainted
    nhdbypeter 1563 0
    # cat /sys/devices/omapdss/display0/timings
    64000,1280/48/80/32,720/13/3/5
    ...... did nothing to change the device timings. Clearly it didn't "register" with the kernel.


    ALSO Module panel-seiko-70wvw1tz3 * Author: Enric Balletbo i Serra <eballetbo@iseebcn.com>.....
    # insmod drivers/seiko/seiko.ko
    [ 1858.661804] Error: Driver '70wvw1tz3' is already registered, aborting...
    insmod: can't insert 'seiko.ko': Device or resource busy
    # cat /sys/devices/omapdss/display0/timings
    23500,640/48/80/32,480/3/7/4
    .... again won't "load".

    When I boot without omapdss in bootargs as in
    Kernel command line: console=ttyO2,115200n8 root=/dev/nfs ip=192.168.0.100:192.168.0.1::255.255.255.0::eth0: smsc911x.mac=0xb2,0xb0,0x14,0xb5,0xcd,0xde nfsroot=192.168.0.1:/home/peter/igep2015/pmtroot rw rootwait
    # cat /sys/devices/omapdss/display0/timings
    23500,640/48/80/32,480/3/7/4
    which is timings for linuxsources/drivers/video/omap2/displays/panel_generic.c and I get same results with insmod as above.



    So my question is....
    1. How can a load my module nhdbypeter.ko and get it registered by the kernel?
    2. How can I load the Seiko module (I can modify its timings and use it)?

    NOTE... I did not make modules and make modules install on linux-omap-2.6.37-6. Does that make a difference?

    Again - thanks so much for your response.

    Peter
    The reply is currently minimized Show
  • Accepted Answer

    Wednesday, December 16 2015, 07:10 PM - #permalink
    0
    Hi peter,

    I answer below:

    1. How can a load my module nhdbypeter.ko and get it registered by the kernel?
    You will need to modify or add another panel structure to arch/arm/mach-omap2/board-igep00x0.c as follows:
    /* Seiko 7.0 inch WVGA (800 x RGB x 480) TFT with Touch-Panel */
    struct omap_dss_device igep00x0_lcd70_device = {
    .type = OMAP_DISPLAY_TYPE_DPI,
    .name = "lcd-70",
    .driver_name = "70wvw1tz3",
    .phy.dpi.data_lines = 24,
    };
    and add to kernel params (igep.ini) your desired panel name, in the example above "omapdss.def_disp=lcd-70"

    2. How can I load the Seiko module (I can modify its timings and use it)?
    Primarily, I recommend to modify panel-generic.c driver and adjust timings and behaviour. It is more simple

    NOTE... I did not make modules and make modules install on linux-omap-2.6.37-6. Does that make a difference?
    Yes, you will need to compile both, modules and kernel

    Cheers!
    The reply is currently minimized Show
  • Accepted Answer

    peter
    peter
    Offline
    Thursday, December 17 2015, 06:37 AM - #permalink
    0
    Thanks Pau!! Now it's making more sense. I will make those changes and let you know if it works.
    ... and if I don't talk to you before --- Merry Christmas to you, Jose, Agusti, and all the gang.

    Thanks again!

    Peter
    The reply is currently minimized Show
  • Accepted Answer

    Thursday, December 17 2015, 09:21 AM - #permalink
    0
    Merry Christmas and Happy New Year
    The reply is currently minimized Show
Your Reply

SUPPORT


This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
IGEP Community Wiki
IGEP Community Forum
IGEP Community Online Chat