exynos5420: get rid of old exynos5420_config_l2_cache()
We set up L2 cache early in romstage now so the old function is now redundant. Signed-off-by: David Hendricks <dhendrix@chromium.org> BUG=none BRANCH=none TEST=built and booted on pit, cat /proc/cmdline shows 4 A15 cores Change-Id: Icec93810ddd7feb48286d4b600cb2d58af38b7ef Reviewed-on: https://gerrit.chromium.org/gerrit/65428 Reviewed-by: Hung-Te Lin <hungte@chromium.org> Commit-Queue: David Hendricks <dhendrix@chromium.org> Tested-by: David Hendricks <dhendrix@chromium.org>
This commit is contained in:
parent
585a28c197
commit
bb91f1078e
5 changed files with 4 additions and 34 deletions
|
|
@ -185,33 +185,3 @@ struct chip_operations cpu_samsung_exynos5420_ops = {
|
||||||
CHIP_NAME("CPU Samsung Exynos 5420")
|
CHIP_NAME("CPU Samsung Exynos 5420")
|
||||||
.enable_dev = enable_exynos5420_dev,
|
.enable_dev = enable_exynos5420_dev,
|
||||||
};
|
};
|
||||||
|
|
||||||
void exynos5420_config_l2_cache(void)
|
|
||||||
{
|
|
||||||
uint32_t val;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Bit 9 - L2 tag RAM setup (1 cycle)
|
|
||||||
* Bits 8:6 - L2 tag RAM latency (3 cycles)
|
|
||||||
* Bit 5 - L2 data RAM setup (1 cycle)
|
|
||||||
* Bits 2:0 - L2 data RAM latency (3 cycles)
|
|
||||||
*/
|
|
||||||
val = (1 << 9) | (0x2 << 6) | (1 << 5) | (0x2);
|
|
||||||
write_l2ctlr(val);
|
|
||||||
|
|
||||||
val = read_l2actlr();
|
|
||||||
|
|
||||||
/* L2ACTLR[3]: Disable clean/evict push to external */
|
|
||||||
val |= (1 << 3);
|
|
||||||
|
|
||||||
/* L2ACTLR[7]: Enable hazard detect timeout for A15 */
|
|
||||||
val |= (1 << 7);
|
|
||||||
|
|
||||||
/* L2ACTLR[27]: Prevents stopping the L2 logic clock */
|
|
||||||
val |= (1 << 27);
|
|
||||||
|
|
||||||
write_l2actlr(val);
|
|
||||||
|
|
||||||
/* Read the l2 control register to force things to take effect? */
|
|
||||||
val = read_l2ctlr();
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -263,7 +263,6 @@ static inline u32 get_fb_base_kb(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Procedures to setup Exynos5420 CPU */
|
/* Procedures to setup Exynos5420 CPU */
|
||||||
void exynos5420_config_l2_cache(void);
|
|
||||||
void exynos5420_config_smp(void);
|
void exynos5420_config_smp(void);
|
||||||
|
|
||||||
#endif /* _EXYNOS5420_CPU_H */
|
#endif /* _EXYNOS5420_CPU_H */
|
||||||
|
|
|
||||||
|
|
@ -271,7 +271,10 @@ static void power_down_core(void)
|
||||||
/* Configures the CPU states shard memory page and then shutdown all cores. */
|
/* Configures the CPU states shard memory page and then shutdown all cores. */
|
||||||
static void configure_secondary_cores(void)
|
static void configure_secondary_cores(void)
|
||||||
{
|
{
|
||||||
configure_l2ctlr();
|
if (get_bits(read_midr(), 4, 12) == PART_NUMBER_CORTEX_A15) {
|
||||||
|
configure_l2ctlr();
|
||||||
|
configure_l2actlr();
|
||||||
|
}
|
||||||
|
|
||||||
/* Currently we use power_down_core as callback for each core to
|
/* Currently we use power_down_core as callback for each core to
|
||||||
* shutdown itself, but it is also ok to directly set ARM_CORE*_CONFIG
|
* shutdown itself, but it is also ok to directly set ARM_CORE*_CONFIG
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,6 @@ static void mainboard_enable(device_t dev)
|
||||||
|
|
||||||
/* set up dcache and MMU */
|
/* set up dcache and MMU */
|
||||||
/* FIXME: this should happen via resource allocator */
|
/* FIXME: this should happen via resource allocator */
|
||||||
exynos5420_config_l2_cache();
|
|
||||||
mmu_init();
|
mmu_init();
|
||||||
mmu_config_range(0, DRAM_START, DCACHE_OFF);
|
mmu_config_range(0, DRAM_START, DCACHE_OFF);
|
||||||
mmu_config_range(DRAM_START, DRAM_SIZE, DCACHE_WRITEBACK);
|
mmu_config_range(DRAM_START, DRAM_SIZE, DCACHE_WRITEBACK);
|
||||||
|
|
|
||||||
|
|
@ -444,7 +444,6 @@ static void mainboard_enable(device_t dev)
|
||||||
|
|
||||||
/* set up dcache and MMU */
|
/* set up dcache and MMU */
|
||||||
/* FIXME: this should happen via resource allocator */
|
/* FIXME: this should happen via resource allocator */
|
||||||
exynos5420_config_l2_cache();
|
|
||||||
mmu_init();
|
mmu_init();
|
||||||
mmu_config_range(0, DRAM_START, DCACHE_OFF);
|
mmu_config_range(0, DRAM_START, DCACHE_OFF);
|
||||||
mmu_config_range(DRAM_START, DRAM_SIZE, DCACHE_WRITEBACK);
|
mmu_config_range(DRAM_START, DRAM_SIZE, DCACHE_WRITEBACK);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue