]> git.sur5r.net Git - u-boot/commitdiff
mpc83xx: add support configure bus parking
authorHeiko Schocher <hs@denx.de>
Thu, 7 Jan 2010 07:56:00 +0000 (08:56 +0100)
committerKim Phillips <kim.phillips@freescale.com>
Fri, 8 Jan 2010 00:39:42 +0000 (18:39 -0600)
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>
cpu/mpc83xx/cpu_init.c
include/configs/kmeter1.h

index 0d6a5fec97bdc72a8f35e96f19e95db5c2ac6f58..75b45222bdabab92064c81345c1373d4ffba6c44 100644 (file)
@@ -69,6 +69,12 @@ void cpu_init_f (volatile immap_t * im)
 #endif
 #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 =
@@ -77,6 +83,12 @@ void cpu_init_f (volatile immap_t * im)
 #endif
 #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 =
index bec08dab1fffa32dc6551dc8b41d00a3213513b0..b0233265058a72c41b826cb996a56d7d11914885 100644 (file)
  */
 #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
  */