Lines Matching +full:- +full:sram
1 // SPDX-License-Identifier: GPL-2.0-only
3 * OMAP SRAM detection and management
22 #include "sram.h"
26 #define ROUND_DOWN(value, boundary) ((value) & (~((boundary) - 1)))
35 * Memory allocator for SRAM: calculates the new ceiling address
39 * to an 8-byte boundary.
45 available = omap_sram_ceil - (omap_sram_base + omap_sram_skip); in omap_sram_push_address()
48 pr_err("Not enough space in SRAM\n"); in omap_sram_push_address()
52 new_ceil -= size; in omap_sram_push_address()
61 void *sram; in omap_sram_push() local
66 sram = omap_sram_push_address(size); in omap_sram_push()
67 if (!sram) in omap_sram_push()
70 base = (unsigned long)sram & PAGE_MASK; in omap_sram_push()
75 dst = fncpy(sram, funcp, size); in omap_sram_push()
83 * The amount of SRAM depends on the core type.
84 * Note that we cannot try to test for SRAM here because writes
85 * to secure SRAM will hang the system. Also the SRAM is not
87 * Note that we cannot use ioremap for SRAM, as clock init needs SRAM early.
103 pr_err("Could not detect SRAM size\n"); in omap_detect_and_map_sram()
110 pr_err("SRAM: Could not map\n"); in omap_detect_and_map_sram()
118 * beginning of SRAM for jumping to flash for reboot to work... in omap_detect_and_map_sram()
121 omap_sram_size - omap_sram_skip); in omap_detect_and_map_sram()