armv8: lsch3: Enable WUO config for RNI-20 node
authorPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Mon, 25 Jan 2016 06:38:45 +0000 (12:08 +0530)
committerYork Sun <york.sun@nxp.com>
Mon, 21 Mar 2016 19:42:10 +0000 (12:42 -0700)
Enable wuo config to accelerate coherent ordered writes for LS2080A
and LS2085A.

WRIOP IP is connected to RNI-20 Node.

Signed-off-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S
arch/arm/include/asm/arch-fsl-layerscape/config.h
arch/arm/lib/ccn504.S

index 41e17049865d0688c4a20e3a72cf5e667bda8092..9c69ed13b47737c39c5f00b4cf952aacf63136a4 100644 (file)
@@ -18,6 +18,14 @@ ENTRY(lowlevel_init)
        mov     x29, lr                 /* Save LR */
 
 #ifdef CONFIG_FSL_LSCH3
+
+       /* Set Wuo bit for RN-I 20 */
+#if defined(CONFIG_LS2085A) || defined (CONFIG_LS2080A)
+       ldr     x0, =CCI_AUX_CONTROL_BASE(20)
+       ldr     x1, =0x00000010
+       bl      ccn504_set_aux
+#endif
+
        /* Add fully-coherent masters to DVM domain */
        ldr     x0, =CCI_MN_BASE
        ldr     x1, =CCI_MN_RNF_NODEID_LIST
index 0ef7c9dd957ddc84ec164a966869ad7b1ac75528..22f9c8fd65e50ef78639f563876d823e6070f38e 100644 (file)
@@ -91,6 +91,8 @@
 #define CCI_S1_QOS_CONTROL_BASE(x) ((CCI_RN_I_0_BASE + (x * 0x10000)) + 0x110)
 #define CCI_S2_QOS_CONTROL_BASE(x) ((CCI_RN_I_0_BASE + (x * 0x10000)) + 0x210)
 
+#define CCI_AUX_CONTROL_BASE(x) ((CCI_RN_I_0_BASE + (x * 0x10000)) + 0x0500)
+
 /* TZ Protection Controller Definitions */
 #define TZPC_BASE                              0x02200000
 #define TZPCR0SIZE_BASE                                (TZPC_BASE)
index 7570c7b231f2d59b4656f7ce534bb9e4ff471468..1e07876166ff79c801f345c0b5ff76f9bbe887bb 100644 (file)
@@ -59,3 +59,24 @@ ENTRY(ccn504_set_qos)
        ret
 ENDPROC(ccn504_set_qos)
 
+/*************************************************************************
+ *
+ * void ccn504_set_aux(CCI_AUX_CONTROL_BASE, Value);
+ *
+ * Initialize AUX control settings
+ *
+ *************************************************************************/
+ENTRY(ccn504_set_aux)
+       /*
+        * x0: CCI_AUX_CONTROL_BASE
+        * x1: Value
+        */
+
+       ldr     x9, [x0]
+       mov     x10, x1
+       orr     x9, x9, x10
+       str     x9, [x0]
+
+       ret
+ENDPROC(ccn504_set_aux)
+