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.

DRA726: EOL wiki

Part Number: DRA726

I see this on multiple wikis,

"NOTICE: The Processors Wiki will End-of-Life in December of 2020"

Is there going to be an alternative, if so what?

Since I can't get the EGL to work with kernel 4.19 I am going to plan B for now for the M4/DSP analog camera support

I was trying to download an older PROCESSOR SDK VISION that was designed for kernel 4.4 but can't find it.

I did find 3.02 that was meant for Android but when you click on any link all you get is an error message.

Would 3.08 work with kernel 4.4 if not which one is the last one that would work with it and where can I download it?

My yocto for this one uses recipes from version used for SDK 3.04

Michel Catudal

ACTIA Corp

  • Hi Micahel,

    I am not aware of the alterate for wili but TI will definitely make it public when alternate is available.

    Are you looking for 4.19k based visionSDK?

    It is available here

    http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html

    What is the EGL issue you are seeing?

    If you want to go with 4.4k based SDK, visionSDK 3.07 is the last SDK on k4.4

    You can download the SDK here.

    http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/03_07_01_00/index_FDS.html

    Thanks

    RamPrasad

  • RamPrasad,

    I have a separate message that explains the whole thing in details.

    Basically the kmstest works but not weston

    I have similar results with both automotive sdk 6 and industrial sdk 6 based yoctos.

    I even took the rootfs from both of these and just replaced the u-boot and kernel with sgx kernel module and got similar results as I get with my own yocto generated rootfs.

    Here is a log, in this one I used my custom kernel using the automotive one but used the sgx code used in the industrial version.

    The results are almost identical to the original one except that they moved to mesa with the industrial.

    In both case it cannot load the module correctly.

    One thing that I did find odd was that if I edit the binary file with a text editor I can see that the kernel module that it is looking for doesn't include the / in the directory.

    /lib/modules/4.19.73/extrapvrsrvkm.ko@@@Failed to load /lib/modules/4.19.73/extrapvrsrvkm.ko

    kernel module is actually  /lib/modules/4.19.73-actia-g31275c05a1/extra/pvrsrvkm.ko

    Michel Catudal

    ACTIA Corp

  • RamPrasad,

    I forgot the include the log

    Date: 2020-04-06 UTC
    [16:57:34.209] weston 5.0.0
                   wayland.freedesktop.org
                   Bug reports to: gitlab.freedesktop.org/.../
                   Build: unknown (not built from git or tarball)
    [16:57:34.209] Command line: weston --idle-time=0
    [16:57:34.209] OS: Linux, 4.19.73-actia-g31275c05a1, #1 SMP PREEMPT Mon Apr 6 13:48:43 UTC 2020, armv7l
    [16:57:34.211] Using config file '/etc//weston.ini'
    [16:57:34.212] Output repaint window is 7 ms maximum.
    [16:57:34.214] Loading module '/usr/lib/libweston-5/drm-backend.so'
    [16:57:34.226] initializing drm backend
    [16:57:34.258] using /dev/dri/card0
    [16:57:34.258] DRM: supports universal planes
    [16:57:34.258] DRM: supports atomic modesetting
    [16:57:34.258] DRM: supports picture aspect ratio
    [16:57:34.260] Loading module '/usr/lib/libweston-5/gl-renderer.so'
    MESA-LOADER: failed to open kms_swrast (search paths /usr/lib/dri)
    failed to load driver: kms_swrast
    MESA-LOADER: failed to open swrast (search paths /usr/lib/dri)
    failed to load swrast driver
    [16:57:34.557] failed to initialize egl
    [16:57:34.588] fatal: failed to create compositor backend
    [16:57:34.588] Internal warning: debug scope 'drm-backend' has not been destroyed.
    PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
    PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
    PVR:(Error): Couldn't connect to services [0, ]
    PVR:(Error): PVRDRIEGLGlobalDataInit: PVR Services initialisation failed [0, ]
    PVR:(Error): PVRDRICreateScreenImpl: Couldn't create EGL global data [0, ]

    Michel Catudal

    ACTIA Corp

    P.S. Since I am working from home I am using my home account (Michel Catudal2) which is tied to my email on my mac

    The one for Michel Catudal is the one I use when I am working from ACTIA Corp, account tied to my actia email.

  • Hi Michael,

    DId you download SDK6.0 for automotive from this link?

    http://downloads.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/index_FDS.html

    We have not seen the issue you have mentioned?

    I am not able to get what is kms_swrast here? Can you give more details?

    Thanks

    RamPrasad

  • RamPrasad,

    I was explaining that I could not get the EGL to work so I tried the one used in the industrial version to see if that one worked. Similar results except that the new code in the Industrial sdk moved to mesa.

    Look at message DRA726: LCD issue with kernel 4.19 for details.

    Weston log is similar except for the mesa part

    Date: 2020-03-18 UTC
    [12:09:19.174] weston 5.0.0
                   wayland.freedesktop.org
                   Bug reports to: gitlab.freedesktop.org/.../
                   Build: unknown (not built from git or tarball)
    [12:09:19.174] Command line: weston --idle-time=0
    [12:09:19.174] OS: Linux, 4.19.73-actia-g31275c05a1, #1 SMP PREEMPT Wed Feb 26 16:38:39 UTC 2020, armv7l
    [12:09:19.176] Using config file '/etc//weston.ini'
    [12:09:19.178] Output repaint window is 7 ms maximum.
    [12:09:19.180] Loading module '/usr/lib/libweston-5/drm-backend.so'
    [12:09:19.194] initializing drm backend
    [12:09:19.204] using /dev/dri/card0
    [12:09:19.204] DRM: supports universal planes
    [12:09:19.205] DRM: supports atomic modesetting
    [12:09:19.205] DRM: supports picture aspect ratio
    [12:09:19.211] Loading module '/usr/lib/libweston-5/gl-renderer.so'
    [12:09:19.305] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDis
    [12:09:19.325] failed to initialize display
    [12:09:19.325] EGL error state: EGL_BAD_ALLOC (0x3003)
    [12:09:19.325] failed to initialize egl
    [12:09:19.357] fatal: failed to create compositor backend
    [12:09:19.357] Internal warning: debug scope 'drm-backend' has not been destroyed.
    PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ]
    PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ]
    PVR:(Error): Couldn't connect to services [0, ]

    I have identical results on both my custom yocto with Poky and the TI SDK.

    In my Poky yocto I did the same thing as I did with the SDK 3.04 which is take the recipes I needed from the arago and gksdk metas.

    As an experiment to see if there was an issue with the compiler used with poky vs the one used by arago I compiled u-boot, kernel and sgx module using the SDK. The results were identical.

    Maybe there is something wrong in my panel-simple.c module modifications

    I noticed that some size were in mm and not in pixel so I changed the code. Here is the updated part, similar results

    static const struct drm_display_mode actiagd_gd7inch_mode = {
            .clock = 66770,
            .hdisplay = 800,
            .hsync_start = 800 + 51,
            .hsync_end = 800 + 51 + 3,
            .htotal = 800 + 51 + 3 + 10,
            .vdisplay = 1280,
            .vsync_start = 1280 + 4,
            .vsync_end = 1280 + 4 + 2,
            .vtotal = 1280 + 4 + 2 + 2,
            .vrefresh = 60,
            .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
    };

    static const struct panel_desc actiagd_gd7inch = {
            .modes = &actiagd_gd7inch_mode,
            .num_modes = 1,
            .bpc = 8,
            .size = {
                    .width = 93,
                    .height = 152,
            },
            .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
            .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
                         DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
    };

    static const struct drm_display_mode actiagd_gd12inch_mode = {
            .clock = 93689,
            .hdisplay = 1920,
            .hsync_start = 1920 + 115,
            .hsync_end = 1920 + 115 + 5,
            .htotal = 1920 + 115 + 5 + 20,
            .vdisplay = 720,
            .vsync_start = 720 + 32,
            .vsync_end = 720 + 32 + 3,
            .vtotal = 720 + 32 + 3 + 3,
            .vrefresh = 60,
            .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
    };

    static const struct panel_desc actiagd_gd12inch = {
            .modes = &actiagd_gd12inch_mode,
            .num_modes = 1,
            .bpc = 8,
            .size = {
                    .width = 293,
                    .height = 110,
            },
            .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
            .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE |
                         DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
    };

    static const struct of_device_id platform_of_match[] = {
            {
                    .compatible = "actiagd,gd7inch",
                    .data = &actiagd_gd7inch,
            }, {
                    .compatible = "actiagd,gd12inch",
                    .data = &actiagd_gd12inch,
            }, {

    Here is the device tree code

    12 inch

            lcd0: display {
                    status = "okay";
                    compatible = "actiagd,gd12inch", "panel-dpi";

                    label = "lcd0";

                    backlight = <&lcd_bl>;

                    panel-timing {
                            clock-frequency = <93688800>;
                            hactive = <1920>;
                            vactive = <720>;
                            hfront-porch = <115>;
                            hback-porch = <20>;
                            hsync-len = <5>;
                            vback-porch = <3>;
                            vfront-porch = <32>;
                            vsync-len = <3>;
                            hsync-active = <0>;
                            vsync-active = <0>;
                            de-active = <1>;
                            pixelclk-active = <1>;
                    };

                    port {
                            lcd_in: endpoint {
                                    remote-endpoint = <&dpi_lcd_out>;
                            };
                    };
            };

    7 inch

            lcd0: display {
                    status = "okay";
                    compatible = "actiagd,gd7inch","panel-dpi";

                    label = "lcd0";

                    backlight = <&lcd_bl>;

                    panel-timing {
                            clock-frequency = <66800000>;
                            hactive = <800>;
                            vactive = <1280>;
                            hfront-porch = <51>;
                            hback-porch = <10>;
                            hsync-len = <3>;
                            vback-porch = <2>;
                            vfront-porch = <4>;
                            vsync-len = <2>;
                            hsync-active = <0>;
                            vsync-active = <0>;
                            de-active = <1>;
                            pixelclk-active = <1>;
                    };

                    port {
                            lcd_in: endpoint {
                                    remote-endpoint = <&dpi_lcd_out>;
                            };
                    };
            };

    Michel Catudal
    ACTIA Corp

  • RamPrasad,

    I figured out the problem with the EGL on kernel 4.19. The GPU was not turned on in my devicetree.

    For late attach the page needs to be corrected to point to a file that exists for the patches.

    File:0001-u-boot-configs-Enable-configs-for-Early-boot-support.zip doesn't exist

    Michel Catudal

    ACTIA Corp

  • Hi Michael,

    I didn't understand what was the issue with GPU device. Please explain.

    Can you also let me know what is the correction required in wiki page of Early boot late attach?

    Thanks

    RamPrasad