diff options
Diffstat (limited to 'board/freescale/common/p_corenet/tlb.c')
| -rw-r--r-- | board/freescale/common/p_corenet/tlb.c | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/board/freescale/common/p_corenet/tlb.c b/board/freescale/common/p_corenet/tlb.c index 6a0026a2c..da2162728 100644 --- a/board/freescale/common/p_corenet/tlb.c +++ b/board/freescale/common/p_corenet/tlb.c @@ -66,6 +66,15 @@ struct fsl_e_tlb_entry tlb_table[] = {  	SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L3_ADDR, CONFIG_SYS_INIT_L3_ADDR,  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  			0, 0, BOOKE_PAGESZ_1M, 1), +#elif defined(CONFIG_SRIOBOOT_SLAVE) +	/* +	 * SRIOBOOT-SLAVE. When slave boot, the address of the +	 * space is at 0xfff00000, it covered the 0xfffff000. +	 */ +	SET_TLB_ENTRY(1, CONFIG_SYS_SRIOBOOT_SLAVE_ADDR, +			CONFIG_SYS_SRIOBOOT_SLAVE_ADDR_PHYS, +			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_W|MAS2_G, +			0, 0, BOOKE_PAGESZ_1M, 1),  #else  	SET_TLB_ENTRY(1, 0xfffff000, 0xfffff000,  		      MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, @@ -138,6 +147,16 @@ struct fsl_e_tlb_entry tlb_table[] = {  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  			0, 16, BOOKE_PAGESZ_1M, 1),  #endif +#ifdef CONFIG_SRIOBOOT_SLAVE +	/* +	 * SRIOBOOT-SLAVE. 1M space from 0xffe00000 for fetching ucode +	 * and ENV from master +	 */ +	SET_TLB_ENTRY(1, CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR, +		CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR_PHYS, +		MAS3_SX|MAS3_SW|MAS3_SR, MAS2_G, +		0, 17, BOOKE_PAGESZ_1M, 1), +#endif  };  int num_tlb_entries = ARRAY_SIZE(tlb_table); |