avr32: Add simple paging support
Use the MMU hardware to set up 1:1 mappings between physical and virtual addresses. This allows us to bypass the cache when accessing the flash without having to do any physical-to-virtual address mapping in the CFI driver. The virtual memory mappings are defined at compile time through a sorted array of virtual memory range objects. When a TLB miss exception happens, the exception handler does a binary search through the array until it finds a matching entry and loads it into the TLB. The u-boot image itself is covered by a fixed TLB entry which is never replaced. This makes the 'saveenv' command work again on ATNGW100 and other boards using the CFI driver, hopefully without breaking any rules. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
committed by
Reinhard Meyer
parent
9cec2fc209
commit
1f36f73fe7
@@ -49,6 +49,9 @@
|
||||
#define CONFIG_SYS_CLKDIV_PBA 2
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
*/
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -47,6 +47,9 @@
|
||||
#define CONFIG_SYS_CLKDIV_PBA 2
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM and NOR flash */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 2
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
@@ -51,6 +51,9 @@
|
||||
#define CONFIG_SYS_CLKDIV_PBA 2
|
||||
#define CONFIG_SYS_CLKDIV_PBB 1
|
||||
|
||||
/* Reserve VM regions for SDRAM, NOR flash and FRAM */
|
||||
#define CONFIG_SYS_NR_VM_REGIONS 3
|
||||
|
||||
/*
|
||||
* The PLLOPT register controls the PLL like this:
|
||||
* icp = PLLOPT<2>
|
||||
|
||||
Reference in New Issue
Block a user