aboutsummaryrefslogtreecommitdiff
path: root/include/drivers
diff options
context:
space:
mode:
authorAntonio Niño Díaz <antonio.ninodiaz@arm.com>2018-11-29 16:05:05 +0100
committerGitHub <noreply@github.com>2018-11-29 16:05:05 +0100
commit051cf88962f0d0e7d95961bb7a4b99e432611419 (patch)
treeecc86196866cf4a4865eb88bf52150020c8b482f /include/drivers
parent9345d9a0d9cef2ca85df43fe0ce6f64580bc21f9 (diff)
parent6f7dba4b24ee8e6c134a5237b5af461c9898501e (diff)
downloadtrusted-firmware-a-051cf88962f0d0e7d95961bb7a4b99e432611419.tar.gz
Merge pull request #1679 from pangupta/master
ccn: Introduce API to set and read value of node register
Diffstat (limited to 'include/drivers')
-rw-r--r--include/drivers/arm/ccn.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/drivers/arm/ccn.h b/include/drivers/arm/ccn.h
index eba974d2f3..9c3abac6b1 100644
--- a/include/drivers/arm/ccn.h
+++ b/include/drivers/arm/ccn.h
@@ -76,6 +76,16 @@ typedef struct ccn_desc {
uintptr_t periphbase;
} ccn_desc_t;
+/* Enum used to loop through all types of nodes in CCN*/
+typedef enum node_types {
+ NODE_TYPE_RNF = 0,
+ NODE_TYPE_RNI,
+ NODE_TYPE_RND,
+ NODE_TYPE_HNF,
+ NODE_TYPE_HNI,
+ NODE_TYPE_SN,
+ NUM_NODE_TYPES
+} node_types_t;
void ccn_init(const ccn_desc_t *plat_ccn_desc);
void ccn_enter_snoop_dvm_domain(unsigned long long master_iface_map);
@@ -92,5 +102,12 @@ void ccn_program_sys_addrmap(unsigned int sn0_id,
unsigned int ccn_get_l3_run_mode(void);
int ccn_get_part0_id(uintptr_t periphbase);
+void ccn_write_node_reg(node_types_t node_type, unsigned int node_id,
+ unsigned int reg_offset,
+ unsigned long long val);
+unsigned long long ccn_read_node_reg(node_types_t node_type,
+ unsigned int node_id,
+ unsigned int reg_offset);
+
#endif /* __ASSEMBLY__ */
#endif /* CCN_H */