void __init omap_sram_init(void) { omap_detect_sram(); omap_map_sram(); _omap_sram_reprogram_clock = omap_sram_push(sram_reprogram_clock, sram_reprogram_clock_sz); }
int __init omap_sram_init(void) { omap_detect_sram(); omap_map_sram(); if (!(cpu_class_is_omap2())) omap1_sram_init(); else if (cpu_is_omap242x()) omap242x_sram_init(); else if (cpu_is_omap2430()) omap243x_sram_init(); else if (cpu_is_omap34xx()) omap34xx_sram_init(); return 0; }
/* * Note that we cannot use ioremap for SRAM, as clock init needs SRAM early. */ static void __init omap2_map_sram(void) { int cached = 1; if (cpu_is_omap34xx()) { /* * SRAM must be marked as non-cached on OMAP3 since the * CORE DPLL M2 divider change code (in SRAM) runs with the * SDRAM controller disabled, and if it is marked cached, * the ARM may attempt to write cache lines back to SDRAM * which will cause the system to hang. */ cached = 0; } omap_map_sram(omap_sram_start, omap_sram_size, omap_sram_skip, cached); }
/* * Note that we cannot use ioremap for SRAM, as clock init needs SRAM early. */ static void __init omap2_map_sram(void) { int cached = 1; #ifdef CONFIG_OMAP4_ERRATA_I688 if (cpu_is_omap44xx()) { omap_sram_start += PAGE_SIZE; omap_sram_size -= SZ_16K; } #endif if (cpu_is_omap34xx() || soc_is_am33xx()) { /* * SRAM must be marked as non-cached on OMAP3 since the * CORE DPLL M2 divider change code (in SRAM) runs with the * SDRAM controller disabled, and if it is marked cached, * the ARM may attempt to write cache lines back to SDRAM * which will cause the system to hang. */ cached = 0; } omap_map_sram(omap_sram_start, omap_sram_size, omap_sram_skip, cached); }