diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-09-24 14:47:06 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-09-24 14:47:46 +0200 |
commit | 90ebc09b20ad5cb416a349d7f6e5c90efe9a7ae9 (patch) | |
tree | 5ff290e5833e0654dc81cf0d65a91626a7ae6c43 | |
parent | spec: Fix link role (diff) | |
download | rtems-central-90ebc09b20ad5cb416a349d7f6e5c90efe9a7ae9.tar.bz2 |
spec: Generalize register block specification
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 |