• Tanmay Shah's avatar
    remoteproc: zynqmp: fix lockstep mode memory region · b31bcda5
    Tanmay Shah authored
    In lockstep mode, r5 core0 uses TCM of R5 core1. Following is lockstep
    mode memory region as per hardware reference manual.
    
        |      *TCM*         |   *R5 View* | *Linux view* |
        | R5_0 ATCM (128 KB) | 0x0000_0000 | 0xFFE0_0000  |
        | R5_0 BTCM (128 KB) | 0x0002_0000 | 0xFFE2_0000  |
    
    However, driver shouldn't model it as above because R5 core0 TCM and core1
    TCM has different power-domains mapped to it.
    Hence, TCM address space in lockstep mode should be modeled as 64KB
    regions only where each region has its own power-domain as following:
    
        |      *TCM*         |   *R5 View* | *Linux view* |
        | R5_0 ATCM0 (64 KB) | 0x0000_0000 | 0xFFE0_0000  |
        | R5_0 BTCM0 (64 KB) | 0x0002_0000 | 0xFFE2_0000  |
        | R5_0 ATCM1 (64 KB) | 0x0001_0000 | 0xFFE1_0000  |
        | R5_0 BTCM1 (64 KB) | 0x0003_0000 | 0xFFE3_0000  |
    
    This makes driver maintanance easy and makes design robust for future
    platorms as well.
    Signed-off-by: default avatarTanmay Shah <tanmay.shah@amd.com>
    Link: https://lore.kernel.org/r/20240412183708.4036007-2-tanmay.shah@amd.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    b31bcda5
xlnx_r5_remoteproc.c 28.4 KB