vme-wb: add first version of direct VME-WB mapping (implementation of EE feature request)
the VME-WB bridge is initially in a "normal" mode. In this mode, etherbone access works as ususal. The VME-WB bridge has now tow additional registers that are accessible using a AM=0x39 access. These registers have 0x400*slot as base address: register 0x4: write-only, the value written here is the wishbone base address that will be mapped onto the AM=0x09 address range with base address 0x10000000*slot (this should be changed into 0x01000000, as requested by EE). register 0xc: write-only, the value written here will be ignored, but a write access switches the VME-WB bridge back into the "normal" mode. example: configure the VMW-WB bridge to give direct VME access to the TLU registers (assuming that the TLU wishbone base address (obtained with eb-ls dev/wbm0) is 0x04000100, and assuming that slot is 2) ./vme -v 0x00000804 -w 0x4000100 -a 0x39 (vme-write: value=0x04000100 addr=0x00000804 AM=0x39) (now the bridge is in direct VME-WB mapping mode => etherbone access will not work anymore) ./vme -v 0x20000000 -s 0x04 -w 0xffffffff -a 0x09 (vme-write: value=0x3 addr=0x20000000 offset=0x04 AM=0x09) register CLR (clear) ./vme -v 0x20000000 -s 0x58 -w 0x3 -a 0x09 (vme-write: value=0x3 addr=0x20000000 offset=0x58 AM=0x09) register CH_SEL (channel select) ./vme -v 0x20000000 -s 0x10 -w 0xffffffff -a 0x09 (vme-write: value=0x3 addr=0x20000000 offset=0x10 AM=0x09) register ACT_SET (activate trigger) ./vme -v 0x20000000 -s 0x64 -a 0x09 (vme-read: addr=0x20000000 AM=0x09) register TS_CNT (fifo fill count) configure the VME-WB bridge to work in "normal" mode again (etherbone will work) ./vme -v 0x0000080c -w 0x4000100 -a 0x39
Showing
Please
register
or
sign in
to comment