AnsweredAssumed Answered

OP-TEE on i.MX6Q

Question asked by Eugene Todoruk on Jun 30, 2016
Latest reply on Jul 6, 2016 by igorpadykov

Hello,

 

I have i.MX6Q Sabre Automotive board, and I am trying to run OP-TEE OS from u-boot.

I use this u-boot patch https://github.com/MrVan/uboot/commit/4f016adae573aaadd7bf6a37f8c58a882b391ae6, but it is for i.MX6UL and don't work for me. Can you help me to determine steps for running OP-TEE OS?

 

I see so:

1. Initialize CSU

2. Realize smp_set_core_boot_addr function

void smp_set_core_boot_addr(unsigned long addr, int corenr)
{
    int cpu, val;


    for (cpu = 1; cpu <= 3;  ++cpu) {
        writel(addr, SRC_BASE_ADDR + 0x20 + 8 * cpu);
        writel(0, SRC_BASE_ADDR + 0x20 + 8 * cpu + 4);
        val = readl(SRC_BASE_ADDR);
        val |= 1 << (SRC_SCR_CORE_1_RESET_OFFSET + cpu - 1);
        val |= 1 << (SRC_SCR_CORE_1_ENABLE_OFFSET + cpu  -1);
        writel(val, SRC_BASE_ADDR);
    }
}

3. Put 3 cores to pending as in patch

4. Run OP-TEE OS from _nonsec_init

 

Thanks

Outcomes