diff options
Diffstat (limited to 'arch/arc/kernel/head.S')
| -rw-r--r-- | arch/arc/kernel/head.S | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/arch/arc/kernel/head.S b/arch/arc/kernel/head.S index 17fd1ed700cc..9152782444b5 100644 --- a/arch/arc/kernel/head.S +++ b/arch/arc/kernel/head.S @@ -67,7 +67,22 @@  	sr	r5, [ARC_REG_LPB_CTRL]  1:  #endif /* CONFIG_ARC_LPB_DISABLE */ -#endif + +	/* On HSDK, CCMs need to remapped super early */ +#ifdef CONFIG_ARC_SOC_HSDK +	mov	r6, 0x60000000 +	lr	r5, [ARC_REG_ICCM_BUILD] +	breq	r5, 0, 1f +	sr	r6, [ARC_REG_AUX_ICCM] +1: +	lr	r5, [ARC_REG_DCCM_BUILD] +	breq	r5, 0, 2f +	sr	r6, [ARC_REG_AUX_DCCM] +2: +#endif	/* CONFIG_ARC_SOC_HSDK */ + +#endif	/* CONFIG_ISA_ARCV2 */ +  	; Config DSP_CTRL properly, so kernel may use integer multiply,  	; multiply-accumulate, and divide operations  	DSP_EARLY_INIT | 
