rggen-default-register-map 0.27.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|