This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

mali r5p0-06rel0 odroidxu3

Hi All,

I would like to know how to integrate mali r5p0-06rel0 for OdroidXU3 board.

I have user TX011-SW-99002-r5p1-00rel1 along with chromebook-platform patch.

Has some body make it working on latest kernel.

-Anand Moon

  • Hi moon.linux,

    The general rule for upgrading the Mali driver from an existing BSP is as follows:

    • Obtain the Kernel source-code for the device you are targeting (Odroid XU3 in your instance)
    • Pull the integration platform files from the Mali Kernel side component of the kernel sources
      • Location and file names may vary so cannot be described here. Roughly speaking, you should find it in a folder called 'platform' within the mali directory in the kernel
    • Remove the existing Mali Kernel side component from the kernel sources
    • Replace it with the Mali Kernel side component that matches your desired Driver Version from here (r5p0-06rel0 in your instance):
    • Reintegrate the Mali Kernel side component using the integration platform files you previously obtained
    • Rebuild the kernel and optional modules needed
      • WARNING! Some further patching may be required at this stage to build Mali successfully...
    • Flash the new kernel and replace any kernel modules (if applicable)
    • Replace the existing Mali Userspace component (usually libGLES_mali.so or similar) with the matching Driver Version obtained from here:

    Basically the Kernel Side and User Side components of the Mali Driver 'should' match, and must be for the targeted GPU and OS.

    In your instance, you are looking for the Mali-T628 drivers, for Linux. (We do not currently provide Android versions for that GPU)

    You also mention that you use the 'chromebook-platform' patch... I cannot say for certain if this will work for the XU3 as it was specifically for the Chromebooks, and hasn't been tested.

    If you have specific issues, please give us as much information as you can, and we can try help further.

    I hope this overview is sufficient for you to progress however.

    Kind Regards,

    Michael McGeagh

  • Hi Anand,

    Regarding your first question about clk_mali, I will ask our resident expert guillaume.tucker if he has any suggestions regarding this.

    Regarding your patch question, that depends on what the patch affects. For example if it is a patch in our Mali Kernel Side component, then we should look into that. If however it affects the kernel, or the integration files, then you should contact Hard Kernel in this instance.

    Kind Regards,

    Michael McGeagh

  • hi Micheal,

    I have tried to integrate this driver but it failed.

    I am using following DTS changes.

    mali {
        compatible = "arm,mali-midgard";
        reg = <0x11800000 0x5000>;
        interrupts = <0 219 0>, <0 74 0>, <0 117 0>;
        interrupt-names = "JOB", "MMU", "GPU";
        clocks = <&clock CLK_G3D>, <&clock CLK_MOUT_G3D>, <&clock CLK_MOUT_VPLL>, <&clock CLK_FIN_PLL>,
        <&clock CLK_FOUT_VPLL>;
        clock-names = "g3d", "aclk_g3d", "mout_vpll", "ext_xtal",
        "fout_vpll";
    };
    

    I see new clk_mali is need. Do I need to introduce this clk_mali in drivers/clk/samsung/clk-exynos5420.c

    And update the dts changes.

    Suppose I seen a patch to fix a bug. Where do need to send it.

    -Anand Moon

  • hi Michael,

    Now that Odroidxu3 support in getting integrated in the linux mainline. I am trying the latest kernel.

    -Anand Moon

  • Hi Anand,

    We've now released a kernel with the r5p0 drivers already integrated and some development configuration options turned on.  You can find it ready to get built on Github:

    ARM-software/linux at odroidxu3-3.10.y-mali-midgard-r5p0 · GitHub

    It's good to hear that ODROID-XU3 is getting into mainline although I don't expect this to have the Mali GPU driver integrated, unless it's on a HardKernel branch, so the easiest thing to do is still to stick to this 3.10 kernel.

    Best regards,

    Guillaume

  • Hi Guillaume,

    Thanks for the input.

    I have build this odroidxu3 mali and it seems to working. Looking forward to getting this merged in Hardkernel

    Is their any tools to verify mali working.

    -Anand Moon

  • Hi Anand,

    We have a set of tests that we run, however they arent given out publicly, but to Partners who have licensed our GPU and driver. So unfortunately this test suite is unavailable to you (unless you are a partner, in which case, you should be contacting ARM Support).

    However, simply running any OpenGL ES application and obtaining the expected performance, would verify that Mali is working for you. An example of what to run could be a benchmark.


    Kind Regards,


    Michael McGeagh

  • Hi Anand,

    I worked it from linux-4.0 kernel for tizen

    Thanks.

  • Hi dofmind,

    I have created the trizen gerrit account but still cannot access the url.

    What more thing I need to do to access the repository.

    Did you get trizen to run on OdroidXU3 board.

    I also made some progress but I am stuck with some issues with regulators and voltage scaling.

    -Anand Moon

  • Hi Anand,

    Hmm i don't know why you cannot access the url even if you have gerrit account.

    Please refer following url, it can be accessed via gitweb without any account.

    https://review.tizen.org/git/?p=platform/kernel/linux-exynos.git;a=summary

    I know tizen 3.0 binary developing is released daily as snapshot binary.

    http://download.tizen.org/snapshots/tizen

    I used tizen 3.0 tv profile binary for odroid xu3 board.

    http://download.tizen.org/snapshots/tizen/tv/latest/

    You need to use tizen u-boot to run tizen on odroid xu3 board

    Please refer sandbox/songinha/tizen branch of tizen u-boot git

    https://review.tizen.org/git/?p=platform/kernel/u-boot.git;a=summary

    I cannot find any guide page for tizen on odroid xu3, but there is the page for odroid u3

    https://wiki.tizen.org/wiki/How_to_Build_and_Load_Tizen_on_Odroid_U3

    Already there is devfreq feature on mali r5p0-06rel0 for mali dvfs and i modified some,

    but i didn't test on odroidxu3 yet.

    Thanks.

  • Note:

    It's also necessary to install the user-side r5p0-06rel0 binary drivers for Mali-T62x to use OpenGL ES and OpenCL on ODROID-XU3.  They can be downloaded here:

    User Space Drivers

    Best wishes,

    Guillaume

  • I may be wrote a silly thing but hardKernel has provided in its tools to update this script

    Allowing the update DDX Mali for his boards

    https://github.com/mdrjr/odroid-utility/blob/master/armsoc.sh

  • Hi,

    I'm having an issue with the 3.10.69 kernel on an ODROID-XU3, running a Ubuntu user land.

    I built the kernel from the repo linked earlier in the thread

    (https://github.com/ARM-software/linux/tree/odroidxu3-3.10.y-mali-midgard-r5p0)

    The kernel builds & boots successfully, and the mali_kbase module loads without complaint, but when I try and run any OpenCL code the application terminates with an Unknown OpenCL error.

    With strace I have narrowed this down to a missing /dev/mali0 sysfs handle, which doesn't make much sense as the kernel module is clearly loaded (according to lsmod anyway).

    The kernel module was built with the odroidxu3_defconfig file available and has options configured like so:

    $ grep MALI .config

    CONFIG_MALI_MIDGARD=m

    CONFIG_MALI_GATOR_SUPPORT=y

    CONFIG_MALI_MIDGARD_DVFS=y

    CONFIG_MALI_MIDGARD_RT_PM=y

    # CONFIG_MALI_MIDGARD_ENABLE_TRACE is not set

    CONFIG_MALI_MIDGARD_DEBUG_SYS=y

    CONFIG_MALI_EXPERT=y

    # CONFIG_MALI_DEVFREQ is not set

    CONFIG_MALI_DEBUG_SHADER_SPLIT_FS=y

    CONFIG_MALI_PLATFORM_FAKE=y

    CONFIG_MALI_PLATFORM_THIRDPARTY=y

    CONFIG_MALI_PLATFORM_THIRDPARTY_NAME="5422"

    # CONFIG_MALI_DEBUG is not set

    # CONFIG_MALI_NO_MALI is not set

    # CONFIG_MALI_TRACE_TIMELINE is not set

    # CONFIG_MALI_SYSTEM_TRACE is not set

    # CONFIG_MALI_GPU_TRACEPOINTS is not set

    I've tried a couple of combinations of options, but I can't seem to get /dev/mali0 to show up in the sysfs tree, despite the module clearly being loaded:

    $ lsmod | grep mali

    mali_kbase 236932 0

    I have the appropriate binary drivers for the T62X (r5p0-06rel0) installed.

    Neither the X11 or fbdev versions make any difference. I don't imagine either of those have any chance of working with the /dev/mali0 device missing.

    Does anyone have any further suggestions for what I can try?

    There are these two potentially relevant message relating to the Mali device in dmesg:

    [    7.895860] [c6] mali 11800000.mali: Invalid irq res name: '/mali'

    [    7.900908] [c6] mali: probe of 11800000.mali failed with error -22

    Thanks.

  • Sorry i don't know clearly the OdroidXU3 just read the tool do not support the XU3 board
    May you can use some sequence of the script to help you in compilation ?

  • Hi dofmind,

    Thanks for your valuable inputs.

    Finally I got the tizen account working. I am able to checkout the code.

    It seems like getting the u-boot working for odroid U3 is bit tedious.

    Is it be possible for you create a small doc on how to update the u-boot and the kernel on the sdcard.

    Any inputs will be valuable.

    -Anand Moon.