summaryrefslogtreecommitdiff
path: root/utils/regtools/lib/soc_desc.hpp
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-04-04 15:33:39 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2014-05-01 19:32:01 +0200
commit3754624edc48539c5cc5acbf426ce909477e87d8 (patch)
tree5b74dd28aa33186dcba9557c1ab516fc6e39d0db /utils/regtools/lib/soc_desc.hpp
parent0cd03c2d201b5b17d9465470cedccab3d4c5edd0 (diff)
downloadrockbox-3754624edc48539c5cc5acbf426ce909477e87d8.tar.gz
rockbox-3754624edc48539c5cc5acbf426ce909477e87d8.zip
regtools: update soc desc parser/header to include desc fields
Change-Id: I32374784d17f4352905f15e404df23b01338235b
Diffstat (limited to 'utils/regtools/lib/soc_desc.hpp')
-rw-r--r--utils/regtools/lib/soc_desc.hpp19
1 files changed, 12 insertions, 7 deletions
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