diff options
author | Heiko Schocher <hs@denx.de> | 2010-01-07 08:56:00 +0100 |
---|---|---|
committer | Kim Phillips <kim.phillips@freescale.com> | 2010-01-07 18:39:42 -0600 |
commit | a3f5da1bee9a8c343a411080d7d468bdc78794a4 (patch) | |
tree | a1f5caad92ec2a8e4a8e8d66d6b682fca92179ab | |
parent | a0daa2e06f05d97c03c59b656d50371319bf29ec (diff) | |
download | u-boot-imx-a3f5da1bee9a8c343a411080d7d468bdc78794a4.zip u-boot-imx-a3f5da1bee9a8c343a411080d7d468bdc78794a4.tar.gz u-boot-imx-a3f5da1bee9a8c343a411080d7d468bdc78794a4.tar.bz2 |
mpc83xx: add support configure bus parking
Add support to configure bus parking mode and master in bus arbitration
configuration (ACR). Add this for the kmeter1 port:
Configure bus arbiter with recommended values from Freescale
to improve bus latency/throughput for application with
intensive QuiccEngine activity.
Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
-rw-r--r-- | cpu/mpc83xx/cpu_init.c | 12 | ||||
-rw-r--r-- | include/configs/kmeter1.h | 8 |
2 files changed, 20 insertions, 0 deletions
diff --git a/cpu/mpc83xx/cpu_init.c b/cpu/mpc83xx/cpu_init.c index 0d6a5fe..75b4522 100644 --- a/cpu/mpc83xx/cpu_init.c +++ b/cpu/mpc83xx/cpu_init.c @@ -70,6 +70,12 @@ void cpu_init_f (volatile immap_t * im) #ifdef CONFIG_SYS_ACR_RPTCNT /* Arbiter repeat count */ (ACR_RPTCNT << ACR_RPTCNT_SHIFT) | #endif +#ifdef CONFIG_SYS_ACR_APARK /* Arbiter address parking mode */ + (ACR_APARK << ACR_APARK_SHIFT) | +#endif +#ifdef CONFIG_SYS_ACR_PARKM /* Arbiter parking master */ + (ACR_PARKM << ACR_PARKM_SHIFT) | +#endif 0; __be32 acr_val = #ifdef CONFIG_SYS_ACR_PIPE_DEP /* Arbiter pipeline depth */ @@ -78,6 +84,12 @@ void cpu_init_f (volatile immap_t * im) #ifdef CONFIG_SYS_ACR_RPTCNT /* Arbiter repeat count */ (CONFIG_SYS_ACR_RPTCNT << ACR_RPTCNT_SHIFT) | #endif +#ifdef CONFIG_SYS_ACR_APARK /* Arbiter address parking mode */ + (CONFIG_SYS_ACR_APARK << ACR_APARK_SHIFT) | +#endif +#ifdef CONFIG_SYS_ACR_PARKM /* Arbiter parking master */ + (CONFIG_SYS_ACR_PARKM << ACR_PARKM_SHIFT) | +#endif 0; __be32 spcr_mask = #ifdef CONFIG_SYS_SPCR_OPT /* Optimize transactions between CSB and other dev */ diff --git a/include/configs/kmeter1.h b/include/configs/kmeter1.h index bec08da..b023326 100644 --- a/include/configs/kmeter1.h +++ b/include/configs/kmeter1.h @@ -72,6 +72,14 @@ #define CONFIG_SYS_IMMR 0xE0000000 /* + * Bus Arbitration Configuration Register (ACR) + */ +#define CONFIG_SYS_ACR_PIPE_DEP 3 /* pipeline depth 4 transactions */ +#define CONFIG_SYS_ACR_RPTCNT 3 /* 4 consecutive transactions */ +#define CONFIG_SYS_ACR_APARK 0 /* park bus to master (below) */ +#define CONFIG_SYS_ACR_PARKM 3 /* parking master = QuiccEngine */ + +/* * DDR Setup */ #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */ |