Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ofs.uio: add markdown document #2787

Merged
merged 4 commits into from
Dec 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/sphinx/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ man_pages = [
("docs/fpga_tools/rsu/rsu", 'rsu', u'FPGA remote system update', [author], 8),
("docs/fpga_tools/mem_tg/mem_tg", 'mem_tg', u'FPGA Memory traffic generator', [author], 8),
("docs/fpga_tools/vabtool/vabtool", 'vabtool', u'Vendor Authenticated Boot script', [author], 8),
("docs/fpga_tools/ofs.uio/ofs.uio", 'ofs.uio', u'User space access to DFL UIO device', [author], 8),
("docs/fpga_api/fpga_api", 'fpga_api', u'OPAE C API', [author], 8),
("docs/fpga_api/fpga_cxx_api", 'fpga_cxx_api', u'OPAE C++ API', [author], 8),
("docs/fpga_api/fpga_python_api", 'fpga_python_api', u'OPAE Python API', [author], 8),
Expand Down
1 change: 1 addition & 0 deletions doc/sphinx/index.rst.in
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,4 @@ The main documentation for the site is organized into following sections:
docs/fpga_tools/rsu/rsu
docs/fpga_tools/mem_tg/mem_tg
docs/fpga_tools/vabtool/vabtool
docs/fpga_tools/ofs.uio/ofs.uio
177 changes: 177 additions & 0 deletions doc/src/fpga_tools/ofs.uio/ofs.uio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
# ofs.uio #

## SYNOPSIS ##
`ofs.uio [-h] [--pcie-address PCIE_ADDRESS] [--uio uiox] [--feature-id FEATURE_ID] [--region-index REGION_INDEX]
[--mailbox-cmdcsr offset] [--bit-size {8,16,32,64}] [--peek offset] [--poke offset value]
[--mailbox-read offset] [--mailbox-dump address size] [--mailbox-write address value]`<br>

`ofs.uio [--uio uiox] [--peek offset]`<br>
`ofs.uio [--uio uiox] [--poke offset value] `<br>
`ofs.uio [--uio uiox] [--mailbox-read address] `<br>
`ofs.uio [--uio uiox] [--mailbox-write address value] `<br>
`ofs.uio [--uio uiox] [--mailbox-dump address size] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--peek offset]`<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--poke offset value] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-read address] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-write address value] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-dump address size] `<br>


## DESCRIPTION ##

```ofs.uio``` is a tool that provides user space access to DFL UIO devices,
command line options like peek, poke, mailbox-read, mailbox-write, mailbox-dump to
access Configuration and Status Registers (CSRs).


## OPTIONS ##

#### Peek ####
Peek/Read UIO CSR offset<br>
`ofs.uio [--uio uio] [--peek offset]`<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--peek offset]`<br>

#### Poke ####
Poke/Write value to UIO CSR offset<br>
`ofs.uio [--uio uio] [--poke offset value] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--poke offset value] `<br>

#### Mailbox Read ####
Read CSR address using mailbox<br>
`ofs.uio [--uio uio] [--mailbox-read address] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-read address] `<br>

#### Mailbox Write ####
Write value to CSR address using mailbox <br>
`ofs.uio [--uio uio] [--mailbox-write address value] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-write address value] `<br>

#### Mailbox Dump ####
Reads/Dumps block size of CSR address using mailbox<br>
`ofs.uio [--uio uio] [--mailbox-dump address size] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--mailbox-dump address size] `<br>

#### Bit size ####
Read/Write bit-field 8,16,32,64 sizes<br>
`ofs.uio [--uio uio] --bit-size 8 [--peek offset]`<br>
`ofs.uio [--uio uio] --bit-size 32 [--peek offset]`<br>

#### PCIe Address ####
PCIE_ADDR PCIe address of FPGA device<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] [--peek offset]`<br>

#### UIO region index ####
UIO region index, default region index is 0 <br>
`ofs.uio [--uio uio] --region-index 0 [--peek offset]`<br>
`ofs.uio [--uio uio] --region-index 1 [--peek offset]`<br>

#### Mailbox command status csr offset ####
Mailbox command status csr offset,
default value set to dfl pcie subsystem system feature mailbox command status register offset 0x28 <br>
`ofs.uio [--uio uio] --mailbox-cmdcsr 0xa8 [--mailbox-read address] `<br>
`ofs.uio [--pcie-address PCIE_ADDRESS] [--feature-id FEATURE_ID] --mailbox-cmdcsr 0xa8 [--mailbox-read address] `<br>

## EXAMPLES ##
Peek/Read
```
ofs.uio --uio uio0 --peek 0x0
peek(0x0): 0x3000000010002015

ofs.uio --uio uio6 --peek 0x0
peek(0x0): 0x3000000100000020

ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x15 --peek 0x0
peek(0x0): 0x3000000010002015

ofs.uio --uio uio0 --peek 0x0 --bit-size 32
peek(0x0): 0x10002015
```

Poke/Write
```
ofs.uio --uio uio6 --peek 0x8
peek(0x8): 0x0
ofs.uio --uio uio6 --poke 0x8 0xabcdd12345
poke(0x8):0xabcdd12345

ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x15 --peek 0x0
peek(0x8): 0x0
ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x15 --poke 0x8 0x1234
poke(0x8):0x1234
```

Mailbox Read
```
ofs.uio --uio uio6 --mailbox-read 0x0
MailboxRead(0x0): 0x1000000
ofs.uio --uio uio6 --mailbox-read 0x8
MailboxRead(0x8): 0x110c000

ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x20 --mailbox-read 0x0
MailboxRead(0x0): 0x1000000
ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x20 --mailbox-read 0x8
MailboxRead(0x8): 0x110c000
```

Mailbox Write
```
ofs.uio --uio uio6 --mailbox-write 0x0 0x1234
MailboxWrite(0x0):0x1234
ofs.uio --uio uio6 --mailbox-read 0x0
MailboxRead(0x0):0x1234

ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x20 --mailbox-write 0x0 0x1234
MailboxWrite(0x0):0x1234
ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x20 --mailbox-read 0x0
MailboxRead(0x0):0x1234
```

Mailbox Dump
```
ofs.uio --uio uio6 --mailbox-dump 0x0 0x10
MailboxDump(0x0): 0x1000000
MailboxDump(0x4): 0x1000000
MailboxDump(0x8): 0x110c000
MailboxDump(0xc): 0x110c000
MailboxDump(0x10): 0x0
MailboxDump(0x14): 0x0
MailboxDump(0x18): 0x0
MailboxDump(0x1c): 0x0
MailboxDump(0x20): 0x0
MailboxDump(0x24): 0x0
MailboxDump(0x28): 0x0
MailboxDump(0x2c): 0x0
MailboxDump(0x30): 0x0
MailboxDump(0x34): 0x0
MailboxDump(0x38): 0x0
MailboxDump(0x3c): 0x0



ofs.uio --pcie-address 0000:b1:00.0 --feature-id 0x20 --mailbox-dump 0x0 0x10
MailboxDump(0x0): 0x1000000
MailboxDump(0x4): 0x1000000
MailboxDump(0x8): 0x110c000
MailboxDump(0xc): 0x110c000
MailboxDump(0x10): 0x0
MailboxDump(0x14): 0x0
MailboxDump(0x18): 0x0
MailboxDump(0x1c): 0x0
MailboxDump(0x20): 0x0
MailboxDump(0x24): 0x0
MailboxDump(0x28): 0x0
MailboxDump(0x2c): 0x0
MailboxDump(0x30): 0x0
MailboxDump(0x34): 0x0
MailboxDump(0x38): 0x0
MailboxDump(0x3c): 0x0


```


## Revision History ##

Document Version | Intel Acceleration Stack Version | Changes
-----------------|----------------------------------|--------
2021.01.25 | IOFS EA | Initial release.