summaryrefslogtreecommitdiff
path: root/drivers/arm/ccn/ccn_private.h
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2016-02-09 10:58:13 +0000
committerdanh-arm <dan.handley@arm.com>2016-02-09 10:58:13 +0000
commit85320724af73d0015d2cb0e99d59c292290b6ce5 (patch)
tree7522e4965dff67e7a1a58aa5a7cdfa7daf25716d /drivers/arm/ccn/ccn_private.h
parenta1411b29d74341380f0029611a3d67c8e674d3d2 (diff)
parent3105f7ba9a3a9f6f0e78761e8bdd4da621254730 (diff)
Merge pull request #516 from vikramkanigiri/vk/ccn-fix-dvm-entry
Bug fix: Rectify logic to enter or exit from DVM domain
Diffstat (limited to 'drivers/arm/ccn/ccn_private.h')
-rw-r--r--drivers/arm/ccn/ccn_private.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/arm/ccn/ccn_private.h b/drivers/arm/ccn/ccn_private.h
index e92e8702..8b154725 100644
--- a/drivers/arm/ccn/ccn_private.h
+++ b/drivers/arm/ccn/ccn_private.h
@@ -147,7 +147,7 @@ typedef enum rn_types {
#define MN_HNI_NODEID_OFFSET 0x01C0
#define MN_SN_NODEID_OFFSET 0x01D0
#define MN_DDC_STAT_OFFSET DOMAIN_CTRL_STAT_OFFSET
-#define MN_DDC_SET_OFF DOMAIN_CTRL_SET_OFFSET
+#define MN_DDC_SET_OFFSET DOMAIN_CTRL_SET_OFFSET
#define MN_DDC_CLR_OFFSET DOMAIN_CTRL_CLR_OFFSET
#define MN_ID_OFFSET REGION_ID_OFFSET
@@ -236,4 +236,21 @@ static inline unsigned int count_set_bits(uint64_t bitmap)
*/
#define FOR_EACH_PRESENT_MASTER_INTERFACE(iface_id, bit_map) \
FOR_EACH_BIT(iface_id, bit_map)
+
+/*
+ * Macro that returns the node id bit map for the Miscellaneous Node
+ */
+#define CCN_GET_MN_NODEID_MAP(periphbase) \
+ (1 << get_node_id(ccn_reg_read(periphbase, MN_REGION_ID, \
+ REGION_ID_OFFSET)))
+
+/*
+ * This macro returns the bitmap of Home nodes on the basis of the
+ * 'mn_hn_id_reg_offset' parameter from the Miscellaneous node's (MN)
+ * programmer's view. The MN has a register which carries the bitmap of present
+ * Home nodes of each type i.e. HN-Fs, HN-Is & HN-Ds.
+ */
+#define CCN_GET_HN_NODEID_MAP(periphbase, mn_hn_id_reg_offset) \
+ ccn_reg_read(periphbase, MN_REGION_ID, mn_hn_id_reg_offset)
+
#endif /* __CCN_PRIVATE_H__ */