summaryrefslogtreecommitdiff
path: root/drivers/arm
diff options
context:
space:
mode:
authorPankaj Gupta <pankaj.gupta@nxp.com>2018-12-07 13:05:36 +0530
committerPankaj Gupta <pankaj.gupta@nxp.com>2018-12-12 09:18:27 +0530
commit2f2b9ec8228ecd0b140d3fd5b3b3e1909ed12281 (patch)
tree329212c48756cf663aadd8df0aa36c10d63042fc /drivers/arm
parent6f7dba4b24ee8e6c134a5237b5af461c9898501e (diff)
ccn: for RN-I, used node id instead of node postion
For RN-I, node id is used instead of node postion in the bitmap to calculate the region id. Signed-off-by: Pankaj Gupta <pankaj.gupta@nxp.com>
Diffstat (limited to 'drivers/arm')
-rw-r--r--drivers/arm/ccn/ccn.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/arm/ccn/ccn.c b/drivers/arm/ccn/ccn.c
index 59a7576c..d46e0208 100644
--- a/drivers/arm/ccn/ccn.c
+++ b/drivers/arm/ccn/ccn.c
@@ -553,7 +553,14 @@ static unsigned int get_region_id_for_node(node_types_t node_type,
return REGION_ID_LIMIT;
}
- region_id += node_pos_in_map;
+ /*
+ * According to section 3.1.1 in CCN specification, region offset for
+ * the RN-I components is calculated as (128 + NodeID of RN-I).
+ */
+ if (node_type == NODE_TYPE_RNI)
+ region_id += node_id;
+ else
+ region_id += node_pos_in_map;
return region_id;
}