diff options
author | Alexander Graf <agraf@suse.de> | 2014-04-11 17:09:43 +0200 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2014-04-22 17:58:45 -0700 |
commit | f29f804a93e87c17670607641d120f431a3b0633 (patch) | |
tree | 78a2a69d9e98522a86b64c9eb0a7afdcc520d1f2 /arch/powerpc/include/asm | |
parent | 46a346834b1857ded410f44e59da93a8793f19fc (diff) | |
download | u-boot-imx-f29f804a93e87c17670607641d120f431a3b0633.zip u-boot-imx-f29f804a93e87c17670607641d120f431a3b0633.tar.gz u-boot-imx-f29f804a93e87c17670607641d120f431a3b0633.tar.bz2 |
PPC: 85xx: Generalize DDR TLB mapping function
The DDR mapping function really is just a generic virtual -> physical
mapping function. Generalize it so it can support any virtual starting
offset and IO maps just the same.
Signed-off-by: Alexander Graf <agraf@suse.de>
Acked-by: Scott Wood <scottwood@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
Diffstat (limited to 'arch/powerpc/include/asm')
-rw-r--r-- | arch/powerpc/include/asm/mmu.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index cadaeef..5aa916f 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h @@ -509,6 +509,14 @@ extern void print_tlbcam(void); extern unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg); extern void clear_ddr_tlbs(unsigned int memsize_in_meg); +enum tlb_map_type { + TLB_MAP_RAM, + TLB_MAP_IO, +}; + +extern uint64_t tlb_map_range(ulong v_addr, phys_addr_t p_addr, uint64_t size, + enum tlb_map_type map_type); + extern void write_tlb(u32 _mas0, u32 _mas1, u32 _mas2, u32 _mas3, u32 _mas7); #define SET_TLB_ENTRY(_tlb, _epn, _rpn, _perms, _wimge, _ts, _esel, _sz, _iprot) \ |