|
|
|
# FPGA Configuration Space Specification
|
|
|
|
|
|
|
|
This project is an effort to introduce a configuration space
|
|
|
|
specification for Wishbone peripherals that allows them to be
|
|
|
|
auto-probed by operating system drivers.
|
|
|
|
|
|
|
|
The following are currently available in the project repository:
|
|
|
|
|
|
|
|
- Specification
|
|
|
|
- Wishbone Simulation
|
|
|
|
|
|
|
|
## Specification
|
|
|
|
|
|
|
|
The initial draft of the specification is available as a PDF in the
|
|
|
|
project repository. You can download the latest version
|
|
|
|
[here](https://www.ohwr.org/project/fpga-config-space/blob/master/sdwb.pdf).
|
|
|
|
|
|
|
|
## Wishbone Simulation
|
|
|
|
|
|
|
|
The Wishbone simulation is a set of drivers that allow for the
|
|
|
|
simulation of the configuration space structures and allow for
|
|
|
|
understanding how the driver model will work. The simulation currently
|
|
|
|
consists of:
|
|
|
|
|
|
|
|
- **Wishbone Bus Driver** This creates a Linux Wishbone bus (can be
|
|
|
|
seen under */sys/bus/wb*).
|
|
|
|
- **Wishbone Peripheral Drivers** These fake Wishbone drivers simply
|
|
|
|
register to specific Wishbone ID's and print debug messages when
|
|
|
|
loaded.
|
|
|
|
- **Spec Board Driver** This is a fake PCI driver for the spec board
|
|
|
|
that takes a firmware file (representing the Wishbone address space)
|
|
|
|
and registers any Wishbone peripherals it finds.
|
|
|
|
|
|
|
|
You can find the code for the simulation
|
|
|
|
[here](https://www.ohwr.org/project/fpga-config-space/tree/master/simulation).
|
|
|
|
You can download binary versions of the drivers
|
|
|
|
[here](https://www.ohwr.org/project/fpga-config-space/uploads/d3da0ea576cb42194d9b1e375351108b/wbonesim.tgz) (not
|
|
|
|
recommended as it is kernel-version-specific and may be outdated with
|
|
|
|
respect to the repository).
|
|
|
|
|