summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-24 14:47:06 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-09-24 14:47:46 +0200
commit90ebc09b20ad5cb416a349d7f6e5c90efe9a7ae9 (patch)
tree5ff290e5833e0654dc81cf0d65a91626a7ae6c43
parentspec: Fix link role (diff)
downloadrtems-central-90ebc09b20ad5cb416a349d7f6e5c90efe9a7ae9.tar.bz2
spec: Generalize register block specification
-rw-r--r--rtemsspec/tests/spec-interface/irqamp-timestamp.yml1
-rw-r--r--rtemsspec/tests/spec-interface/irqamp.yml1
-rw-r--r--spec/dev/grlib/if/ahbstat.yml1
-rw-r--r--spec/dev/grlib/if/ahbtrace.yml1
-rw-r--r--spec/dev/grlib/if/apbuart.yml1
-rw-r--r--spec/dev/grlib/if/dsu4.yml1
-rw-r--r--spec/dev/grlib/if/ftmctrl.yml1
-rw-r--r--spec/dev/grlib/if/gptimer-timer.yml1
-rw-r--r--spec/dev/grlib/if/gptimer.yml1
-rw-r--r--spec/dev/grlib/if/gr1553b.yml1
-rw-r--r--spec/dev/grlib/if/gr740thsens.yml1
-rw-r--r--spec/dev/grlib/if/grcan.yml1
-rw-r--r--spec/dev/grlib/if/grclkgate.yml1
-rw-r--r--spec/dev/grlib/if/grethgbit.yml1
-rw-r--r--spec/dev/grlib/if/grgpio.yml1
-rw-r--r--spec/dev/grlib/if/grgprbank.yml1
-rw-r--r--spec/dev/grlib/if/grgpreg.yml1
-rw-r--r--spec/dev/grlib/if/griommu.yml1
-rw-r--r--spec/dev/grlib/if/grpci2.yml1
-rw-r--r--spec/dev/grlib/if/grspw2.yml1
-rw-r--r--spec/dev/grlib/if/grspwrouter.yml1
-rw-r--r--spec/dev/grlib/if/irqamp-timestamp.yml1
-rw-r--r--spec/dev/grlib/if/irqamp.yml1
-rw-r--r--spec/dev/grlib/if/l2cache.yml1
-rw-r--r--spec/dev/grlib/if/l4stat.yml1
-rw-r--r--spec/dev/grlib/if/memscrub.yml1
-rw-r--r--spec/dev/grlib/if/mmctrl.yml1
-rw-r--r--spec/dev/grlib/if/spictrl.yml1
-rw-r--r--spec/dev/grlib/if/spwpnp.yml1
-rw-r--r--spec/dev/grlib/if/spwrmap.yml1
-rw-r--r--spec/dev/grlib/if/spwtdp.yml1
-rw-r--r--spec/spec/interface-register-block-member-directive.yml4
-rw-r--r--spec/spec/interface-register-block-type.yml19
-rw-r--r--spec/spec/interface-register-block.yml22
34 files changed, 14 insertions, 62 deletions
diff --git a/rtemsspec/tests/spec-interface/irqamp-timestamp.yml b/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
index 9ec01ead..05d2ed58 100644
--- a/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
+++ b/rtemsspec/tests/spec-interface/irqamp-timestamp.yml
@@ -36,7 +36,6 @@ definition:
register-prefix: IRQAMP
register-block-group: IRQ(A)MP Timestamp
register-block-size: 16
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/rtemsspec/tests/spec-interface/irqamp.yml b/rtemsspec/tests/spec-interface/irqamp.yml
index beccec9a..2a7a8cfb 100644
--- a/rtemsspec/tests/spec-interface/irqamp.yml
+++ b/rtemsspec/tests/spec-interface/irqamp.yml
@@ -43,7 +43,6 @@ definition:
register-prefix: null
register-block-group: IRQ(A)MP
register-block-size: 1024
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/ahbstat.yml b/spec/dev/grlib/if/ahbstat.yml
index 3e870e8c..bffc3074 100644
--- a/spec/dev/grlib/if/ahbstat.yml
+++ b/spec/dev/grlib/if/ahbstat.yml
@@ -28,7 +28,6 @@ definition:
register-prefix: null
register-block-group: AHBSTAT
register-block-size: 8
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/ahbtrace.yml b/spec/dev/grlib/if/ahbtrace.yml
index 57e03e28..4d69ab9e 100644
--- a/spec/dev/grlib/if/ahbtrace.yml
+++ b/spec/dev/grlib/if/ahbtrace.yml
@@ -58,7 +58,6 @@ definition:
register-prefix: null
register-block-group: AHBTRACE
register-block-size: 32
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/apbuart.yml b/spec/dev/grlib/if/apbuart.yml
index 968101c6..0c35eca4 100644
--- a/spec/dev/grlib/if/apbuart.yml
+++ b/spec/dev/grlib/if/apbuart.yml
@@ -43,7 +43,6 @@ definition:
register-prefix: null
register-block-group: APBUART
register-block-size: 20
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/dsu4.yml b/spec/dev/grlib/if/dsu4.yml
index b10391ed..34a83c39 100644
--- a/spec/dev/grlib/if/dsu4.yml
+++ b/spec/dev/grlib/if/dsu4.yml
@@ -148,7 +148,6 @@ definition:
register-prefix: null
register-block-group: DSU4
register-block-size: 4194344
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/ftmctrl.yml b/spec/dev/grlib/if/ftmctrl.yml
index ebeaf6f7..329c8042 100644
--- a/spec/dev/grlib/if/ftmctrl.yml
+++ b/spec/dev/grlib/if/ftmctrl.yml
@@ -38,7 +38,6 @@ definition:
register-prefix: null
register-block-group: FTMCTRL
register-block-size: 28
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/gptimer-timer.yml b/spec/dev/grlib/if/gptimer-timer.yml
index d79ce1fc..7d08cc74 100644
--- a/spec/dev/grlib/if/gptimer-timer.yml
+++ b/spec/dev/grlib/if/gptimer-timer.yml
@@ -38,7 +38,6 @@ definition:
register-prefix: gptimer
register-block-group: GPTIMER TIMER
register-block-size: 16
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/gptimer.yml b/spec/dev/grlib/if/gptimer.yml
index e029ab77..27f0a1ce 100644
--- a/spec/dev/grlib/if/gptimer.yml
+++ b/spec/dev/grlib/if/gptimer.yml
@@ -46,7 +46,6 @@ definition:
register-prefix: null
register-block-group: GPTIMER
register-block-size: 256
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/gr1553b.yml b/spec/dev/grlib/if/gr1553b.yml
index 8de3cf13..92e293a9 100644
--- a/spec/dev/grlib/if/gr1553b.yml
+++ b/spec/dev/grlib/if/gr1553b.yml
@@ -178,7 +178,6 @@ definition:
register-prefix: null
register-block-group: GR1553B
register-block-size: 228
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/gr740thsens.yml b/spec/dev/grlib/if/gr740thsens.yml
index 073d6ee8..7726467d 100644
--- a/spec/dev/grlib/if/gr740thsens.yml
+++ b/spec/dev/grlib/if/gr740thsens.yml
@@ -33,7 +33,6 @@ definition:
register-prefix: null
register-block-group: GR740THSENS
register-block-size: 12
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grcan.yml b/spec/dev/grlib/if/grcan.yml
index 54ba9772..3be6db0a 100644
--- a/spec/dev/grlib/if/grcan.yml
+++ b/spec/dev/grlib/if/grcan.yml
@@ -113,7 +113,6 @@ definition:
register-prefix: null
register-block-group: GRCAN
register-block-size: 800
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grclkgate.yml b/spec/dev/grlib/if/grclkgate.yml
index 6671903c..19ed5a87 100644
--- a/spec/dev/grlib/if/grclkgate.yml
+++ b/spec/dev/grlib/if/grclkgate.yml
@@ -38,7 +38,6 @@ definition:
register-prefix: null
register-block-group: GRCLKGATE
register-block-size: 16
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grethgbit.yml b/spec/dev/grlib/if/grethgbit.yml
index dce86785..ffd07ee8 100644
--- a/spec/dev/grlib/if/grethgbit.yml
+++ b/spec/dev/grlib/if/grethgbit.yml
@@ -63,7 +63,6 @@ definition:
register-prefix: null
register-block-group: GRETH_GBIT
register-block-size: 48
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grgpio.yml b/spec/dev/grlib/if/grgpio.yml
index 9d88c217..d90fdd1e 100644
--- a/spec/dev/grlib/if/grgpio.yml
+++ b/spec/dev/grlib/if/grgpio.yml
@@ -128,7 +128,6 @@ definition:
register-prefix: null
register-block-group: GRGPIO
register-block-size: 128
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grgprbank.yml b/spec/dev/grlib/if/grgprbank.yml
index aaedec5d..f179b31d 100644
--- a/spec/dev/grlib/if/grgprbank.yml
+++ b/spec/dev/grlib/if/grgprbank.yml
@@ -63,7 +63,6 @@ definition:
register-prefix: null
register-block-group: GPRBANK
register-block-size: 36
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grgpreg.yml b/spec/dev/grlib/if/grgpreg.yml
index 5ec8f6f4..59effe60 100644
--- a/spec/dev/grlib/if/grgpreg.yml
+++ b/spec/dev/grlib/if/grgpreg.yml
@@ -23,7 +23,6 @@ definition:
register-prefix: null
register-block-group: GRGPREG
register-block-size: 4
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/griommu.yml b/spec/dev/grlib/if/griommu.yml
index 567d4fb2..c226e243 100644
--- a/spec/dev/grlib/if/griommu.yml
+++ b/spec/dev/grlib/if/griommu.yml
@@ -118,7 +118,6 @@ definition:
register-prefix: null
register-block-group: GRIOMMU
register-block-size: 272
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grpci2.yml b/spec/dev/grlib/if/grpci2.yml
index b08f5acd..e73ef939 100644
--- a/spec/dev/grlib/if/grpci2.yml
+++ b/spec/dev/grlib/if/grpci2.yml
@@ -113,7 +113,6 @@ definition:
register-prefix: null
register-block-group: GRPCI2
register-block-size: 160
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grspw2.yml b/spec/dev/grlib/if/grspw2.yml
index f3723f66..ee0cdd71 100644
--- a/spec/dev/grlib/if/grspw2.yml
+++ b/spec/dev/grlib/if/grspw2.yml
@@ -73,7 +73,6 @@ definition:
register-prefix: null
register-block-group: GRSPW2
register-block-size: 52
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/grspwrouter.yml b/spec/dev/grlib/if/grspwrouter.yml
index cd7f9d36..34874c1f 100644
--- a/spec/dev/grlib/if/grspwrouter.yml
+++ b/spec/dev/grlib/if/grspwrouter.yml
@@ -178,7 +178,6 @@ definition:
register-prefix: null
register-block-group: GRSPWROUTER
register-block-size: 188
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/irqamp-timestamp.yml b/spec/dev/grlib/if/irqamp-timestamp.yml
index 54b4835a..28e2de5f 100644
--- a/spec/dev/grlib/if/irqamp-timestamp.yml
+++ b/spec/dev/grlib/if/irqamp-timestamp.yml
@@ -38,7 +38,6 @@ definition:
register-prefix: IRQAMP
register-block-group: IRQ(A)MP Timestamp
register-block-size: 16
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/irqamp.yml b/spec/dev/grlib/if/irqamp.yml
index 56393168..bafc5eb8 100644
--- a/spec/dev/grlib/if/irqamp.yml
+++ b/spec/dev/grlib/if/irqamp.yml
@@ -101,7 +101,6 @@ definition:
register-prefix: null
register-block-group: IRQ(A)MP
register-block-size: 1024
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/l2cache.yml b/spec/dev/grlib/if/l2cache.yml
index 2f4d4cd1..389ad5aa 100644
--- a/spec/dev/grlib/if/l2cache.yml
+++ b/spec/dev/grlib/if/l2cache.yml
@@ -88,7 +88,6 @@ definition:
register-prefix: null
register-block-group: L2CACHE
register-block-size: 132
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/l4stat.yml b/spec/dev/grlib/if/l4stat.yml
index 800cb15c..0715f492 100644
--- a/spec/dev/grlib/if/l4stat.yml
+++ b/spec/dev/grlib/if/l4stat.yml
@@ -53,7 +53,6 @@ definition:
register-prefix: null
register-block-group: L4STAT
register-block-size: 388
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/memscrub.yml b/spec/dev/grlib/if/memscrub.yml
index ac58a349..f29914cb 100644
--- a/spec/dev/grlib/if/memscrub.yml
+++ b/spec/dev/grlib/if/memscrub.yml
@@ -78,7 +78,6 @@ definition:
register-prefix: null
register-block-group: MEMSCRUB
register-block-size: 52
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/mmctrl.yml b/spec/dev/grlib/if/mmctrl.yml
index 96159fc8..296e61c7 100644
--- a/spec/dev/grlib/if/mmctrl.yml
+++ b/spec/dev/grlib/if/mmctrl.yml
@@ -53,7 +53,6 @@ definition:
register-prefix: null
register-block-group: MMCTRL
register-block-size: 52
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/spictrl.yml b/spec/dev/grlib/if/spictrl.yml
index 89d204a8..0f0953b4 100644
--- a/spec/dev/grlib/if/spictrl.yml
+++ b/spec/dev/grlib/if/spictrl.yml
@@ -63,7 +63,6 @@ definition:
register-prefix: null
register-block-group: SPICTRL
register-block-size: 64
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/spwpnp.yml b/spec/dev/grlib/if/spwpnp.yml
index 9cdbea15..79c514ab 100644
--- a/spec/dev/grlib/if/spwpnp.yml
+++ b/spec/dev/grlib/if/spwpnp.yml
@@ -87,7 +87,6 @@ definition:
register-prefix: null
register-block-group: SpaceWire Plug-and-Play
register-block-size: 49156
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/spwrmap.yml b/spec/dev/grlib/if/spwrmap.yml
index adef54db..5d83e9cf 100644
--- a/spec/dev/grlib/if/spwrmap.yml
+++ b/spec/dev/grlib/if/spwrmap.yml
@@ -177,7 +177,6 @@ definition:
register-prefix: null
register-block-group: SpaceWire Remote Memory Access Protocol (RMAP)
register-block-size: 4104
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/dev/grlib/if/spwtdp.yml b/spec/dev/grlib/if/spwtdp.yml
index 7d82f703..6cbb1ba0 100644
--- a/spec/dev/grlib/if/spwtdp.yml
+++ b/spec/dev/grlib/if/spwtdp.yml
@@ -203,7 +203,6 @@ definition:
register-prefix: null
register-block-group: SPWTDP
register-block-size: 296
-register-block-type: memory
registers:
- bits:
- default:
diff --git a/spec/spec/interface-register-block-member-directive.yml b/spec/spec/interface-register-block-member-directive.yml
index faa30721..3f661616 100644
--- a/spec/spec/interface-register-block-member-directive.yml
+++ b/spec/spec/interface-register-block-member-directive.yml
@@ -17,8 +17,8 @@ spec-info:
spec-type: interface-register-block-member
offset:
description: |
- It shall be the offset in bytes from the register block begin to the
- register member.
+ It shall be the offset from the register block begin to the register
+ member in units of the address space granule.
spec-type: int
variants:
description: null
diff --git a/spec/spec/interface-register-block-type.yml b/spec/spec/interface-register-block-type.yml
deleted file mode 100644
index 22185ddb..00000000
--- a/spec/spec/interface-register-block-type.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-copyrights:
-- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
-enabled-by: true
-links:
-- role: spec-member
- uid: root
-spec-description: null
-spec-example: null
-spec-info:
- str:
- assert:
- in:
- - memory
- description: |
- It specifies the register block type.
-spec-name: Register Block Type
-spec-type: interface-register-block-type
-type: spec
diff --git a/spec/spec/interface-register-block.yml b/spec/spec/interface-register-block.yml
index c0f04a1e..ed7c82c3 100644
--- a/spec/spec/interface-register-block.yml
+++ b/spec/spec/interface-register-block.yml
@@ -43,11 +43,9 @@ spec-info:
spec-type: str
register-block-size:
description: |
- It shall be the size in bytes of the register block.
+ It shall be the size of the register block in units of the address
+ space granule.
spec-type: int
- register-block-type:
- description: null
- spec-type: interface-register-block-type
register-prefix:
description: |
If the value is present, then it will be used to prefix register bit
@@ -56,13 +54,17 @@ spec-info:
spec-type: optional-str
description: |
This set of attributes specifies a register block. A register block may
- be used to specify the memory-mapped interface to the hardware. Register
- blocks consist of register block members specified by the ``definition``
- attribute. Register block members are either instances of registers
- specified by the ``registers`` attribute or instances of other register
- blocks specified by links with the
+ be used to specify the interface of devices which use a linear address
+ space. Register blocks consist of register block members specified by
+ the ``definition`` attribute. Register block members are either
+ instances of registers specified by the ``registers`` attribute or
+ instances of other register blocks specified by links with the
${interface-register-block-include-role:/spec-name}. Registers consists
- of bit fields (see ${interface-register-bits:/spec-name}.
+ of bit fields (see ${interface-register-bits:/spec-name}. The register
+ block members are placed into the address space of the device relative to
+ the base address of the register block. Register member offests and the
+ register block size are specified in units of the address space granule.
+ The address space granule is usually 8-bits also known as one byte.
generic-attributes:
description: null
key-spec-type: name