This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LCD video out on custom board...

Using the latest EZSDK binaries for the M3s, the linux-davinci git tree kernel, and syslink module compiled from the ezsdk I manage to get vpss.ko loader, however there are some cryptic errors, and the video display doesn't start (no clock on VSYNC, and the display looks undriven)

Anyone has a clue? here are my boot parameters. I used the same base parameters as the 1G board (I have 2GB onboard), but added another mem=XXX to access the next bank of ram at 0xc0000000. I used the LISA registers found for the TI4168 board:

#define PG2_1_DMM_LISA_MAP__2 0x80640300
#define PG2_1_DMM_LISA_MAP__3 0xC0640320

setenv bootargs init=/linuxrc root=/dev/mmcblk0p2 rootwait ro console=ttyO0,115200n8 notifyk.vpssm3_sva=0xBF900000 vram=50M ti814xfb.vram=0:16M,1:16M,2:6M mem=169M mem=960M@0xC0000000

...

/ # /usr/share/ti/ti-media-controller-utils/load-hd-firmware.sh start
Loading HDVICP2 Firmware
DM814X prcm_config_app version: 2.0.0.1
Doing PRCM settings...
PRCM for IVHD0 is in Progress, Please wait.....
BW Phy Addr : 0x48180600 Data : 0x00000001
AW Phy Addr : 0x48180600 Data : 0x00000002
Phy Addr : 0x48180c04 Data : 0x00000037
BW Phy Addr : 0x48180620 Data : 0x00070000
AW Phy Addr : 0x48180620 Data : 0x00070002
BW Phy Addr : 0x48180624 Data : 0x00030000
AW Phy Addr : 0x48180624 Data : 0x00010002
Phy Addr : 0x48180600 Data : 0x00000102
BW Phy Addr : 0x48180c10 Data : 0x00000007
AW Phy Addr : 0x48180c10 Data : 0x00000003
Phy Addr : 0x48180c14 Data : 0x00000004
BW Phy Addr : 0x58088000 Data : 0xeafffffe
AW Phy Addr : 0x58088000 Data : 0xeafffffe
BW Phy Addr : 0x58098000 Data : 0xeafffffe
AW Phy Addr : 0x58098000 Data : 0xeafffffe
BW Phy Addr : 0x48180c10 Data : 0x00000003
AW Phy Addr : 0x48180c10 Data : 0x00000000
Phy Addr : 0x48180c14 Data : 0x00000007
PRCM for IVHD0 is Done Successfully
PRCM Initialization completed
SysLink version : 2.20.02.20
SysLink module created on Date:Mar 20 2013 Time:17:11:36
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
===Optional arguments===
-mmap input memory map bin file name
-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
FIRMWARE: 1 start Successful
Loading HDVPSS Firmware
FIRMWARE: I2cInit will be done by M3
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
===Mandatory arguments===
<Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3
<Location of Firmware> firmware binary file
<start|stop> to start/stop the firmware
===Optional arguments===
-mmap input memory map bin file name
-i2c 0: i2c init not done by M3, 1(default): i2c init done by M3
FIRMWARE: isI2cInitRequiredOnM3: 1
FIRMWARE: Default memory configuration is used
Firmware Loader debugging not configured
Default FL_DEBUG: warning
Allowed FL_DEBUG levels: error, warning, info, debug, log
MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1
FIRMWARE: 2 start Successful
VPSS_FVID2: M3 firmware version 0x1000145 is newer,driver may not work properly.
Console: switching to colour frame buffer device 240x67
Configuring fb0 VPSS_GRPX : please stop grpx0 before continue.
to LCD
sh: write error: Invalid argument
HDMI W1 rev 4.0
HDMI CEC Spec version 1.2
I2C No Ack

HDMI failed to read E-EDID
/ #

  • Hello,

    You could check here about memory map:

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map

    Best Regards,

    Margarita

  • Believe me, that document is probably imprinted on my retina by now ;-)

    My problem is that there isn't even any signal out on the bus. Nothing on the clock, or VSYNC.. so it looks like the video out subsystem isn't even started. There are a few errors as well, the "VPSS_GRPX : please stop grpx0 before continue." is very suspicious. The thing is, I'm not doing anything else, at boottime I just launch that script, so the "grpx" can't be running...

  • Hello,

    Michael Po said:
    setenv bootargs init=/linuxrc root=/dev/mmcblk0p2 rootwait ro console=ttyO0,115200n8 notifyk.vpssm3_sva=0xBF900000 vram=50M ti814xfb.vram=0:16M,1:16M,2:6M mem=169M mem=960M@0xC0000000

    Could you replace ro with rw.

    Let me know the result.

    Best Regards,

    Margarita

  • The filesystem is remounted read/write at the end of the boot. the 'ro' is just used to make sure I can do a fsck on it at boot time if necessary.

    ie: mount / / -o remount,rw is done once the board is booted, well before I try to load the vpss and crew.

  • Hello,

    Michael Po said:
    "VPSS_GRPX : please stop grpx0 before continue."

    I am getting this error when the matrix-gui-e and pvr-init are started and execute ./load-hd-firmware.sh start.

    Best Regards

    Margarita


  • Neither of these are installed on my distro. I haven't installed any Qt, PVR or anything else, I'm just trying to get the framebuffer working.

    So, there are zero libraries, applications, scripts apart from /usr/share/ti/ and the load_firmware, and prcm_init 

    It is a standard kernel compiled from the arago git tree, with just the syslink module compiled on it. The board boots in busybox, and I run manually the load-hd-firmware.sh

    I really tried to simplify it to the maximum, on purpose...

  • I've been trying to understand which bits needs to be initialised and enabled together. It seems I can get rid of the error by rearranging the configure_lcd shell function like this:

    configure_lcd()
    {
    echo "Configuring fb0 to LCD"
    echo 1 >/sys/devices/platform/vpss/display1/enabled
    echo 0 >/sys/devices/platform/vpss/graphics0/enabled
    echo 1:dvo2 >/sys/devices/platform/vpss/graphics0/nodes
    echo 0 > /sys/devices/platform/vpss/display1/enabled
    echo 33500,800/164/89/10,480/10/23/10,1 > /sys/devices/platform/vpss/display1/timings
    echo triplediscrete,rgb888 > /sys/devices/platform/vpss/display1/output
    echo 1 > /sys/devices/platform/vpss/display1/enabled
    echo 1 >/sys/devices/platform/vpss/graphics0/enabled
    fbset -xres 800 -yres 480 -vxres 800 -vyres 480
    }

    But still, no display...

    Thanks a lot for helping, BTW, very much appreciated.

  • Hi,

     

    Change the sequence to

    echo "Configuring fb0 to LCD"
    echo 0 >/sys/devices/platform/vpss/graphics0/enabled
    echo 0 > /sys/devices/platform/vpss/display1/enabled

    echo 1:dvo2 >/sys/devices/platform/vpss/graphics0/nodes
    echo triplediscrete,rgb888 > /sys/devices/platform/vpss/display1/output

    echo 33500,800/164/89/10,480/10/23/10,1 > /sys/devices/platform/vpss/display1/timings
    echo 1 > /sys/devices/platform/vpss/display1/enabled
    echo 1 >/sys/devices/platform/vpss/graphics0/enabled
    fbset -xres 800 -yres 480 -vxres 800 -vyres 480

     

    Regards,

    brijesh