diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-27 11:30:09 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-07-27 11:30:48 +0200 |
commit | b1ef3674c0bffdd169e070f039d413cceb5e706c (patch) | |
tree | 148d040052bba91eb9ff06226f60152bd7cfeccf /c | |
parent | score: Add deadlock detection (diff) | |
download | rtems-b1ef3674c0bffdd169e070f039d413cceb5e706c.tar.bz2 |
bsp/qoriq: Add QORIQ_HAS_WRITE_BACK_L1_CACHE
Fixes start via U-Boot on P1020.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/configure.ac | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/qoriq/start/start.S | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/qoriq/configure.ac b/c/src/lib/libbsp/powerpc/qoriq/configure.ac index 10dd17c0f9..9e63763b9e 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/configure.ac +++ b/c/src/lib/libbsp/powerpc/qoriq/configure.ac @@ -172,6 +172,10 @@ RTEMS_BSPOPTS_SET([QORIQ_HAS_HYPERVISOR_MODE],[qoriq_t*],[1]) RTEMS_BSPOPTS_SET([QORIQ_HAS_HYPERVISOR_MODE],[*],[]) RTEMS_BSPOPTS_HELP([QORIQ_HAS_HYPERVISOR_MODE],[defined if the processor core has a hypervisor mode]) +RTEMS_BSPOPTS_SET([QORIQ_HAS_WRITE_BACK_L1_CACHE],[qoriq_t*],[]) +RTEMS_BSPOPTS_SET([QORIQ_HAS_WRITE_BACK_L1_CACHE],[*],[1]) +RTEMS_BSPOPTS_HELP([QORIQ_HAS_WRITE_BACK_L1_CACHE],[defined if the L1 cache supports write-back]) + RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_1_L2CSR0],[qoriq_t*],[0xfec20000]) RTEMS_BSPOPTS_SET([QORIQ_CLUSTER_1_L2CSR0],[*],[]) RTEMS_BSPOPTS_HELP([QORIQ_CLUSTER_1_L2CSR0],[address of Cluster 1 L2CSR0 register]) diff --git a/c/src/lib/libbsp/powerpc/qoriq/start/start.S b/c/src/lib/libbsp/powerpc/qoriq/start/start.S index 959347c61e..6d6cd9400a 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/start/start.S +++ b/c/src/lib/libbsp/powerpc/qoriq/start/start.S @@ -60,7 +60,14 @@ _start: bl bsp_fdt_copy #endif /* U_BOOT_USE_FDT */ +#ifdef QORIQ_HAS_WRITE_BACK_L1_CACHE + LWI r3, bsp_section_start_begin + LWI r4, bsp_section_data_load_end + sub r4, r4, r3 + bl rtems_cache_flush_multiple_data_lines +#else bl qoriq_l1cache_invalidate +#endif #ifdef QORIQ_CLUSTER_1_L2CSR0 LWI r3, QORIQ_CLUSTER_1_L2CSR0 |