Lines Matching +full:peripheral +full:- +full:to +full:- +full:memory
1 Disabling I-cache:
2 - Set CONFIG_SYS_ICACHE_OFF
4 Disabling D-cache:
5 - Set CONFIG_SYS_DCACHE_OFF
7 Enabling I-cache:
8 - Make sure CONFIG_SYS_ICACHE_OFF is not set and call icache_enable().
10 Enabling D-cache:
11 - Make sure CONFIG_SYS_DCACHE_OFF is not set and call dcache_enable().
14 - Implement enable_caches() for your platform and enable the I-cache and
15 D-cache from this function. This function is called immediately
18 Guidelines for Working with D-cache:
20 Memory to Peripheral DMA:
21 - Flush the buffer after the MPU writes the data and before the DMA is
24 Peripheral to Memory DMA:
25 - Invalidate the buffer before starting the DMA. In case there are any dirty
26 lines from the DMA buffer in the cache, subsequent cache-line replacements
27 may corrupt the buffer in memory while the DMA is still going on. Cache-line
28 replacement can happen if the CPU tries to bring some other memory locations
30 - Invalidate the buffer after the DMA is complete and before the MPU reads
31 it. This may be needed in addition to the invalidation before the DMA
32 mentioned above, because in some processors memory contents can spontaneously
33 come to the cache due to speculative memory access by the CPU. If this
37 - Any buffer that is invalidated(that is, typically the peripheral to
38 memory DMA buffer) should be aligned to cache-line boundary both at
40 - If the buffer is not cache-line aligned invalidation will be restricted
41 to the aligned part. That is, one cache-line at the respective boundary
43 - A suitable buffer can be alloced on the stack using the
47 - cleanup_before_linux() should flush the D-cache, invalidate I-cache, and
49 - The following sequence is advisable while disabling d-cache:
50 1. dcache_disable() - flushes and disables d-cache
51 2. invalidate_dcache_all() - invalid any entry that came to the cache