summaryrefslogtreecommitdiff
path: root/utils/regtools/lib
diff options
context:
space:
mode:
Diffstat (limited to 'utils/regtools/lib')
-rw-r--r--utils/regtools/lib/soc_desc.cpp4
-rw-r--r--utils/regtools/lib/soc_desc.hpp19
2 files changed, 16 insertions, 7 deletions
diff --git a/utils/regtools/lib/soc_desc.cpp b/utils/regtools/lib/soc_desc.cpp
index 21c2f8acac..6a6d47648f 100644
--- a/utils/regtools/lib/soc_desc.cpp
+++ b/utils/regtools/lib/soc_desc.cpp
@@ -147,6 +147,7 @@ bool parse_field_elem(xmlNode *node, soc_reg_field_t& field)
147 BEGIN_ATTR_MATCH(node->properties) 147 BEGIN_ATTR_MATCH(node->properties)
148 MATCH_TEXT_ATTR("name", field.name) 148 MATCH_TEXT_ATTR("name", field.name)
149 MATCH_BITRANGE_ATTR("bitrange", field.first_bit, field.last_bit) 149 MATCH_BITRANGE_ATTR("bitrange", field.first_bit, field.last_bit)
150 MATCH_TEXT_ATTR("desc", field.desc)
150 END_ATTR_MATCH() 151 END_ATTR_MATCH()
151 152
152 BEGIN_NODE_MATCH(node->children) 153 BEGIN_NODE_MATCH(node->children)
@@ -194,6 +195,7 @@ bool parse_reg_elem(xmlNode *node, soc_reg_t& reg)
194 MATCH_TEXT_ATTR("name", reg.name) 195 MATCH_TEXT_ATTR("name", reg.name)
195 SOFT_MATCH_SCT_ATTR("sct", reg.flags) 196 SOFT_MATCH_SCT_ATTR("sct", reg.flags)
196 SOFT_MATCH_X_ATTR("addr", parse_add_trivial_addr, reg) 197 SOFT_MATCH_X_ATTR("addr", parse_add_trivial_addr, reg)
198 MATCH_TEXT_ATTR("desc", reg.desc)
197 END_ATTR_MATCH() 199 END_ATTR_MATCH()
198 200
199 BEGIN_NODE_MATCH(node->children) 201 BEGIN_NODE_MATCH(node->children)
@@ -227,6 +229,8 @@ bool parse_dev_elem(xmlNode *node, soc_dev_t& dev)
227{ 229{
228 BEGIN_ATTR_MATCH(node->properties) 230 BEGIN_ATTR_MATCH(node->properties)
229 MATCH_TEXT_ATTR("name", dev.name) 231 MATCH_TEXT_ATTR("name", dev.name)
232 MATCH_TEXT_ATTR("long_name", dev.long_name)
233 MATCH_TEXT_ATTR("desc", dev.desc)
230 MATCH_TEXT_ATTR("version", dev.version) 234 MATCH_TEXT_ATTR("version", dev.version)
231 END_ATTR_MATCH() 235 END_ATTR_MATCH()
232 236
diff --git a/utils/regtools/lib/soc_desc.hpp b/utils/regtools/lib/soc_desc.hpp
index 0324a90fad..efaf813eb2 100644
--- a/utils/regtools/lib/soc_desc.hpp
+++ b/utils/regtools/lib/soc_desc.hpp
@@ -63,15 +63,17 @@ const soc_reg_flags_t REG_HAS_SCT = 1 << 0; /// register SCT variants
63/** SoC register field named value */ 63/** SoC register field named value */
64struct soc_reg_field_value_t 64struct soc_reg_field_value_t
65{ 65{
66 std::string name; 66 std::string name; /// name of the value
67 soc_word_t value; 67 soc_word_t value; /// numeric value
68 std::string desc; /// human description
68}; 69};
69 70
70/** SoC register field */ 71/** SoC register field */
71struct soc_reg_field_t 72struct soc_reg_field_t
72{ 73{
73 std::string name; 74 std::string name; /// name of the field
74 unsigned first_bit, last_bit; 75 std::string desc; /// human description
76 unsigned first_bit, last_bit; /// bit range of the field
75 77
76 soc_word_t bitmask() const 78 soc_word_t bitmask() const
77 { 79 {
@@ -94,7 +96,7 @@ struct soc_reg_field_t
94struct soc_reg_addr_t 96struct soc_reg_addr_t
95{ 97{
96 std::string name; /// actual register name 98 std::string name; /// actual register name
97 soc_addr_t addr; 99 soc_addr_t addr; /// actual register address (relative to device)
98}; 100};
99 101
100/** SoC register formula */ 102/** SoC register formula */
@@ -108,8 +110,9 @@ struct soc_reg_formula_t
108struct soc_reg_t 110struct soc_reg_t
109{ 111{
110 std::string name; /// generic name (for multi registers) or actual name 112 std::string name; /// generic name (for multi registers) or actual name
111 std::vector< soc_reg_addr_t > addr; 113 std::string desc; /// human description
112 soc_reg_formula_t formula; 114 std::vector< soc_reg_addr_t > addr; /// instances of the registers
115 soc_reg_formula_t formula; /// formula for the instance addresses
113 soc_reg_flags_t flags; /// ORed value 116 soc_reg_flags_t flags; /// ORed value
114 117
115 std::vector< soc_reg_field_t > field; 118 std::vector< soc_reg_field_t > field;
@@ -126,6 +129,8 @@ struct soc_dev_addr_t
126struct soc_dev_t 129struct soc_dev_t
127{ 130{
128 std::string name; /// generic name (of multi devices) or actual name 131 std::string name; /// generic name (of multi devices) or actual name
132 std::string long_name; /// human friendly name
133 std::string desc; /// human description
129 std::string version; /// description version 134 std::string version; /// description version
130 std::vector< soc_dev_addr_t > addr; 135 std::vector< soc_dev_addr_t > addr;
131 136