Skip to content

gen_edge3: implement intc & reg roles tables

Tom Levens requested to merge (removed):edge3_intc_roles into master

Implement intc and reg roles tables in EDGE3 generation (#116 (closed)).

Interrupt controller (intc) table

https://be-cem-edl.web.cern.ch/EDGE/v3.0.0/edge-schema.html#interrupt-controller-intc-csv-table

An item in the interrupt controller (intc) table is generated for registers which have the following x-driver-edge extension:

x-driver-edge:
  interrupt-controllers:
    - interrupt-controller:
        name: intc
        type: INTC_SR
        description: "INTC SR"
        chained:
          name: intc1
          mask: 0x1
        args:
          enable-mask: 0x8
          ack-mask: 0x1
    - interrupt-controller:
        #...

Note that everything except for name and type is optional.

Register roles table

https://be-cem-edl.web.cern.ch/EDGE/v3.0.0/edge-schema.html#register-roles-csv-table

An item in the reg roles table is generated for registers which have the the following x-driver-edge extension:

x-driver-edge:
  reg-role:
    type: ASSERT
    args:
      min-val: 0x1234
      max-val: 0x1234
  • type can be IRQ_V, IRQ_L or ASSERT
  • args is only required for type ASSERT
Edited by Tom Levens

Merge request reports