rggen-default-register-map 0.27.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rggen/default_register_map/bit_field/bit_assignment.rb +2 -2
- data/lib/rggen/default_register_map/bit_field/initial_value.rb +14 -7
- data/lib/rggen/default_register_map/bit_field/type/custom.rb +160 -0
- data/lib/rggen/default_register_map/bit_field/type/rol.rb +9 -0
- data/lib/rggen/default_register_map/bit_field/type.rb +34 -33
- data/lib/rggen/default_register_map/comment.rb +1 -1
- data/lib/rggen/default_register_map/global/enable_wide_register.rb +4 -4
- data/lib/rggen/default_register_map/register/offset_address.rb +1 -1
- data/lib/rggen/default_register_map/register/size.rb +1 -1
- data/lib/rggen/default_register_map/register/type/indirect.rb +27 -28
- data/lib/rggen/default_register_map/register/type.rb +9 -29
- data/lib/rggen/default_register_map/register_file/size.rb +1 -1
- data/lib/rggen/default_register_map/version.rb +1 -1
- data/lib/rggen/default_register_map.rb +2 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fac466f73de34a7e0a0575920f09cf424d4712b8a17a6b787d580d7252dac6f
|
4
|
+
data.tar.gz: 0fd170d8deb150dfd7d6fe8cd15f357b9e5781f32649bd709c53d7a1b1d76d45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3872a9705e22a74c0c0e2ed45a09ffdf3e8e2e96ed6ca84c179636de0227f09560b2f266fde6450f2121524ba10fa830efa311560bf94469b05c33431f28e74
|
7
|
+
data.tar.gz: 9afaa664572a6c282027e15f382bb81f3d7b0413506c9c0d02d31b71bfae37b051532b388948666e87da97d6f3a18b013d4bcf2846845d2bea584dc26a59c958
|
@@ -85,7 +85,7 @@ RgGen.define_simple_feature(:bit_field, :bit_assignment) do
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def preprocess(value)
|
88
|
-
if
|
88
|
+
if hash?(value)
|
89
89
|
value
|
90
90
|
elsif match_pattern(value)
|
91
91
|
split_match_data(match_data)
|
@@ -154,7 +154,7 @@ RgGen.define_simple_feature(:bit_field, :bit_assignment) do
|
|
154
154
|
end
|
155
155
|
|
156
156
|
def calc_bit_position(index, base)
|
157
|
-
if
|
157
|
+
if integer?(index)
|
158
158
|
base + step * index
|
159
159
|
else
|
160
160
|
"#{base}+#{step}*#{index}"
|
@@ -5,17 +5,17 @@ RgGen.define_simple_feature(:bit_field, :initial_value) do
|
|
5
5
|
property :initial_value
|
6
6
|
property :initial_values
|
7
7
|
property :initial_value?, forward_to: :initial_value_set?
|
8
|
-
property :fixed_initial_value?, forward_to: :
|
9
|
-
property :initial_value_array?, forward_to: :
|
8
|
+
property :fixed_initial_value?, forward_to: :fixed_format?
|
9
|
+
property :initial_value_array?, forward_to: :array_format?
|
10
10
|
|
11
11
|
input_pattern [{ parameterized: /default:(#{integer})/,
|
12
12
|
array: /#{integer}(?:[,\n]#{integer})+/ }]
|
13
13
|
|
14
14
|
build do |value|
|
15
15
|
@input_format =
|
16
|
-
if
|
16
|
+
if hash?(value) || match_index == :parameterized
|
17
17
|
:parameterized
|
18
|
-
elsif
|
18
|
+
elsif array?(value) || match_index == :array
|
19
19
|
:array
|
20
20
|
else
|
21
21
|
:single
|
@@ -34,7 +34,7 @@ RgGen.define_simple_feature(:bit_field, :initial_value) do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
verify(:component) do
|
37
|
-
error_condition {
|
37
|
+
error_condition { need_initial_value? && !initial_value? }
|
38
38
|
message { 'no initial value is given' }
|
39
39
|
end
|
40
40
|
|
@@ -112,11 +112,11 @@ RgGen.define_simple_feature(:bit_field, :initial_value) do
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
-
def
|
115
|
+
def array_format?
|
116
116
|
initial_value_format == :array
|
117
117
|
end
|
118
118
|
|
119
|
-
def
|
119
|
+
def fixed_format?
|
120
120
|
[:array, :single].include?(@input_format)
|
121
121
|
end
|
122
122
|
|
@@ -169,6 +169,13 @@ RgGen.define_simple_feature(:bit_field, :initial_value) do
|
|
169
169
|
(bit_field.settings && bit_field.settings[:initial_value]) || {}
|
170
170
|
end
|
171
171
|
|
172
|
+
def need_initial_value?
|
173
|
+
case settings[:require]
|
174
|
+
when Proc then instance_exec(&settings[:require])
|
175
|
+
else settings[:require]
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
172
179
|
def min_initial_value
|
173
180
|
bit_field.width == 1 ? 0 : -(2**(bit_field.width - 1))
|
174
181
|
end
|
@@ -0,0 +1,160 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RgGen.define_list_item_feature(:bit_field, :type, :custom) do
|
4
|
+
register_map do
|
5
|
+
property :sw_read, body: -> { option_value(:sw_read) }
|
6
|
+
property :sw_write, body: -> { option_value(:sw_write) }
|
7
|
+
property :sw_write_once?, body: -> { option_value(:sw_write_once) }
|
8
|
+
property :hw_write?, body: -> { option_value(:hw_write) }
|
9
|
+
property :hw_set?, body: -> { option_value(:hw_set) }
|
10
|
+
property :hw_clear?, body: -> { option_value(:hw_clear) }
|
11
|
+
property :sw_update?, forward_to: :update_by_sw?
|
12
|
+
property :hw_update?, forward_to: :update_by_hw?
|
13
|
+
property :read_trigger?, body: -> { option_value(:read_trigger) }
|
14
|
+
property :write_trigger?, body: -> { option_value(:write_trigger) }
|
15
|
+
|
16
|
+
readable? { bit_field.sw_read != :none }
|
17
|
+
writable? { bit_field.sw_write != :none }
|
18
|
+
volatile? { !bit_field.sw_update? && bit_field.readable? || bit_field.hw_update? }
|
19
|
+
initial_value require: -> { bit_field.sw_update? || bit_field.hw_update? }
|
20
|
+
|
21
|
+
input_pattern [
|
22
|
+
true => truthy_pattern, false => falsey_pattern,
|
23
|
+
sw_common: /(none|default|set|clear)/i,
|
24
|
+
sw_write: /(set_[01]|clear_[01]|toggle_[01])/i
|
25
|
+
], match_automatically: false
|
26
|
+
|
27
|
+
build do |_, options|
|
28
|
+
@options = parse_options(options)
|
29
|
+
end
|
30
|
+
|
31
|
+
verify(:component) do
|
32
|
+
error_condition { sw_write_once? && !writable? }
|
33
|
+
message { 'cannot enable sw_write_once option for unwritable bit field' }
|
34
|
+
end
|
35
|
+
|
36
|
+
verify(:component) do
|
37
|
+
error_condition { hw_write? && reserved? }
|
38
|
+
message { 'cannot enable hw_write option for reserved bit field' }
|
39
|
+
end
|
40
|
+
|
41
|
+
verify(:component) do
|
42
|
+
error_condition { hw_set? && reserved? }
|
43
|
+
message { 'cannot enable hw_set option for reserved bit field' }
|
44
|
+
end
|
45
|
+
|
46
|
+
verify(:component) do
|
47
|
+
error_condition { hw_clear? && reserved? }
|
48
|
+
message { 'cannot enable hw_clear option for reserved bit field' }
|
49
|
+
end
|
50
|
+
|
51
|
+
verify(:component) do
|
52
|
+
error_condition { read_trigger? && !readable? }
|
53
|
+
message { 'cannot enable read_trigger option for unreadable bit field' }
|
54
|
+
end
|
55
|
+
|
56
|
+
verify(:component) do
|
57
|
+
error_condition { write_trigger? && !writable? }
|
58
|
+
message { 'cannot enable write_trigger option for unwritable bit field' }
|
59
|
+
end
|
60
|
+
|
61
|
+
printable(:type) do
|
62
|
+
options =
|
63
|
+
[:sw_read, :sw_write, :sw_write_once, :hw_write, :hw_set, :hw_clear]
|
64
|
+
.map { |o| "#{o}: #{option_value(o)}" }
|
65
|
+
[type, *options]
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def option_value(name)
|
71
|
+
default_value =
|
72
|
+
if boolean_option?(name)
|
73
|
+
false
|
74
|
+
else
|
75
|
+
:default
|
76
|
+
end
|
77
|
+
@options.fetch(name, default_value)
|
78
|
+
end
|
79
|
+
|
80
|
+
def update_by_sw?
|
81
|
+
[:set, :clear].include?(sw_read) || sw_write != :none
|
82
|
+
end
|
83
|
+
|
84
|
+
def update_by_hw?
|
85
|
+
hw_write? || hw_set? || hw_clear?
|
86
|
+
end
|
87
|
+
|
88
|
+
def parse_options(options)
|
89
|
+
merge_options(options)
|
90
|
+
.each_with_object({}) do |(key, value), option_hash|
|
91
|
+
option_name = convert_to_option_name(key)
|
92
|
+
option_hash[option_name] = parse_option(option_name, key, value)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def merge_options(options)
|
97
|
+
options.each_with_object({}) do |option, merged_options|
|
98
|
+
option_hash = hash?(option) && option || [option].to_h
|
99
|
+
merged_options.update(option_hash)
|
100
|
+
end
|
101
|
+
rescue ArgumentError, TypeError
|
102
|
+
error "invalid options are given: #{options.inspect}"
|
103
|
+
end
|
104
|
+
|
105
|
+
def convert_to_option_name(key)
|
106
|
+
return key unless string?(key) || symbol?(key)
|
107
|
+
key.to_sym.downcase
|
108
|
+
end
|
109
|
+
|
110
|
+
def parse_option(option_name, key, value)
|
111
|
+
case option_name
|
112
|
+
when :sw_read
|
113
|
+
parse_value_option(:sw_read, [:sw_common], value)
|
114
|
+
when :sw_write
|
115
|
+
parse_value_option(:sw_write, [:sw_common, :sw_write], value)
|
116
|
+
when method(:boolean_option?)
|
117
|
+
parse_boolean_option(option_name, value)
|
118
|
+
else
|
119
|
+
error "unknown option is given: #{key.inspect}"
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
def parse_value_option(option_name, allowed_patterns, value)
|
124
|
+
match_data, match_index = match_pattern(value)
|
125
|
+
|
126
|
+
if match_data && allowed_patterns.include?(match_index)
|
127
|
+
match_data.captures.first.downcase.to_sym
|
128
|
+
else
|
129
|
+
error "invalid value for #{option_name} option: #{value.inspect}"
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
def boolean_option?(option_name)
|
134
|
+
[
|
135
|
+
:sw_write_once, :hw_write, :hw_set, :hw_clear,
|
136
|
+
:read_trigger, :write_trigger
|
137
|
+
].include?(option_name)
|
138
|
+
end
|
139
|
+
|
140
|
+
def parse_boolean_option(option_name, value)
|
141
|
+
boolean_value = convert_to_boolean_value(value)
|
142
|
+
|
143
|
+
if [true, false].include?(boolean_value)
|
144
|
+
boolean_value
|
145
|
+
else
|
146
|
+
error "invalid value for #{option_name} option: #{value.inspect}"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
def convert_to_boolean_value(value)
|
151
|
+
_, boolean_value =
|
152
|
+
case value
|
153
|
+
when true then [nil, true]
|
154
|
+
when false then [nil, false]
|
155
|
+
else match_pattern(value)
|
156
|
+
end
|
157
|
+
boolean_value
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
@@ -5,43 +5,35 @@ RgGen.define_list_feature(:bit_field, :type) do
|
|
5
5
|
base_feature do
|
6
6
|
define_helpers do
|
7
7
|
def read_write
|
8
|
-
|
9
|
-
|
8
|
+
accessibility[:read] = -> { true }
|
9
|
+
accessibility[:write] = -> { true }
|
10
10
|
end
|
11
11
|
|
12
12
|
def read_only
|
13
|
-
|
14
|
-
|
13
|
+
accessibility[:read] = -> { true }
|
14
|
+
accessibility[:write] = -> { false }
|
15
15
|
end
|
16
16
|
|
17
17
|
def write_only
|
18
|
-
|
19
|
-
|
18
|
+
accessibility[:read] = -> { false }
|
19
|
+
accessibility[:write] = -> { true }
|
20
20
|
end
|
21
21
|
|
22
22
|
def reserved
|
23
|
-
|
24
|
-
|
23
|
+
accessibility[:read] = -> { false }
|
24
|
+
accessibility[:write] = -> { false }
|
25
25
|
end
|
26
26
|
|
27
|
-
def readable?
|
28
|
-
|
27
|
+
def readable?(&block)
|
28
|
+
accessibility[:read] = block
|
29
29
|
end
|
30
30
|
|
31
|
-
def writable?
|
32
|
-
|
31
|
+
def writable?(&block)
|
32
|
+
accessibility[:write] = block
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
def write_only?
|
40
|
-
writable? && !readable?
|
41
|
-
end
|
42
|
-
|
43
|
-
def reserved?
|
44
|
-
!(readable? || writable?)
|
35
|
+
def accessibility
|
36
|
+
@accessibility ||= {}
|
45
37
|
end
|
46
38
|
|
47
39
|
def volatile
|
@@ -73,26 +65,33 @@ RgGen.define_list_feature(:bit_field, :type) do
|
|
73
65
|
|
74
66
|
property :type
|
75
67
|
property :settings, forward_to_helper: true
|
76
|
-
property :readable?,
|
77
|
-
property :writable?,
|
78
|
-
property :read_only?,
|
79
|
-
property :write_only?,
|
80
|
-
property :reserved?,
|
81
|
-
property :volatile?,
|
82
|
-
|
83
|
-
build { |value| @type = value }
|
68
|
+
property :readable?, body: -> { accessibility(:read) }
|
69
|
+
property :writable?, body: -> { accessibility(:write) }
|
70
|
+
property :read_only?, body: -> { readable? && !writable? }
|
71
|
+
property :write_only?, body: -> { !readable? && writable? }
|
72
|
+
property :reserved?, body: -> { !readable? && !writable? }
|
73
|
+
property :volatile?, body: -> { volatility }
|
84
74
|
|
85
75
|
build do |value|
|
86
76
|
@type = value
|
87
|
-
|
77
|
+
end
|
78
|
+
|
79
|
+
post_build do
|
80
|
+
reserved? && bit_field.document_only
|
88
81
|
end
|
89
82
|
|
90
83
|
printable :type
|
91
84
|
|
92
85
|
private
|
93
86
|
|
87
|
+
def accessibility(access)
|
88
|
+
body = helper.accessibility[access]
|
89
|
+
body.nil? || instance_exec(&body)
|
90
|
+
end
|
91
|
+
|
94
92
|
def volatility
|
95
|
-
|
93
|
+
body = helper.volatility
|
94
|
+
body.nil? || instance_exec(&body)
|
96
95
|
end
|
97
96
|
end
|
98
97
|
|
@@ -109,13 +108,15 @@ RgGen.define_list_feature(:bit_field, :type) do
|
|
109
108
|
end
|
110
109
|
|
111
110
|
factory do
|
111
|
+
allow_options
|
112
|
+
|
112
113
|
convert_value do |value|
|
113
114
|
types = target_features.keys
|
114
115
|
types.find(&value.to_sym.method(:casecmp?)) || value
|
115
116
|
end
|
116
117
|
|
117
118
|
def target_feature_key(cell)
|
118
|
-
cell
|
119
|
+
cell
|
119
120
|
end
|
120
121
|
end
|
121
122
|
end
|
@@ -4,17 +4,17 @@ RgGen.define_simple_feature(:global, :enable_wide_register) do
|
|
4
4
|
configuration do
|
5
5
|
property :enable_wide_register?, default: false
|
6
6
|
|
7
|
-
input_pattern [
|
7
|
+
input_pattern [true => truthy_pattern, false => falsey_pattern],
|
8
8
|
match_automatically: false
|
9
9
|
|
10
10
|
ignore_empty_value false
|
11
11
|
|
12
12
|
build do |value|
|
13
13
|
@enable_wide_register =
|
14
|
-
if [true, false].
|
15
|
-
value
|
14
|
+
if [true, false].any? { |boolean| value == boolean }
|
15
|
+
value.value
|
16
16
|
elsif match_pattern(value)
|
17
|
-
|
17
|
+
match_index
|
18
18
|
else
|
19
19
|
error "cannot convert #{value.inspect} into boolean"
|
20
20
|
end
|
@@ -21,7 +21,7 @@ RgGen.define_simple_feature(:register, :offset_address) do
|
|
21
21
|
verify(:feature) do
|
22
22
|
error_condition { (offset_address % byte_width).nonzero? }
|
23
23
|
message do
|
24
|
-
"offset address is not aligned with bus width(#{bus_width}): "\
|
24
|
+
"offset address is not aligned with bus width(#{bus_width}): " \
|
25
25
|
"0x#{offset_address.to_s(16)}"
|
26
26
|
end
|
27
27
|
end
|
@@ -43,13 +43,11 @@ RgGen.define_list_item_feature(:register, :type, :indirect) do
|
|
43
43
|
support_shared_address
|
44
44
|
support_array_register
|
45
45
|
|
46
|
-
input_pattern
|
47
|
-
|
48
|
-
/(#{variable_name}(?:\.#{variable_name})*):(#{integer})/
|
49
|
-
], match_automatically: false
|
46
|
+
input_pattern /(#{variable_name}(?:\.#{variable_name})*)/,
|
47
|
+
match_automatically: false
|
50
48
|
|
51
|
-
build do
|
52
|
-
@index_entries = parse_index_entries
|
49
|
+
build do |_type, options|
|
50
|
+
@index_entries = parse_index_entries(options)
|
53
51
|
end
|
54
52
|
|
55
53
|
verify(:component) do
|
@@ -173,35 +171,36 @@ RgGen.define_list_item_feature(:register, :type, :indirect) do
|
|
173
171
|
|
174
172
|
private
|
175
173
|
|
176
|
-
def parse_index_entries
|
177
|
-
|
178
|
-
|
174
|
+
def parse_index_entries(options)
|
175
|
+
error 'no indirect indices are given' if options.empty?
|
176
|
+
options.map { |option| create_index_entry(option) }
|
179
177
|
end
|
180
178
|
|
181
|
-
def create_index_entry(
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
error "too many arguments for indirect index are given: #{
|
190
|
-
|
179
|
+
def create_index_entry(option)
|
180
|
+
entry = array?(option) && option || [option]
|
181
|
+
|
182
|
+
field_name, index_value =
|
183
|
+
case entry.size
|
184
|
+
when 2 then [check_field_name(entry[0]), convert_index_value(entry[1])]
|
185
|
+
when 1 then [check_field_name(entry[0])]
|
186
|
+
when 0 then error 'no indirect index is given'
|
187
|
+
else error "too many arguments for indirect index are given: #{entry.inspect}"
|
188
|
+
end
|
189
|
+
|
190
|
+
index_entry.new(field_name, index_value)
|
191
191
|
end
|
192
192
|
|
193
|
-
def
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
end
|
193
|
+
def check_field_name(field_name)
|
194
|
+
return field_name if match_field_name?(field_name)
|
195
|
+
error "illegal input value for indirect index: #{field_name.inspect}"
|
196
|
+
end
|
197
|
+
|
198
|
+
def match_field_name?(field_name)
|
199
|
+
(string?(field_name) || symbol?(field_name)) && match_pattern(field_name)
|
201
200
|
end
|
202
201
|
|
203
202
|
def sting_or_symbol?(value)
|
204
|
-
|
203
|
+
string?(value) || symbol?(value)
|
205
204
|
end
|
206
205
|
|
207
206
|
def convert_index_value(value)
|
@@ -43,9 +43,8 @@ RgGen.define_list_feature(:register, :type) do
|
|
43
43
|
property :reserved?, initial: -> { !(writable? || readable?) }
|
44
44
|
property :settings, forward_to_helper: true
|
45
45
|
|
46
|
-
build do |
|
47
|
-
@type =
|
48
|
-
@options = value[:options]
|
46
|
+
build do |type, _option|
|
47
|
+
@type = type
|
49
48
|
helper.need_bit_fields? || register.need_no_children
|
50
49
|
end
|
51
50
|
|
@@ -64,8 +63,6 @@ RgGen.define_list_feature(:register, :type) do
|
|
64
63
|
|
65
64
|
private
|
66
65
|
|
67
|
-
attr_reader :options
|
68
|
-
|
69
66
|
def writability
|
70
67
|
block = helper.writability || -> { register.bit_fields.any?(&:writable?) }
|
71
68
|
instance_exec(&block)
|
@@ -87,38 +84,21 @@ RgGen.define_list_feature(:register, :type) do
|
|
87
84
|
end
|
88
85
|
|
89
86
|
factory do
|
87
|
+
allow_options
|
88
|
+
|
90
89
|
convert_value do |value|
|
91
|
-
|
92
|
-
{ type: find_type(type), options: Array(options) }
|
90
|
+
find_type(value)
|
93
91
|
end
|
94
92
|
|
95
|
-
def target_feature_key(
|
96
|
-
(!
|
93
|
+
def target_feature_key(value)
|
94
|
+
(!value.empty_value? && value) || nil
|
97
95
|
end
|
98
96
|
|
99
97
|
private
|
100
98
|
|
101
|
-
def
|
102
|
-
if value.is_a?(String)
|
103
|
-
split_string_value(value)
|
104
|
-
else
|
105
|
-
input_value = Array(value)
|
106
|
-
[input_value[0], input_value[1..]]
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
def split_string_value(value)
|
111
|
-
type, options = split_string(value, ':', 2)
|
112
|
-
[type, split_string(options, /[,\n]/, 0)]
|
113
|
-
end
|
114
|
-
|
115
|
-
def split_string(value, separator, limit)
|
116
|
-
value&.split(separator, limit)&.map(&:strip)
|
117
|
-
end
|
118
|
-
|
119
|
-
def find_type(type)
|
99
|
+
def find_type(value)
|
120
100
|
types = target_features.keys
|
121
|
-
types.find(&
|
101
|
+
types.find(&value.to_sym.method(:casecmp?)) || value
|
122
102
|
end
|
123
103
|
end
|
124
104
|
end
|
@@ -15,7 +15,7 @@ RgGen.define_simple_feature(:register_file, :size) do
|
|
15
15
|
|
16
16
|
build do |values|
|
17
17
|
@size =
|
18
|
-
(
|
18
|
+
(string?(values) && parse_string_value(values) || Array(values))
|
19
19
|
.map(&method(:convert_value))
|
20
20
|
end
|
21
21
|
|
@@ -27,10 +27,12 @@ RgGen.setup_plugin :'rggen-default-register-map' do |plugin|
|
|
27
27
|
'default_register_map/bit_field/name',
|
28
28
|
'default_register_map/bit_field/bit_assignment',
|
29
29
|
'default_register_map/bit_field/type',
|
30
|
+
'default_register_map/bit_field/type/custom',
|
30
31
|
'default_register_map/bit_field/type/rc',
|
31
32
|
'default_register_map/bit_field/type/reserved',
|
32
33
|
'default_register_map/bit_field/type/ro_rotrg',
|
33
34
|
'default_register_map/bit_field/type/rof',
|
35
|
+
'default_register_map/bit_field/type/rol',
|
34
36
|
'default_register_map/bit_field/type/row0trg_row1trg',
|
35
37
|
'default_register_map/bit_field/type/rowo_rowotrg',
|
36
38
|
'default_register_map/bit_field/type/rs',
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rggen-default-register-map
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taichi Ishitani
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -41,10 +41,12 @@ files:
|
|
41
41
|
- lib/rggen/default_register_map/bit_field/name.rb
|
42
42
|
- lib/rggen/default_register_map/bit_field/reference.rb
|
43
43
|
- lib/rggen/default_register_map/bit_field/type.rb
|
44
|
+
- lib/rggen/default_register_map/bit_field/type/custom.rb
|
44
45
|
- lib/rggen/default_register_map/bit_field/type/rc.rb
|
45
46
|
- lib/rggen/default_register_map/bit_field/type/reserved.rb
|
46
47
|
- lib/rggen/default_register_map/bit_field/type/ro_rotrg.rb
|
47
48
|
- lib/rggen/default_register_map/bit_field/type/rof.rb
|
49
|
+
- lib/rggen/default_register_map/bit_field/type/rol.rb
|
48
50
|
- lib/rggen/default_register_map/bit_field/type/row0trg_row1trg.rb
|
49
51
|
- lib/rggen/default_register_map/bit_field/type/rowo_rowotrg.rb
|
50
52
|
- lib/rggen/default_register_map/bit_field/type/rs.rb
|
@@ -104,8 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
104
106
|
- !ruby/object:Gem::Version
|
105
107
|
version: '0'
|
106
108
|
requirements: []
|
107
|
-
rubygems_version: 3.3.
|
109
|
+
rubygems_version: 3.3.7
|
108
110
|
signing_key:
|
109
111
|
specification_version: 4
|
110
|
-
summary: rggen-default-register-map-0.
|
112
|
+
summary: rggen-default-register-map-0.28.0
|
111
113
|
test_files: []
|