This patch adds a minimal framework for Dickens CCN-504 interconnect configuration - mainly related to adding Clusters/cores to snoop/DVM domain and setting QoS of the RN-I ports. LS2085A platform makes use of these configurations to support better network data performance and to boot a SMP Linux. Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>master
parent
7fb79e6552
commit
3ffa95c283
@ -0,0 +1,61 @@ |
||||
/* |
||||
* (C) Copyright 2015 Freescale Semiconductor |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
* |
||||
* Extracted from gic_64.S |
||||
*/ |
||||
|
||||
#include <config.h> |
||||
#include <linux/linkage.h> |
||||
#include <asm/macro.h> |
||||
|
||||
/************************************************************************* |
||||
* |
||||
* void ccn504_add_masters_to_dvm(CCI_MN_BASE, CCI_MN_RNF_NODEID_LIST, |
||||
* CCI_MN_DVM_DOMAIN_CTL_SET);
|
||||
* |
||||
* Add fully-coherent masters to DVM domain |
||||
* |
||||
*************************************************************************/ |
||||
ENTRY(ccn504_add_masters_to_dvm) |
||||
/* |
||||
* x0: CCI_MN_BASE |
||||
* x1: CCI_MN_RNF_NODEID_LIST |
||||
* x2: CCI_MN_DVM_DOMAIN_CTL_SET |
||||
*/ |
||||
|
||||
/* Add fully-coherent masters to DVM domain */ |
||||
ldr x9, [x0, x1] |
||||
str x9, [x0, x2] |
||||
1: ldr x10, [x0, x2] |
||||
mvn x11, x10 |
||||
tst x11, x10 /* Wait for domain addition to complete */ |
||||
b.ne 1b |
||||
|
||||
ret |
||||
ENDPROC(ccn504_add_masters_to_dvm) |
||||
|
||||
/************************************************************************* |
||||
* |
||||
* void ccn504_set_qos(CCI_Sx_QOS_CONTROL_BASE, QoS Value);
|
||||
* |
||||
* Initialize QoS settings for AR/AW override. |
||||
* Right now, this function sets the same QoS value for all RN-I ports |
||||
* |
||||
*************************************************************************/ |
||||
ENTRY(ccn504_set_qos) |
||||
/* |
||||
* x0: CCI_Sx_QOS_CONTROL_BASE |
||||
* x1: QoS Value |
||||
*/ |
||||
|
||||
/* Set all RN-I ports to QoS value denoted by x1 */ |
||||
ldr x9, [x0] |
||||
mov x10, x1 |
||||
orr x9, x9, x10 |
||||
str x9, [x0] |
||||
|
||||
ret |
||||
ENDPROC(ccn504_set_qos) |
||||
|
Loading…
Reference in new issue