|
|
@ -28,6 +28,7 @@ |
|
|
|
#include <asm/io.h> |
|
|
|
#include <asm/io.h> |
|
|
|
|
|
|
|
|
|
|
|
#define LAWAR_EN 0x80000000 |
|
|
|
#define LAWAR_EN 0x80000000 |
|
|
|
|
|
|
|
#define FSL_HW_NUM_LAWS 10 /* number of LAWs in the hw implementation */ |
|
|
|
|
|
|
|
|
|
|
|
void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id) |
|
|
|
void set_law(u8 idx, phys_addr_t addr, enum law_size sz, enum law_trgt_if id) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -53,6 +54,24 @@ void disable_law(u8 idx) |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void print_laws(void) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
volatile u32 *base = (volatile u32 *)(CFG_IMMR + 0xc08); |
|
|
|
|
|
|
|
volatile u32 *lawbar = base; |
|
|
|
|
|
|
|
volatile u32 *lawar = base + 2; |
|
|
|
|
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
printf("\nLocal Access Window Configuration\n"); |
|
|
|
|
|
|
|
for(i = 0; i < FSL_HW_NUM_LAWS; i++) { |
|
|
|
|
|
|
|
printf("\tLAWBAR%d : 0x%08x, LAWAR%d : 0x%08x\n", |
|
|
|
|
|
|
|
i, in_be32(lawbar), i, in_be32(lawar)); |
|
|
|
|
|
|
|
lawbar += 8; |
|
|
|
|
|
|
|
lawar += 8; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void init_laws(void) |
|
|
|
void init_laws(void) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int i; |
|
|
|
int i; |
|
|
|