diff options
author | Tom Rini <trini@ti.com> | 2014-10-27 09:05:43 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-10-27 09:05:43 -0400 |
commit | 5aa7bece1045c28806ce919099616ebe8fa63325 (patch) | |
tree | c19240d9c85e3f4f839596e5197c619d872021be /arch/arm/cpu/armv7/keystone/msmc.c | |
parent | 674ca84d11391cd2e7faf8f638fc25ed4b782a91 (diff) | |
parent | b5ff205cdb0da6eff8a02653bf5192ea8d661faa (diff) |
Merge branch 'master' of git://git.denx.de/u-boot-ti
Diffstat (limited to 'arch/arm/cpu/armv7/keystone/msmc.c')
-rw-r--r-- | arch/arm/cpu/armv7/keystone/msmc.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/keystone/msmc.c b/arch/arm/cpu/armv7/keystone/msmc.c index 7d8e5978df..7899141d54 100644 --- a/arch/arm/cpu/armv7/keystone/msmc.c +++ b/arch/arm/cpu/armv7/keystone/msmc.c @@ -66,3 +66,29 @@ void msmc_share_all_segments(int priv_id) msmc->ses[priv_id][j].mpaxh &= 0xffffff7ful; } } + +void msmc_map_ses_segment(int priv_id, int ses_pair, + u32 src_pfn, u32 dst_pfn, enum mpax_seg_size size) +{ + struct msms_regs *msmc = (struct msms_regs *)KS2_MSMC_CTRL_BASE; + + msmc->ses[priv_id][ses_pair].mpaxh = src_pfn << 12 | + (size & 0x1f) | 0x80; + msmc->ses[priv_id][ses_pair].mpaxl = dst_pfn << 8 | 0x3f; +} + +void msmc_get_ses_mpax(int priv_id, int ses_pair, u32 *mpax) +{ + struct msms_regs *msmc = (struct msms_regs *)KS2_MSMC_CTRL_BASE; + + *mpax++ = msmc->ses[priv_id][ses_pair].mpaxl; + *mpax = msmc->ses[priv_id][ses_pair].mpaxh; +} + +void msmc_set_ses_mpax(int priv_id, int ses_pair, u32 *mpax) +{ + struct msms_regs *msmc = (struct msms_regs *)KS2_MSMC_CTRL_BASE; + + msmc->ses[priv_id][ses_pair].mpaxl = *mpax++; + msmc->ses[priv_id][ses_pair].mpaxh = *mpax; +} |