21 Jan, 2019

1 commit


18 Jan, 2019

2 commits

  • The CAAM driver in u-boot will use JR0 by default, but for
    imx8q, both JR0 and JR1 are assigned to SECO and A core
    should never access them.
    Power on the JR3 in this patchset and use it to complete
    the CAAM operations for imx8q.

    Test: CAAM self test cases pass for imx8q.

    Change-Id: Ie3d77d1f2910e7f4c257c797c12b5c8a30ad936a
    Signed-off-by: Ji Luo

    Ji Luo
     
  • Add CAAM RNG generating and BLOB encap/decap
    self test cases.

    Test: Test cases pass on imx8qm_mek/imx6qp_sabresd.

    Change-Id: I538f7b1581b36df83a3006ac133ca9e7b57ab4f0
    Signed-off-by: Ji Luo

    Ji Luo
     

24 Oct, 2018

1 commit

  • Found the imx8mq Rev A chip (B0 and B1 chips are ok) boot hang at CAAM RNG init.
    The jobring 0 can't complete instantiation descriptor and spins on checking ORSFR_JR0.

    In current implementation, the descriptor and jobring input and output base address locate
    on TCM, because the driver uses raw_data array in jr_data_st structure as the buffer.
    This seems cause the issue. If switched from TCM to OCRAM, the issue will go.

    Since accessing TCM by CAAM is not very reliable. Add this patch to use OCRAM for SPL case.
    The early malloc is ready on SPL before calling board_init_f. So we can use malloc to allocate
    memory instead of the raw_data array.

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan

    Ye Li
     

14 Sep, 2018

1 commit

  • The TRNG as used in RNG4, used in CAAM has a documentation issue. The
    effect is that it is possible that the entropy used to instantiate the
    DRBG may be old entropy, rather than newly generated entropy. There is
    proper programming guidance, but it is not in the documentation.

    Signed-off-by: Aymen Sghaier

    Aymen Sghaier
     

22 Aug, 2018

1 commit

  • Blob buffer size is 48 bytes larger than the plain text buffer,
    set correct range when flush the dcache. Also use cache aligned
    buffer for the blob/plain_text to avoid failure in CAAM.

    Change-Id: I3b377cfeb8f5bd9c76233827b2c9c7bd0d788c9b
    Signed-off-by: Ji Luo

    Ji Luo
     

07 Aug, 2018

1 commit

  • The imx_sec_init is called at board_f phase, this phase forbids to
    write any global variable in BSS section, because the BSS section is
    overlay with u-boot dynamic relocation entries (or DTB) which are used during
    u-boot relocation after board_f phase.

    Now the g_jrdata is in BSS section and it is initialized during imx_sec_init.
    Therefore, it destroys the relocation entries (or DTB) and causes various u-boot
    issues.

    Fix the problem by assiging default value to g_jrdata.status, so g_jrdata is
    moved to data section.

    Signed-off-by: Ye Li

    Ye Li
     

19 Jul, 2018

1 commit


17 Jul, 2018

1 commit


13 Jun, 2018

1 commit